diff --git a/DESCRIPTION b/DESCRIPTION new file mode 100644 index 0000000..f3bbe91 --- /dev/null +++ b/DESCRIPTION @@ -0,0 +1,22 @@ +Package: DiagrammeRsvg +Type: Package +Title: Export DiagrammeR Graphviz Graphs as SVG +Version: 0.1 +Date: 2016-02-02 +Authors@R: person( + "Richard", "Iannone" + , role = c("aut", "cre") + , email = "riannone@me.com" + ) +Maintainer: Richard Iannone +Description: Allows for export of DiagrammeR Graphviz objects to SVG. +License: MIT + file LICENSE +Imports: V8 (>= 0.10) +URL: https://github.com/rich-iannone/DiagrammeRsvg +BugReports: https://github.com/rich-iannone/DiagrammeRsvg/issues +RoxygenNote: 5.0.1 +NeedsCompilation: no +Packaged: 2016-02-03 22:57:22 UTC; riannone +Author: Richard Iannone [aut, cre] +Repository: CRAN +Date/Publication: 2016-02-04 11:27:31 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..bf71845 --- /dev/null +++ b/LICENSE @@ -0,0 +1,2 @@ +YEAR: 2016 +COPYRIGHT HOLDER: Richard Iannone diff --git a/MD5 b/MD5 new file mode 100644 index 0000000..c8667c9 --- /dev/null +++ b/MD5 @@ -0,0 +1,18 @@ +b57b0037679924de303e78bfeef0a5a7 *DESCRIPTION +5bc3b4b14b49ebcc410d51288b2df7bc *LICENSE +7043dc5cc00de15b212e100d1debabf1 *NAMESPACE +767abd58bb19f11af3592513b7d0f77b *R/export_svg.R +ba8971116d0fa84a1c73a7f61082a273 *README.md +fdfe1e83b79eec205a4843cabcb0a971 *inst/htmlwidgets/DiagrammeR.js +49b47a8ee6d9356eadd28546e5385573 *inst/htmlwidgets/DiagrammeR.yaml +c93c404ae98abcb660c70a31f58e25e2 *inst/htmlwidgets/grViz.js +db70d925759cdf5fbda9ecf69cc9f371 *inst/htmlwidgets/grViz.yaml +5e44e63b7491ec4b18f73d1b38334a04 *inst/htmlwidgets/lib/d3/LICENSE +c9ddc1063ecffea499c39c74f96bccc0 *inst/htmlwidgets/lib/d3/d3.min.js +04d7548521ef50aea6ddc72a7f1981f6 *inst/htmlwidgets/lib/dagre-d3/LICENSE +0fac740c944fa84c3646d8d60882c17c *inst/htmlwidgets/lib/dagre-d3/dagre-d3.min.js +4c6828671350452fdcb46bf28af7f42a *inst/htmlwidgets/lib/styles/styles.css +0597ece6806477c1382a570bf20e40a8 *inst/htmlwidgets/lib/viz/viz.js +4730f144eb0807d31fdeea3e4517d280 *inst/htmlwidgets/vivagraph.js +c38b9b43fa32fd10d0295d8441d905c2 *inst/htmlwidgets/vivagraph.yaml +d44b1090da7705eec8314b6cf8fc48bc *man/export_svg.Rd diff --git a/NAMESPACE b/NAMESPACE new file mode 100755 index 0000000..cbae04c --- /dev/null +++ b/NAMESPACE @@ -0,0 +1,5 @@ +# Generated by roxygen2: do not edit by hand + +export(export_svg) +importFrom(V8,new_context) +importFrom(utils,packageVersion) diff --git a/R/export_svg.R b/R/export_svg.R new file mode 100755 index 0000000..f5c7e40 --- /dev/null +++ b/R/export_svg.R @@ -0,0 +1,48 @@ +#' Export grViz graph as SVG with \code{V8} +#' @description Use viz.js with \code{V8} to get the diagram rendered as SVG +#' in R instead of the browser. +#' @param gv htmlwidget to render as SVG. +#' @return \code{string} of SVG XML text. +#' @examples +#' \dontrun{ +#' library(DiagrammeR) +#' svg <- export_svg(grViz('digraph{a->b; c->a; c->b; c->d;}')) +#' +#' # this can then be used with htmltools and can save significantly +#' # on size of output using svg rather than unrendered grViz +#' library(htmltools) +#' html_print(HTML(svg)) +#' } +#' @importFrom V8 new_context +#' @importFrom utils packageVersion +#' @export export_svg + +export_svg <- function(gv){ + + # Check to make sure that V8 is available + if(!requireNamespace("V8")) stop("V8 is required to export.", + call. = FALSE) + + # Ensure that the minimum version of V8 is 1.0 + stopifnot(packageVersion("V8") >= "0.10") + + # Check to make sure gv is grViz + if(!inherits(gv, "grViz")) "gv must be a grViz htmlwidget." + + # Create a new V8 context + ct <- new_context("window") + + # Source the `vis.js` JS library + invisible(ct$source(system.file("htmlwidgets/lib/viz/viz.js", + package = "DiagrammeR"))) + + # Create the SVG file + svg <- + ct$call("Viz", + gv$x$diagram, + "svg", + gv$x$config$engine, + gv$x$config$options) + + return(svg) +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..9b1545b --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# DiagrammeRsvg + +A utility package for providing **SVG** export to **DiagrammeR** graph diagrams. + +To install the package, use this statement: + +```R +devtools::install_github('rich-iannone/DiagrammeRsvg') +``` diff --git a/inst/htmlwidgets/DiagrammeR.js b/inst/htmlwidgets/DiagrammeR.js new file mode 100755 index 0000000..eb3abc5 --- /dev/null +++ b/inst/htmlwidgets/DiagrammeR.js @@ -0,0 +1,190 @@ +HTMLWidgets.widget({ + + name: 'DiagrammeR', + + type: 'output', + + initialize: function(el, width, height) { + + /* wait to initialize until renderValue + since x not provided until then + and mermaid will try to build the diagram + as soon as class of the div is set to "mermaid" + */ + + /* to prevent auto init() by mermaid + not documented but + see lines https://github.com/knsv/mermaid/blob/master/src/main.js#L100-L109 + mermaid_config in global with mermaid_config.startOnLoad = false + appears to turn off the auto init behavior + allowing us to callback after manually init and then callback + after complete + */ + window.mermaid.startOnLoad = false; + + // set config options for Gantt + // undocumented but these can be provided + // so from R + // m1 <- mermaid(spec) + // m1$x$config = list(ganttConfig = list( barHeight = 100 ) ) + mermaid.ganttConfig = { + titleTopMargin:25, + barHeight:20, + barGap:4, + topPadding:50, + sidePadding:100, + gridLineStartPadding:35, + fontSize:11, + numberSectionStyles:4, + axisFormatter: [ + // Within a day + ["%I:%M", function (d) { + return d.getHours(); + }], + // Monday a week + ["w. %U", function (d) { + return d.getDay() == 1; + }], + // Day within a week (not monday) + ["%a %d", function (d) { + return d.getDay() && d.getDate() != 1; + }], + // within a month + ["%b %d", function (d) { + return d.getDate() != 1; + }], + // Month + ["%m-%y", function (d) { + return d.getMonth(); + }] + ] + }; + + return { + // TODO: add instance fields as required + } + + }, + + renderValue: function(el, x, instance) { + + // if no diagram provided then assume + // that the diagrams are provided through htmltools tags + // and DiagrammeR was just used for dependencies + if ( x.diagram != "" ) { + el.innerHTML = x.diagram; + //if dynamic such as shiny remove data-processed + // so mermaid will reprocess and redraw + el.removeAttribute("data-processed"); + el.classList.add('mermaid'); + //make sure if shiny that we turn display back on + el.style.display = ""; + //again if dynamic such as shiny + // explicitly run mermaid.init() + } else { + // set display to none + // should we remove instead?? + el.style.display = "none"; + } + + // check for undocumented ganttConfig + // to override the defaults manually entered + // in initialize above + // note this is really sloppy and will not + // work well if multiple gantt charts + // with custom configs here + if( typeof x.config !== "undefined" && + typeof x.config.ganttConfig !== "undefined" ){ + Object.keys(x.config.ganttConfig).map(function(k){ + window.mermaid.ganttConfig[k] = x.config.ganttConfig[k]; + }) + } + + + // use this to sort of make our diagram responsive + // or at a minimum fit within the bounds set by htmlwidgets + // for the parent container + function makeResponsive(el){ + var svg = el.getElementsByTagName("svg")[0]; + if(svg){ + if(svg.width) {svg.removeAttribute("width")}; + if(svg.height) {svg.removeAttribute("height")}; + svg.style.width = "100%"; + svg.style.height = "100%"; + } + }; + + + // get all DiagrammeR mermaids widgets + dg = document.getElementsByClassName("DiagrammeR"); + // run mermaid.init + // but use try catch block + // to send error to the htmlwidget for display + try{ + mermaid.init( el ); + + // sort of make our diagram responsive + // should we make this an option? + // if so, then could easily add to list of post process tasks + makeResponsive( el ); + + /* + // change the id of our SVG assigned by mermaid to prevent conflict + // mermaid.init has a counter that will reset to 0 + // and cause duplication of SVG id if multiple + d3.select(el).select("svg") + .attr("id", "mermaidChart-" + el.id); + // now we have to change the styling assigned by mermaid + // to point to our new id that we have assigned + // will add if since sequence diagrams do not have stylesheet + if(d3.select(el).select("svg").select("style")[0][0]){ + d3.select(el).select("svg").select("style")[0][0].innerHTML = d3.select(el).select("svg") + .select("style")[0][0].innerHTML + */ + /// sep comment for / in regex .replace(/mermaidChart[0-9]*/gi, "mermaidChart-" + el.id); + /*} + */ + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (!(typeof x.tasks === "undefined") ){ + if ( (typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function" ) ) { + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }) + } + + } catch(e) { + // if error look for last processed DiagrammeR + // and send error to the container div + // with pre containing the errors + var processedDg = d3.selectAll(".DiagrammeR[data-processed=true]"); + // select the last + processedDg = d3.select(processedDg[0][processedDg[0].length - 1]) + // remove the svg + processedDg.select("svg").remove(); + + //if dynamic such as shiny remove data-processed + // so mermaid will reprocess and redraw + if (HTMLWidgets.shinyMode) { + el.removeAttribute("data-processed") + } + + processedDg.append("pre").html( ["parse error with " + x.diagram, e.message].join("\n") ) + } + + }, + + resize: function(el, width, height, instance) { + + } + + +}); diff --git a/inst/htmlwidgets/DiagrammeR.yaml b/inst/htmlwidgets/DiagrammeR.yaml new file mode 100755 index 0000000..7904597 --- /dev/null +++ b/inst/htmlwidgets/DiagrammeR.yaml @@ -0,0 +1,22 @@ +dependencies: +- name: d3 + version: 3.3.8 + src: htmlwidgets/lib/d3 + script: d3.min.js +- name: dagre + version: 0.4.0 + src: "htmlwidgets/lib/dagre-d3" + script: "dagre-d3.min.js" +- name: mermaid + version: 0.3.0 + src: htmlwidgets/lib/mermaid + script: dist/mermaid.slim.min.js + stylesheet: dist/mermaid.css +- name: DiagrammeR-styles + version: 0.2 + src: htmlwidgets/lib/styles + stylesheet: styles.css +- name: chromatography + version: 0.1 + src: htmlwidgets/lib/chromatography + script: chromatography.js diff --git a/inst/htmlwidgets/grViz.js b/inst/htmlwidgets/grViz.js new file mode 100755 index 0000000..bd1d5f1 --- /dev/null +++ b/inst/htmlwidgets/grViz.js @@ -0,0 +1,71 @@ +HTMLWidgets.widget({ + + name: 'grViz', + + type: 'output', + + initialize: function(el, width, height) { + + return { + // TODO: add instance fields as required + } + + }, + + renderValue: function(el, x, instance) { + // use this to sort of make our diagram responsive + // or at a minimum fit within the bounds set by htmlwidgets + // for the parent container + function makeResponsive(el){ + var svg = el.getElementsByTagName("svg")[0]; + if(svg){ + if(svg.width) {svg.removeAttribute("width")}; + if(svg.height) {svg.removeAttribute("height")}; + svg.style.width = "100%"; + svg.style.height = "100%"; + } + }; + + if ( x.diagram != "" ) { + + if ( typeof x.config === "undefined" ){ + x.config = {}; + x.config.engine = "dot"; + x.config.options = {}; + } + + try { + el.innerHTML = Viz( x.diagram, format="svg", engine=x.config.engine, options=x.config.options ); + + makeResponsive(el); + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (!(typeof x.tasks === "undefined") ){ + if ( (typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function" ) ) { + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }) + } + } catch(e){ + var p = document.createElement("pre") + p.innerText = e; + el.appendChild(p); + } + } + + }, + + resize: function(el, width, height, instance) { + + } + + +}); diff --git a/inst/htmlwidgets/grViz.yaml b/inst/htmlwidgets/grViz.yaml new file mode 100755 index 0000000..8f6d2af --- /dev/null +++ b/inst/htmlwidgets/grViz.yaml @@ -0,0 +1,9 @@ +dependencies: +- name: viz + version: 0.3 + src: htmlwidgets/lib/viz + script: viz.js +- name: DiagrammeR-styles + version: 0.2 + src: htmlwidgets/lib/styles + stylesheet: styles.css diff --git a/inst/htmlwidgets/lib/d3/LICENSE b/inst/htmlwidgets/lib/d3/LICENSE new file mode 100755 index 0000000..8301346 --- /dev/null +++ b/inst/htmlwidgets/lib/d3/LICENSE @@ -0,0 +1,26 @@ +Copyright (c) 2010-2014, Michael Bostock +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* The name Michael Bostock may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT, +INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/inst/htmlwidgets/lib/d3/d3.min.js b/inst/htmlwidgets/lib/d3/d3.min.js new file mode 100755 index 0000000..16f0ac6 --- /dev/null +++ b/inst/htmlwidgets/lib/d3/d3.min.js @@ -0,0 +1,5 @@ +!function(){function n(n,t){return t>n?-1:n>t?1:n>=t?0:0/0}function t(n){return null===n?0/0:+n}function e(n){return!isNaN(n)}function r(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function u(n){return n.length}function i(n){for(var t=1;n*t%1;)t*=10;return t}function o(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function a(){this._=Object.create(null)}function c(n){return(n+="")===da||n[0]===ma?ma+n:n}function l(n){return(n+="")[0]===ma?n.slice(1):n}function s(n){return c(n)in this._}function f(n){return(n=c(n))in this._&&delete this._[n]}function h(){var n=[];for(var t in this._)n.push(l(t));return n}function g(){var n=0;for(var t in this._)++n;return n}function p(){for(var n in this._)return!1;return!0}function v(){this._=Object.create(null)}function d(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function m(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=ya.length;r>e;++e){var u=ya[e]+t;if(u in n)return u}}function y(){}function M(){}function x(n){function t(){for(var t,r=e,u=-1,i=r.length;++ue;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function O(n){return xa(n,Aa),n}function Y(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t0&&(n=n.slice(0,a));var l=Ca.get(n);return l&&(n=l,c=V),a?t?u:r:t?y:i}function Z(n,t){return function(e){var r=ta.event;ta.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{ta.event=r}}}function V(n,t){var e=Z(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function X(){var n=".dragsuppress-"+ ++qa,t="click"+n,e=ta.select(oa).on("touchmove"+n,b).on("dragstart"+n,b).on("selectstart"+n,b);if(za){var r=ia.style,u=r[za];r[za]="none"}return function(i){if(e.on(n,null),za&&(r[za]=u),i){var o=function(){e.on(t,null)};e.on(t,function(){b(),o()},!0),setTimeout(o,0)}}}function $(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>La&&(oa.scrollX||oa.scrollY)){e=ta.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();La=!(u.f||u.e),e.remove()}return La?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function B(){return ta.event.changedTouches[0].identifier}function W(){return ta.event.target}function J(){return oa}function G(n){return n>0?1:0>n?-1:0}function K(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function Q(n){return n>1?0:-1>n?Da:Math.acos(n)}function nt(n){return n>1?ja:-1>n?-ja:Math.asin(n)}function tt(n){return((n=Math.exp(n))-1/n)/2}function et(n){return((n=Math.exp(n))+1/n)/2}function rt(n){return((n=Math.exp(2*n))-1)/(n+1)}function ut(n){return(n=Math.sin(n/2))*n}function it(){}function ot(n,t,e){return this instanceof ot?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof ot?new ot(n.h,n.s,n.l):xt(""+n,bt,ot):new ot(n,t,e)}function at(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,new dt(u(n+120),u(n),u(n-120))}function ct(n,t,e){return this instanceof ct?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof ct?new ct(n.h,n.c,n.l):n instanceof st?ht(n.l,n.a,n.b):ht((n=_t((n=ta.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new ct(n,t,e)}function lt(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new st(e,Math.cos(n*=Fa)*t,Math.sin(n)*t)}function st(n,t,e){return this instanceof st?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof st?new st(n.l,n.a,n.b):n instanceof ct?lt(n.h,n.c,n.l):_t((n=dt(n)).r,n.g,n.b):new st(n,t,e)}function ft(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=gt(u)*Ja,r=gt(r)*Ga,i=gt(i)*Ka,new dt(vt(3.2404542*u-1.5371385*r-.4985314*i),vt(-.969266*u+1.8760108*r+.041556*i),vt(.0556434*u-.2040259*r+1.0572252*i))}function ht(n,t,e){return n>0?new ct(Math.atan2(e,t)*Ha,Math.sqrt(t*t+e*e),n):new ct(0/0,0/0,n)}function gt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function pt(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function vt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function dt(n,t,e){return this instanceof dt?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof dt?new dt(n.r,n.g,n.b):xt(""+n,dt,at):new dt(n,t,e)}function mt(n){return new dt(n>>16,255&n>>8,255&n)}function yt(n){return mt(n)+""}function Mt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function xt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(St(u[0]),St(u[1]),St(u[2]))}return(i=tc.get(n))?t(i.r,i.g,i.b):(null==n||"#"!==n.charAt(0)||isNaN(i=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&i)>>4,o=o>>4|o,a=240&i,a=a>>4|a,c=15&i,c=c<<4|c):7===n.length&&(o=(16711680&i)>>16,a=(65280&i)>>8,c=255&i)),t(o,a,c))}function bt(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),new ot(r,u,c)}function _t(n,t,e){n=wt(n),t=wt(t),e=wt(e);var r=pt((.4124564*n+.3575761*t+.1804375*e)/Ja),u=pt((.2126729*n+.7151522*t+.072175*e)/Ga),i=pt((.0193339*n+.119192*t+.9503041*e)/Ka);return st(116*u-16,500*(r-u),200*(u-i))}function wt(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function St(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function kt(n){return"function"==typeof n?n:function(){return n}}function Et(n){return n}function At(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Nt(t,e,n,r)}}function Nt(n,t,e,r){function u(){var n,t=c.status;if(!t&&zt(c)||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=ta.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!oa.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=ta.event;ta.event=n;try{o.progress.call(i,c)}finally{ta.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(ra(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},ta.rebind(i,o,"on"),null==r?i:i.get(Ct(r))}function Ct(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function zt(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qt(){var n=Lt(),t=Tt()-n;t>24?(isFinite(t)&&(clearTimeout(ic),ic=setTimeout(qt,t)),uc=0):(uc=1,ac(qt))}function Lt(){var n=Date.now();for(oc=ec;oc;)n>=oc.t&&(oc.f=oc.c(n-oc.t)),oc=oc.n;return n}function Tt(){for(var n,t=ec,e=1/0;t;)t.f?t=n?n.n=t.n:ec=t.n:(t.t8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Pt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r&&e?function(n,t){for(var u=n.length,i=[],o=0,a=r[0],c=0;u>0&&a>0&&(c+a+1>t&&(a=Math.max(1,t-c)),i.push(n.substring(u-=a,u+a)),!((c+=a+1)>t));)a=r[o=(o+1)%r.length];return i.reverse().join(e)}:Et;return function(n){var e=lc.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",c=e[4]||"",l=e[5],s=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===o)&&(l=r="0",o="="),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=sc.get(g)||Ut;var M=l&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>p){var c=ta.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x,b,_=n.lastIndexOf(".");if(0>_){var w=y?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!l&&f&&(x=i(x,1/0));var S=v.length+x.length+b.length+(M?0:u.length),k=s>S?new Array(S=s-S+1).join(r):"";return M&&(x=i(k+x,k.length?s-b.length:1/0)),u+=v,n=x+b,("<"===o?u+n+k:">"===o?k+u+n:"^"===o?k.substring(0,S>>=1)+u+n+k.substring(S):u+(M?n:k+n))+e}}}function Ut(n){return n+""}function jt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ft(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new hc(e-1)),1),e}function i(n,e){return t(n=new hc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{hc=jt;var r=new jt;return r._=n,o(r,t,e)}finally{hc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Ht(n);return c.floor=c,c.round=Ht(r),c.ceil=Ht(u),c.offset=Ht(i),c.range=a,n}function Ht(n){return function(t,e){try{hc=jt;var r=new jt;return r._=t,n(r,e)._}finally{hc=Date}}}function Ot(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++aa;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=C[o in pc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.slice(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,N.c.toString(),t,r)}function c(n,t,r){return e(n,N.x.toString(),t,r)}function l(n,t,r){return e(n,N.X.toString(),t,r)}function s(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{hc=jt;var t=new hc;return t._=n,r(t)}finally{hc=Date}}var r=t(n);return e.parse=function(n){try{hc=jt;var t=r.parse(n);return t&&t._}finally{hc=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ae;var M=ta.map(),x=It(v),b=Zt(v),_=It(d),w=Zt(d),S=It(m),k=Zt(m),E=It(y),A=Zt(y);p.forEach(function(n,t){M.set(n.toLowerCase(),t)});var N={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return Yt(n.getDate(),t,2)},e:function(n,t){return Yt(n.getDate(),t,2)},H:function(n,t){return Yt(n.getHours(),t,2)},I:function(n,t){return Yt(n.getHours()%12||12,t,2)},j:function(n,t){return Yt(1+fc.dayOfYear(n),t,3)},L:function(n,t){return Yt(n.getMilliseconds(),t,3)},m:function(n,t){return Yt(n.getMonth()+1,t,2)},M:function(n,t){return Yt(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return Yt(n.getSeconds(),t,2)},U:function(n,t){return Yt(fc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Yt(fc.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return Yt(n.getFullYear()%100,t,2)},Y:function(n,t){return Yt(n.getFullYear()%1e4,t,4)},Z:ie,"%":function(){return"%"}},C={a:r,A:u,b:i,B:o,c:a,d:Qt,e:Qt,H:te,I:te,j:ne,L:ue,m:Kt,M:ee,p:s,S:re,U:Xt,w:Vt,W:$t,x:c,X:l,y:Wt,Y:Bt,Z:Jt,"%":oe};return t}function Yt(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function It(n){return new RegExp("^(?:"+n.map(ta.requote).join("|")+")","i")}function Zt(n){for(var t=new a,e=-1,r=n.length;++e68?1900:2e3)}function Kt(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Qt(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function ne(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function te(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ee(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function re(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ue(n,t,e){vc.lastIndex=0;var r=vc.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ie(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=0|va(t)/60,u=va(t)%60;return e+Yt(r,"0",2)+Yt(u,"0",2)}function oe(n,t,e){dc.lastIndex=0;var r=dc.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ae(n){for(var t=n.length,e=-1;++e=0?1:-1,a=o*e,c=Math.cos(t),l=Math.sin(t),s=i*l,f=u*c+s*Math.cos(a),h=s*o*Math.sin(a);_c.add(Math.atan2(h,f)),r=n,u=c,i=l}var t,e,r,u,i;wc.point=function(o,a){wc.point=n,r=(t=o)*Fa,u=Math.cos(a=(e=a)*Fa/2+Da/4),i=Math.sin(a)},wc.lineEnd=function(){n(t,e)}}function pe(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function ve(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function de(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function me(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ye(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function Me(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function xe(n){return[Math.atan2(n[1],n[0]),nt(n[2])]}function be(n,t){return va(n[0]-t[0])a;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c=new qe(e,n,null,!0),l=new qe(e,null,c,!1);c.o=l,i.push(c),o.push(l),c=new qe(r,n,null,!1),l=new qe(r,null,c,!0),c.o=l,i.push(c),o.push(l)}}),o.sort(t),ze(i),ze(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].e=c=!c;for(var s,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;s=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,l=s.length;l>a;++a)u.point((f=s[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){s=g.p.z;for(var a=s.length-1;a>=0;--a)u.point((f=s[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,s=g.z,p=!p}while(!g.v);u.lineEnd()}}}function ze(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r0){for(b||(i.polygonStart(),b=!0),i.lineStart();++o1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Te))}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=ta.merge(g);var n=Fe(m,p);g.length?(b||(i.polygonStart(),b=!0),Ce(g,De,n,e,i)):n&&(b||(i.polygonStart(),b=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),b&&(i.polygonEnd(),b=!1),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},M=Re(),x=t(M),b=!1;return y}}function Te(n){return n.length>1}function Re(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:y,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function De(n,t){return((n=n.x)[0]<0?n[1]-ja-Ta:ja-n[1])-((t=t.x)[0]<0?t[1]-ja-Ta:ja-t[1])}function Pe(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Da:-Da,c=va(i-e);va(c-Da)0?ja:-ja),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Da&&(va(e-u)Ta?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function je(n,t,e,r){var u;if(null==n)u=e*ja,r.point(-Da,u),r.point(0,u),r.point(Da,u),r.point(Da,0),r.point(Da,-u),r.point(0,-u),r.point(-Da,-u),r.point(-Da,0),r.point(-Da,u);else if(va(n[0]-t[0])>Ta){var i=n[0]a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+Da/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===s&&(d=0),n=l[d];var m=n[0],y=n[1]/2+Da/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=b>=0?1:-1,w=_*b,S=w>Da,k=p*M;if(_c.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),i+=S?b+_*Pa:b,S^h>=e^m>=e){var E=de(pe(f),pe(n));Me(E);var A=de(u,E);Me(A);var N=(S^b>=0?-1:1)*nt(A[2]);(r>N||r===N&&(E[0]||E[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=m,p=M,v=x,f=n}}return(-Ta>i||Ta>i&&0>_c)^1&o}function He(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?Da:-Da),h):0;if(!e&&(l=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(be(e,g)||be(p,g))&&(p[0]+=Ta,p[1]+=Ta,v=t(p[0],p[1]))),v!==c)s=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&be(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=pe(n),u=pe(t),o=[1,0,0],a=de(r,u),c=ve(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=de(o,a),p=ye(o,f),v=ye(a,h);me(p,v);var d=g,m=ve(p,d),y=ve(d,d),M=m*m-y*(ve(p,p)-1);if(!(0>M)){var x=Math.sqrt(M),b=ye(d,(-m-x)/y);if(me(b,p),b=xe(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(_=w,w=S,S=_);var A=S-w,N=va(A-Da)A;if(!N&&k>E&&(_=k,k=E,E=_),C?N?k+E>0^b[1]<(va(b[0]-w)Da^(w<=b[0]&&b[0]<=S)){var z=ye(d,(-m+x)/y);return me(z,p),[b,xe(z)]}}}function u(t,e){var r=o?n:Da-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=va(i)>Ta,c=gr(n,6*Fa);return Le(t,e,c,o?[0,-n]:[-Da,n-Da])}function Oe(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,l=o.y,s=a.x,f=a.y,h=0,g=1,p=s-c,v=f-l;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-l,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-l,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:l+h*v}),1>g&&(u.b={x:c+g*p,y:l+g*v}),u}}}}}}function Ye(n,t,e,r){function u(r,u){return va(r[0]-n)0?0:3:va(r[0]-e)0?2:1:va(r[1]-t)0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&K(l,i,n)>0&&++t:i[1]<=r&&K(l,i,n)<0&&--t,l=i;return 0!==t}function l(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function s(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){s(n,t)&&a.point(n,t)}function h(){C.point=p,d&&d.push(m=[]),S=!0,w=!1,b=_=0/0}function g(){v&&(p(y,M),x&&w&&A.rejoin(),v.push(A.buffer())),C.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Uc,Math.min(Uc,n)),t=Math.max(-Uc,Math.min(Uc,t));var e=s(n,t);if(d&&m.push([n,t]),S)y=n,M=t,x=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};N(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,m,y,M,x,b,_,w,S,k,E=a,A=Re(),N=Oe(n,t,e,r),C={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=ta.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),l(null,null,1,a),a.lineEnd()),u&&Ce(v,i,t,l,a),a.polygonEnd()),v=d=m=null}};return C}}function Ie(n){var t=0,e=Da/3,r=ir(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*Da/180,e=n[1]*Da/180):[180*(t/Da),180*(e/Da)]},u}function Ze(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,nt((i-(n*n+e*e)*u*u)/(2*u))]},e}function Ve(){function n(n,t){Fc+=u*n-r*t,r=n,u=t}var t,e,r,u;Zc.point=function(i,o){Zc.point=n,t=r=i,e=u=o},Zc.lineEnd=function(){n(t,e)}}function Xe(n,t){Hc>n&&(Hc=n),n>Yc&&(Yc=n),Oc>t&&(Oc=t),t>Ic&&(Ic=t)}function $e(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Be(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Be(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Be(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function We(n,t){Ec+=n,Ac+=t,++Nc}function Je(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);Cc+=o*(t+n)/2,zc+=o*(e+r)/2,qc+=o,We(t=n,e=r)}var t,e;Xc.point=function(r,u){Xc.point=n,We(t=r,e=u)}}function Ge(){Xc.point=We}function Ke(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);Cc+=o*(r+n)/2,zc+=o*(u+t)/2,qc+=o,o=u*n-r*t,Lc+=o*(r+n),Tc+=o*(u+t),Rc+=3*o,We(r=n,u=t)}var t,e,r,u;Xc.point=function(i,o){Xc.point=n,We(t=r=i,e=u=o)},Xc.lineEnd=function(){n(t,e)}}function Qe(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,Pa)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:y};return a}function nr(n){function t(n){return(a?r:e)(n)}function e(t){return rr(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=0/0,S.point=i,t.lineStart()}function i(e,r){var i=pe([e,r]),o=n(e,r);u(M,x,y,b,_,w,M=o[0],x=o[1],y=e,b=i[0],_=i[1],w=i[2],a,t),t.point(M,x)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=l,S.lineEnd=s}function l(n,t){i(f=n,h=t),g=M,p=x,v=b,d=_,m=w,S.point=i}function s(){u(M,x,y,b,_,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,l,s,f,h,g,p,v,d,m){var y=s-t,M=f-e,x=y*y+M*M;if(x>4*i&&d--){var b=a+g,_=c+p,w=l+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),E=va(va(w)-1)i||va((y*z+M*q)/x-.5)>.3||o>a*g+c*p+l*v)&&(u(t,e,r,a,c,l,N,C,E,b/=S,_/=S,w,d,m),m.point(N,C),u(N,C,E,b,_,w,s,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*Fa),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function tr(n){var t=nr(function(t,e){return n([t*Ha,e*Ha])});return function(n){return or(t(n))}}function er(n){this.stream=n}function rr(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function ur(n){return ir(function(){return n})()}function ir(n){function t(n){return n=a(n[0]*Fa,n[1]*Fa),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*Ha,n[1]*Ha]}function r(){a=Ae(o=lr(m,y,M),i);var n=i(v,d);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=nr(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,y=0,M=0,x=Pc,b=Et,_=null,w=null;return t.stream=function(n){return s&&(s.valid=!1),s=or(x(o,f(b(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(x=null==n?(_=n,Pc):He((_=+n)*Fa),u()):_},t.clipExtent=function(n){return arguments.length?(w=n,b=n?Ye(n[0][0],n[0][1],n[1][0],n[1][1]):Et,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Fa,d=n[1]%360*Fa,r()):[v*Ha,d*Ha]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Fa,y=n[1]%360*Fa,M=n.length>2?n[2]%360*Fa:0,r()):[m*Ha,y*Ha,M*Ha]},ta.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function or(n){return rr(n,function(t,e){n.point(t*Fa,e*Fa)})}function ar(n,t){return[n,t]}function cr(n,t){return[n>Da?n-Pa:-Da>n?n+Pa:n,t]}function lr(n,t,e){return n?t||e?Ae(fr(n),hr(t,e)):fr(n):t||e?hr(t,e):cr}function sr(n){return function(t,e){return t+=n,[t>Da?t-Pa:-Da>t?t+Pa:t,e]}}function fr(n){var t=sr(n);return t.invert=sr(-n),t}function hr(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),nt(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),nt(s*r-a*u)]},e}function gr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=pr(e,u),i=pr(e,i),(o>0?i>u:u>i)&&(u+=o*Pa)):(u=n+o*Pa,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=xe([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function pr(n,t){var e=pe(t);e[0]-=n,Me(e);var r=Q(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Ta)%(2*Math.PI)}function vr(n,t,e){var r=ta.range(n,t-Ta,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function dr(n,t,e){var r=ta.range(n,t-Ta,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function mr(n){return n.source}function yr(n){return n.target}function Mr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(ut(r-t)+u*o*ut(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*Ha,Math.atan2(o,Math.sqrt(r*r+u*u))*Ha]}:function(){return[n*Ha,t*Ha]};return p.distance=h,p}function xr(){function n(n,u){var i=Math.sin(u*=Fa),o=Math.cos(u),a=va((n*=Fa)-t),c=Math.cos(a);$c+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;Bc.point=function(u,i){t=u*Fa,e=Math.sin(i*=Fa),r=Math.cos(i),Bc.point=n},Bc.lineEnd=function(){Bc.point=Bc.lineEnd=y}}function br(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function _r(n,t){function e(n,t){o>0?-ja+Ta>t&&(t=-ja+Ta):t>ja-Ta&&(t=ja-Ta);var e=o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(Da/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=G(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-ja]},e):Sr}function wr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return va(u)u;u++){for(;r>1&&K(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function zr(n,t){return n[0]-t[0]||n[1]-t[1]}function qr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Lr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function Tr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Rr(){tu(this),this.edge=this.site=this.circle=null}function Dr(n){var t=ol.pop()||new Rr;return t.site=n,t}function Pr(n){Xr(n),rl.remove(n),ol.push(n),tu(n)}function Ur(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Pr(n);for(var c=i;c.circle&&va(e-c.circle.x)s;++s)l=a[s],c=a[s-1],Kr(l.edge,c.site,l.site,u);c=a[0],l=a[f-1],l.edge=Jr(c.site,l.site,null,u),Vr(c),Vr(l)}function jr(n){for(var t,e,r,u,i=n.x,o=n.y,a=rl._;a;)if(r=Fr(a,o)-i,r>Ta)a=a.L;else{if(u=i-Hr(a,o),!(u>Ta)){r>-Ta?(t=a.P,e=a):u>-Ta?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Dr(n);if(rl.insert(t,c),t||e){if(t===e)return Xr(t),e=Dr(t.site),rl.insert(c,e),c.edge=e.edge=Jr(t.site,c.site),Vr(t),Vr(e),void 0;if(!e)return c.edge=Jr(t.site,c.site),void 0;Xr(t),Xr(e);var l=t.site,s=l.x,f=l.y,h=n.x-s,g=n.y-f,p=e.site,v=p.x-s,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,M=v*v+d*d,x={x:(d*y-g*M)/m+s,y:(h*M-v*y)/m+f};Kr(e.edge,l,p,x),c.edge=Jr(l,n,null,x),e.edge=Jr(n,p,null,x),Vr(t),Vr(e)}}function Fr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,l=c-t;if(!l)return a;var s=a-r,f=1/i-1/l,h=s/l;return f?(-h+Math.sqrt(h*h-2*f*(s*s/(-2*l)-c+l/2+u-i/2)))/f+r:(r+a)/2}function Hr(n,t){var e=n.N;if(e)return Fr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Or(n){this.site=n,this.edges=[]}function Yr(n){for(var t,e,r,u,i,o,a,c,l,s,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=el,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)s=a[o].end(),r=s.x,u=s.y,l=a[++o%c].start(),t=l.x,e=l.y,(va(r-t)>Ta||va(u-e)>Ta)&&(a.splice(o,0,new Qr(Gr(i.site,s,va(r-f)Ta?{x:f,y:va(t-f)Ta?{x:va(e-p)Ta?{x:h,y:va(t-h)Ta?{x:va(e-g)=-Ra)){var g=c*c+l*l,p=s*s+f*f,v=(f*g-l*p)/h,d=(c*p-s*g)/h,f=d+a,m=al.pop()||new Zr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,M=il._;M;)if(m.yd||d>=a)return;if(h>p){if(i){if(i.y>=l)return}else i={x:d,y:c};e={x:d,y:l}}else{if(i){if(i.yr||r>1)if(h>p){if(i){if(i.y>=l)return}else i={x:(c-u)/r,y:c};e={x:(l-u)/r,y:l}}else{if(i){if(i.yg){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.xi||f>o||r>h||u>g)){if(p=n.point){var p,v=t-p[0],d=e-p[1],m=v*v+d*d;if(c>m){var y=Math.sqrt(c=m);r=t-y,u=e-y,i=t+y,o=e+y,a=p}}for(var M=n.nodes,x=.5*(s+h),b=.5*(f+g),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:l(n,s,f,x,b);break;case 1:l(n,x,f,h,b);break;case 2:l(n,s,b,x,g);break;case 3:l(n,x,b,h,g)}}}(n,r,u,i,o),a}function gu(n,t){n=ta.rgb(n),t=ta.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+Mt(Math.round(e+i*n))+Mt(Math.round(r+o*n))+Mt(Math.round(u+a*n))}}function pu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=mu(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function vu(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function du(n,t){var e,r,u,i=ll.lastIndex=sl.lastIndex=0,o=-1,a=[],c=[];for(n+="",t+="";(e=ll.exec(n))&&(r=sl.exec(t));)(u=r.index)>i&&(u=t.slice(i,u),a[o]?a[o]+=u:a[++o]=u),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,c.push({i:o,x:vu(e,r)})),i=sl.lastIndex;return ir;++r)a[(e=c[r]).i]=e.x(n);return a.join("")})}function mu(n,t){for(var e,r=ta.interpolators.length;--r>=0&&!(e=ta.interpolators[r](n,t)););return e}function yu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(mu(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function Mu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function xu(n){return function(t){return 1-n(1-t)}}function bu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function _u(n){return n*n}function wu(n){return n*n*n}function Su(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function ku(n){return function(t){return Math.pow(t,n)}}function Eu(n){return 1-Math.cos(n*ja)}function Au(n){return Math.pow(2,10*(n-1))}function Nu(n){return 1-Math.sqrt(1-n*n)}function Cu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Pa*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Pa/t)}}function zu(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function qu(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Lu(n,t){n=ta.hcl(n),t=ta.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return lt(e+i*n,r+o*n,u+a*n)+""}}function Tu(n,t){n=ta.hsl(n),t=ta.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return at(e+i*n,r+o*n,u+a*n)+""}}function Ru(n,t){n=ta.lab(n),t=ta.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ft(e+i*n,r+o*n,u+a*n)+""}}function Du(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Pu(n){var t=[n.a,n.b],e=[n.c,n.d],r=ju(t),u=Uu(t,e),i=ju(Fu(e,t,-u))||0;t[0]*e[1]180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:vu(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:vu(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:vu(g[0],p[0])},{i:e-2,x:vu(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i=0;)e.push(u[r])}function Qu(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(i=n.children)&&(u=i.length))for(var u,i,o=-1;++oe;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function si(n){return n.reduce(fi,0)}function fi(n,t){return n+t[1]}function hi(n,t){return gi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function gi(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function pi(n){return[ta.min(n),ta.max(n)]}function vi(n,t){return n.value-t.value}function di(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function mi(n,t){n._pack_next=t,t._pack_prev=n}function yi(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Mi(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(xi),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],wi(r,u,i),t(i),di(r,i),r._pack_prev=i,di(i,u),u=r._pack_next,o=3;l>o;o++){wi(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(yi(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!yi(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.ro;o++)i=e[o],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(bi)}}function xi(n){n._pack_next=n._pack_prev=n}function bi(n){delete n._pack_next,delete n._pack_prev}function _i(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i=0;)t=u[i],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Ci(n,t,e){return n.a.parent===t.parent?n.a:e}function zi(n){return 1+ta.max(n,function(n){return n.y})}function qi(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Li(n){var t=n.children;return t&&t.length?Li(t[0]):n}function Ti(n){var t,e=n.children;return e&&(t=e.length)?Ti(e[t-1]):n}function Ri(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Di(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function Pi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Ui(n){return n.rangeExtent?n.rangeExtent():Pi(n.range())}function ji(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Fi(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Hi(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:bl}function Oi(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]2?Oi:ji,c=r?Yu:Ou;return o=u(n,t,c,e),a=u(t,n,c,mu),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Du)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Xi(n,t)},i.tickFormat=function(t,e){return $i(n,t,e)},i.nice=function(t){return Zi(n,t),u()},i.copy=function(){return Yi(n,t,e,r)},u()}function Ii(n,t){return ta.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Zi(n,t){return Fi(n,Hi(Vi(n,t)[2]))}function Vi(n,t){null==t&&(t=10);var e=Pi(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Xi(n,t){return ta.range.apply(ta,Vi(n,t))}function $i(n,t,e){var r=Vi(n,t);if(e){var u=lc.exec(e);if(u.shift(),"s"===u[8]){var i=ta.formatPrefix(Math.max(va(r[0]),va(r[1])));return u[7]||(u[7]="."+Bi(i.scale(r[2]))),u[8]="f",e=ta.format(u.join("")),function(n){return e(i.scale(n))+i.symbol}}u[7]||(u[7]="."+Wi(u[8],r)),e=u.join("")}else e=",."+Bi(r[2])+"f";return ta.format(e)}function Bi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Wi(n,t){var e=Bi(t[2]);return n in _l?Math.abs(e-Bi(Math.max(va(t[0]),va(t[1]))))+ +("e"!==n):e-2*("%"===n)}function Ji(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Fi(r.map(u),e?Math:Sl);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=Pi(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++0;h--)o.push(i(l)*h);for(l=0;o[l]c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return wl;arguments.length<2?t=wl:"function"!=typeof t&&(t=ta.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return Ji(n.copy(),t,e,r)},Ii(o,n)}function Gi(n,t,e){function r(t){return n(u(t))}var u=Ki(t),i=Ki(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Xi(e,n)},r.tickFormat=function(n,t){return $i(e,n,t)},r.nice=function(n){return r.domain(Zi(e,n))},r.exponent=function(o){return arguments.length?(u=Ki(t=o),i=Ki(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Gi(n.copy(),t,e)},Ii(r,n)}function Ki(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Qi(n,t){function e(e){return i[((u.get(e)||("range"===t.t?u.set(e,n.push(e)):0/0))-1)%i.length]}function r(t,e){return ta.range(n.length).map(function(n){return t+e*n})}var u,i,o;return e.domain=function(r){if(!arguments.length)return n;n=[],u=new a;for(var i,o=-1,c=r.length;++on?[0/0,0/0]:[n>0?a[n-1]:r[0],nt?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return to(n,t,e)},u()}function eo(n,t){function e(e){return e>=e?t[ta.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return eo(n,t)},e}function ro(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Xi(n,t)},t.tickFormat=function(t,e){return $i(n,t,e)},t.copy=function(){return ro(n)},t}function uo(){return 0}function io(n){return n.innerRadius}function oo(n){return n.outerRadius}function ao(n){return n.startAngle}function co(n){return n.endAngle}function lo(n){return n&&n.padAngle}function so(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function fo(n,t,e,r,u){var i=n[0]-t[0],o=n[1]-t[1],a=(u?r:-r)/Math.sqrt(i*i+o*o),c=a*o,l=-a*i,s=n[0]+c,f=n[1]+l,h=t[0]+c,g=t[1]+l,p=(s+h)/2,v=(f+g)/2,d=h-s,m=g-f,y=d*d+m*m,M=e-r,x=s*g-h*f,b=(0>m?-1:1)*Math.sqrt(M*M*y-x*x),_=(x*m-d*b)/y,w=(-x*d-m*b)/y,S=(x*m+d*b)/y,k=(-x*d+m*b)/y,E=_-p,A=w-v,N=S-p,C=k-v;return E*E+A*A>N*N+C*C&&(_=S,w=k),[[_-c,w-l],[_*e/M,w*e/M]]}function ho(n){function t(t){function o(){l.push("M",i(n(s),a))}for(var c,l=[],s=[],f=-1,h=t.length,g=kt(e),p=kt(r);++f1&&u.push("H",r[0]),u.join("")}function mo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function To(n){return n.length<3?go(n):n[0]+_o(n,Lo(n))}function Ro(n){for(var t,e,r,u=-1,i=n.length;++ur)return s();var u=i[i.active];u&&(--i.count,delete i[i.active],u.event&&u.event.interrupt.call(n,n.__data__,u.index)),i.active=r,o.event&&o.event.start.call(n,n.__data__,t),o.tween.forEach(function(e,r){(r=r.call(n,n.__data__,t))&&v.push(r)}),h=o.ease,f=o.duration,ta.timer(function(){return p.c=l(e||1)?Ne:l,1},0,c)}function l(e){if(i.active!==r)return 1;for(var u=e/f,a=h(u),c=v.length;c>0;)v[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,n.__data__,t),s()):void 0}function s(){return--i.count?delete i[r]:delete n[e],1}var f,h,g=o.delay,p=oc,v=[];return p.t=g+c,u>=g?a(u-g):(p.c=a,void 0)},0,c)}}function Bo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function Wo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function Jo(n){return n.toISOString()}function Go(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=ta.bisect(Wl,u);return i==Wl.length?[t.year,Vi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/Wl[i-1]1?{floor:function(t){for(;e(t=n.floor(t));)t=Ko(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Ko(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Pi(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Ko(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Go(n.copy(),t,e)},Ii(r,n)}function Ko(n){return new Date(n)}function Qo(n){return JSON.parse(n.responseText)}function na(n){var t=ua.createRange();return t.selectNode(ua.body),t.createContextualFragment(n.responseText)}var ta={version:"3.5.2"};Date.now||(Date.now=function(){return+new Date});var ea=[].slice,ra=function(n){return ea.call(n)},ua=document,ia=ua.documentElement,oa=window;try{ra(ia.childNodes)[0].nodeType}catch(aa){ra=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{ua.createElement("div").style.setProperty("opacity",0,"")}catch(ca){var la=oa.Element.prototype,sa=la.setAttribute,fa=la.setAttributeNS,ha=oa.CSSStyleDeclaration.prototype,ga=ha.setProperty;la.setAttribute=function(n,t){sa.call(this,n,t+"")},la.setAttributeNS=function(n,t,e){fa.call(this,n,t,e+"")},ha.setProperty=function(n,t,e){ga.call(this,n,t+"",e)}}ta.ascending=n,ta.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},ta.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=r){e=r;break}for(;++ur&&(e=r)}else{for(;++u=r){e=r;break}for(;++ur&&(e=r)}return e},ta.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u=r){e=r;break}for(;++ue&&(e=r)}else{for(;++u=r){e=r;break}for(;++ue&&(e=r)}return e},ta.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i=r){e=u=r;break}for(;++ir&&(e=r),r>u&&(u=r))}else{for(;++i=r){e=u=r;break}for(;++ir&&(e=r),r>u&&(u=r))}return[e,u]},ta.sum=function(n,t){var r,u=0,i=n.length,o=-1;if(1===arguments.length)for(;++o1?c/(s-1):void 0},ta.deviation=function(){var n=ta.variance.apply(this,arguments);return n?Math.sqrt(n):n};var pa=r(n);ta.bisectLeft=pa.left,ta.bisect=ta.bisectRight=pa.right,ta.bisector=function(t){return r(1===t.length?function(e,r){return n(t(e),r)}:t)},ta.shuffle=function(n,t,e){(i=arguments.length)<3&&(e=n.length,2>i&&(t=0));for(var r,u,i=e-t;i;)u=0|Math.random()*i--,r=n[i+t],n[i+t]=n[u+t],n[u+t]=r;return n},ta.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},ta.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},ta.zip=function(){if(!(r=arguments.length))return[];for(var n=-1,t=ta.min(arguments,u),e=new Array(t);++n=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var va=Math.abs;ta.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),1/0===(t-n)/e)throw new Error("infinite range");var r,u=[],o=i(va(e)),a=-1;if(n*=o,t*=o,e*=o,0>e)for(;(r=n+e*++a)>t;)u.push(r/o);else for(;(r=n+e*++a)=i.length)return r?r.call(u,o):e?o.sort(e):o;for(var l,s,f,h,g=-1,p=o.length,v=i[c++],d=new a;++g=i.length)return n;var r=[],u=o[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,u={},i=[],o=[];return u.map=function(t,e){return n(e,t,0)},u.entries=function(e){return t(n(ta.map,e,0),0)},u.key=function(n){return i.push(n),u},u.sortKeys=function(n){return o[i.length-1]=n,u},u.sortValues=function(n){return e=n,u},u.rollup=function(n){return r=n,u},u},ta.set=function(n){var t=new v;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},o(v,{has:s,add:function(n){return this._[c(n+="")]=!0,n},remove:f,values:h,size:g,empty:p,forEach:function(n){for(var t in this._)n.call(this,l(t))}}),ta.behavior={},ta.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},ta.event=null,ta.requote=function(n){return n.replace(Ma,"\\$&")};var Ma=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,xa={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},ba=function(n,t){return t.querySelector(n)},_a=function(n,t){return t.querySelectorAll(n)},wa=ia.matches||ia[m(ia,"matchesSelector")],Sa=function(n,t){return wa.call(n,t)};"function"==typeof Sizzle&&(ba=function(n,t){return Sizzle(n,t)[0]||null},_a=Sizzle,Sa=Sizzle.matchesSelector),ta.selection=function(){return Na};var ka=ta.selection.prototype=[];ka.select=function(n){var t,e,r,u,i=[];n=k(n);for(var o=-1,a=this.length;++o=0&&(e=n.slice(0,t),n=n.slice(t+1)),Ea.hasOwnProperty(e)?{space:Ea[e],local:n}:n}},ka.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=ta.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(A(t,n[t]));return this}return this.each(A(n,t))},ka.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=z(n)).length,u=-1;if(t=e.classList){for(;++ur){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(T(e,n[e],t));return this}if(2>r)return oa.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(T(n,t,e))},ka.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(R(t,n[t]));return this}return this.each(R(n,t))},ka.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},ka.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},ka.append=function(n){return n=D(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},ka.insert=function(n,t){return n=D(n),t=k(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},ka.remove=function(){return this.each(P)},ka.data=function(n,t){function e(n,e){var r,u,i,o=n.length,f=e.length,h=Math.min(o,f),g=new Array(f),p=new Array(f),v=new Array(o);if(t){var d,m=new a,y=new Array(o);for(r=-1;++rr;++r)p[r]=U(e[r]);for(;o>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,c.push(p),l.push(g),s.push(v)}var r,u,i=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++ii;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return S(u)},ka.order=function(){for(var n=-1,t=this.length;++n=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},ka.sort=function(n){n=F.apply(this,arguments);for(var t=-1,e=this.length;++tn;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},ka.size=function(){var n=0;return H(this,function(){++n}),n};var Aa=[];ta.selection.enter=O,ta.selection.enter.prototype=Aa,Aa.append=ka.append,Aa.empty=ka.empty,Aa.node=ka.node,Aa.call=ka.call,Aa.size=ka.size,Aa.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++ar){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(I(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(I(n,t,e))};var Ca=ta.map({mouseenter:"mouseover",mouseleave:"mouseout"});Ca.forEach(function(n){"on"+n in ua&&Ca.remove(n)});var za="onselectstart"in ua?null:m(ia.style,"userSelect"),qa=0;ta.mouse=function(n){return $(n,_())};var La=/WebKit/.test(oa.navigator.userAgent)?-1:0;ta.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=_().changedTouches),t)for(var r,u=0,i=t.length;i>u;++u)if((r=t[u]).identifier===e)return $(n,r)},ta.behavior.drag=function(){function n(){this.on("mousedown.drag",u).on("touchstart.drag",i)}function t(n,t,u,i,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],p|=n|e,M=r,g({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:n,dy:e}))}function c(){t(h,v)&&(m.on(i+d,null).on(o+d,null),y(p&&ta.event.target===f),g({type:"dragend"}))}var l,s=this,f=ta.event.target,h=s.parentNode,g=e.of(s,arguments),p=0,v=n(),d=".drag"+(null==v?"":"-"+v),m=ta.select(u()).on(i+d,a).on(o+d,c),y=X(),M=t(h,v);r?(l=r.apply(s,arguments),l=[l.x-M[0],l.y-M[1]]):l=[0,0],g({type:"dragstart"})}}var e=w(n,"drag","dragstart","dragend"),r=null,u=t(y,ta.mouse,J,"mousemove","mouseup"),i=t(B,ta.touch,W,"touchmove","touchend");return n.origin=function(t){return arguments.length?(r=t,n):r},ta.rebind(n,e,"on")},ta.touches=function(n,t){return arguments.length<2&&(t=_().touches),t?ra(t).map(function(t){var e=$(n,t);return e.identifier=t.identifier,e}):[]};var Ta=1e-6,Ra=Ta*Ta,Da=Math.PI,Pa=2*Da,Ua=Pa-Ta,ja=Da/2,Fa=Da/180,Ha=180/Da,Oa=Math.SQRT2,Ya=2,Ia=4;ta.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=et(v),o=i/(Ya*h)*(e*rt(Oa*t+v)-tt(v));return[r+o*l,u+o*s,i*e/et(Oa*t+v)]}return[r+n*l,u+n*s,i*Math.exp(Oa*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+Ia*f)/(2*i*Ya*h),p=(c*c-i*i-Ia*f)/(2*c*Ya*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Oa;return e.duration=1e3*y,e},ta.behavior.zoom=function(){function n(n){n.on(z,s).on(Xa+".zoom",h).on("dblclick.zoom",g).on(T,f)}function t(n){return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function e(n){return[n[0]*k.k+k.x,n[1]*k.k+k.y]}function r(n){k.k=Math.max(A[0],Math.min(A[1],n))}function u(n,t){t=e(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}function i(t,e,i,o){t.__chart__={x:k.x,y:k.y,k:k.k},r(Math.pow(2,o)),u(v=e,i),t=ta.select(t),N>0&&(t=t.transition().duration(N)),t.call(n.event)}function o(){x&&x.domain(M.range().map(function(n){return(n-k.x)/k.k}).map(M.invert)),S&&S.domain(_.range().map(function(n){return(n-k.y)/k.k}).map(_.invert))}function a(n){C++||n({type:"zoomstart"})}function c(n){o(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function l(n){--C||n({type:"zoomend"}),v=null}function s(){function n(){s=1,u(ta.mouse(r),h),c(o)}function e(){f.on(q,null).on(L,null),g(s&&ta.event.target===i),l(o)}var r=this,i=ta.event.target,o=R.of(r,arguments),s=0,f=ta.select(oa).on(q,n).on(L,e),h=t(ta.mouse(r)),g=X();Fl.call(r),a(o)}function f(){function n(){var n=ta.touches(p);return g=k.k,n.forEach(function(n){n.identifier in d&&(d[n.identifier]=t(n))}),n}function e(){var t=ta.event.target;ta.select(t).on(x,o).on(_,h),w.push(t);for(var e=ta.event.changedTouches,r=0,u=e.length;u>r;++r)d[e[r].identifier]=null;var a=n(),c=Date.now();if(1===a.length){if(500>c-y){var l=a[0];i(p,l,d[l.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),b()}y=c}else if(a.length>1){var l=a[0],s=a[1],f=l[0]-s[0],g=l[1]-s[1];m=f*f+g*g}}function o(){var n,t,e,i,o=ta.touches(p);Fl.call(p);for(var a=0,l=o.length;l>a;++a,i=null)if(e=o[a],i=d[e.identifier]){if(t)break;n=e,t=i}if(i){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*g)}y=null,u(n,t),c(v)}function h(){if(ta.event.touches.length){for(var t=ta.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var u in d)return void n()}ta.selectAll(w).on(M,null),S.on(z,s).on(T,f),E(),l(v)}var g,p=this,v=R.of(p,arguments),d={},m=0,M=".zoom-"+ta.event.changedTouches[0].identifier,x="touchmove"+M,_="touchend"+M,w=[],S=ta.select(p),E=X();e(),a(v),S.on(z,null).on(T,e)}function h(){var n=R.of(this,arguments);m?clearTimeout(m):(p=t(v=d||ta.mouse(this)),Fl.call(this),a(n)),m=setTimeout(function(){m=null,l(n)},50),b(),r(Math.pow(2,.002*Za())*k.k),u(v,p),c(n)}function g(){var n=ta.mouse(this),e=Math.log(k.k)/Math.LN2;i(this,n,t(n),ta.event.shiftKey?Math.ceil(e)-1:Math.floor(e)+1)}var p,v,d,m,y,M,x,_,S,k={x:0,y:0,k:1},E=[960,500],A=Va,N=250,C=0,z="mousedown.zoom",q="mousemove.zoom",L="mouseup.zoom",T="touchstart.zoom",R=w(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=R.of(this,arguments),t=k;Ul?ta.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},a(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],u=v?v[0]:e/2,i=v?v[1]:r/2,o=ta.interpolateZoom([(u-k.x)/k.k,(i-k.y)/k.k,e/k.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),a=e/r[2];this.__chart__=k={x:u-r[0]*a,y:i-r[1]*a,k:a},c(n)}}).each("interrupt.zoom",function(){l(n)}).each("end.zoom",function(){l(n)}):(this.__chart__=k,a(n),c(n),l(n))})},n.translate=function(t){return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},o(),n):[k.x,k.y]},n.scale=function(t){return arguments.length?(k={x:k.x,y:k.y,k:+t},o(),n):k.k},n.scaleExtent=function(t){return arguments.length?(A=null==t?Va:[+t[0],+t[1]],n):A},n.center=function(t){return arguments.length?(d=t&&[+t[0],+t[1]],n):d},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.duration=function(t){return arguments.length?(N=+t,n):N},n.x=function(t){return arguments.length?(x=t,M=t.copy(),k={x:0,y:0,k:1},n):x},n.y=function(t){return arguments.length?(S=t,_=t.copy(),k={x:0,y:0,k:1},n):S},ta.rebind(n,R,"on")};var Za,Va=[0,1/0],Xa="onwheel"in ua?(Za=function(){return-ta.event.deltaY*(ta.event.deltaMode?120:1)},"wheel"):"onmousewheel"in ua?(Za=function(){return ta.event.wheelDelta},"mousewheel"):(Za=function(){return-ta.event.detail},"MozMousePixelScroll");ta.color=it,it.prototype.toString=function(){return this.rgb()+""},ta.hsl=ot;var $a=ot.prototype=new it;$a.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new ot(this.h,this.s,this.l/n)},$a.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new ot(this.h,this.s,n*this.l)},$a.rgb=function(){return at(this.h,this.s,this.l)},ta.hcl=ct;var Ba=ct.prototype=new it;Ba.brighter=function(n){return new ct(this.h,this.c,Math.min(100,this.l+Wa*(arguments.length?n:1)))},Ba.darker=function(n){return new ct(this.h,this.c,Math.max(0,this.l-Wa*(arguments.length?n:1)))},Ba.rgb=function(){return lt(this.h,this.c,this.l).rgb()},ta.lab=st;var Wa=18,Ja=.95047,Ga=1,Ka=1.08883,Qa=st.prototype=new it;Qa.brighter=function(n){return new st(Math.min(100,this.l+Wa*(arguments.length?n:1)),this.a,this.b)},Qa.darker=function(n){return new st(Math.max(0,this.l-Wa*(arguments.length?n:1)),this.a,this.b)},Qa.rgb=function(){return ft(this.l,this.a,this.b)},ta.rgb=dt;var nc=dt.prototype=new it;nc.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),new dt(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new dt(u,u,u)},nc.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new dt(n*this.r,n*this.g,n*this.b)},nc.hsl=function(){return bt(this.r,this.g,this.b)},nc.toString=function(){return"#"+Mt(this.r)+Mt(this.g)+Mt(this.b)};var tc=ta.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});tc.forEach(function(n,t){tc.set(n,mt(t))}),ta.functor=kt,ta.xhr=At(Et),ta.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=Nt(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=l)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==c)continue;return n.slice(t,s-a)}return n.slice(t)}for(var r,u,i={},o={},a=[],l=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,f++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new v,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},ta.csv=ta.dsv(",","text/csv"),ta.tsv=ta.dsv(" ","text/tab-separated-values");var ec,rc,uc,ic,oc,ac=oa[m(oa,"requestAnimationFrame")]||function(n){setTimeout(n,17)};ta.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};rc?rc.n=i:ec=i,rc=i,uc||(ic=clearTimeout(ic),uc=1,ac(qt))},ta.timer.flush=function(){Lt(),Tt()},ta.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var cc=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Dt);ta.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=ta.round(n,Rt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),cc[8+e/3]};var lc=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,sc=ta.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=ta.round(n,Rt(n,t))).toFixed(Math.max(0,Math.min(20,Rt(n*(1+1e-15),t))))}}),fc=ta.time={},hc=Date;jt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){gc.setUTCDate.apply(this._,arguments)},setDay:function(){gc.setUTCDay.apply(this._,arguments)},setFullYear:function(){gc.setUTCFullYear.apply(this._,arguments)},setHours:function(){gc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){gc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){gc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){gc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){gc.setUTCSeconds.apply(this._,arguments)},setTime:function(){gc.setTime.apply(this._,arguments)}};var gc=Date.prototype;fc.year=Ft(function(n){return n=fc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),fc.years=fc.year.range,fc.years.utc=fc.year.utc.range,fc.day=Ft(function(n){var t=new hc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),fc.days=fc.day.range,fc.days.utc=fc.day.utc.range,fc.dayOfYear=function(n){var t=fc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=fc[n]=Ft(function(n){return(n=fc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=fc.year(n).getDay();return Math.floor((fc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});fc[n+"s"]=e.range,fc[n+"s"].utc=e.utc.range,fc[n+"OfYear"]=function(n){var e=fc.year(n).getDay();return Math.floor((fc.dayOfYear(n)+(e+t)%7)/7)}}),fc.week=fc.sunday,fc.weeks=fc.sunday.range,fc.weeks.utc=fc.sunday.utc.range,fc.weekOfYear=fc.sundayOfYear;var pc={"-":"",_:" ",0:"0"},vc=/^\s*\d+/,dc=/^%/;ta.locale=function(n){return{numberFormat:Pt(n),timeFormat:Ot(n)}};var mc=ta.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ta.format=mc.numberFormat,ta.geo={},ce.prototype={s:0,t:0,add:function(n){le(n,this.t,yc),le(yc.s,this.s,this),this.s?this.t+=yc.t:this.s=yc.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var yc=new ce;ta.geo.stream=function(n,t){n&&Mc.hasOwnProperty(n.type)?Mc[n.type](n,t):se(n,t)};var Mc={Feature:function(n,t){se(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++rn?4*Da+n:n,wc.lineStart=wc.lineEnd=wc.point=y}};ta.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=pe([t*Fa,e*Fa]);if(m){var u=de(m,r),i=[u[1],-u[0],0],o=de(i,u);Me(o),o=xe(o);var c=t-p,l=c>0?1:-1,v=o[0]*Ha*l,d=va(c)>180;if(d^(v>l*p&&l*t>v)){var y=o[1]*Ha;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>l*p&&l*t>v)){var y=-o[1]*Ha;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=va(r)>180?r+(r>0?360:-360):r}else v=n,d=e;wc.point(n,e),t(n,e)}function i(){wc.lineStart()}function o(){u(v,d),wc.lineEnd(),va(y)>Ta&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n_c?(s=-(h=180),f=-(g=90)):y>Ta?g=90:-Ta>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],ta.geo.stream(n,b);var t=M.length;if(t){M.sort(c);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return M=x=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),ta.geo.centroid=function(n){Sc=kc=Ec=Ac=Nc=Cc=zc=qc=Lc=Tc=Rc=0,ta.geo.stream(n,Dc);var t=Lc,e=Tc,r=Rc,u=t*t+e*e+r*r;return Ra>u&&(t=Cc,e=zc,r=qc,Ta>kc&&(t=Ec,e=Ac,r=Nc),u=t*t+e*e+r*r,Ra>u)?[0/0,0/0]:[Math.atan2(e,t)*Ha,nt(r/Math.sqrt(u))*Ha]};var Sc,kc,Ec,Ac,Nc,Cc,zc,qc,Lc,Tc,Rc,Dc={sphere:y,point:_e,lineStart:Se,lineEnd:ke,polygonStart:function(){Dc.lineStart=Ee},polygonEnd:function(){Dc.lineStart=Se}},Pc=Le(Ne,Pe,je,[-Da,-Da/2]),Uc=1e9;ta.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Ye(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(ta.geo.conicEqualArea=function(){return Ie(Ze)}).raw=Ze,ta.geo.albers=function(){return ta.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ta.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=ta.geo.albers(),o=ta.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=ta.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Ta,f+.12*l+Ta],[s-.214*l-Ta,f+.234*l-Ta]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Ta,f+.166*l+Ta],[s-.115*l-Ta,f+.234*l-Ta]]).stream(c).point,n},n.scale(1070)};var jc,Fc,Hc,Oc,Yc,Ic,Zc={point:y,lineStart:y,lineEnd:y,polygonStart:function(){Fc=0,Zc.lineStart=Ve},polygonEnd:function(){Zc.lineStart=Zc.lineEnd=Zc.point=y,jc+=va(Fc/2)}},Vc={point:Xe,lineStart:y,lineEnd:y,polygonStart:y,polygonEnd:y},Xc={point:We,lineStart:Je,lineEnd:Ge,polygonStart:function(){Xc.lineStart=Ke},polygonEnd:function(){Xc.point=We,Xc.lineStart=Je,Xc.lineEnd=Ge}};ta.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),ta.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return jc=0,ta.geo.stream(n,u(Zc)),jc},n.centroid=function(n){return Ec=Ac=Nc=Cc=zc=qc=Lc=Tc=Rc=0,ta.geo.stream(n,u(Xc)),Rc?[Lc/Rc,Tc/Rc]:qc?[Cc/qc,zc/qc]:Nc?[Ec/Nc,Ac/Nc]:[0/0,0/0]},n.bounds=function(n){return Yc=Ic=-(Hc=Oc=1/0),ta.geo.stream(n,u(Vc)),[[Hc,Oc],[Yc,Ic]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||tr(n):Et,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new $e:new Qe(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(ta.geo.albersUsa()).context(null)},ta.geo.transform=function(n){return{stream:function(t){var e=new er(t);for(var r in n)e[r]=n[r];return e}}},er.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ta.geo.projection=ur,ta.geo.projectionMutator=ir,(ta.geo.equirectangular=function(){return ur(ar)}).raw=ar.invert=ar,ta.geo.rotation=function(n){function t(t){return t=n(t[0]*Fa,t[1]*Fa),t[0]*=Ha,t[1]*=Ha,t}return n=lr(n[0]%360*Fa,n[1]*Fa,n.length>2?n[2]*Fa:0),t.invert=function(t){return t=n.invert(t[0]*Fa,t[1]*Fa),t[0]*=Ha,t[1]*=Ha,t},t},cr.invert=ar,ta.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=lr(-n[0]*Fa,-n[1]*Fa,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=Ha,n[1]*=Ha}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=gr((t=+r)*Fa,u*Fa),n):t},n.precision=function(r){return arguments.length?(e=gr(t*Fa,(u=+r)*Fa),n):u},n.angle(90)},ta.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Fa,u=n[1]*Fa,i=t[1]*Fa,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},ta.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return ta.range(Math.ceil(i/d)*d,u,d).map(h).concat(ta.range(Math.ceil(l/m)*m,c,m).map(g)).concat(ta.range(Math.ceil(r/p)*p,e,p).filter(function(n){return va(n%d)>Ta}).map(s)).concat(ta.range(Math.ceil(a/v)*v,o,v).filter(function(n){return va(n%m)>Ta}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,s=vr(a,o,90),f=dr(r,e,y),h=vr(l,c,90),g=dr(i,u,y),n):y},n.majorExtent([[-180,-90+Ta],[180,90-Ta]]).minorExtent([[-180,-80-Ta],[180,80+Ta]])},ta.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=mr,u=yr;return n.distance=function(){return ta.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},ta.geo.interpolate=function(n,t){return Mr(n[0]*Fa,n[1]*Fa,t[0]*Fa,t[1]*Fa)},ta.geo.length=function(n){return $c=0,ta.geo.stream(n,Bc),$c};var $c,Bc={sphere:y,point:y,lineStart:xr,lineEnd:y,polygonStart:y,polygonEnd:y},Wc=br(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(ta.geo.azimuthalEqualArea=function(){return ur(Wc)}).raw=Wc;var Jc=br(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},Et);(ta.geo.azimuthalEquidistant=function(){return ur(Jc)}).raw=Jc,(ta.geo.conicConformal=function(){return Ie(_r)}).raw=_r,(ta.geo.conicEquidistant=function(){return Ie(wr)}).raw=wr;var Gc=br(function(n){return 1/n},Math.atan);(ta.geo.gnomonic=function(){return ur(Gc)}).raw=Gc,Sr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-ja]},(ta.geo.mercator=function(){return kr(Sr)}).raw=Sr;var Kc=br(function(){return 1},Math.asin);(ta.geo.orthographic=function(){return ur(Kc)}).raw=Kc;var Qc=br(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(ta.geo.stereographic=function(){return ur(Qc)}).raw=Qc,Er.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-ja]},(ta.geo.transverseMercator=function(){var n=kr(Er),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Er,ta.geom={},ta.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=kt(e),i=kt(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(zr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var l=Cr(a),s=Cr(c),f=s[0]===l[0],h=s[s.length-1]===l[l.length-1],g=[];for(t=l.length-1;t>=0;--t)g.push(n[a[l[t]][2]]);for(t=+f;t=r&&l.x<=i&&l.y>=u&&l.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];s.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Ta)*Ta,y:Math.round(o(n,t)/Ta)*Ta,i:t}})}var r=Ar,u=Nr,i=r,o=u,a=cl;return n?t(n):(t.links=function(n){return iu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return iu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(Ir),c=-1,l=a.length,s=a[l-1].edge,f=s.l===o?s.r:s.l;++c=l,h=r>=s,g=h<<1|f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=su()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,v,d,m,y,M=kt(a),x=kt(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.xm&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);v>b&&(v=b),d>_&&(d=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=su();if(k.add=function(n){i(k,n,+M(n,++g),+x(n,g),v,d,m,y)},k.visit=function(n){fu(n,k,v,d,m,y)},k.find=function(n){return hu(k,n[0],n[1],v,d,m,y)},g=-1,null==t){for(;++g=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=hl.get(e)||fl,r=gl.get(r)||Et,Mu(r(e.apply(null,ea.call(arguments,1))))},ta.interpolateHcl=Lu,ta.interpolateHsl=Tu,ta.interpolateLab=Ru,ta.interpolateRound=Du,ta.transform=function(n){var t=ua.createElementNS(ta.ns.prefix.svg,"g");return(ta.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Pu(e?e.matrix:pl)})(n)},Pu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var pl={a:1,b:0,c:0,d:1,e:0,f:0};ta.interpolateTransform=Hu,ta.layout={},ta.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++ea*a/d){if(p>c){var l=t.charge/c;n.px-=i*l,n.py-=o*l}return!0}if(t.point&&c&&p>c){var l=t.pointCharge/c;n.px-=i*l,n.py-=o*l}}return!t.charge}}function t(n){n.px=ta.event.x,n.py=ta.event.y,a.resume()}var e,r,u,i,o,a={},c=ta.dispatch("start","tick","end"),l=[1,1],s=.9,f=vl,h=dl,g=-30,p=ml,v=.1,d=.64,m=[],y=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,M,x,b=m.length,_=y.length;for(e=0;_>e;++e)a=y[e],f=a.source,h=a.target,M=h.x-f.x,x=h.y-f.y,(p=M*M+x*x)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,M*=p,x*=p,h.x-=M*(d=f.weight/(h.weight+f.weight)),h.y-=x*d,f.x+=M*(d=1-d),f.y+=x*d);if((d=r*v)&&(M=l[0]/2,x=l[1]/2,e=-1,d))for(;++e0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),ta.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;l>a;++a){var u=y[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,l=o.length;++at;++t)(r=m[t]).index=t,r.weight=0;for(t=0;s>t;++t)r=y[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;s>t;++t)u[t]=+f.call(this,y[t],t);else for(t=0;s>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;s>t;++t)i[t]=+h.call(this,y[t],t);else for(t=0;s>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=ta.behavior.drag().origin(Et).on("dragstart.force",Xu).on("drag.force",t).on("dragend.force",$u)),arguments.length?(this.on("mouseover.force",Bu).on("mouseout.force",Wu).call(e),void 0):e},ta.rebind(a,c,"on")};var vl=20,dl=1,ml=1/0;ta.layout.hierarchy=function(){function n(u){var i,o=[u],a=[];for(u.depth=0;null!=(i=o.pop());)if(a.push(i),(l=e.call(n,i,i.depth))&&(c=l.length)){for(var c,l,s;--c>=0;)o.push(s=l[c]),s.parent=i,s.depth=i.depth+1;r&&(i.value=0),i.children=l}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Qu(u,function(n){var e,u;t&&(e=n.children)&&e.sort(t),r&&(u=n.parent)&&(u.value+=n.value)}),a}var t=ei,e=ni,r=ti;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ku(t,function(n){n.children&&(n.value=0)}),Qu(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},ta.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,l=-1;for(r=t.value?r/t.value:0;++lf?-1:1),p=(f-c*g)/ta.sum(l),v=ta.range(c),d=[];return null!=e&&v.sort(e===yl?function(n,t){return l[t]-l[n]}:function(n,t){return e(o[n],o[t])}),v.forEach(function(n){d[n]={data:o[n],value:a=l[n],startAngle:s,endAngle:s+=a*p+g,padAngle:h}}),d}var t=Number,e=yl,r=0,u=Pa,i=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n.padAngle=function(t){return arguments.length?(i=t,n):i},n};var yl={};ta.layout.stack=function(){function n(a,c){if(!(h=a.length))return a;var l=a.map(function(e,r){return t.call(n,e,r)}),s=l.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,s,c);l=ta.permute(l,f),s=ta.permute(s,f);var h,g,p,v,d=r.call(n,s,c),m=l[0].length;for(p=0;m>p;++p)for(u.call(n,l[0][p],v=d[p],s[0][p][1]),g=1;h>g;++g)u.call(n,l[g][p],v+=s[g-1][p][1],s[g][p][1]);return a}var t=Et,e=ai,r=ci,u=oi,i=ui,o=ii;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:Ml.get(t)||ai,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:xl.get(t)||ci,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var Ml=ta.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(li),i=n.map(si),o=ta.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return ta.range(n.length).reverse()},"default":ai}),xl=ta.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ci});ta.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i0)for(i=-1;++i=s[0]&&a<=s[1]&&(o=c[ta.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=pi,u=hi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=kt(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return gi(n,t)}:kt(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},ta.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Qu(a,function(n){n.r=+s(n.value)}),Qu(a,Mi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Qu(a,function(n){n.r+=f}),Qu(a,Mi),Qu(a,function(n){n.r-=f})}return _i(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=ta.layout.hierarchy().sort(vi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Gu(n,e)},ta.layout.tree=function(){function n(n,u){var s=o.call(this,n,u),f=s[0],h=t(f);if(Qu(h,e),h.parent.m=-h.z,Ku(h,r),l)Ku(f,i);else{var g=f,p=f,v=f;Ku(f,function(n){n.xp.x&&(p=n),n.depth>v.depth&&(v=n)});var d=a(g,p)/2-g.x,m=c[0]/(p.x+a(p,g)/2+d),y=c[1]/(v.depth||1);Ku(f,function(n){n.x=(n.x+d)*m,n.y=n.depth*y})}return s}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var u,i=t.children,o=0,a=i.length;a>o;++o)r.push((i[o]=u={_:i[o],parent:t,children:(u=i[o].children)&&u.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=u);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Ni(n);var i=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+a(n._,r._));n.parent.A=u(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function u(n,t,e){if(t){for(var r,u=n,i=n,o=t,c=u.parent.children[0],l=u.m,s=i.m,f=o.m,h=c.m;o=Ei(o),u=ki(u),o&&u;)c=ki(c),i=Ei(i),i.a=n,r=o.z+f-u.z-l+a(o._,u._),r>0&&(Ai(Ci(o,n,e),n,r),l+=r,s+=r),f+=o.m,l+=u.m,h+=c.m,s+=i.m;o&&!Ei(i)&&(i.t=o,i.m+=f-s),u&&!ki(c)&&(c.t=u,c.m+=l-h,e=n)}return e}function i(n){n.x*=c[0],n.y=n.depth*c[1]}var o=ta.layout.hierarchy().sort(null).value(null),a=Si,c=[1,1],l=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(l=null==(c=t)?i:null,n):l?null:c},n.nodeSize=function(t){return arguments.length?(l=null==(c=t)?null:i,n):l?c:null},Gu(n,o)},ta.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Qu(c,function(n){var t=n.children;t&&t.length?(n.x=qi(t),n.y=zi(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Li(c),f=Ti(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Qu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=ta.layout.hierarchy().sort(null).value(null),e=Si,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Gu(n,t)},ta.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++ut?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,v="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,v))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,v,l,!1),v=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,v,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++oe&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++ie.dx)&&(s=e.dx);++ie&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=ta.random.normal.apply(ta,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=ta.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},ta.scale={};var bl={floor:Et,ceil:Et};ta.scale.linear=function(){return Yi([0,1],[0,1],mu,!1)};var _l={s:1,g:1,p:1,r:1,e:1};ta.scale.log=function(){return Ji(ta.scale.linear().domain([0,1]),10,!0,[1,10])};var wl=ta.format(".0e"),Sl={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};ta.scale.pow=function(){return Gi(ta.scale.linear(),1,[0,1])},ta.scale.sqrt=function(){return ta.scale.pow().exponent(.5)},ta.scale.ordinal=function(){return Qi([],{t:"range",a:[[]]})},ta.scale.category10=function(){return ta.scale.ordinal().range(kl)},ta.scale.category20=function(){return ta.scale.ordinal().range(El)},ta.scale.category20b=function(){return ta.scale.ordinal().range(Al)},ta.scale.category20c=function(){return ta.scale.ordinal().range(Nl)};var kl=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(yt),El=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(yt),Al=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(yt),Nl=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(yt);ta.scale.quantile=function(){return no([],[])},ta.scale.quantize=function(){return to(0,1,[0,1])},ta.scale.threshold=function(){return eo([.5],[0,1])},ta.scale.identity=function(){return ro([0,1])},ta.svg={},ta.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),l=Math.max(0,+r.apply(this,arguments)),s=o.apply(this,arguments)-ja,f=a.apply(this,arguments)-ja,h=Math.abs(f-s),g=s>f?0:1;if(n>l&&(p=l,l=n,n=p),h>=Ua)return t(l,g)+(n?t(n,1-g):"")+"Z";var p,v,d,m,y,M,x,b,_,w,S,k,E=0,A=0,N=[];if((m=(+c.apply(this,arguments)||0)/2)&&(d=i===Cl?Math.sqrt(n*n+l*l):+i.apply(this,arguments),g||(A*=-1),l&&(A=nt(d/l*Math.sin(m))),n&&(E=nt(d/n*Math.sin(m)))),l){y=l*Math.cos(s+A),M=l*Math.sin(s+A),x=l*Math.cos(f-A),b=l*Math.sin(f-A);var C=Math.abs(f-s-2*A)<=Da?0:1;if(A&&so(y,M,x,b)===g^C){var z=(s+f)/2;y=l*Math.cos(z),M=l*Math.sin(z),x=b=null}}else y=M=0;if(n){_=n*Math.cos(f-E),w=n*Math.sin(f-E),S=n*Math.cos(s+E),k=n*Math.sin(s+E);var q=Math.abs(s-f+2*E)<=Da?0:1;if(E&&so(_,w,S,k)===1-g^q){var L=(s+f)/2;_=n*Math.cos(L),w=n*Math.sin(L),S=k=null}}else _=w=0;if((p=Math.min(Math.abs(l-n)/2,+u.apply(this,arguments)))>.001){v=l>n^g?0:1;var T=null==S?[_,w]:null==x?[y,M]:Lr([y,M],[S,k],[x,b],[_,w]),R=y-T[0],D=M-T[1],P=x-T[0],U=b-T[1],j=1/Math.sin(Math.acos((R*P+D*U)/(Math.sqrt(R*R+D*D)*Math.sqrt(P*P+U*U)))/2),F=Math.sqrt(T[0]*T[0]+T[1]*T[1]);if(null!=x){var H=Math.min(p,(l-F)/(j+1)),O=fo(null==S?[_,w]:[S,k],[y,M],l,H,g),Y=fo([x,b],[_,w],l,H,g);p===H?N.push("M",O[0],"A",H,",",H," 0 0,",v," ",O[1],"A",l,",",l," 0 ",1-g^so(O[1][0],O[1][1],Y[1][0],Y[1][1]),",",g," ",Y[1],"A",H,",",H," 0 0,",v," ",Y[0]):N.push("M",O[0],"A",H,",",H," 0 1,",v," ",Y[0])}else N.push("M",y,",",M);if(null!=S){var I=Math.min(p,(n-F)/(j-1)),Z=fo([y,M],[S,k],n,-I,g),V=fo([_,w],null==x?[y,M]:[x,b],n,-I,g);p===I?N.push("L",V[0],"A",I,",",I," 0 0,",v," ",V[1],"A",n,",",n," 0 ",g^so(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-g," ",Z[1],"A",I,",",I," 0 0,",v," ",Z[0]):N.push("L",V[0],"A",I,",",I," 0 0,",v," ",Z[0])}else N.push("L",_,",",w)}else N.push("M",y,",",M),null!=x&&N.push("A",l,",",l," 0 ",C,",",g," ",x,",",b),N.push("L",_,",",w),null!=S&&N.push("A",n,",",n," 0 ",q,",",1-g," ",S,",",k);return N.push("Z"),N.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=io,r=oo,u=uo,i=Cl,o=ao,a=co,c=lo;return n.innerRadius=function(t){return arguments.length?(e=kt(t),n):e},n.outerRadius=function(t){return arguments.length?(r=kt(t),n):r},n.cornerRadius=function(t){return arguments.length?(u=kt(t),n):u},n.padRadius=function(t){return arguments.length?(i=t==Cl?Cl:kt(t),n):i},n.startAngle=function(t){return arguments.length?(o=kt(t),n):o},n.endAngle=function(t){return arguments.length?(a=kt(t),n):a},n.padAngle=function(t){return arguments.length?(c=kt(t),n):c},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-ja;return[Math.cos(t)*n,Math.sin(t)*n]},n};var Cl="auto";ta.svg.line=function(){return ho(Et)};var zl=ta.map({linear:go,"linear-closed":po,step:vo,"step-before":mo,"step-after":yo,basis:So,"basis-open":ko,"basis-closed":Eo,bundle:Ao,cardinal:bo,"cardinal-open":Mo,"cardinal-closed":xo,monotone:To});zl.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var ql=[0,2/3,1/3,0],Ll=[0,1/3,2/3,0],Tl=[0,1/6,2/3,1/6];ta.svg.line.radial=function(){var n=ho(Ro);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},mo.reverse=yo,yo.reverse=mo,ta.svg.area=function(){return Do(Et)},ta.svg.area.radial=function(){var n=Do(Ro);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},ta.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)-ja,s=l.call(n,u,r)-ja;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Da)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=mr,o=yr,a=Po,c=ao,l=co;return n.radius=function(t){return arguments.length?(a=kt(t),n):a},n.source=function(t){return arguments.length?(i=kt(t),n):i},n.target=function(t){return arguments.length?(o=kt(t),n):o},n.startAngle=function(t){return arguments.length?(c=kt(t),n):c},n.endAngle=function(t){return arguments.length?(l=kt(t),n):l},n},ta.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=mr,e=yr,r=Uo;return n.source=function(e){return arguments.length?(t=kt(e),n):t},n.target=function(t){return arguments.length?(e=kt(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},ta.svg.diagonal.radial=function(){var n=ta.svg.diagonal(),t=Uo,e=n.projection;return n.projection=function(n){return arguments.length?e(jo(t=n)):t},n},ta.svg.symbol=function(){function n(n,r){return(Rl.get(t.call(this,n,r))||Oo)(e.call(this,n,r))}var t=Ho,e=Fo;return n.type=function(e){return arguments.length?(t=kt(e),n):t},n.size=function(t){return arguments.length?(e=kt(t),n):e},n};var Rl=ta.map({circle:Oo,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Pl)),e=t*Pl;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/Dl),e=t*Dl/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/Dl),e=t*Dl/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});ta.svg.symbolTypes=Rl.keys();var Dl=Math.sqrt(3),Pl=Math.tan(30*Fa);ka.transition=function(n){for(var t,e,r=Ul||++Ol,u=Xo(n),i=[],o=jl||{time:Date.now(),ease:Su,delay:0,duration:250},a=-1,c=this.length;++ai;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Io(u,this.namespace,this.id)},Hl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):H(this,null==t?function(t){t[r][e].tween.remove(n)}:function(u){u[r][e].tween.set(n,t)})},Hl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Hu:mu,a=ta.ns.qualify(n);return Zo(this,"attr."+n,t,a.local?i:u)},Hl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=ta.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Hl.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=oa.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=mu(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return Zo(this,"style."+n,t,u)},Hl.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,oa.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Hl.text=function(n){return Zo(this,"text",n,Vo)},Hl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Hl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=ta.ease.apply(ta,arguments)),H(this,function(r){r[e][t].ease=n}))},Hl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:H(this,"function"==typeof n?function(r,u,i){r[e][t].delay=+n.call(r,r.__data__,u,i)}:(n=+n,function(r){r[e][t].delay=n}))},Hl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:H(this,"function"==typeof n?function(r,u,i){r[e][t].duration=Math.max(1,n.call(r,r.__data__,u,i))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Hl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var u=jl,i=Ul;try{Ul=e,H(this,function(t,u,i){jl=t[r][e],n.call(t,t.__data__,u,i)})}finally{jl=u,Ul=i}}else H(this,function(u){var i=u[r][e];(i.event||(i.event=ta.dispatch("start","end","interrupt"))).on(n,t)});return this},Hl.transition=function(){for(var n,t,e,r,u=this.id,i=++Ol,o=this.namespace,a=[],c=0,l=this.length;l>c;c++){a.push(n=[]);for(var t=this[c],s=0,f=t.length;f>s;s++)(e=t[s])&&(r=e[o][u],$o(e,s,o,i,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Io(a,o,i)},ta.svg.axis=function(){function n(n){n.each(function(){var n,l=ta.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):Et:t,p=l.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Ta),d=ta.transition(p.exit()).style("opacity",Ta).remove(),m=ta.transition(p.order()).style("opacity",1),y=Math.max(u,0)+o,M=Ui(f),x=l.selectAll(".domain").data([0]),b=(x.enter().append("path").attr("class","domain"),ta.transition(x));v.append("line"),v.append("text");var _,w,S,k,E=v.select("line"),A=m.select("line"),N=p.select("text").text(g),C=v.select("text"),z=m.select("text"),q="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=Bo,_="x",S="y",w="x2",k="y2",N.attr("dy",0>q?"0em":".71em").style("text-anchor","middle"),b.attr("d","M"+M[0]+","+q*i+"V0H"+M[1]+"V"+q*i)):(n=Wo,_="y",S="x",w="y2",k="x2",N.attr("dy",".32em").style("text-anchor",0>q?"end":"start"),b.attr("d","M"+q*i+","+M[0]+"H0V"+M[1]+"H"+q*i)),E.attr(k,q*u),C.attr(S,q*y),A.attr(w,0).attr(k,q*u),z.attr(_,0).attr(S,q*y),f.rangeBand){var L=f,T=L.rangeBand()/2;s=f=function(n){return L(n)+T}}else s.rangeBand?s=f:d.call(n,f,s);v.call(n,s,f),m.call(n,f,f)})}var t,e=ta.scale.linear(),r=Yl,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Il?t+"":Yl,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Yl="bottom",Il={top:1,right:1,bottom:1,left:1};ta.svg.brush=function(){function n(i){i.each(function(){var i=ta.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(p,Et);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return Zl[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var s,f=ta.transition(i),h=ta.transition(o);c&&(s=Ui(c),h.attr("x",s[0]).attr("width",s[1]-s[0]),e(f)),l&&(s=Ui(l),h.attr("y",s[0]).attr("height",s[1]-s[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+f[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function r(n){n.select(".extent").attr("y",f[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function u(){function u(){32==ta.event.keyCode&&(N||(y=null,z[0]-=s[1],z[1]-=f[1],N=2),b())}function p(){32==ta.event.keyCode&&2==N&&(z[0]+=s[1],z[1]+=f[1],N=0,b())}function v(){var n=ta.mouse(x),u=!1;M&&(n[0]+=M[0],n[1]+=M[1]),N||(ta.event.altKey?(y||(y=[(s[0]+s[1])/2,(f[0]+f[1])/2]),z[0]=s[+(n[0]p?(u=r,r=p):u=p),v[0]!=r||v[1]!=u?(e?o=null:i=null,v[0]=r,v[1]=u,!0):void 0}function m(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),ta.select("body").style("cursor",null),q.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),C(),w({type:"brushend"})}var y,M,x=this,_=ta.select(ta.event.target),w=a.of(x,arguments),S=ta.select(x),k=_.datum(),E=!/^(n|s)$/.test(k)&&c,A=!/^(e|w)$/.test(k)&&l,N=_.classed("extent"),C=X(),z=ta.mouse(x),q=ta.select(oa).on("keydown.brush",u).on("keyup.brush",p);if(ta.event.changedTouches?q.on("touchmove.brush",v).on("touchend.brush",m):q.on("mousemove.brush",v).on("mouseup.brush",m),S.interrupt().selectAll("*").interrupt(),N)z[0]=s[0]-z[0],z[1]=f[0]-z[1];else if(k){var L=+/w$/.test(k),T=+/^n/.test(k);M=[s[1-L]-z[0],f[1-T]-z[1]],z[0]=s[L],z[1]=f[T]}else ta.event.altKey&&(y=z.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),ta.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=w(n,"brushstart","brush","brushend"),c=null,l=null,s=[0,0],f=[0,0],h=!0,g=!0,p=Vl[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:s,y:f,i:i,j:o},e=this.__chart__||t;this.__chart__=t,Ul?ta.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,s=e.x,f=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=yu(s,t.x),r=yu(f,t.y);return i=o=null,function(u){s=t.x=e(u),f=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,p=Vl[!c<<1|!l],n):c},n.y=function(t){return arguments.length?(l=t,p=Vl[!c<<1|!l],n):l},n.clamp=function(t){return arguments.length?(c&&l?(h=!!t[0],g=!!t[1]):c?h=!!t:l&&(g=!!t),n):c&&l?[h,g]:c?h:l?g:null},n.extent=function(t){var e,r,u,a,h;return arguments.length?(c&&(e=t[0],r=t[1],l&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(h=e,e=r,r=h),(e!=s[0]||r!=s[1])&&(s=[e,r])),l&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],l.invert&&(u=l(u),a=l(a)),u>a&&(h=u,u=a,a=h),(u!=f[0]||a!=f[1])&&(f=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(h=e,e=r,r=h))),l&&(o?(u=o[0],a=o[1]):(u=f[0],a=f[1],l.invert&&(u=l.invert(u),a=l.invert(a)),u>a&&(h=u,u=a,a=h))),c&&l?[[e,u],[r,a]]:c?[e,r]:l&&[u,a])},n.clear=function(){return n.empty()||(s=[0,0],f=[0,0],i=o=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!l&&f[0]==f[1]},ta.rebind(n,a,"on")};var Zl={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Vl=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Xl=fc.format=mc.timeFormat,$l=Xl.utc,Bl=$l("%Y-%m-%dT%H:%M:%S.%LZ");Xl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Jo:Bl,Jo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Jo.toString=Bl.toString,fc.second=Ft(function(n){return new hc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),fc.seconds=fc.second.range,fc.seconds.utc=fc.second.utc.range,fc.minute=Ft(function(n){return new hc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),fc.minutes=fc.minute.range,fc.minutes.utc=fc.minute.utc.range,fc.hour=Ft(function(n){var t=n.getTimezoneOffset()/60;return new hc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),fc.hours=fc.hour.range,fc.hours.utc=fc.hour.utc.range,fc.month=Ft(function(n){return n=fc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),fc.months=fc.month.range,fc.months.utc=fc.month.utc.range;var Wl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Jl=[[fc.second,1],[fc.second,5],[fc.second,15],[fc.second,30],[fc.minute,1],[fc.minute,5],[fc.minute,15],[fc.minute,30],[fc.hour,1],[fc.hour,3],[fc.hour,6],[fc.hour,12],[fc.day,1],[fc.day,2],[fc.week,1],[fc.month,1],[fc.month,3],[fc.year,1]],Gl=Xl.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",Ne]]),Kl={range:function(n,t,e){return ta.range(Math.ceil(n/e)*e,+t,e).map(Ko)},floor:Et,ceil:Et};Jl.year=fc.year,fc.scale=function(){return Go(ta.scale.linear(),Jl,Gl)};var Ql=Jl.map(function(n){return[n[0].utc,n[1]]}),ns=$l.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",Ne]]);Ql.year=fc.year.utc,fc.scale.utc=function(){return Go(ta.scale.linear(),Ql,ns)},ta.text=At(function(n){return n.responseText}),ta.json=function(n,t){return Nt(n,"application/json",Qo,t)},ta.html=function(n,t){return Nt(n,"text/html",na,t)},ta.xml=At(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(ta):"object"==typeof module&&module.exports&&(module.exports=ta),this.d3=ta}(); \ No newline at end of file diff --git a/inst/htmlwidgets/lib/dagre-d3/LICENSE b/inst/htmlwidgets/lib/dagre-d3/LICENSE new file mode 100755 index 0000000..1d64ed6 --- /dev/null +++ b/inst/htmlwidgets/lib/dagre-d3/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2013 Chris Pettitt + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/inst/htmlwidgets/lib/dagre-d3/dagre-d3.min.js b/inst/htmlwidgets/lib/dagre-d3/dagre-d3.min.js new file mode 100755 index 0000000..7b8a890 --- /dev/null +++ b/inst/htmlwidgets/lib/dagre-d3/dagre-d3.min.js @@ -0,0 +1,27 @@ +!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.dagreD3=e()}}(function(){var define,module,exports;return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o0}},{}],14:[function(require,module,exports){module.exports=intersectNode;function intersectNode(node,point){return node.intersect(point)}},{}],15:[function(require,module,exports){var intersectLine=require("./intersect-line");module.exports=intersectPolygon;function intersectPolygon(node,polyPoints,point){var x1=node.x;var y1=node.y;var intersections=[];var minX=Number.POSITIVE_INFINITY,minY=Number.POSITIVE_INFINITY;polyPoints.forEach(function(entry){minX=Math.min(minX,entry.x);minY=Math.min(minY,entry.y)});var left=x1-node.width/2-minX;var top=y1-node.height/2-minY;for(var i=0;i1){intersections.sort(function(p,q){var pdx=p.x-point.x,pdy=p.y-point.y,distp=Math.sqrt(pdx*pdx+pdy*pdy),qdx=q.x-point.x,qdy=q.y-point.y,distq=Math.sqrt(qdx*qdx+qdy*qdy);return distpMath.abs(dx)*h){if(dy<0){h=-h}sx=dy===0?0:h*dx/dy;sy=h}else{if(dx<0){w=-w}sx=w;sy=dx===0?0:w*dy/dx}return{x:x+sx,y:y+sy}}},{}],17:[function(require,module,exports){var util=require("../util");module.exports=addHtmlLabel;function addHtmlLabel(root,node){var fo=root.append("foreignObject").attr("width","100000");var div=fo.append("xhtml:div");var label=node.label;switch(typeof label){case"function":div.insert(label);break;case"object":div.insert(function(){return label});break;default:div.html(label)}util.applyStyle(div,node.labelStyle);div.style("display","inline-block");div.style("white-space","nowrap");var w,h;div.each(function(){w=this.clientWidth;h=this.clientHeight});fo.attr("width",w).attr("height",h);return fo}},{"../util":25}],18:[function(require,module,exports){var addTextLabel=require("./add-text-label"),addHtmlLabel=require("./add-html-label");module.exports=addLabel;function addLabel(root,node){var label=node.label;var labelSvg=root.append("g");if(typeof label!=="string"||node.labelType==="html"){addHtmlLabel(labelSvg,node)}else{addTextLabel(labelSvg,node)}var labelBBox=labelSvg.node().getBBox();labelSvg.attr("transform","translate("+-labelBBox.width/2+","+-labelBBox.height/2+")");return labelSvg}},{"./add-html-label":17,"./add-text-label":19}],19:[function(require,module,exports){var util=require("../util");module.exports=addTextLabel;function addTextLabel(root,node){var domNode=root.append("text");var lines=processEscapeSequences(node.label).split("\n");for(var i=0;i0;--i){entry=buckets[i].dequeue();if(entry){results=results.concat(removeNode(g,buckets,zeroIdx,entry,true));break}}}}return results}function removeNode(g,buckets,zeroIdx,entry,collectPredecessors){var results=collectPredecessors?[]:undefined;_.each(g.inEdges(entry.v),function(edge){var weight=g.edge(edge),uEntry=g.node(edge.v);if(collectPredecessors){results.push({v:edge.v,w:edge.w})}uEntry.out-=weight;assignBucket(buckets,zeroIdx,uEntry)});_.each(g.outEdges(entry.v),function(edge){var weight=g.edge(edge),w=edge.w,wEntry=g.node(w);wEntry["in"]-=weight;assignBucket(buckets,zeroIdx,wEntry)});g.removeNode(entry.v);return results}function buildState(g,weightFn){var fasGraph=new Graph,maxIn=0,maxOut=0;_.each(g.nodes(),function(v){fasGraph.setNode(v,{v:v,"in":0,out:0})});_.each(g.edges(),function(e){var prevWeight=fasGraph.edge(e.v,e.w)||0,weight=weightFn(e),edgeWeight=prevWeight+weight;fasGraph.setEdge(e.v,e.w,edgeWeight);maxOut=Math.max(maxOut,fasGraph.node(e.v).out+=weight);maxIn=Math.max(maxIn,fasGraph.node(e.w)["in"]+=weight)});var buckets=_.range(maxOut+maxIn+3).map(function(){return new List});var zeroIdx=maxIn+1;_.each(fasGraph.nodes(),function(v){assignBucket(buckets,zeroIdx,fasGraph.node(v))});return{graph:fasGraph,buckets:buckets,zeroIdx:zeroIdx}}function assignBucket(buckets,zeroIdx,entry){if(!entry.out){buckets[0].enqueue(entry)}else if(!entry["in"]){buckets[buckets.length-1].enqueue(entry)}else{buckets[entry.out-entry["in"]+zeroIdx].enqueue(entry)}}},{"./data/list":31,"./graphlib":33,"./lodash":36}],35:[function(require,module,exports){"use strict";var _=require("./lodash"),acyclic=require("./acyclic"),normalize=require("./normalize"),rank=require("./rank"),normalizeRanks=require("./util").normalizeRanks,parentDummyChains=require("./parent-dummy-chains"),removeEmptyRanks=require("./util").removeEmptyRanks,nestingGraph=require("./nesting-graph"),addBorderSegments=require("./add-border-segments"),coordinateSystem=require("./coordinate-system"),order=require("./order"),position=require("./position"),util=require("./util"),Graph=require("./graphlib").Graph;module.exports=layout;function layout(g,opts){var time=opts&&opts.debugTiming?util.time:util.notime;time("layout",function(){var layoutGraph=time(" buildLayoutGraph",function(){return buildLayoutGraph(g)});time(" runLayout",function(){runLayout(layoutGraph,time)});time(" updateInputGraph",function(){updateInputGraph(g,layoutGraph)})})}function runLayout(g,time){time(" makeSpaceForEdgeLabels",function(){makeSpaceForEdgeLabels(g)});time(" removeSelfEdges",function(){removeSelfEdges(g)});time(" acyclic",function(){acyclic.run(g)});time(" nestingGraph.run",function(){nestingGraph.run(g)});time(" rank",function(){rank(util.asNonCompoundGraph(g))});time(" injectEdgeLabelProxies",function(){injectEdgeLabelProxies(g)});time(" removeEmptyRanks",function(){removeEmptyRanks(g)});time(" nestingGraph.cleanup",function(){nestingGraph.cleanup(g)});time(" normalizeRanks",function(){normalizeRanks(g)});time(" assignRankMinMax",function(){assignRankMinMax(g)});time(" removeEdgeLabelProxies",function(){removeEdgeLabelProxies(g)});time(" normalize.run",function(){normalize.run(g)});time(" parentDummyChains",function(){parentDummyChains(g)});time(" addBorderSegments",function(){addBorderSegments(g)});time(" order",function(){order(g)});time(" insertSelfEdges",function(){insertSelfEdges(g)});time(" adjustCoordinateSystem",function(){coordinateSystem.adjust(g)});time(" position",function(){position(g)});time(" positionSelfEdges",function(){positionSelfEdges(g)});time(" removeBorderNodes",function(){removeBorderNodes(g)});time(" normalize.undo",function(){normalize.undo(g)});time(" fixupEdgeLabelCoords",function(){fixupEdgeLabelCoords(g)});time(" undoCoordinateSystem",function(){coordinateSystem.undo(g)});time(" translateGraph",function(){translateGraph(g)});time(" assignNodeIntersects",function(){assignNodeIntersects(g)});time(" reversePoints",function(){reversePointsForReversedEdges(g)});time(" acyclic.undo",function(){acyclic.undo(g)})}function updateInputGraph(inputGraph,layoutGraph){_.each(inputGraph.nodes(),function(v){var inputLabel=inputGraph.node(v),layoutLabel=layoutGraph.node(v);if(inputLabel){inputLabel.x=layoutLabel.x;inputLabel.y=layoutLabel.y;if(layoutGraph.children(v).length){inputLabel.width=layoutLabel.width;inputLabel.height=layoutLabel.height}}});_.each(inputGraph.edges(),function(e){var inputLabel=inputGraph.edge(e),layoutLabel=layoutGraph.edge(e);inputLabel.points=layoutLabel.points;if(_.has(layoutLabel,"x")){inputLabel.x=layoutLabel.x;inputLabel.y=layoutLabel.y}});inputGraph.graph().width=layoutGraph.graph().width;inputGraph.graph().height=layoutGraph.graph().height}var graphNumAttrs=["nodesep","edgesep","ranksep","marginx","marginy"],graphDefaults={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},graphAttrs=["acyclicer","ranker","rankdir","align"],nodeNumAttrs=["width","height"],nodeDefaults={width:0,height:0},edgeNumAttrs=["minlen","weight","width","height","labeloffset"],edgeDefaults={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},edgeAttrs=["labelpos"];function buildLayoutGraph(inputGraph){var g=new Graph({multigraph:true,compound:true}),graph=canonicalize(inputGraph.graph());g.setGraph(_.merge({},graphDefaults,selectNumberAttrs(graph,graphNumAttrs),_.pick(graph,graphAttrs)));_.each(inputGraph.nodes(),function(v){var node=canonicalize(inputGraph.node(v));g.setNode(v,_.defaults(selectNumberAttrs(node,nodeNumAttrs),nodeDefaults));g.setParent(v,inputGraph.parent(v))});_.each(inputGraph.edges(),function(e){var edge=canonicalize(inputGraph.edge(e));g.setEdge(e,_.merge({},edgeDefaults,selectNumberAttrs(edge,edgeNumAttrs),_.pick(edge,edgeAttrs)))});return g}function makeSpaceForEdgeLabels(g){var graph=g.graph();graph.ranksep/=2;_.each(g.edges(),function(e){var edge=g.edge(e);edge.minlen*=2;if(edge.labelpos.toLowerCase()!=="c"){if(graph.rankdir==="TB"||graph.rankdir==="BT"){edge.width+=edge.labeloffset}else{edge.height+=edge.labeloffset}}})}function injectEdgeLabelProxies(g){_.each(g.edges(),function(e){var edge=g.edge(e);if(edge.width&&edge.height){var v=g.node(e.v),w=g.node(e.w),label={rank:(w.rank-v.rank)/2+v.rank,e:e};util.addDummyNode(g,"edge-proxy",label,"_ep")}})}function assignRankMinMax(g){var maxRank=0;_.each(g.nodes(),function(v){var node=g.node(v);if(node.borderTop){node.minRank=g.node(node.borderTop).rank;node.maxRank=g.node(node.borderBottom).rank;maxRank=_.max(maxRank,node.maxRank)}});g.graph().maxRank=maxRank}function removeEdgeLabelProxies(g){_.each(g.nodes(),function(v){var node=g.node(v);if(node.dummy==="edge-proxy"){g.edge(node.e).labelRank=node.rank;g.removeNode(v)}})}function translateGraph(g){var minX=Number.POSITIVE_INFINITY,maxX=0,minY=Number.POSITIVE_INFINITY,maxY=0,graphLabel=g.graph(),marginX=graphLabel.marginx||0,marginY=graphLabel.marginy||0;function getExtremes(attrs){var x=attrs.x,y=attrs.y,w=attrs.width,h=attrs.height; +minX=Math.min(minX,x-w/2);maxX=Math.max(maxX,x+w/2);minY=Math.min(minY,y-h/2);maxY=Math.max(maxY,y+h/2)}_.each(g.nodes(),function(v){getExtremes(g.node(v))});_.each(g.edges(),function(e){var edge=g.edge(e);if(_.has(edge,"x")){getExtremes(edge)}});minX-=marginX;minY-=marginY;_.each(g.nodes(),function(v){var node=g.node(v);node.x-=minX;node.y-=minY});_.each(g.edges(),function(e){var edge=g.edge(e);_.each(edge.points,function(p){p.x-=minX;p.y-=minY});if(_.has(edge,"x")){edge.x-=minX}if(_.has(edge,"y")){edge.y-=minY}});graphLabel.width=maxX-minX+marginX;graphLabel.height=maxY-minY+marginY}function assignNodeIntersects(g){_.each(g.edges(),function(e){var edge=g.edge(e),nodeV=g.node(e.v),nodeW=g.node(e.w),p1,p2;if(!edge.points){edge.points=[];p1=nodeW;p2=nodeV}else{p1=edge.points[0];p2=edge.points[edge.points.length-1]}edge.points.unshift(util.intersectRect(nodeV,p1));edge.points.push(util.intersectRect(nodeW,p2))})}function fixupEdgeLabelCoords(g){_.each(g.edges(),function(e){var edge=g.edge(e);if(_.has(edge,"x")){if(edge.labelpos==="l"||edge.labelpos==="r"){edge.width-=edge.labeloffset}switch(edge.labelpos){case"l":edge.x-=edge.width/2+edge.labeloffset;break;case"r":edge.x+=edge.width/2+edge.labeloffset;break}}})}function reversePointsForReversedEdges(g){_.each(g.edges(),function(e){var edge=g.edge(e);if(edge.reversed){edge.points.reverse()}})}function removeBorderNodes(g){_.each(g.nodes(),function(v){if(g.children(v).length){var node=g.node(v),t=g.node(node.borderTop),b=g.node(node.borderBottom),l=g.node(_.last(node.borderLeft)),r=g.node(_.last(node.borderRight));node.width=Math.abs(r.x-l.x);node.height=Math.abs(b.y-t.y);node.x=l.x+node.width/2;node.y=t.y+node.height/2}});_.each(g.nodes(),function(v){if(g.node(v).dummy==="border"){g.removeNode(v)}})}function removeSelfEdges(g){_.each(g.edges(),function(e){if(e.v===e.w){var node=g.node(e.v);if(!node.selfEdges){node.selfEdges=[]}node.selfEdges.push({e:e,label:g.edge(e)});g.removeEdge(e)}})}function insertSelfEdges(g){var layers=util.buildLayerMatrix(g);_.each(layers,function(layer){var orderShift=0;_.each(layer,function(v,i){var node=g.node(v);node.order=i+orderShift;_.each(node.selfEdges,function(selfEdge){util.addDummyNode(g,"selfedge",{width:selfEdge.label.width,height:selfEdge.label.height,rank:node.rank,order:i+ ++orderShift,e:selfEdge.e,label:selfEdge.label},"_se")});delete node.selfEdges})})}function positionSelfEdges(g){_.each(g.nodes(),function(v){var node=g.node(v);if(node.dummy==="selfedge"){var selfNode=g.node(node.e.v),x=selfNode.x+selfNode.width/2,y=selfNode.y,dx=node.x-x,dy=selfNode.height/2;g.setEdge(node.e,node.label);g.removeNode(v);node.label.points=[{x:x+2*dx/3,y:y-dy},{x:x+5*dx/6,y:y-dy},{x:x+dx,y:y},{x:x+5*dx/6,y:y+dy},{x:x+2*dx/3,y:y+dy}];node.label.x=node.x;node.label.y=node.y}})}function selectNumberAttrs(obj,attrs){return _.mapValues(_.pick(obj,attrs),Number)}function canonicalize(attrs){var newAttrs={};_.each(attrs,function(v,k){newAttrs[k.toLowerCase()]=v});return newAttrs}},{"./acyclic":28,"./add-border-segments":29,"./coordinate-system":30,"./graphlib":33,"./lodash":36,"./nesting-graph":37,"./normalize":38,"./order":43,"./parent-dummy-chains":48,"./position":50,"./rank":52,"./util":55}],36:[function(require,module,exports){module.exports=require(20)},{"/Users/cpettitt/projects/dagre-d3/lib/lodash.js":20,lodash:77}],37:[function(require,module,exports){var _=require("./lodash"),util=require("./util");module.exports={run:run,cleanup:cleanup};function run(g){var root=util.addDummyNode(g,"root",{},"_root"),depths=treeDepths(g),height=_.max(depths)-1,nodeSep=2*height+1;g.graph().nestingRoot=root;_.each(g.edges(),function(e){g.edge(e).minlen*=nodeSep});var weight=sumWeights(g)+1;_.each(g.children(),function(child){dfs(g,root,nodeSep,weight,height,depths,child)});g.graph().nodeRankFactor=nodeSep}function dfs(g,root,nodeSep,weight,height,depths,v){var children=g.children(v);if(!children.length){if(v!==root){g.setEdge(root,v,{weight:0,minlen:nodeSep})}return}var top=util.addBorderNode(g,"_bt"),bottom=util.addBorderNode(g,"_bb"),label=g.node(v);g.setParent(top,v);label.borderTop=top;g.setParent(bottom,v);label.borderBottom=bottom;_.each(children,function(child){dfs(g,root,nodeSep,weight,height,depths,child);var childNode=g.node(child),childTop=childNode.borderTop?childNode.borderTop:child,childBottom=childNode.borderBottom?childNode.borderBottom:child,thisWeight=childNode.borderTop?weight:2*weight,minlen=childTop!==childBottom?1:height-depths[v]+1;g.setEdge(top,childTop,{weight:thisWeight,minlen:minlen,nestingEdge:true});g.setEdge(childBottom,bottom,{weight:thisWeight,minlen:minlen,nestingEdge:true})});if(!g.parent(v)){g.setEdge(root,top,{weight:0,minlen:height+depths[v]})}}function treeDepths(g){var depths={};function dfs(v,depth){var children=g.children(v);if(children&&children.length){_.each(children,function(child){dfs(child,depth+1)})}depths[v]=depth}_.each(g.children(),function(v){dfs(v,1)});return depths}function sumWeights(g){return _.reduce(g.edges(),function(acc,e){return acc+g.edge(e).weight},0)}function cleanup(g){var graphLabel=g.graph();g.removeNode(graphLabel.nestingRoot);delete graphLabel.nestingRoot;_.each(g.edges(),function(e){var edge=g.edge(e);if(edge.nestingEdge){g.removeEdge(e)}})}},{"./lodash":36,"./util":55}],38:[function(require,module,exports){"use strict";var _=require("./lodash"),util=require("./util");module.exports={run:run,undo:undo};function run(g){g.graph().dummyChains=[];_.each(g.edges(),function(edge){normalizeEdge(g,edge)})}function normalizeEdge(g,e){var v=e.v,vRank=g.node(v).rank,w=e.w,wRank=g.node(w).rank,name=e.name,edgeLabel=g.edge(e),labelRank=edgeLabel.labelRank;if(wRank===vRank+1)return;g.removeEdge(e);var dummy,attrs,i;for(i=0,++vRank;vRank0){if(index%2){weightSum+=tree[index+1]}index=index-1>>1;tree[index]+=entry.weight}cc+=entry.weight*weightSum}));return cc}},{"../lodash":36}],43:[function(require,module,exports){"use strict";var _=require("../lodash"),initOrder=require("./init-order"),crossCount=require("./cross-count"),sortSubgraph=require("./sort-subgraph"),buildLayerGraph=require("./build-layer-graph"),addSubgraphConstraints=require("./add-subgraph-constraints"),Graph=require("../graphlib").Graph,util=require("../util");module.exports=order;function order(g){var maxRank=util.maxRank(g),downLayerGraphs=buildLayerGraphs(g,_.range(1,maxRank+1),"inEdges"),upLayerGraphs=buildLayerGraphs(g,_.range(maxRank-1,-1,-1),"outEdges");var layering=initOrder(g);assignOrder(g,layering);var bestCC=Number.POSITIVE_INFINITY,best;for(var i=0,lastBest=0;lastBest<4;++i,++lastBest){sweepLayerGraphs(i%2?downLayerGraphs:upLayerGraphs,i%4>=2);layering=util.buildLayerMatrix(g);var cc=crossCount(g,layering);if(cc=vEntry.barycenter){mergeEntries(vEntry,uEntry)}}}function handleOut(vEntry){return function(wEntry){wEntry["in"].push(vEntry);if(--wEntry.indegree===0){sourceSet.push(wEntry)}}}while(sourceSet.length){var entry=sourceSet.pop();entries.push(entry);_.each(entry["in"].reverse(),handleIn(entry));_.each(entry.out,handleOut(entry))}return _.chain(entries).filter(function(entry){return!entry.merged}).map(function(entry){return _.pick(entry,["vs","i","barycenter","weight"])}).value()}function mergeEntries(target,source){var sum=0,weight=0;if(target.weight){sum+=target.barycenter*target.weight;weight+=target.weight}if(source.weight){sum+=source.barycenter*source.weight;weight+=source.weight}target.vs=source.vs.concat(target.vs);target.barycenter=sum/weight;target.weight=weight;target.i=Math.min(source.i,target.i);source.merged=true}},{"../lodash":36}],46:[function(require,module,exports){var _=require("../lodash"),barycenter=require("./barycenter"),resolveConflicts=require("./resolve-conflicts"),sort=require("./sort");module.exports=sortSubgraph;function sortSubgraph(g,v,cg,biasRight){var movable=g.children(v),node=g.node(v),bl=node?node.borderLeft:undefined,br=node?node.borderRight:undefined,subgraphs={};if(bl){movable=_.filter(movable,function(w){return w!==bl&&w!==br})}var barycenters=barycenter(g,movable);_.each(barycenters,function(entry){if(g.children(entry.v).length){var subgraphResult=sortSubgraph(g,entry.v,cg,biasRight);subgraphs[entry.v]=subgraphResult;if(_.has(subgraphResult,"barycenter")){mergeBarycenters(entry,subgraphResult)}}});var entries=resolveConflicts(barycenters,cg);expandSubgraphs(entries,subgraphs);var result=sort(entries,biasRight);if(bl){result.vs=_.flatten([bl,result.vs,br],true);if(g.predecessors(bl).length){var blPred=g.node(g.predecessors(bl)[0]),brPred=g.node(g.predecessors(br)[0]);if(!_.has(result,"barycenter")){result.barycenter=0;result.weight=0}result.barycenter=(result.barycenter*result.weight+blPred.order+brPred.order)/(result.weight+2);result.weight+=2}}return result}function expandSubgraphs(entries,subgraphs){_.each(entries,function(entry){entry.vs=_.flatten(entry.vs.map(function(v){if(subgraphs[v]){return subgraphs[v].vs}return v}),true)})}function mergeBarycenters(target,other){if(!_.isUndefined(target.barycenter)){target.barycenter=(target.barycenter*target.weight+other.barycenter*other.weight)/(target.weight+other.weight);target.weight+=other.weight}else{target.barycenter=other.barycenter;target.weight=other.weight}}},{"../lodash":36,"./barycenter":40,"./resolve-conflicts":45,"./sort":47}],47:[function(require,module,exports){var _=require("../lodash"),util=require("../util");module.exports=sort;function sort(entries,biasRight){var parts=util.partition(entries,function(entry){return _.has(entry,"barycenter")});var sortable=parts.lhs,unsortable=_.sortBy(parts.rhs,function(entry){return-entry.i}),vs=[],sum=0,weight=0,vsIndex=0;sortable.sort(compareWithBias(!!biasRight));vsIndex=consumeUnsortable(vs,unsortable,vsIndex);_.each(sortable,function(entry){vsIndex+=entry.vs.length;vs.push(entry.vs);sum+=entry.barycenter*entry.weight;weight+=entry.weight;vsIndex=consumeUnsortable(vs,unsortable,vsIndex)});var result={vs:_.flatten(vs,true)};if(weight){result.barycenter=sum/weight;result.weight=weight}return result}function consumeUnsortable(vs,unsortable,index){var last;while(unsortable.length&&(last=_.last(unsortable)).i<=index){unsortable.pop();vs.push(last.vs);index++}return index}function compareWithBias(bias){return function(entryV,entryW){if(entryV.barycenterentryW.barycenter){return 1}return!bias?entryV.i-entryW.i:entryW.i-entryV.i}}},{"../lodash":36,"../util":55}],48:[function(require,module,exports){var _=require("./lodash");module.exports=parentDummyChains;function parentDummyChains(g){var postorderNums=postorder(g);_.each(g.graph().dummyChains,function(v){var node=g.node(v),edgeObj=node.edgeObj,pathData=findPath(g,postorderNums,edgeObj.v,edgeObj.w),path=pathData.path,lca=pathData.lca,pathIdx=0,pathV=path[pathIdx],ascending=true;while(v!==edgeObj.w){node=g.node(v);if(ascending){while((pathV=path[pathIdx])!==lca&&g.node(pathV).maxRanklow||lim>postorderNums[parent].lim));lca=parent;parent=w;while((parent=g.parent(parent))!==lca){wPath.push(parent)}return{path:vPath.concat(wPath.reverse()),lca:lca}}function postorder(g){var result={},lim=0;function dfs(v){var low=lim;_.each(g.children(v),dfs);result[v]={low:low,lim:lim++}}_.each(g.children(),dfs);return result}},{"./lodash":36}],49:[function(require,module,exports){"use strict";var _=require("../lodash"),Graph=require("../graphlib").Graph,util=require("../util");module.exports={positionX:positionX,findType1Conflicts:findType1Conflicts,findType2Conflicts:findType2Conflicts,addConflict:addConflict,hasConflict:hasConflict,verticalAlignment:verticalAlignment,horizontalCompaction:horizontalCompaction,alignCoordinates:alignCoordinates,findSmallestWidthAlignment:findSmallestWidthAlignment,balance:balance};function findType1Conflicts(g,layering){var conflicts={};function visitLayer(prevLayer,layer){var k0=0,scanPos=0,prevLayerLength=prevLayer.length,lastNode=_.last(layer);_.each(layer,function(v,i){var w=findOtherInnerSegmentNode(g,v),k1=w?g.node(w).order:prevLayerLength;if(w||v===lastNode){_.each(layer.slice(scanPos,i+1),function(scanNode){_.each(g.predecessors(scanNode),function(u){var uLabel=g.node(u),uPos=uLabel.order;if((uPosnextNorthBorder)){addConflict(conflicts,u,v)}})}})}function visitLayer(north,south){var prevNorthPos=-1,nextNorthPos,southPos=0;_.each(south,function(v,southLookahead){if(g.node(v).dummy==="border"){var predecessors=g.predecessors(v);if(predecessors.length){nextNorthPos=g.node(predecessors[0]).order;scan(south,southPos,southLookahead,prevNorthPos,nextNorthPos);southPos=southLookahead;prevNorthPos=nextNorthPos}}scan(south,southPos,south.length,nextNorthPos,north.length)});return south}_.reduce(layering,visitLayer);return conflicts}function findOtherInnerSegmentNode(g,v){if(g.node(v).dummy){return _.find(g.predecessors(v),function(u){return g.node(u).dummy})}}function addConflict(conflicts,v,w){if(v>w){var tmp=v;v=w;w=tmp}var conflictsV=conflicts[v];if(!conflictsV){conflicts[v]=conflictsV={}}conflictsV[w]=true}function hasConflict(conflicts,v,w){if(v>w){var tmp=v;v=w;w=tmp}return _.has(conflicts[v],w)}function verticalAlignment(g,layering,conflicts,neighborFn){var root={},align={},pos={};_.each(layering,function(layer){_.each(layer,function(v,order){root[v]=v;align[v]=v;pos[v]=order})});_.each(layering,function(layer){var prevIdx=-1;_.each(layer,function(v){var ws=neighborFn(v);if(ws.length){ws=_.sortBy(ws,function(w){return pos[w]});var mp=(ws.length-1)/2;for(var i=Math.floor(mp),il=Math.ceil(mp);i<=il;++i){var w=ws[i];if(align[v]===v&&prevIdxwLabel.lim){tailLabel=wLabel;flip=true}var candidates=_.filter(g.edges(),function(edge){return flip===isDescendant(t,t.node(edge.v),tailLabel)&&flip!==isDescendant(t,t.node(edge.w),tailLabel)});return _.min(candidates,function(edge){return slack(g,edge)})}function exchangeEdges(t,g,e,f){var v=e.v,w=e.w;t.removeEdge(v,w);t.setEdge(f.v,f.w,{});initLowLimValues(t);initCutValues(t,g);updateRanks(t,g)}function updateRanks(t,g){var root=_.find(t.nodes(),function(v){return!g.node(v).parent}),vs=preorder(t,root);vs=vs.slice(1);_.each(vs,function(v){var parent=t.node(v).parent,edge=g.edge(v,parent),flipped=false;if(!edge){edge=g.edge(parent,v);flipped=true}g.node(v).rank=g.node(parent).rank+(flipped?edge.minlen:-edge.minlen)})}function isTreeEdge(tree,u,v){return tree.hasEdge(u,v)}function isDescendant(tree,vLabel,rootLabel){return rootLabel.low<=vLabel.lim&&vLabel.lim<=rootLabel.lim}},{"../graphlib":33,"../lodash":36,"../util":55,"./feasible-tree":51,"./util":54}],54:[function(require,module,exports){"use strict";var _=require("../lodash");module.exports={longestPath:longestPath,slack:slack};function longestPath(g){var visited={};function dfs(v){var label=g.node(v);if(_.has(visited,v)){return label.rank}visited[v]=true;var rank=_.min(_.map(g.outEdges(v),function(e){return dfs(e.w)-g.edge(e).minlen}));if(rank===Number.POSITIVE_INFINITY){rank=0}return label.rank=rank}_.each(g.sources(),dfs)}function slack(g,e){return g.node(e.w).rank-g.node(e.v).rank-g.edge(e).minlen}},{"../lodash":36}],55:[function(require,module,exports){"use strict";var _=require("./lodash"),Graph=require("./graphlib").Graph;module.exports={addDummyNode:addDummyNode,simplify:simplify,asNonCompoundGraph:asNonCompoundGraph,successorWeights:successorWeights,predecessorWeights:predecessorWeights,intersectRect:intersectRect,buildLayerMatrix:buildLayerMatrix,normalizeRanks:normalizeRanks,removeEmptyRanks:removeEmptyRanks,addBorderNode:addBorderNode,maxRank:maxRank,partition:partition,time:time,notime:notime};function addDummyNode(g,type,attrs,name){var v;do{v=_.uniqueId(name)}while(g.hasNode(v));attrs.dummy=type;g.setNode(v,attrs);return v}function simplify(g){var simplified=(new Graph).setGraph(g.graph());_.each(g.nodes(),function(v){simplified.setNode(v,g.node(v))});_.each(g.edges(),function(e){var simpleLabel=simplified.edge(e.v,e.w)||{weight:0,minlen:1},label=g.edge(e);simplified.setEdge(e.v,e.w,{weight:simpleLabel.weight+label.weight,minlen:Math.max(simpleLabel.minlen,label.minlen)})});return simplified}function asNonCompoundGraph(g){var simplified=new Graph({multigraph:g.isMultigraph()}).setGraph(g.graph());_.each(g.nodes(),function(v){if(!g.children(v).length){simplified.setNode(v,g.node(v))}});_.each(g.edges(),function(e){simplified.setEdge(e,g.edge(e))});return simplified}function successorWeights(g){var weightMap=_.map(g.nodes(),function(v){var sucs={};_.each(g.outEdges(v),function(e){sucs[e.w]=(sucs[e.w]||0)+g.edge(e).weight});return sucs});return _.zipObject(g.nodes(),weightMap)}function predecessorWeights(g){var weightMap=_.map(g.nodes(),function(v){var preds={};_.each(g.inEdges(v),function(e){preds[e.v]=(preds[e.v]||0)+g.edge(e).weight});return preds});return _.zipObject(g.nodes(),weightMap)}function intersectRect(rect,point){var x=rect.x;var y=rect.y;var dx=point.x-x;var dy=point.y-y;var w=rect.width/2;var h=rect.height/2;if(!dx&&!dy){throw new Error("Not possible to find intersection inside of the rectangle")}var sx,sy;if(Math.abs(dy)*w>Math.abs(dx)*h){if(dy<0){h=-h}sx=h*dx/dy;sy=h}else{if(dx<0){w=-w}sx=w;sy=w*dy/dx}return{x:x+sx,y:y+sy}}function buildLayerMatrix(g){var layering=_.map(_.range(maxRank(g)+1),function(){return[] +});_.each(g.nodes(),function(v){var node=g.node(v),rank=node.rank;if(!_.isUndefined(rank)){layering[rank][node.order]=v}});return layering}function normalizeRanks(g){var min=_.min(_.map(g.nodes(),function(v){return g.node(v).rank}));_.each(g.nodes(),function(v){var node=g.node(v);if(_.has(node,"rank")){node.rank-=min}})}function removeEmptyRanks(g){var offset=_.min(_.map(g.nodes(),function(v){return g.node(v).rank}));var layers=[];_.each(g.nodes(),function(v){var rank=g.node(v).rank-offset;if(!_.has(layers,rank)){layers[rank]=[]}layers[rank].push(v)});var delta=0,nodeRankFactor=g.graph().nodeRankFactor;_.each(layers,function(vs,i){if(_.isUndefined(vs)&&i%nodeRankFactor!==0){--delta}else if(delta){_.each(vs,function(v){g.node(v).rank+=delta})}})}function addBorderNode(g,prefix,rank,order){var node={width:0,height:0};if(arguments.length>=4){node.rank=rank;node.order=order}return addDummyNode(g,"border",node,prefix)}function maxRank(g){return _.max(_.map(g.nodes(),function(v){var rank=g.node(v).rank;if(!_.isUndefined(rank)){return rank}}))}function partition(collection,fn){var result={lhs:[],rhs:[]};_.each(collection,function(value){if(fn(value)){result.lhs.push(value)}else{result.rhs.push(value)}});return result}function time(name,fn){var start=_.now();try{return fn()}finally{console.log(name+" time: "+(_.now()-start)+"ms")}}function notime(name,fn){return fn()}},{"./graphlib":33,"./lodash":36}],56:[function(require,module,exports){module.exports="0.7.1"},{}],57:[function(require,module,exports){var lib=require("./lib");module.exports={Graph:lib.Graph,json:require("./lib/json"),alg:require("./lib/alg"),version:lib.version}},{"./lib":73,"./lib/alg":64,"./lib/json":74}],58:[function(require,module,exports){var _=require("../lodash");module.exports=components;function components(g){var visited={},cmpts=[],cmpt;function dfs(v){if(_.has(visited,v))return;visited[v]=true;cmpt.push(v);_.each(g.successors(v),dfs);_.each(g.predecessors(v),dfs)}_.each(g.nodes(),function(v){cmpt=[];dfs(v);if(cmpt.length){cmpts.push(cmpt)}});return cmpts}},{"../lodash":75}],59:[function(require,module,exports){var _=require("../lodash");module.exports=dfs;function dfs(g,vs,order){if(!_.isArray(vs)){vs=[vs]}var acc=[],visited={};_.each(vs,function(v){if(!g.hasNode(v)){throw new Error("Graph does not have node: "+v)}doDfs(g,v,order==="post",visited,acc)});return acc}function doDfs(g,v,postorder,visited,acc){if(!_.has(visited,v)){visited[v]=true;if(!postorder){acc.push(v)}_.each(g.neighbors(v),function(w){doDfs(g,w,postorder,visited,acc)});if(postorder){acc.push(v)}}}},{"../lodash":75}],60:[function(require,module,exports){var dijkstra=require("./dijkstra"),_=require("../lodash");module.exports=dijkstraAll;function dijkstraAll(g,weightFunc,edgeFunc){return _.transform(g.nodes(),function(acc,v){acc[v]=dijkstra(g,v,weightFunc,edgeFunc)},{})}},{"../lodash":75,"./dijkstra":61}],61:[function(require,module,exports){var _=require("../lodash"),PriorityQueue=require("../data/priority-queue");module.exports=dijkstra;var DEFAULT_WEIGHT_FUNC=_.constant(1);function dijkstra(g,source,weightFn,edgeFn){return runDijkstra(g,String(source),weightFn||DEFAULT_WEIGHT_FUNC,edgeFn||function(v){return g.outEdges(v)})}function runDijkstra(g,source,weightFn,edgeFn){var results={},pq=new PriorityQueue,v,vEntry;var updateNeighbors=function(edge){var w=edge.v!==v?edge.v:edge.w,wEntry=results[w],weight=weightFn(edge),distance=vEntry.distance+weight;if(weight<0){throw new Error("dijkstra does not allow negative edge weights. "+"Bad edge: "+edge+" Weight: "+weight)}if(distance0){v=pq.removeMin();vEntry=results[v];if(vEntry.distance===Number.POSITIVE_INFINITY){break}edgeFn(v).forEach(updateNeighbors)}return results}},{"../data/priority-queue":71,"../lodash":75}],62:[function(require,module,exports){var _=require("../lodash"),tarjan=require("./tarjan");module.exports=findCycles;function findCycles(g){return _.filter(tarjan(g),function(cmpt){return cmpt.length>1})}},{"../lodash":75,"./tarjan":69}],63:[function(require,module,exports){var _=require("../lodash");module.exports=floydWarshall;var DEFAULT_WEIGHT_FUNC=_.constant(1);function floydWarshall(g,weightFn,edgeFn){return runFloydWarshall(g,weightFn||DEFAULT_WEIGHT_FUNC,edgeFn||function(v){return g.outEdges(v)})}function runFloydWarshall(g,weightFn,edgeFn){var results={},nodes=g.nodes();nodes.forEach(function(v){results[v]={};results[v][v]={distance:0};nodes.forEach(function(w){if(v!==w){results[v][w]={distance:Number.POSITIVE_INFINITY}}});edgeFn(v).forEach(function(edge){var w=edge.v===v?edge.w:edge.v,d=weightFn(edge);results[v][w]={distance:d,predecessor:v}})});nodes.forEach(function(k){var rowK=results[k];nodes.forEach(function(i){var rowI=results[i];nodes.forEach(function(j){var ik=rowI[k];var kj=rowK[j];var ij=rowI[j];var altDistance=ik.distance+kj.distance;if(altDistance0){v=pq.removeMin();if(_.has(parents,v)){result.setEdge(v,parents[v])}else if(init){throw new Error("Input graph is not connected: "+g)}else{init=true}g.nodeEdges(v).forEach(updateNeighbors)}return result}},{"../data/priority-queue":71,"../graph":72,"../lodash":75}],69:[function(require,module,exports){var _=require("../lodash");module.exports=tarjan;function tarjan(g){var index=0,stack=[],visited={},results=[];function dfs(v){var entry=visited[v]={onStack:true,lowlink:index,index:index++};stack.push(v);g.successors(v).forEach(function(w){if(!_.has(visited,w)){dfs(w);entry.lowlink=Math.min(entry.lowlink,visited[w].lowlink)}else if(visited[w].onStack){entry.lowlink=Math.min(entry.lowlink,visited[w].index)}});if(entry.lowlink===entry.index){var cmpt=[],w;do{w=stack.pop();visited[w].onStack=false;cmpt.push(w)}while(v!==w);results.push(cmpt)}}g.nodes().forEach(function(v){if(!_.has(visited,v)){dfs(v)}});return results}},{"../lodash":75}],70:[function(require,module,exports){var _=require("../lodash");module.exports=topsort;topsort.CycleException=CycleException;function topsort(g){var visited={},stack={},results=[];function visit(node){if(_.has(stack,node)){throw new CycleException}if(!_.has(visited,node)){stack[node]=true;visited[node]=true;_.each(g.predecessors(node),visit);delete stack[node];results.push(node)}}_.each(g.sinks(),visit);if(_.size(visited)!==g.nodeCount()){throw new CycleException}return results}function CycleException(){}},{"../lodash":75}],71:[function(require,module,exports){var _=require("../lodash");module.exports=PriorityQueue;function PriorityQueue(){this._arr=[];this._keyIndices={}}PriorityQueue.prototype.size=function(){return this._arr.length};PriorityQueue.prototype.keys=function(){return this._arr.map(function(x){return x.key})};PriorityQueue.prototype.has=function(key){return _.has(this._keyIndices,key)};PriorityQueue.prototype.priority=function(key){var index=this._keyIndices[key];if(index!==undefined){return this._arr[index].priority}};PriorityQueue.prototype.min=function(){if(this.size()===0){throw new Error("Queue underflow")}return this._arr[0].key};PriorityQueue.prototype.add=function(key,priority){var keyIndices=this._keyIndices;key=String(key);if(!_.has(keyIndices,key)){var arr=this._arr;var index=arr.length;keyIndices[key]=index;arr.push({key:key,priority:priority});this._decrease(index);return true}return false};PriorityQueue.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var min=this._arr.pop();delete this._keyIndices[min.key];this._heapify(0);return min.key};PriorityQueue.prototype.decrease=function(key,priority){var index=this._keyIndices[key];if(priority>this._arr[index].priority){throw new Error("New priority is greater than current priority. "+"Key: "+key+" Old: "+this._arr[index].priority+" New: "+priority)}this._arr[index].priority=priority;this._decrease(index)};PriorityQueue.prototype._heapify=function(i){var arr=this._arr;var l=2*i,r=l+1,largest=i;if(l>1;if(arr[parent].priority1){this.setNode(v,value)}else{this.setNode(v)}},this);return this};Graph.prototype.setNode=function(v,value){if(_.has(this._nodes,v)){if(arguments.length>1){this._nodes[v]=value}return this}this._nodes[v]=arguments.length>1?value:this._defaultNodeLabelFn(v);if(this._isCompound){this._parent[v]=GRAPH_NODE;this._children[v]={};this._children[GRAPH_NODE][v]=true}this._in[v]={};this._preds[v]={};this._out[v]={};this._sucs[v]={};++this._nodeCount;return this};Graph.prototype.node=function(v){return this._nodes[v]};Graph.prototype.hasNode=function(v){return _.has(this._nodes,v)};Graph.prototype.removeNode=function(v){var self=this;if(_.has(this._nodes,v)){var removeEdge=function(e){self.removeEdge(self._edgeObjs[e])};delete this._nodes[v];if(this._isCompound){this._removeFromParentsChildList(v);delete this._parent[v];_.each(this.children(v),function(child){this.setParent(child)},this);delete this._children[v]}_.each(_.keys(this._in[v]),removeEdge);delete this._in[v];delete this._preds[v];_.each(_.keys(this._out[v]),removeEdge);delete this._out[v];delete this._sucs[v];--this._nodeCount}return this};Graph.prototype.setParent=function(v,parent){if(!this._isCompound){throw new Error("Cannot set parent in a non-compound graph")}if(_.isUndefined(parent)){parent=GRAPH_NODE}else{for(var ancestor=parent;!_.isUndefined(ancestor);ancestor=this.parent(ancestor)){if(ancestor===v){throw new Error("Setting "+parent+" as parent of "+v+" would create create a cycle")}}this.setNode(parent)}this.setNode(v);this._removeFromParentsChildList(v);this._parent[v]=parent;this._children[parent][v]=true;return this};Graph.prototype._removeFromParentsChildList=function(v){delete this._children[this._parent[v]][v]};Graph.prototype.parent=function(v){if(this._isCompound){var parent=this._parent[v];if(parent!==GRAPH_NODE){return parent}}};Graph.prototype.children=function(v){if(_.isUndefined(v)){v=GRAPH_NODE}if(this._isCompound){var children=this._children[v];if(children){return _.keys(children)}}else if(v===GRAPH_NODE){return this.nodes()}else if(this.hasNode(v)){return[]}};Graph.prototype.predecessors=function(v){var predsV=this._preds[v];if(predsV){return _.keys(predsV)}};Graph.prototype.successors=function(v){var sucsV=this._sucs[v];if(sucsV){return _.keys(sucsV)}};Graph.prototype.neighbors=function(v){var preds=this.predecessors(v);if(preds){return _.union(preds,this.successors(v))}};Graph.prototype.setDefaultEdgeLabel=function(newDefault){if(!_.isFunction(newDefault)){newDefault=_.constant(newDefault)}this._defaultEdgeLabelFn=newDefault;return this};Graph.prototype.edgeCount=function(){return this._edgeCount};Graph.prototype.edges=function(){return _.values(this._edgeObjs)};Graph.prototype.setPath=function(vs,value){var self=this,args=arguments;_.reduce(vs,function(v,w){if(args.length>1){self.setEdge(v,w,value)}else{self.setEdge(v,w)}return w});return this};Graph.prototype.setEdge=function(){var v,w,name,value,valueSpecified=false;if(_.isPlainObject(arguments[0])){v=arguments[0].v;w=arguments[0].w;name=arguments[0].name;if(arguments.length===2){value=arguments[1];valueSpecified=true}}else{v=arguments[0];w=arguments[1];name=arguments[3];if(arguments.length>2){value=arguments[2];valueSpecified=true}}v=""+v;w=""+w;if(!_.isUndefined(name)){name=""+name}var e=edgeArgsToId(this._isDirected,v,w,name);if(_.has(this._edgeLabels,e)){if(valueSpecified){this._edgeLabels[e]=value}return this}if(!_.isUndefined(name)&&!this._isMultigraph){throw new Error("Cannot set a named edge when isMultigraph = false")}this.setNode(v);this.setNode(w);this._edgeLabels[e]=valueSpecified?value:this._defaultEdgeLabelFn(v,w,name);var edgeObj=edgeArgsToObj(this._isDirected,v,w,name);v=edgeObj.v;w=edgeObj.w;Object.freeze(edgeObj);this._edgeObjs[e]=edgeObj;incrementOrInitEntry(this._preds[w],v);incrementOrInitEntry(this._sucs[v],w);this._in[w][e]=edgeObj;this._out[v][e]=edgeObj;this._edgeCount++;return this};Graph.prototype.edge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name);return this._edgeLabels[e]};Graph.prototype.hasEdge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name);return _.has(this._edgeLabels,e)};Graph.prototype.removeEdge=function(v,w,name){var e=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,v,w,name),edge=this._edgeObjs[e];if(edge){v=edge.v;w=edge.w;delete this._edgeLabels[e];delete this._edgeObjs[e];decrementOrRemoveEntry(this._preds[w],v);decrementOrRemoveEntry(this._sucs[v],w);delete this._in[w][e];delete this._out[v][e];this._edgeCount--}return this};Graph.prototype.inEdges=function(v,u){var inV=this._in[v];if(inV){var edges=_.values(inV);if(!u){return edges}return _.filter(edges,function(edge){return edge.v===u})}};Graph.prototype.outEdges=function(v,w){var outV=this._out[v];if(outV){var edges=_.values(outV);if(!w){return edges}return _.filter(edges,function(edge){return edge.w===w})}};Graph.prototype.nodeEdges=function(v,w){var inEdges=this.inEdges(v,w);if(inEdges){return inEdges.concat(this.outEdges(v,w))}};function incrementOrInitEntry(map,k){if(_.has(map,k)){map[k]++}else{map[k]=1}}function decrementOrRemoveEntry(map,k){if(!--map[k]){delete map[k]}}function edgeArgsToId(isDirected,v,w,name){if(!isDirected&&v>w){var tmp=v;v=w;w=tmp}return v+EDGE_KEY_DELIM+w+EDGE_KEY_DELIM+(_.isUndefined(name)?DEFAULT_EDGE_NAME:name)}function edgeArgsToObj(isDirected,v,w,name){if(!isDirected&&v>w){var tmp=v;v=w;w=tmp}var edgeObj={v:v,w:w};if(name){edgeObj.name=name}return edgeObj}function edgeObjToId(isDirected,edgeObj){return edgeArgsToId(isDirected,edgeObj.v,edgeObj.w,edgeObj.name)}},{"./lodash":75}],73:[function(require,module,exports){module.exports={Graph:require("./graph"),version:require("./version")}},{"./graph":72,"./version":76}],74:[function(require,module,exports){var _=require("./lodash"),Graph=require("./graph");module.exports={write:write,read:read};function write(g){var json={options:{directed:g.isDirected(),multigraph:g.isMultigraph(),compound:g.isCompound()},nodes:writeNodes(g),edges:writeEdges(g)};if(!_.isUndefined(g.graph())){json.value=_.clone(g.graph())}return json}function writeNodes(g){return _.map(g.nodes(),function(v){var nodeValue=g.node(v),parent=g.parent(v),node={v:v};if(!_.isUndefined(nodeValue)){node.value=nodeValue}if(!_.isUndefined(parent)){node.parent=parent}return node})}function writeEdges(g){return _.map(g.edges(),function(e){var edgeValue=g.edge(e),edge={v:e.v,w:e.w};if(!_.isUndefined(e.name)){edge.name=e.name}if(!_.isUndefined(edgeValue)){edge.value=edgeValue}return edge})}function read(json){var g=new Graph(json.options).setGraph(json.value);_.each(json.nodes,function(entry){g.setNode(entry.v,entry.value);if(entry.parent){g.setParent(entry.v,entry.parent)}});_.each(json.edges,function(entry){g.setEdge({v:entry.v,w:entry.w,name:entry.name},entry.value)});return g}},{"./graph":72,"./lodash":75}],75:[function(require,module,exports){module.exports=require(20)},{"/Users/cpettitt/projects/dagre-d3/lib/lodash.js":20,lodash:77}],76:[function(require,module,exports){module.exports="1.0.1"},{}],77:[function(require,module,exports){(function(global){(function(){var undefined;var arrayPool=[],objectPool=[];var idCounter=0;var keyPrefix=+new Date+"";var largeArraySize=75;var maxPoolSize=40;var whitespace=" \f "+"\n\r\u2028\u2029"+" ᠎              ";var reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g;var reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var reFlags=/\w*$/;var reFuncName=/^\s*function[ \n\r\t]+\w/;var reInterpolate=/<%=([\s\S]+?)%>/g;var reLeadingSpacesAndZeros=RegExp("^["+whitespace+"]*0+(?=.$)");var reNoMatch=/($^)/;var reThis=/\bthis\b/;var reUnescapedString=/['\n\r\t\u2028\u2029\\]/g;var contextProps=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"];var templateCounter=0;var argsClass="[object Arguments]",arrayClass="[object Array]",boolClass="[object Boolean]",dateClass="[object Date]",funcClass="[object Function]",numberClass="[object Number]",objectClass="[object Object]",regexpClass="[object RegExp]",stringClass="[object String]";var cloneableClasses={};cloneableClasses[funcClass]=false;cloneableClasses[argsClass]=cloneableClasses[arrayClass]=cloneableClasses[boolClass]=cloneableClasses[dateClass]=cloneableClasses[numberClass]=cloneableClasses[objectClass]=cloneableClasses[regexpClass]=cloneableClasses[stringClass]=true;var debounceOptions={leading:false,maxWait:0,trailing:false};var descriptor={configurable:false,enumerable:false,value:null,writable:false};var objectTypes={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false};var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};var root=objectTypes[typeof window]&&window||this;var freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports;var freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module;var moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports;var freeGlobal=objectTypes[typeof global]&&global;if(freeGlobal&&(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal)){root=freeGlobal}function baseIndexOf(array,value,fromIndex){var index=(fromIndex||0)-1,length=array?array.length:0;while(++index-1?0:-1:cache?0:-1}function cachePush(value){var cache=this.cache,type=typeof value;if(type=="boolean"||value==null){cache[value]=true}else{if(type!="number"&&type!="string"){type="object"}var key=type=="number"?value:keyPrefix+value,typeCache=cache[type]||(cache[type]={});if(type=="object"){(typeCache[key]||(typeCache[key]=[])).push(value)}else{typeCache[key]=true}}}function charAtCallback(value){return value.charCodeAt(0)}function compareAscending(a,b){var ac=a.criteria,bc=b.criteria,index=-1,length=ac.length;while(++indexother||typeof value=="undefined"){return 1}if(value/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:reInterpolate,variable:"",imports:{_:lodash}};function baseBind(bindData){var func=bindData[0],partialArgs=bindData[2],thisArg=bindData[4];function bound(){if(partialArgs){var args=slice(partialArgs);push.apply(args,arguments)}if(this instanceof bound){var thisBinding=baseCreate(func.prototype),result=func.apply(thisBinding,args||arguments);return isObject(result)?result:thisBinding}return func.apply(thisArg,args||arguments)}setBindData(bound,bindData);return bound}function baseClone(value,isDeep,callback,stackA,stackB){if(callback){var result=callback(value);if(typeof result!="undefined"){return result}}var isObj=isObject(value);if(isObj){var className=toString.call(value);if(!cloneableClasses[className]){return value}var ctor=ctorByClass[className];switch(className){case boolClass:case dateClass:return new ctor(+value);case numberClass:case stringClass:return new ctor(value);case regexpClass:result=ctor(value.source,reFlags.exec(value));result.lastIndex=value.lastIndex;return result}}else{return value}var isArr=isArray(value);if(isDeep){var initedStack=!stackA;stackA||(stackA=getArray());stackB||(stackB=getArray());var length=stackA.length;while(length--){if(stackA[length]==value){return stackB[length]}}result=isArr?ctor(value.length):{}}else{result=isArr?slice(value):assign({},value)}if(isArr){if(hasOwnProperty.call(value,"index")){result.index=value.index}if(hasOwnProperty.call(value,"input")){result.input=value.input}}if(!isDeep){return result}stackA.push(value);stackB.push(result);(isArr?forEach:forOwn)(value,function(objValue,key){result[key]=baseClone(objValue,isDeep,callback,stackA,stackB)});if(initedStack){releaseArray(stackA);releaseArray(stackB)}return result}function baseCreate(prototype,properties){return isObject(prototype)?nativeCreate(prototype):{}}if(!nativeCreate){baseCreate=function(){function Object(){}return function(prototype){if(isObject(prototype)){Object.prototype=prototype;var result=new Object;Object.prototype=null}return result||context.Object()}}()}function baseCreateCallback(func,thisArg,argCount){if(typeof func!="function"){return identity}if(typeof thisArg=="undefined"||!("prototype"in func)){return func}var bindData=func.__bindData__;if(typeof bindData=="undefined"){if(support.funcNames){bindData=!func.name}bindData=bindData||!support.funcDecomp;if(!bindData){var source=fnToString.call(func);if(!support.funcNames){bindData=!reFuncName.test(source)}if(!bindData){bindData=reThis.test(source);setBindData(func,bindData)}}}if(bindData===false||bindData!==true&&bindData[1]&1){return func}switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 2:return function(a,b){return func.call(thisArg,a,b)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)}}return bind(func,thisArg)}function baseCreateWrapper(bindData){var func=bindData[0],bitmask=bindData[1],partialArgs=bindData[2],partialRightArgs=bindData[3],thisArg=bindData[4],arity=bindData[5];var isBind=bitmask&1,isBindKey=bitmask&2,isCurry=bitmask&4,isCurryBound=bitmask&8,key=func;function bound(){var thisBinding=isBind?thisArg:this;if(partialArgs){var args=slice(partialArgs);push.apply(args,arguments)}if(partialRightArgs||isCurry){args||(args=slice(arguments));if(partialRightArgs){push.apply(args,partialRightArgs)}if(isCurry&&args.length=largeArraySize&&indexOf===baseIndexOf,result=[];if(isLarge){var cache=createCache(values);if(cache){indexOf=cacheIndexOf;values=cache}else{isLarge=false}}while(++index-1}})}}stackA.pop();stackB.pop();if(initedStack){releaseArray(stackA);releaseArray(stackB)}return result}function baseMerge(object,source,callback,stackA,stackB){(isArray(source)?forEach:forOwn)(source,function(source,key){var found,isArr,result=source,value=object[key];if(source&&((isArr=isArray(source))||isPlainObject(source))){var stackLength=stackA.length;while(stackLength--){if(found=stackA[stackLength]==source){value=stackB[stackLength];break}}if(!found){var isShallow;if(callback){result=callback(value,source);if(isShallow=typeof result!="undefined"){value=result}}if(!isShallow){value=isArr?isArray(value)?value:[]:isPlainObject(value)?value:{}}stackA.push(source);stackB.push(value);if(!isShallow){baseMerge(value,source,callback,stackA,stackB)}}}else{if(callback){result=callback(value,source);if(typeof result=="undefined"){result=source}}if(typeof result!="undefined"){value=result}}object[key]=value})}function baseRandom(min,max){return min+floor(nativeRandom()*(max-min+1))}function baseUniq(array,isSorted,callback){var index=-1,indexOf=getIndexOf(),length=array?array.length:0,result=[];var isLarge=!isSorted&&length>=largeArraySize&&indexOf===baseIndexOf,seen=callback||isLarge?getArray():result;if(isLarge){var cache=createCache(seen);indexOf=cacheIndexOf;seen=cache}while(++index":">",'"':""","'":"'"};var htmlUnescapes=invert(htmlEscapes);var reEscapedHtml=RegExp("("+keys(htmlUnescapes).join("|")+")","g"),reUnescapedHtml=RegExp("["+keys(htmlEscapes).join("")+"]","g");var assign=function(object,source,guard){var index,iterable=object,result=iterable;if(!iterable)return result;var args=arguments,argsIndex=0,argsLength=typeof guard=="number"?2:args.length;if(argsLength>3&&typeof args[argsLength-2]=="function"){var callback=baseCreateCallback(args[--argsLength-1],args[argsLength--],2)}else if(argsLength>2&&typeof args[argsLength-1]=="function"){callback=args[--argsLength]}while(++argsIndex3&&typeof args[length-2]=="function"){var callback=baseCreateCallback(args[--length-1],args[length--],2)}else if(length>2&&typeof args[length-1]=="function"){callback=args[--length]}var sources=slice(arguments,1,length),index=-1,stackA=getArray(),stackB=getArray();while(++index-1}else if(typeof length=="number"){result=(isString(collection)?collection.indexOf(target,fromIndex):indexOf(collection,target,fromIndex))>-1}else{forOwn(collection,function(value){if(++index>=fromIndex){return!(result=value===target)}})}return result}var countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?result[key]++:result[key]=1});function every(collection,callback,thisArg){var result=true;callback=lodash.createCallback(callback,thisArg,3);var index=-1,length=collection?collection.length:0;if(typeof length=="number"){while(++indexresult){result=value}}}else{callback=callback==null&&isString(collection)?charAtCallback:lodash.createCallback(callback,thisArg,3);forEach(collection,function(value,index,collection){var current=callback(value,index,collection);if(current>computed){computed=current;result=value}})}return result}function min(collection,callback,thisArg){var computed=Infinity,result=computed;if(typeof callback!="function"&&thisArg&&thisArg[callback]===collection){callback=null}if(callback==null&&isArray(collection)){var index=-1,length=collection.length;while(++index=largeArraySize&&createCache(argsIndex?args[argsIndex]:seen))}}var array=args[0],index=-1,length=array?array.length:0,result=[];outer:while(++index>>1;callback(array[mid])1?arguments:arguments[0],index=-1,length=array?max(pluck(array,"length")):0,result=Array(length<0?0:length);while(++index2?createWrapper(func,17,slice(arguments,2),null,thisArg):createWrapper(func,1,null,null,thisArg)}function bindAll(object){var funcs=arguments.length>1?baseFlatten(arguments,true,false,1):functions(object),index=-1,length=funcs.length;while(++index2?createWrapper(key,19,slice(arguments,2),null,object):createWrapper(key,3,null,null,object)}function compose(){var funcs=arguments,length=funcs.length;while(length--){if(!isFunction(funcs[length])){throw new TypeError}}return function(){var args=arguments,length=funcs.length;while(length--){args=[funcs[length].apply(this,args)]}return args[0]}}function curry(func,arity){arity=typeof arity=="number"?arity:+arity||func.length;return createWrapper(func,4,null,null,null,arity)}function debounce(func,wait,options){var args,maxTimeoutId,result,stamp,thisArg,timeoutId,trailingCall,lastCalled=0,maxWait=false,trailing=true;if(!isFunction(func)){throw new TypeError}wait=nativeMax(0,wait)||0;if(options===true){var leading=true;trailing=false}else if(isObject(options)){leading=options.leading;maxWait="maxWait"in options&&(nativeMax(wait,options.maxWait)||0);trailing="trailing"in options?options.trailing:trailing}var delayed=function(){var remaining=wait-(now()-stamp);if(remaining<=0){if(maxTimeoutId){clearTimeout(maxTimeoutId)}var isCalled=trailingCall;maxTimeoutId=timeoutId=trailingCall=undefined;if(isCalled){lastCalled=now();result=func.apply(thisArg,args);if(!timeoutId&&!maxTimeoutId){args=thisArg=null}}}else{timeoutId=setTimeout(delayed,remaining)}};var maxDelayed=function(){if(timeoutId){clearTimeout(timeoutId)}maxTimeoutId=timeoutId=trailingCall=undefined;if(trailing||maxWait!==wait){lastCalled=now();result=func.apply(thisArg,args);if(!timeoutId&&!maxTimeoutId){args=thisArg=null}}};return function(){args=arguments;stamp=now();thisArg=this;trailingCall=trailing&&(timeoutId||!leading);if(maxWait===false){var leadingCall=leading&&!timeoutId}else{if(!maxTimeoutId&&!leading){lastCalled=stamp}var remaining=maxWait-(stamp-lastCalled),isCalled=remaining<=0;if(isCalled){if(maxTimeoutId){maxTimeoutId=clearTimeout(maxTimeoutId)}lastCalled=stamp;result=func.apply(thisArg,args)}else if(!maxTimeoutId){maxTimeoutId=setTimeout(maxDelayed,remaining)}}if(isCalled&&timeoutId){timeoutId=clearTimeout(timeoutId)}else if(!timeoutId&&wait!==maxWait){timeoutId=setTimeout(delayed,wait)}if(leadingCall){isCalled=true;result=func.apply(thisArg,args)}if(isCalled&&!timeoutId&&!maxTimeoutId){args=thisArg=null}return result}}function defer(func){if(!isFunction(func)){throw new TypeError}var args=slice(arguments,1);return setTimeout(function(){func.apply(undefined,args)},1)}function delay(func,wait){if(!isFunction(func)){throw new TypeError}var args=slice(arguments,2);return setTimeout(function(){func.apply(undefined,args)},wait)}function memoize(func,resolver){if(!isFunction(func)){throw new TypeError}var memoized=function(){var cache=memoized.cache,key=resolver?resolver.apply(this,arguments):keyPrefix+arguments[0]; +return hasOwnProperty.call(cache,key)?cache[key]:cache[key]=func.apply(this,arguments)};memoized.cache={};return memoized}function once(func){var ran,result;if(!isFunction(func)){throw new TypeError}return function(){if(ran){return result}ran=true;result=func.apply(this,arguments);func=null;return result}}function partial(func){return createWrapper(func,16,slice(arguments,1))}function partialRight(func){return createWrapper(func,32,null,slice(arguments,1))}function throttle(func,wait,options){var leading=true,trailing=true;if(!isFunction(func)){throw new TypeError}if(options===false){leading=false}else if(isObject(options)){leading="leading"in options?options.leading:leading;trailing="trailing"in options?options.trailing:trailing}debounceOptions.leading=leading;debounceOptions.maxWait=wait;debounceOptions.trailing=trailing;return debounce(func,wait,debounceOptions)}function wrap(value,wrapper){return createWrapper(wrapper,16,[value])}function constant(value){return function(){return value}}function createCallback(func,thisArg,argCount){var type=typeof func;if(func==null||type=="function"){return baseCreateCallback(func,thisArg,argCount)}if(type!="object"){return property(func)}var props=keys(func),key=props[0],a=func[key];if(props.length==1&&a===a&&!isObject(a)){return function(object){var b=object[key];return a===b&&(a!==0||1/a==1/b)}}return function(object){var length=props.length,result=false;while(length--){if(!(result=baseIsEqual(object[props[length]],func[props[length]],null,true))){break}}return result}}function escape(string){return string==null?"":String(string).replace(reUnescapedHtml,escapeHtmlChar)}function identity(value){return value}function mixin(object,source,options){var chain=true,methodNames=source&&functions(source);if(!source||!options&&!methodNames.length){if(options==null){options=source}ctor=lodashWrapper;source=object;object=lodash;methodNames=functions(source)}if(options===false){chain=false}else if(isObject(options)&&"chain"in options){chain=options.chain}var ctor=object,isFunc=isFunction(ctor);forEach(methodNames,function(methodName){var func=object[methodName]=source[methodName];if(isFunc){ctor.prototype[methodName]=function(){var chainAll=this.__chain__,value=this.__wrapped__,args=[value];push.apply(args,arguments);var result=func.apply(object,args);if(chain||chainAll){if(value===result&&isObject(result)){return this}result=new ctor(result);result.__chain__=chainAll}return result}}})}function noConflict(){context._=oldDash;return this}function noop(){}var now=isNative(now=Date.now)&&now||function(){return(new Date).getTime()};var parseInt=nativeParseInt(whitespace+"08")==8?nativeParseInt:function(value,radix){return nativeParseInt(isString(value)?value.replace(reLeadingSpacesAndZeros,""):value,radix||0)};function property(key){return function(object){return object[key]}}function random(min,max,floating){var noMin=min==null,noMax=max==null;if(floating==null){if(typeof min=="boolean"&&noMax){floating=min;min=1}else if(!noMax&&typeof max=="boolean"){floating=max;noMax=true}}if(noMin&&noMax){max=1}min=+min||0;if(noMax){max=min;min=0}else{max=+max||0}if(floating||min%1||max%1){var rand=nativeRandom();return nativeMin(min+rand*(max-min+parseFloat("1e-"+((rand+"").length-1))),max)}return baseRandom(min,max)}function result(object,key){if(object){var value=object[key];return isFunction(value)?object[key]():value}}function template(text,data,options){var settings=lodash.templateSettings;text=String(text||"");options=defaults({},options,settings);var imports=defaults({},options.imports,settings.imports),importsKeys=keys(imports),importsValues=values(imports);var isEvaluating,index=0,interpolate=options.interpolate||reNoMatch,source="__p += '";var reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");text.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);source+=text.slice(index,offset).replace(reUnescapedString,escapeStringChar);if(escapeValue){source+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index=offset+match.length;return match});source+="';\n";var variable=options.variable,hasVariable=variable;if(!hasVariable){variable="obj";source="with ("+variable+") {\n"+source+"\n}\n"}source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;");source="function("+variable+") {\n"+(hasVariable?"":variable+" || ("+variable+" = {});\n")+"var __t, __p = '', __e = _.escape"+(isEvaluating?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var sourceURL="\n/*\n//# sourceURL="+(options.sourceURL||"/lodash/template/source["+templateCounter++ +"]")+"\n*/";try{var result=Function(importsKeys,"return "+source+sourceURL).apply(undefined,importsValues)}catch(e){e.source=source;throw e}if(data){return result(data)}result.source=source;return result}function times(n,callback,thisArg){n=(n=+n)>-1?n:0;var index=-1,result=Array(n);callback=baseCreateCallback(callback,thisArg,1);while(++index1){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}}));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"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var 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}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(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(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}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"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(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 Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){assert(args.length==sig.length-1);if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].apply(null,args)}else{assert(sig.length==1);assert("dynCall_"+sig in Module,"bad function pointer type - no table for sig '"+sig+"'");return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i0),size)|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;assert(returnType!=="array",'Return type should not be "array".');if(args){for(var i=0;i>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)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;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=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(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>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 Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){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)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=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}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=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}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){assert(typeof maxBytesToWrite=="number","stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(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(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){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 ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.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)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;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}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){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("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];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_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!=="undefined"){runDependencyWatcher=setInterval((function(){if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;Module.printErr("still waiting on run dependencies:")}Module.printErr("dependency: "+dep)}if(shown){Module.printErr("(end of list)")}}),1e4)}}else{Module.printErr("warning: run dependency added without ID")}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{Module.printErr("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+193568;__ATINIT__.push();allocate([0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,32,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,2,16,0,0,0,0,0,0,0,0,0,0,0,0,16,64,184,176,0,0,8,0,0,0,1,0,0,0,0,0,0,0,2,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,150,64,0,0,0,0,0,128,150,64,4,144,195,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,32,3,2,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,66,64,0,0,0,0,0,0,66,64,0,0,0,0,0,32,131,64,0,0,0,0,0,192,136,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,64,0,0,0,0,0,0,66,64,0,0,0,0,0,32,131,64,0,0,0,0,0,192,136,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,176,193,0,0,0,0,0,0,0,0,0,0,0,16,64,176,182,0,0,147,0,0,0,1,0,0,0,0,0,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,16,0,2,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,176,193,0,0,0,0,0,0,0,0,0,0,0,0,0,176,186,0,0,16,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,64,32,62,3,0,0,0,0,0,0,0,0,0,0,16,64,184,187,0,0,122,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([255,255,255,255,255,255,239,127,255,255,255,255,255,255,239,127,255,255,255,255,255,255,239,255,255,255,255,255,255,255,239,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,153,153,153,153,153,169,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,153,153,153,153,153,169,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,169,241,210,77,98,80,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,38,245,107,12,195,1,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,51,51,51,51,51,51,243,63,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,255,255,255,255,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,211,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,70,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,153,153,153,153,153,217,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,227,63,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,20,174,71,225,122,228,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,154,153,153,153,153,153,217,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,123,20,174,71,225,122,228,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,70,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,223,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,64,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,244,108,86,125,174,182,214,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,196,66,173,105,222,113,236,63,16,122,54,171,62,87,229,63,245,219,215,129,115,70,204,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,1,77,132,13,79,175,226,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,1,77,132,13,79,175,226,63,1,77,132,13,79,175,226,63,1,77,132,13,79,175,226,63,181,21,251,203,238,201,225,63,204,93,75,200,7,61,240,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,106,222,113,138,142,228,232,63,210,111,95,7,206,25,231,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,16,122,54,171,62,87,229,63,181,21,251,203,238,201,225,63,44,212,154,230,29,167,234,63,210,111,95,7,206,25,231,63,106,222,113,138,142,228,232,63,16,122,54,171,62,87,229,63,106,222,113,138,142,228,232,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,134,56,214,197,109,52,238,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,166,10,70,37,117,2,222,63,181,21,251,203,238,201,225,63,72,191,125,29,56,103,204,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,224,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,72,191,125,29,56,103,204,63,72,191,125,29,56,103,204,63,0,0,0,0,0,0,224,63,72,191,125,29,56,103,204,63,44,212,154,230,29,167,234,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,2,154,8,27,158,94,213,63,224,190,14,156,51,162,208,63,2,154,8,27,158,94,213,63,1,77,132,13,79,175,226,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,62,232,217,172,250,92,197,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,29,56,103,68,105,111,200,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,231,29,167,232,72,46,225,63,162,180,55,248,194,100,214,63,72,191,125,29,56,103,204,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,234,149,178,12,113,172,215,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,106,222,113,138,142,228,232,63,0,0,0,0,0,0,240,63,152,221,147,135,133,90,215,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,196,66,173,105,222,113,236,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,72,191,125,29,56,103,204,63,120,11,36,40,126,140,227,63,134,56,214,197,109,52,238,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,37,117,2,154,8,27,218,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,44,212,154,230,29,167,234,63,106,222,113,138,142,228,232,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,93,220,70,3,120,11,226,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,93,220,70,3,120,11,226,63,93,220,70,3,120,11,226,63,93,220,70,3,120,11,226,63,13,113,172,139,219,104,220,63,100,93,220,70,3,120,237,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,181,21,251,203,238,201,225,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,196,66,173,105,222,113,236,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,181,21,251,203,238,201,225,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,181,21,251,203,238,201,225,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,134,56,214,197,109,52,238,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,166,10,70,37,117,2,222,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,106,222,113,138,142,228,232,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,244,108,86,125,174,182,222,63,17,54,60,189,82,150,201,63,244,108,86,125,174,182,222,63,59,1,77,132,13,79,225,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,62,232,217,172,250,92,197,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,130,115,70,148,246,6,199,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,7,240,22,72,80,252,220,63,162,180,55,248,194,100,214,63,88,168,53,205,59,78,213,63,13,113,172,139,219,104,220,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,208,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,196,66,173,105,222,113,236,63,0,0,0,0,0,0,208,63,127,217,61,121,88,168,209,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,196,66,173,105,222,113,236,63,19,242,65,207,102,213,211,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,16,122,54,171,62,87,229,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,132,245,127,14,243,101,15,64,96,118,79,30,22,42,43,192,98,189,81,43,76,223,205,191,23,133,184,205,175,65,138,63,212,130,23,125,5,105,241,191,93,134,255,116,3,133,235,63,247,21,214,83,204,189,55,63,186,205,91,66,44,5,46,63,58,205,2,237,14,41,238,191,250,185,161,41,59,253,216,63,249,97,41,55,246,145,128,63,167,57,30,216,150,166,125,63,155,200,204,5,46,143,231,191,198,51,104,232,159,224,202,63,54,130,67,94,197,152,138,63,26,142,66,237,18,48,133,63,122,52,213,147,249,71,217,191,205,228,155,109,110,76,27,64,229,103,126,144,192,122,185,63,254,198,232,202,177,6,137,63,115,243,141,232,158,117,225,191,231,86,99,100,36,214,179,63,209,99,239,32,209,95,155,63,231,208,216,77,223,33,139,63,7,242,71,172,32,97,171,63,15,149,235,18,122,162,182,191,179,181,190,72,104,203,137,63,124,90,234,197,245,148,161,63,7,234,148,71,55,194,202,63,70,227,154,76,38,184,174,191,51,242,129,54,156,166,125,191,45,30,197,214,191,45,128,63,210,26,131,78,8,29,182,63,88,57,180,200,118,30,39,192,85,193,168,164,78,128,5,192,246,9,160,24,89,50,199,63,137,149,209,200,231,21,207,63,98,45,62,5,192,248,252,191,11,94,244,21,164,25,249,63,129,236,245,238,143,247,250,63,43,47,249,159,252,221,205,63,115,187,151,251,228,40,221,191,250,210,219,159,139,134,204,63,235,201,252,163,111,210,217,63,230,44,162,220,108,98,175,63,228,132,9,163,89,217,186,191,225,188,147,170,72,224,166,63,204,197,8,118,54,195,129,63,88,55,222,29,25,171,157,63,234,178,152,216,124,188,26,64,206,0,23,100,203,242,197,63,117,250,139,234,190,173,149,63,192,189,33,67,125,129,159,63,171,93,19,210,26,131,170,191,36,176,222,77,92,51,150,63,170,17,85,83,237,46,179,191,9,198,28,95,214,31,168,191,63,198,220,181,132,124,192,63,82,147,133,84,246,2,180,191,0,0,0,0,0,0,0,64,111,210,217,110,39,182,159,191,60,37,49,82,57,55,171,63,66,108,250,253,172,67,151,191,197,80,243,250,56,63,166,63,123,20,174,71,225,122,148,63,164,112,61,10,215,163,6,64,0,0,0,0,0,0,192,63,123,20,174,71,225,122,132,63,81,160,79,228,73,210,14,64,180,200,118,190,159,58,53,192,58,34,223,165,212,37,213,191,243,130,62,71,154,46,138,63,159,229,121,112,119,214,249,191,126,253,16,27,44,156,230,63,150,236,216,8,196,235,204,63,205,206,162,119,42,224,208,63,176,227,191,64,16,32,237,191],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+33272);allocate([173,161,212,94,68,219,216,63,59,161,124,230,81,150,118,63,211,110,112,249,122,132,123,63,129,204,206,162,119,42,228,191,209,173,215,244,160,160,200,63,106,223,55,25,176,63,132,63,190,202,144,25,94,255,132,63,28,150,6,126,84,195,196,191,165,73,41,232,246,226,35,64,169,217,3,173,192,144,193,63,8,196,144,65,147,105,137,63,250,68,158,36,93,51,208,191,1,240,153,54,45,194,94,63,13,156,125,47,207,148,151,63,137,181,248,20,0,227,137,63,229,169,88,70,52,203,177,191,143,0,201,207,161,103,166,191,92,181,198,251,204,180,136,63,77,164,143,84,58,179,144,63,230,199,4,161,97,214,160,191,199,105,103,28,19,247,130,191,42,127,107,229,45,112,92,191,228,87,98,84,8,154,117,63,209,241,135,85,114,4,183,63,149,212,9,104,34,60,51,192,100,35,16,175,235,119,16,192,167,33,170,240,103,120,199,63,218,255,0,107,213,174,193,63,78,40,68,192,33,84,247,191,170,72,133,177,133,32,245,63,157,104,87,33,229,39,246,63,77,46,198,192,58,142,205,63,89,107,40,181,23,209,220,191,3,63,170,97,191,39,204,63,166,71,83,61,153,127,218,63,182,129,59,80,167,60,174,63,81,76,222,0,51,223,185,191,245,118,149,255,218,11,166,63,212,165,53,188,15,246,148,63,31,173,32,188,44,220,144,63,40,44,241,128,178,201,35,64,35,90,225,76,2,138,183,63,72,163,101,81,150,41,127,63,187,180,134,247,193,158,147,63,23,168,123,83,71,125,160,191,33,43,174,224,109,148,139,63,51,115,220,132,214,30,181,191,160,120,132,137,245,252,143,63,105,53,36,238,177,244,145,191,184,205,51,122,94,191,106,63,146,62,173,162,63,52,205,191,126,176,231,198,79,62,152,191,7,35,155,80,45,199,164,63,62,24,194,123,88,185,145,191,45,124,125,173,75,141,198,63,252,169,241,210,77,98,80,63,236,81,184,30,133,235,19,64,229,208,34,219,249,126,202,63,83,150,33,142,117,113,123,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,223,65,0,0,0,64,251,33,249,63,0,0,0,0,45,68,116,62,0,0,0,128,152,70,248,60,0,0,0,96,81,204,120,59,0,0,0,128,131,27,240,57,0,0,0,64,32,37,122,56,0,0,0,128,34,130,227,54,0,0,0,0,29,243,105,53,0,0,0,0,0,0,0,0,0,0,0,0,72,153,1,0,116,172,0,0,3,0,0,0,64,174,0,0,3,0,0,0,144,176,0,0,3,0,0,0,52,177,0,0,3,0,0,0,104,178,0,0,3,0,0,0,136,182,0,0,3,0,0,0,172,185,0,0,3,0,0,0,120,186,0,0,3,0,0,0,72,190,0,0,3,0,0,0,144,187,0,0,0,0,0,0,4,174,0,0,0,0,0,0,104,176,0,0,0,0,0,0,12,177,0,0,0,0,0,0,64,178,0,0,0,0,0,0,96,182,0,0,0,0,0,0,132,185,0,0,0,0,0,0,80,186,0,0,0,0,0,0,32,190,0,0,0,0,0,0,104,187,0,0,4,0,0,0,152,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,25,2,0,1,0,0,0,20,173,0,0,8,0,0,0,4,0,0,0,80,153,1,0,1,0,0,0,140,173,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,153,1,0,1,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,93,153,1,0,1,0,0,0,0,0,0,0,128,0,0,0,1,0,0,0,100,153,1,0,1,0,0,0,0,0,0,0,72,0,0,0,2,0,0,0,110,153,1,0,1,0,0,0,0,0,0,0,128,0,0,0,3,0,0,0,120,153,1,0,1,0,0,0,0,0,0,0,128,0,0,0,4,0,0,0,134,153,1,0,1,0,0,0,0,0,0,0,128,0,0,0,5,0,0,0,144,153,1,0,1,0,0,0,0,0,0,0,128,0,0,0,6,0,0,0,157,153,1,0,1,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,175,0,0,128,175,0,0,144,175,0,0,160,175,0,0,176,175,0,0,192,175,0,0,208,175,0,0,224,175,0,0,128,175,0,0,128,175,0,0,192,175,0,0,192,175,0,0,0,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,99,154,1,0,1,0,0,0,240,175,0,0,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,154,1,0,1,0,0,0,0,0,0,0,56,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,171,2,0,154,148,2,0,43,150,2,0,107,156,2,0,98,163,2,0,161,167,2,0,33,171,2,0,50,171,2,0,0,0,0,0,149,171,2,0,154,148,2,0,107,156,2,0,43,150,2,0,161,167,2,0,98,163,2,0,50,171,2,0,33,171,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,51,156,1,0,1,0,0,0,192,177,0,0,112,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,55,156,1,0,1,0,0,0,0,0,0,0,144,1,0,0,2,0,0,0,65,156,1,0,1,0,0,0,0,0,0,0,200,1,0,0,0,0,0,0,74,156,1,0,1,0,0,0,0,0,0,0,200,1,0,0,3,0,0,0,83,156,1,0,1,0,0,0,0,0,0,0,200,1,0,0,0,0,0,0,93,156,1,0,1,0,0,0,0,0,0,0,144,1,0,0,3,0,0,0,105,156,1,0,1,0,0,0,0,0,0,0,144,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,205,33,2,0,1,0,0,0,184,178,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,217,1,0,1,0,0,0,0,0,0,0,32,2,0,0,1,0,0,0,176,157,1,0,1,0,0,0,0,0,0,0,32,2,0,0,2,0,0,0,21,217,1,0,1,0,0,0,0,0,0,0,88,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,3,0,0,0,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,175,161,1,0,189,161,1,0,211,161,1,0,166,185,2,0,225,161,1,0,240,161,1,0,245,161,1,0,19,162,1,0,166,185,2,0,37,162,1,0,85,162,1,0,166,185,2,0,115,162,1,0,155,162,1,0,169,162,1,0,216,162,1,0,12,163,1,0,29,163,1,0,66,163,1,0,101,163,1,0,107,163,1,0,135,163,1,0,164,163,1,0,191,163,1,0,224,163,1,0,250,163,1,0,28,164,1,0,59,164,1,0,97,164,1,0,121,164,1,0,153,164,1,0,182,164,1,0,218,164,1,0,230,164,1,0,166,185,2,0,241,164,1,0,23,165,1,0,59,165,1,0,97,165,1,0,166,185,2,0,151,165,1,0,175,165,1,0,188,165,1,0,235,165,1,0,230,164,1,0,166,185,2,0,248,165,1,0,1,166,1,0,34,166,1,0,93,166,1,0,168,166,1,0,252,166,1,0,30,167,1,0,51,167,1,0,74,167,1,0,96,167,1,0,120,167,1,0,166,185,2,0,142,167,1,0,169,167,1,0,205,167,1,0,241,167,1,0,22,168,1,0,166,185,2,0,55,168,1,0,81,168,1,0,99,168,1,0,112,168,1,0,125,168,1,0,145,168,1,0,160,168,1,0,168,168,1,0,189,168,1,0,203,168,1,0,9,169,1,0,20,169,1,0,230,164,1,0,166,185,2,0,26,169,1,0,38,169,1,0,53,169,1,0,101,163,1,0,166,185,2,0,72,169,1,0,113,169,1,0,143,169,1,0,159,169,1,0,176,169,1,0,183,169,1,0,198,169,1,0,214,169,1,0,26,170,1,0,33,170,1,0,101,163,1,0,166,185,2,0,43,170,1,0,87,170,1,0,98,170,1,0,107,170,1,0,116,170,1,0,133,170,1,0,150,170,1,0,170,170,1,0,230,164,1,0,166,185,2,0,182,170,1,0,198,170,1,0,212,170,1,0,226,170,1,0,239,170,1,0,252,170,1,0,18,171,1,0,27,171,1,0,42,171,1,0,55,171,1,0,72,171,1,0,230,164,1,0,166,185,2,0,83,171,1,0,114,171,1,0,166,185,2,0,132,171,1,0,147,171,1,0,195,171,1,0,205,171,1,0,218,171,1,0,231,171,1,0,244,171,1,0,1,172,1,0,4,172,1,0,166,185,2,0,8,172,1,0,166,185,2,0,43,172,1,0,92,172,1,0,139,172,1,0,162,172,1,0,189,172,1,0,216,172,1,0,230,164,1,0,166,185,2,0,244,172,1,0,166,185,2,0,28,173,1,0,40,173,1,0,59,173,1,0,78,173,1,0,99,173,1,0,120,173,1,0,124,173,1,0,101,163,1,0,166,185,2,0,136,173,1,0,166,185,2,0,152,173,1,0,166,173,1,0,178,173,1,0,191,173,1,0,223,173,1,0,239,173,1,0,5,174,1,0,166,185,2,0,25,174,1,0,98,174,1,0,168,174,1,0,216,174,1,0,11,175,1,0,18,175,1,0,57,175,1,0,96,175,1,0,166,185,2,0,101,175,1,0,0,0,0,0,26,0,0,0,0,0,0,0,27,0,0,0,28,0,0,0,5,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,4,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,11,0,0,0,6,0,0,0,4,0,0,0,12,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,208,33,2,0,1,0,0,0,232,181,0,0,144,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,217,1,0,1,0,0,0,0,0,0,0,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,147,2,0,188,147,2,0,29,184,1,0,1,148,2,0,60,148,2,0,94,148,2,0,100,148,2,0,149,171,2,0,139,148,2,0,154,148,2,0,183,148,2,0,194,148,2,0,228,148,2,0,26,149,2,0,80,149,2,0,139,149,2,0,193,149,2,0,227,149,2,0,242,149,2,0,35,150,2,0,43,150,2,0,217,175,1,0,226,175,1,0,72,150,2,0,235,175,1,0,146,150,2,0,244,175,1,0,156,150,2,0,253,175,1,0,166,150,2,0,245,150,2,0,48,151,2,0,9,176,1,0,107,151,2,0,118,151,2,0,187,151,2,0,201,151,2,0,19,152,2,0,33,152,2,0,47,152,2,0,58,152,2,0,107,152,2,0,171,152,2,0,179,152,2,0,187,152,2,0,246,152,2,0,44,153,2,0,56,153,2,0,34,184,1,0,68,153,2,0,78,153,2,0,89,153,2,0,118,153,2,0,172,153,2,0,107,156,2,0,141,156,2,0,153,156,2,0,88,159,2,0,137,159,2,0,181,159,2,0,235,159,2,0,248,159,2,0,26,160,2,0,60,160,2,0,69,160,2,0,143,160,2,0,153,160,2,0,222,160,2,0,20,161,2,0,31,161,2,0,164,161,2,0,185,161,2,0,17,176,1,0,195,161,2,0,205,161,2,0,3,162,2,0,67,162,2,0,81,162,2,0,165,162,2,0,180,162,2,0,195,162,2,0,18,163,2,0,42,184,1,0,82,163,2,0,92,163,2,0,98,163,2,0,142,163,2,0,181,163,2,0,198,163,2,0,209,163,2,0,22,164,2,0,91,164,2,0,106,164,2,0,122,164,2,0,140,164,2,0,156,164,2,0,172,164,2,0,185,164,2,0,195,164,2,0,249,164,2,0,2,165,2,0,66,165,2,0,85,165,2,0,47,184,1,0,93,165,2,0,147,165,2,0,186,165,2,0,240,165,2,0,23,166,2,0,37,166,2,0,91,166,2,0,165,166,2,0,239,166,2,0,250,166,2,0,48,167,2,0,53,167,2,0,82,167,2,0,111,167,2,0,122,167,2,0,161,167,2,0,185,167,2,0,239,167,2,0,37,168,2,0,49,168,2,0,88,168,2,0,99,168,2,0,148,168,2,0,197,168,2,0,90,196,1,0,236,168,2,0,24,169,2,0,78,169,2,0,132,169,2,0,142,169,2,0,171,169,2,0,235,169,2,0,33,170,2,0,53,184,1,0,57,170,2,0,101,170,2,0,140,170,2,0,194,170,2,0,255,170,2,0,33,171,2,0,39,171,2,0,50,171,2,0,89,171,2,0,193,176,1,0,189,176,1,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,7,0,0,0,5,0,0,0,15,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,174,182,1,0,1,0,0,0,12,185,0,0,232,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,177,182,1,0,1,0,0,0,0,0,0,0,8,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,44,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,17,0,0,0,8,0,0,0,6,0,0,0,18,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,17,184,1,0,1,0,0,0,216,185,0,0,64,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,184,1,0,1,0,0,0,0,0,0,0,96,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,184,1,0,149,171,2,0,154,148,2,0,34,184,1,0,172,153,2,0,107,156,2,0,42,184,1,0,142,163,2,0,66,165,2,0,47,184,1,0,122,167,2,0,161,167,2,0,90,196,1,0,53,184,1,0,33,171,2,0,50,171,2,0,47,0,0,0,0,0,0,0,48,0,0,0,49,0,0,0,9,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,10,0,0,0,7,0,0,0,21,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,228,194,1,0,1,0,0,0,240,186,0,0,152,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,194,1,0,1,0,0,0,0,0,0,0,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,148,2,0,240,194,1,0,149,171,2,0,154,148,2,0,183,148,2,0,251,194,1,0,1,195,1,0,12,195,1,0,19,195,1,0,194,148,2,0,26,149,2,0,27,195,1,0,33,195,1,0,44,195,1,0,193,149,2,0,227,149,2,0,43,150,2,0,51,195,1,0,146,150,2,0,166,150,2,0,48,151,2,0,61,195,1,0,187,151,2,0,201,151,2,0,19,152,2,0,72,195,1,0,33,152,2,0,80,195,1,0,89,195,1,0,103,195,1,0,113,195,1,0,246,152,2,0,122,195,1,0,56,153,2,0,89,153,2,0,118,153,2,0,128,195,1,0,189,153,2,0,232,153,2,0,17,154,2,0,52,154,2,0,93,154,2,0,128,154,2,0,169,154,2,0,204,154,2,0,245,154,2,0,24,155,2,0,65,155,2,0,100,155,2,0,141,155,2,0,176,155,2,0,217,155,2,0,252,155,2,0,37,156,2,0,72,156,2,0,107,156,2,0,135,195,1,0,141,156,2,0,147,195,1,0,181,159,2,0,26,160,2,0,222,160,2,0,160,195,1,0,195,162,2,0,173,195,1,0,82,163,2,0,98,163,2,0,183,195,1,0,142,163,2,0,181,163,2,0,198,163,2,0,198,195,1,0,216,195,1,0,209,163,2,0,91,164,2,0,106,164,2,0,122,164,2,0,140,164,2,0,156,164,2,0,232,195,1,0,243,195,1,0,254,195,1,0,172,164,2,0,66,165,2,0,71,165,2,0,3,196,1,0,12,196,1,0,21,196,1,0,37,196,1,0,44,196,1,0,147,165,2,0,186,165,2,0,240,165,2,0,37,166,2,0,53,167,2,0,82,167,2,0,52,196,1,0,161,167,2,0,59,196,1,0,49,168,2,0,68,196,1,0,99,168,2,0,76,196,1,0,197,168,2,0,90,196,1,0,236,168,2,0,24,169,2,0,97,196,1,0,171,169,2,0,235,169,2,0,107,196,1,0,33,170,2,0,57,170,2,0,140,170,2,0,117,196,1,0,131,196,1,0,194,170,2,0,201,170,2,0,255,170,2,0,33,171,2,0,50,171,2,0,89,171,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,61,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,23,0,0,0,11,0,0,0,8,0,0,0,24,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,235,205,1,0,255,255,255,255,168,189,0,0,240,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,205,1,0,255,255,255,255,0,0,0,0,16,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,205,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,66,0,0,240,52,2,0,65,73,0,0,202,52,2,0,65,82,0,0,157,52,2,0,65,88,0,0,5,53,2,0,66,32,0,0,65,55,2,0,66,73,0,0,82,55,2,0,67,66,0,0,138,53,2,0,67,79,0,0,120,53,2,0,67,88,0,0,151,53,2,0,72,32,0,0,187,53,2,0,72,66,0,0,197,53,2,0,72,73,0,0,81,54,2,0,72,88,0,0,212,53,2,0,72,98,0,0,5,54,2,0,72,105,0,0,56,54,2,0,72,114,0,0,234,53,2,0,72,120,0,0,27,54,2,0,73,32,0,0,99,55,2,0,75,66,0,0,28,53,2,0,75,73,0,0,100,53,2,0,75,82,0,0,80,53,2,0,75,88,0,0,61,53,2,0,78,66,0,0,99,54,2,0,78,73,0,0,170,54,2,0,78,82,0,0,194,54,2,0,78,88,0,0,142,54,2,0,80,65,0,0,35,55,2,0,80,66,0,0,223,54,2,0,80,73,0,0,19,55,2,0,80,88,0,0,255,54,2,0,82,32,0,0,17,57,2,0,83,32,0,0,50,55,2,0,90,68,0,0,160,55,2,0,0,0,0,0,0,0,0,0,1,0,0,0,15,0,0,0,149,216,1,0,1,0,0,0,128,195,0,0,0,0,0,0,16,0,0,0,157,216,1,0,1,0,0,0,128,195,0,0,0,0,0,0,17,0,0,0,165,216,1,0,1,0,0,0,128,195,0,0,0,0,0,0,17,0,0,0,174,216,1,0,1,0,0,0,128,195,0,0,0,0,0,0,17,0,0,0,182,216,1,0,1,0,0,0,128,195,0,0,0,0,0,0,19,0,0,0,190,216,1,0,1,0,0,0,132,195,0,0,0,0,0,0,20,0,0,0,198,216,1,0,1,0,0,0,132,195,0,0,0,0,0,0,21,0,0,0,206,216,1,0,1,0,0,0,132,195,0,0,0,0,0,0,21,0,0,0,215,216,1,0,1,0,0,0,132,195,0,0,0,0,0,0,21,0,0,0,223,216,1,0,1,0,0,0,132,195,0,0,0,0,0,0,22,0,0,0,231,216,1,0,1,0,0,0,136,195,0,0,0,0,0,0,23,0,0,0,240,216,1,0,1,0,0,0,136,195,0,0,0,0,0,0,24,0,0,0,249,216,1,0,1,0,0,0,136,195,0,0,0,0,0,0,24,0,0,0,3,217,1,0,1,0,0,0,136,195,0,0,0,0,0,0,24,0,0,0,12,217,1,0,1,0,0,0,136,195,0,0,0,0,0,0,25,0,0,0,21,217,1,0,1,0,0,0,140,195,0,0,0,0,0,0,25,0,0,0,28,217,1,0,1,0,0,0,140,195,0,0,0,0,0,0,26,0,0,0,34,217,1,0,1,0,0,0,144,195,0,0,0,0,0,0,10,0,0,0,43,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,11,0,0,0,51,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,12,0,0,0,59,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,12,0,0,0,68,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,12,0,0,0,76,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,14,0,0,0,84,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,14,0,0,0,91,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,13,0,0,0,99,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,5,0,0,0,107,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,6,0,0,0,115,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,7,0,0,0,123,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,7,0,0,0,132,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,7,0,0,0,140,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,9,0,0,0,148,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,9,0,0,0,155,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,8,0,0,0,163,217,1,0,1,0,0,0,148,195,0,0,0,0,0,0,0,0,0,0,171,217,1,0,1,0,0,0,152,195,0,0,0,0,0,0,1,0,0,0,180,217,1,0,1,0,0,0,152,195,0,0,0,0,0,0,2,0,0,0,189,217,1,0,1,0,0,0,152,195,0,0,0,0,0,0,2,0,0,0,199,217,1,0,1,0,0,0,152,195,0,0,0,0,0,0,2,0,0,0,208,217,1,0,1,0,0,0,152,195,0,0,0,0,0,0,4,0,0,0,217,217,1,0,1,0,0,0,152,195,0,0,0,0,0,0,4,0,0,0,225,217,1,0,1,0,0,0,152,195,0,0,0,0,0,0,3,0,0,0,234,217,1,0,1,0,0,0,152,195,0,0,0,0,0,0,18,0,0,0,243,217,1,0,1,0,0,0,128,195,0,0,0,0,0,0,27,0,0,0,251,217,1,0,1,0,0,0,156,195,0,0,0,0,0,0,28,0,0,0,3,218,1,0,1,0,0,0,156,195,0,0,0,0,0,0,29,0,0,0,11,218,1,0,1,0,0,0,156,195,0,0,0,0,0,0,29,0,0,0,20,218,1,0,1,0,0,0,156,195,0,0,0,0,0,0,29,0,0,0,28,218,1,0,1,0,0,0,156,195,0,0,0,0,0,0,30,0,0,0,36,218,1,0,1,0,0,0,160,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,143,221,1,0,172,195,0,0,1,0,0,0,200,195,0,0,0,0,0,0,0,0,0,0,63,0,0,0,64,0,0,0,1,0,0,0,0,0,0,0,33,25,2,0,0,0,0,0,188,195,0,0,196,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,1,0,0,48,1,0,0,176,0,0,0,26,229,1,0,31,229,1,0,35,229,1,0,42,229,1,0,46,229,1,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,234,1,0,120,197,0,0,1,0,0,0,212,197,0,0,0,0,0,0,0,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,66,0,0,0,76,0,0,0,66,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,0,0,0,0,0,0,0,0,29,234,1,0,0,0,0,0,136,197,0,0,208,197,0,0,1,0,0,0,35,234,1,0,0,0,0,0,144,197,0,0,208,197,0,0,2,0,0,0,39,234,1,0,0,0,0,0,152,197,0,0,208,197,0,0,3,0,0,0,44,234,1,0,0,0,0,0,160,197,0,0,208,197,0,0,4,0,0,0,50,234,1,0,0,0,0,0,168,197,0,0,208,197,0,0,5,0,0,0,56,234,1,0,0,0,0,0,192,197,0,0,208,197,0,0,6,0,0,0,66,234,1,0,0,0,0,0,200,197,0,0,208,197,0,0,7,0,0,0,72,234,1,0,0,0,0,0,176,197,0,0,208,197,0,0,7,0,0,0,76,234,1,0,0,0,0,0,176,197,0,0,208,197,0,0,7,0,0,0,81,234,1,0,0,0,0,0,184,197,0,0,208,197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,221,236,1,0,8,0,0,0,48,0,0,0,0,0,0,0,1,0,0,0,28,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,185,2,0,0,0,0,0,80,165,2,0,1,0,0,0,224,252,1,0,7,0,0,0,232,252,1,0,3,0,0,0,143,186,2,0,5,0,0,0,240,252,1,0,15,0,0,0,181,33,2,0,8,0,0,0,181,33,2,0,16,0,0,0,248,252,1,0,4,0,0,0,248,252,1,0,17,0,0,0,253,252,1,0,5,0,0,0,253,252,1,0,2,0,0,0,3,253,1,0,6,0,0,0,10,253,1,0,4,0,0,0,22,253,1,0,7,0,0,0,30,253,1,0,7,0,0,0,46,253,1,0,5,0,0,0,52,253,1,0,8,0,0,0,75,253,1,0,8,0,0,0,52,253,1,0,9,0,0,0,84,253,1,0,7,0,0,0,92,253,1,0,10,0,0,0,118,253,1,0,7,0,0,0,126,253,1,0,11,0,0,0,152,253,1,0,6,0,0,0,159,253,1,0,12,0,0,0,189,253,1,0,9,0,0,0,159,253,1,0,13,0,0,0,199,253,1,0,8,0,0,0,208,253,1,0,14,0,0,0,241,253,1,0,8,0,0,0,250,253,1,0,18,0,0,0,27,254,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,29,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,30,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,64,0,0,0,228,202,0,0,88,11,2,0,8,203,0,0,16,203,0,0,6,0,0,0,4,0,0,0,252,202,0,0,6,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,11,2,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,10,0,0,0,196,204,0,0,68,204,0,0,172,204,0,0,0,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,32,0,0,0,8,0,0,0,81,0,0,0,33,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,9,0,0,0,2,0,0,0,5,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,3,0,0,0,12,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,14,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,70,2,0,167,70,2,0,21,13,2,0,186,70,2,0,192,70,2,0,177,70,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,1,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,19,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,1,0,0,0,30,0,0,0,1,0,0,0,1,0,0,0,19,0,0,0,1,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,19,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,19,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,46,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,47,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+43512);allocate([19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,48,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,19,2,0,176,19,2,0,213,70,2,0,183,19,2,0,190,19,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,21,2,0,8,0,0,0,3,0,0,0,53,21,2,0,57,21,2,0,11,0,0,0,6,0,0,0,205,33,2,0,69,21,2,0,2,0,0,0,1,0,0,0,72,21,2,0,76,21,2,0,4,0,0,0,2,0,0,0,81,21,2,0,85,21,2,0,4,0,0,0,4,0,0,0,90,21,2,0,95,21,2,0,5,0,0,0,5,0,0,0,101,21,2,0,105,21,2,0,4,0,0,0,7,0,0,0,110,21,2,0,114,21,2,0,5,0,0,0,9,0,0,0,120,21,2,0,124,21,2,0,4,0,0,0,10,0,0,0,129,21,2,0,134,21,2,0,4,0,0,0,12,0,0,0,139,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,29,2,0,0,0,0,0,1,0,0,0,174,29,2,0,1,0,0,0,0,0,0,0,127,69,2,0,1,0,0,0,1,0,0,0,80,165,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,25,2,0,49,0,0,0,0,0,0,0,0,0,0,0,54,58,2,0,16,0,0,0,222,177,2,0,128,0,0,0,60,25,2,0,64,0,0,0,103,47,2,0,16,0,0,0,62,25,2,0,64,0,0,0,0,0,0,0,0,0,0,0,17,25,2,0,1,0,0,0,24,25,2,0,2,0,0,0,29,25,2,0,3,0,0,0,36,65,2,0,4,0,0,0,187,47,2,0,5,0,0,0,33,25,2,0,6,0,0,0,80,165,2,0,8,0,0,0,37,25,2,0,33,0,0,0,41,25,2,0,34,0,0,0,45,25,2,0,34,0,0,0,49,25,2,0,1,0,0,0,54,25,2,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,29,2,0,59,29,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,208,132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,33,2,0,205,33,2,0,208,33,2,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,255,255,255,255,141,33,2,0,147,33,2,0,80,165,2,0,0,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,11,0,0,0,40,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,65,2,0,208,222,0,0,80,133,0,0,0,0,0,0,138,47,2,0,208,222,0,0,128,133,0,0,0,0,0,0,9,57,2,0,208,222,0,0,176,133,0,0,0,0,0,0,146,47,2,0,208,222,0,0,176,133,0,0,0,0,0,0,151,47,2,0,208,222,0,0,224,133,0,0,0,0,0,0,158,47,2,0,232,222,0,0,224,133,0,0,0,0,0,0,164,47,2,0,208,222,0,0,16,134,0,0,0,0,0,0,168,47,2,0,208,222,0,0,64,134,0,0,0,0,0,0,80,165,2,0,208,222,0,0,112,134,0,0,0,0,0,0,177,47,2,0,208,222,0,0,112,134,0,0,0,0,0,0,187,47,2,0,208,222,0,0,160,134,0,0,0,0,0,0,195,47,2,0,208,222,0,0,208,134,0,0,0,0,0,0,205,47,2,0,208,222,0,0,0,135,0,0,0,0,0,0,219,47,2,0,208,222,0,0,48,135,0,0,0,0,0,0,225,47,2,0,208,222,0,0,96,135,0,0,0,0,0,0,234,47,2,0,208,222,0,0,144,135,0,0,0,0,0,0,242,47,2,0,208,222,0,0,192,135,0,0,0,0,0,0,251,47,2,0,208,222,0,0,240,135,0,0,0,0,0,0,3,48,2,0,208,222,0,0,32,136,0,0,0,0,0,0,8,48,2,0,208,222,0,0,80,136,0,0,0,0,0,0,12,48,2,0,208,222,0,0,128,136,0,0,0,0,0,0,19,48,2,0,208,222,0,0,176,136,0,0,0,0,0,0,25,48,2,0,208,222,0,0,224,136,0,0,0,0,0,0,35,48,2,0,208,222,0,0,80,133,0,0,0,0,0,0,40,48,2,0,208,222,0,0,80,133,0,0,0,0,0,0,50,48,2,0,208,222,0,0,16,137,0,0,0,0,0,0,57,48,2,0,208,222,0,0,64,137,0,0,0,0,0,0,70,48,2,0,208,222,0,0,112,137,0,0,0,0,0,0,84,48,2,0,208,222,0,0,160,137,0,0,0,0,0,0,98,48,2,0,208,222,0,0,208,137,0,0,0,0,0,0,110,48,2,0,208,222,0,0,0,138,0,0,0,0,0,0,123,48,2,0,208,222,0,0,48,138,0,0,0,0,0,0,132,48,2,0,208,222,0,0,96,138,0,0,0,0,0,0,142,48,2,0,208,222,0,0,144,138,0,0,0,0,0,0,151,48,2,0,208,222,0,0,192,138,0,0,0,0,0,0,159,48,2,0,208,222,0,0,240,138,0,0,0,0,0,0,167,48,2,0,208,222,0,0,32,139,0,0,0,0,0,0,176,48,2,0,208,222,0,0,80,139,0,0,0,0,0,0,180,48,2,0,208,222,0,0,128,139,0,0,0,0,0,0,191,48,2,0,208,222,0,0,176,139,0,0,0,0,0,0,195,48,2,0,208,222,0,0,224,139,0,0,0,0,0,0,205,48,2,0,208,222,0,0,16,140,0,0,0,0,0,0,214,48,2,0,208,222,0,0,64,140,0,0,0,0,0,0,222,48,2,0,208,222,0,0,112,140,0,0,0,0,0,0,235,48,2,0,208,222,0,0,160,140,0,0,0,0,0,0,247,48,2,0,208,222,0,0,208,140,0,0,0,0,0,0,2,49,2,0,208,222,0,0,0,141,0,0,0,0,0,0,18,49,2,0,208,222,0,0,48,141,0,0,0,0,0,0,32,49,2,0,208,222,0,0,96,141,0,0,0,0,0,0,47,49,2,0,208,222,0,0,144,141,0,0,0,0,0,0,57,49,2,0,208,222,0,0,192,141,0,0,0,0,0,0,66,49,2,0,208,222,0,0,240,141,0,0,0,0,0,0,76,49,2,0,208,222,0,0,32,142,0,0,0,0,0,0,86,49,2,0,208,222,0,0,80,142,0,0,0,0,0,0,93,49,2,0,208,222,0,0,128,142,0,0,0,0,0,0,100,49,2,0,208,222,0,0,176,142,0,0,0,0,0,0,110,49,2,0,0,223,0,0,0,0,0,0,0,0,0,0,117,49,2,0,0,223,0,0,0,0,0,0,0,0,0,0,89,47,2,0,24,223,0,0,0,0,0,0,0,0,0,0,125,49,2,0,48,223,0,0,224,142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,47,2,0,103,47,2,0,57,178,2,0,105,47,2,0,82,0,0,0,83,0,0,0,21,0,0,0,4,0,0,0,2,0,0,0,10,0,0,0,84,0,0,0,83,0,0,0,21,0,0,0,5,0,0,0,0,0,0,0,11,0,0,0,85,0,0,0,86,0,0,0,22,0,0,0,6,0,0,0,3,0,0,0,12,0,0,0,87,0,0,0,88,0,0,0,21,0,0,0,7,0,0,0,0,0,0,0,13,0,0,0,82,0,0,0,83,0,0,0,21,0,0,0,8,0,0,0,2,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,50,2,0,134,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,4,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,9,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,52,2,0,173,52,2,0,186,52,2,0,0,0,0,0,0,0,0,0,4,0,0,0,191,52,2,0,0,0,0,0,0,0,0,0,202,52,2,0,173,52,2,0,186,52,2,0,0,0,0,0,225,52,2,0,5,0,0,0,191,52,2,0,0,0,0,0,233,52,2,0,240,52,2,0,173,52,2,0,0,53,2,0,0,0,0,0,0,0,0,0,6,0,0,0,191,52,2,0,245,68,2,0,0,0,0,0,5,53,2,0,173,52,2,0,0,53,2,0,0,0,0,0,225,52,2,0,7,0,0,0,191,52,2,0,245,68,2,0,233,52,2,0,28,53,2,0,41,53,2,0,0,53,2,0,0,0,0,0,0,0,0,0,10,0,0,0,55,53,2,0,245,68,2,0,0,0,0,0,61,53,2,0,41,53,2,0,0,53,2,0,0,0,0,0,233,52,2,0,11,0,0,0,55,53,2,0,245,68,2,0,233,52,2,0,80,53,2,0,41,53,2,0,94,53,2,0,0,0,0,0,0,0,0,0,8,0,0,0,55,53,2,0,0,0,0,0,0,0,0,0,100,53,2,0,41,53,2,0,94,53,2,0,0,0,0,0,233,52,2,0,9,0,0,0,55,53,2,0,0,0,0,0,233,52,2,0,120,53,2,0,120,53,2,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,128,53,2,0,0,0,0,0,0,0,0,0,138,53,2,0,120,53,2,0,245,68,2,0,0,0,0,0,0,0,0,0,14,0,0,0,128,53,2,0,245,68,2,0,0,0,0,0,151,53,2,0,120,53,2,0,245,68,2,0,0,0,0,0,225,52,2,0,15,0,0,0,128,53,2,0,245,68,2,0,233,52,2,0,171,53,2,0,120,53,2,0,0,0,0,0,0,0,0,0,225,52,2,0,13,0,0,0,128,53,2,0,0,0,0,0,233,52,2,0,187,53,2,0,187,53,2,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,191,52,2,0,0,0,0,0,0,0,0,0,197,53,2,0,187,53,2,0,245,68,2,0,0,0,0,0,0,0,0,0,18,0,0,0,191,52,2,0,245,68,2,0,0,0,0,0,212,53,2,0,187,53,2,0,245,68,2,0,0,0,0,0,225,52,2,0,19,0,0,0,191,52,2,0,245,68,2,0,233,52,2,0,234,53,2,0,187,53,2,0,0,0,0,0,251,53,2,0,0,0,0,0,20,0,0,0,191,52,2,0,0,0,0,0,0,0,0,0,5,54,2,0,187,53,2,0,245,68,2,0,251,53,2,0,0,0,0,0,22,0,0,0,191,52,2,0,245,68,2,0,0,0,0,0,27,54,2,0,187,53,2,0,245,68,2,0,251,53,2,0,225,52,2,0,23,0,0,0,191,52,2,0,245,68,2,0,233,52,2,0,56,54,2,0,187,53,2,0,0,0,0,0,251,53,2,0,225,52,2,0,21,0,0,0,191,52,2,0,0,0,0,0,233,52,2,0,81,54,2,0,187,53,2,0,0,0,0,0,0,0,0,0,225,52,2,0,17,0,0,0,191,52,2,0,0,0,0,0,233,52,2,0,99,54,2,0,121,54,2,0,245,68,2,0,0,0,0,0,0,0,0,0,26,0,0,0,55,53,2,0,245,68,2,0,0,0,0,0,142,54,2,0,121,54,2,0,245,68,2,0,0,0,0,0,233,52,2,0,27,0,0,0,55,53,2,0,245,68,2,0,233,52,2,0,170,54,2,0,121,54,2,0,0,0,0,0,0,0,0,0,233,52,2,0,25,0,0,0,55,53,2,0,0,0,0,0,233,52,2,0,194,54,2,0,121,54,2,0,217,54,2,0,0,0,0,0,0,0,0,0,24,0,0,0,55,53,2,0,0,0,0,0,0,0,0,0,223,54,2,0,237,54,2,0,245,68,2,0,0,0,0,0,0,0,0,0,30,0,0,0,55,53,2,0,245,68,2,0,0,0,0,0,255,54,2,0,237,54,2,0,245,68,2,0,0,0,0,0,233,52,2,0,31,0,0,0,55,53,2,0,245,68,2,0,233,52,2,0,19,55,2,0,237,54,2,0,0,0,0,0,0,0,0,0,233,52,2,0,29,0,0,0,55,53,2,0,0,0,0,0,233,52,2,0,35,55,2,0,237,54,2,0,217,54,2,0,0,0,0,0,0,0,0,0,28,0,0,0,55,53,2,0,0,0,0,0,0,0,0,0,50,55,2,0,50,55,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,57,55,2,0,0,0,0,0,0,0,0,0,65,55,2,0,76,55,2,0,245,68,2,0,0,0,0,0,0,0,0,0,2,0,0,0,55,53,2,0,245,68,2,0,0,0,0,0,82,55,2,0,76,55,2,0,245,68,2,0,0,0,0,0,233,52,2,0,3,0,0,0,55,53,2,0,245,68,2,0,233,52,2,0,99,55,2,0,76,55,2,0,0,0,0,0,0,0,0,0,233,52,2,0,1,0,0,0,55,53,2,0,0,0,0,0,233,52,2,0,17,57,2,0,76,55,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,53,2,0,0,0,0,0,0,0,0,0,112,55,2,0,138,55,2,0,153,55,2,0,0,0,0,0,233,52,2,0,33,0,0,0,55,53,2,0,0,0,0,0,233,52,2,0,160,55,2,0,173,55,2,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,57,55,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,12,0,0,0,42,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,58,2,0,198,0,0,0,160,58,2,0,193,0,0,0,167,58,2,0,194,0,0,0,173,58,2,0,192,0,0,0,180,58,2,0,145,3,0,0,186,58,2,0,197,0,0,0,192,58,2,0,195,0,0,0,199,58,2,0,196,0,0,0,204,58,2,0,146,3,0,0,209,58,2,0,199,0,0,0,216,58,2,0,167,3,0,0,220,58,2,0,33,32,0,0,227,58,2,0,148,3,0,0,233,58,2,0,208,0,0,0,237,58,2,0,201,0,0,0,244,58,2,0,202,0,0,0,250,58,2,0,200,0,0,0,1,59,2,0,149,3,0,0,9,59,2,0,151,3,0,0,13,59,2,0,203,0,0,0,18,59,2,0,147,3,0,0,24,59,2,0,205,0,0,0,31,59,2,0,206,0,0,0,37,59,2,0,204,0,0,0,44,59,2,0,153,3,0,0,49,59,2,0,207,0,0,0,54,59,2,0,154,3,0,0,60,59,2,0,155,3,0,0,67,59,2,0,156,3,0,0,70,59,2,0,209,0,0,0,77,59,2,0,157,3,0,0,80,59,2,0,82,1,0,0,86,59,2,0,211,0,0,0,93,59,2,0,212,0,0,0,99,59,2,0,210,0,0,0,106,59,2,0,169,3,0,0,112,59,2,0,159,3,0,0,120,59,2,0,216,0,0,0,127,59,2,0,213,0,0,0,134,59,2,0,214,0,0,0,139,59,2,0,166,3,0,0,143,59,2,0,160,3,0,0,146,59,2,0,51,32,0,0,152,59,2,0,168,3,0,0,156,59,2,0,161,3,0,0,160,59,2,0,96,1,0,0,167,59,2,0,163,3,0,0,173,59,2,0,222,0,0,0,179,59,2,0,164,3,0,0,183,59,2,0,152,3,0,0,189,59,2,0,218,0,0,0,196,59,2,0,219,0,0,0,202,59,2,0,217,0,0,0,209,59,2,0,165,3,0,0,217,59,2,0,220,0,0,0,222,59,2,0,158,3,0,0,225,59,2,0,221,0,0,0,232,59,2,0,120,1,0,0,237,59,2,0,150,3,0,0,242,59,2,0,225,0,0,0,249,59,2,0,226,0,0,0,255,59,2,0,180,0,0,0,5,60,2,0,230,0,0,0,11,60,2,0,224,0,0,0,18,60,2,0,53,33,0,0,26,60,2,0,177,3,0,0,32,60,2,0,38,0,0,0,36,60,2,0,39,34,0,0,40,60,2,0,32,34,0,0,44,60,2,0,229,0,0,0,50,60,2,0,72,34,0,0,56,60,2,0,227,0,0,0,63,60,2,0,228,0,0,0,68,60,2,0,30,32,0,0,74,60,2,0,178,3,0,0,79,60,2,0,166,0,0,0,86,60,2,0,34,32,0,0,91,60,2,0,41,34,0,0,95,60,2,0,231,0,0,0,102,60,2,0,184,0,0,0,108,60,2,0,162,0,0,0,113,60,2,0,199,3,0,0,117,60,2,0,198,2,0,0,122,60,2,0,99,38,0,0,128,60,2,0,69,34,0,0,133,60,2,0,169,0,0,0,138,60,2,0,181,33,0,0,144,60,2,0,42,34,0,0,148,60,2,0,164,0,0,0,155,60,2,0,211,33,0,0,160,60,2,0,32,32,0,0,167,60,2,0,147,33,0,0,172,60,2,0,176,0,0,0,176,60,2,0,180,3,0,0,182,60,2,0,102,38,0,0,188,60,2,0,247,0,0,0,195,60,2,0,233,0,0,0,202,60,2,0,234,0,0,0,208,60,2,0,232,0,0,0,215,60,2,0,5,34,0,0,221,60,2,0,3,32,0,0,226,60,2,0,2,32,0,0,231,60,2,0,181,3,0,0,239,60,2,0,97,34,0,0,245,60,2,0,183,3,0,0,249,60,2,0,240,0,0,0,253,60,2,0,235,0,0,0,2,61,2,0,172,32,0,0,7,61,2,0,3,34,0,0,13,61,2,0,146,1,0,0,18,61,2,0,0,34,0,0,25,61,2,0,189,0,0,0,32,61,2,0,188,0,0,0,39,61,2,0,190,0,0,0,46,61,2,0,68,32,0,0,52,61,2,0,179,3,0,0,58,61,2,0,101,34,0,0,61,61,2,0,62,0,0,0,64,61,2,0,212,33,0,0,69,61,2,0,148,33,0,0,74,61,2,0,101,38,0,0,81,61,2,0,38,32,0,0,88,61,2,0,237,0,0,0,95,61,2,0,238,0,0,0,101,61,2,0,161,0,0,0,107,61,2,0,236,0,0,0,114,61,2,0,17,33,0,0,120,61,2,0,30,34,0,0,126,61,2,0,43,34,0,0,130,61,2,0,185,3,0,0,135,61,2,0,191,0,0,0,142,61,2,0,8,34,0,0,147,61,2,0,239,0,0,0,152,61,2,0,186,3,0,0,158,61,2,0,208,33,0,0,163,61,2,0,187,3,0,0,170,61,2,0,41,35,0,0,175,61,2,0,171,0,0,0,181,61,2,0,144,33,0,0,186,61,2,0,8,35,0,0,192,61,2,0,28,32,0,0,198,61,2,0,100,34,0,0,201,61,2,0,10,35,0,0,208,61,2,0,23,34,0,0,215,61,2,0,202,37,0,0,219,61,2,0,14,32,0,0,223,61,2,0,57,32,0,0,230,61,2,0,24,32,0,0,236,61,2,0,60,0,0,0,239,61,2,0,175,0,0,0,244,61,2,0,20,32,0,0,250,61,2,0,181,0,0,0,0,62,2,0,183,0,0,0,112,70,2,0,18,34,0,0,7,62,2,0,188,3,0,0,10,62,2,0,7,34,0,0,16,62,2,0,160,0,0,0,21,62,2,0,19,32,0,0,27,62,2,0,96,34,0,0,30,62,2,0,11,34,0,0,33,62,2,0,172,0,0,0,37,62,2,0,9,34,0,0,43,62,2,0,132,34,0,0,48,62,2,0,241,0,0,0,55,62,2,0,189,3,0,0,58,62,2,0,243,0,0,0,65,62,2,0,244,0,0,0,71,62,2,0,83,1,0,0,77,62,2,0,242,0,0,0,84,62,2,0,62,32,0,0,90,62,2,0,201,3,0,0,96,62,2,0,191,3,0,0,104,62,2,0,149,34,0,0,110,62,2,0,40,34,0,0,113,62,2,0,170,0,0,0,118,62,2,0,186,0,0,0,123,62,2,0,248,0,0,0,130,62,2,0,245,0,0,0,137,62,2,0,151,34,0,0,144,62,2,0,246,0,0,0,149,62,2,0,182,0,0,0,154,62,2,0,2,34,0,0,159,62,2,0,48,32,0,0,166,62,2,0,165,34,0,0,171,62,2,0,198,3,0,0,175,62,2,0,192,3,0,0,178,62,2,0,214,3,0,0,182,62,2,0,177,0,0,0,189,62,2,0,163,0,0,0,195,62,2,0,50,32,0,0,201,62,2,0,15,34,0,0,206,62,2,0,29,34,0,0,211,62,2,0,200,3,0,0,215,62,2,0,34,0,0,0,220,62,2,0,210,33,0,0,225,62,2,0,26,34,0,0,231,62,2,0,42,35,0,0,236,62,2,0,187,0,0,0,242,62,2,0,146,33,0,0,247,62,2,0,9,35,0,0,253,62,2,0,29,32,0,0,3,63,2,0,28,33,0,0,8,63,2,0,174,0,0,0,12,63,2,0,11,35,0,0,19,63,2,0,193,3,0,0,23,63,2,0,15,32,0,0,27,63,2,0,58,32,0,0,34,63,2,0,25,32,0,0,40,63,2,0,26,32,0,0,46,63,2,0,97,1,0,0,53,63,2,0,197,34,0,0,58,63,2,0,167,0,0,0,63,63,2,0,173,0,0,0,67,63,2,0,195,3,0,0,73,63,2,0,194,3,0,0,80,63,2,0,60,34,0,0,84,63,2,0,96,38,0,0,91,63,2,0,130,34,0,0,95,63,2,0,134,34,0,0,100,63,2,0,17,34,0,0,104,63,2,0,131,34,0,0,108,63,2,0,185,0,0,0,113,63,2,0,178,0,0,0,118,63,2,0,179,0,0,0,123,63,2,0,135,34,0,0,128,63,2,0,223,0,0,0,134,63,2,0,196,3,0,0,138,63,2,0,52,34,0,0,145,63,2,0,184,3,0,0,151,63,2,0,209,3,0,0,160,63,2,0,9,32,0,0,167,63,2,0,254,0,0,0,173,63,2,0,220,2,0,0,179,63,2,0,215,0,0,0,185,63,2,0,34,33,0,0,191,63,2,0,209,33,0,0,196,63,2,0,250,0,0,0,203,63,2,0,145,33,0,0,208,63,2,0,251,0,0,0,214,63,2,0,249,0,0,0,221,63,2,0,168,0,0,0,225,63,2,0,210,3,0,0,231,63,2,0,197,3,0,0,239,63,2,0,252,0,0,0,244,63,2,0,24,33,0,0,251,63,2,0,190,3,0,0,254,63,2,0,253,0,0,0,5,64,2,0,165,0,0,0,9,64,2,0,255,0,0,0,14,64,2,0,182,3,0,0,19,64,2,0,13,32,0,0,23,64,2,0,12,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,1,1,0,0,63,66,2,0,211,65,2,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,70,2,0,27,70,2,0,34,70,2,0,0,0,0,0,0,0,0,0,48,70,2,0,9,0,0,0,50,70,2,0,10,0,0,0,55,70,2,0,10,0,0,0,63,70,2,0,11,0,0,0,69,70,2,0,11,0,0,0,78,70,2,0,12,0,0,0,81,70,2,0,12,0,0,0,87,70,2,0,13,0,0,0,92,70,2,0,13,0,0,0,100,70,2,0,14,0,0,0,105,70,2,0,14,0,0,0,112,70,2,0,15,0,0,0,118,70,2,0,15,0,0,0,130,70,2,0,16,0,0,0,14,0,0,0,89,0,0,0,46,0,0,0,47,0,0,0,16,0,0,0,48,0,0,0,90,0,0,0,49,0,0,0,17,0,0,0,50,0,0,0,246,187,2,0,167,70,2,0,158,70,2,0,149,70,2,0,145,70,2,0,200,187,2,0,141,70,2,0,172,70,2,0,192,70,2,0,186,70,2,0,177,70,2,0,8,0,0,0,4,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,214,71,2,0,85,93,201,127,201,127,255,0,225,71,2,0,187,45,212,190,174,212,255,0,236,71,2,0,20,119,253,253,192,134,255,0,247,71,2,0,85,93,201,127,201,127,255,0,2,72,2,0,187,45,212,190,174,212,255,0,13,72,2,0,20,119,253,253,192,134,255,0,24,72,2,0,42,102,255,255,255,153,255,0,35,72,2,0,85,93,201,127,201,127,255,0,46,72,2,0,187,45,212,190,174,212,255,0,57,72,2,0,20,119,253,253,192,134,255,0,68,72,2,0,42,102,255,255,255,153,255,0,79,72,2,0,151,173,176,56,108,176,255,0,90,72,2,0,85,93,201,127,201,127,255,0,101,72,2,0,187,45,212,190,174,212,255,0,112,72,2,0,20,119,253,253,192,134,255,0,123,72,2,0,42,102,255,255,255,153,255,0,134,72,2,0,151,173,176,56,108,176,255,0,145,72,2,0,232,252,240,240,2,127,255,0,156,72,2,0,85,93,201,127,201,127,255,0,167,72,2,0,187,45,212,190,174,212,255,0,178,72,2,0,20,119,253,253,192,134,255,0,189,72,2,0,42,102,255,255,255,153,255,0,200,72,2,0,151,173,176,56,108,176,255,0,211,72,2,0,232,252,240,240,2,127,255,0,222,72,2,0,17,224,191,191,91,23,255,0,233,72,2,0,85,93,201,127,201,127,255,0,244,72,2,0,187,45,212,190,174,212,255,0,255,72,2,0,20,119,253,253,192,134,255,0,10,73,2,0,42,102,255,255,255,153,255,0,21,73,2,0,151,173,176,56,108,176,255,0,32,73,2,0,232,252,240,240,2,127,255,0,43,73,2,0,17,224,191,191,91,23,255,0,54,73,2,0,0,0,102,102,102,102,255,0,65,73,2,0,147,25,247,222,235,247,255,0,75,73,2,0,142,75,225,158,202,225,255,0,85,73,2,0,145,188,189,49,130,189,255,0,95,73,2,0,159,16,255,239,243,255,255,0,105,73,2,0,143,46,231,189,215,231,255,0,115,73,2,0,143,127,214,107,174,214,255,0,125,73,2,0,147,208,181,33,113,181,255,0,135,73,2,0,159,16,255,239,243,255,255,0,145,73,2,0,143,46,231,189,215,231,255,0,155,73,2,0,143,127,214,107,174,214,255,0,165,73,2,0,145,188,189,49,130,189,255,0,175,73,2,0,149,241,156,8,81,156,255,0,185,73,2,0,159,16,255,239,243,255,255,0,195,73,2,0,148,43,239,198,219,239,255,0,205,73,2,0,142,75,225,158,202,225,255,0,215,73,2,0,143,127,214,107,174,214,255,0,225,73,2,0,145,188,189,49,130,189,255,0,235,73,2,0,149,241,156,8,81,156,255,0,245,73,2,0,159,16,255,239,243,255,255,0,255,73,2,0,148,43,239,198,219,239,255,0,9,74,2,0,142,75,225,158,202,225,255,0,19,74,2,0,143,127,214,107,174,214,255,0,29,74,2,0,144,169,198,66,146,198,255,0,39,74,2,0,147,208,181,33,113,181,255,0,49,74,2,0,151,241,148,8,69,148,255,0,59,74,2,0,148,8,255,247,251,255,255,0,69,74,2,0,147,25,247,222,235,247,255,0,79,74,2,0,148,43,239,198,219,239,255,0,89,74,2,0,142,75,225,158,202,225,255,0,99,74,2,0,143,127,214,107,174,214,255,0,109,74,2,0,144,169,198,66,146,198,255,0,119,74,2,0,147,208,181,33,113,181,255,0,129,74,2,0,151,241,148,8,69,148,255,0,139,74,2,0,148,8,255,247,251,255,255,0,149,74,2,0,147,25,247,222,235,247,255,0,159,74,2,0,148,43,239,198,219,239,255,0,169,74,2,0,142,75,225,158,202,225,255,0,179,74,2,0,143,127,214,107,174,214,255,0,189,74,2,0,144,169,198,66,146,198,255,0,199,74,2,0,147,208,181,33,113,181,255,0,209,74,2,0,149,241,156,8,81,156,255,0,219,74,2,0,152,235,107,8,48,107,255,0,229,74,2,0,23,239,84,84,48,5,255,0,239,74,2,0,119,255,60,0,60,48,255,0,250,74,2,0,23,236,140,140,81,10,255,0,4,75,2,0,24,194,191,191,129,45,255,0,14,75,2,0,29,112,223,223,194,125,255,0,24,75,2,0,30,52,246,246,232,195,255,0,34,75,2,0,121,38,234,199,234,229,255,0,44,75,2,0,120,95,205,128,205,193,255,0,54,75,2,0,124,165,151,53,151,143,255,0,64,75,2,0,124,252,102,1,102,94,255,0,74,75,2,0,23,239,84,84,48,5,255,0,84,75,2,0,124,252,102,1,102,94,255,0,95,75,2,0,119,255,60,0,60,48,255,0,106,75,2,0,23,236,140,140,81,10,255,0,116,75,2,0,24,194,191,191,129,45,255,0,126,75,2,0,29,112,223,223,194,125,255,0,136,75,2,0,30,52,246,246,232,195,255,0,146,75,2,0,0,0,245,245,245,245,255,0,156,75,2,0,121,38,234,199,234,229,255,0,166,75,2,0,120,95,205,128,205,193,255,0,176,75,2,0,124,165,151,53,151,143,255,0,186,75,2,0,28,135,216,216,179,101,255,0,195,75,2,0,0,0,245,245,245,245,255,0,204,75,2,0,123,127,180,90,180,172,255,0,213,75,2,0,21,215,166,166,97,26,255,0,222,75,2,0,29,112,223,223,194,125,255,0,231,75,2,0,120,95,205,128,205,193,255,0,240,75,2,0,121,253,133,1,133,113,255,0,249,75,2,0,21,215,166,166,97,26,255,0,2,76,2,0,29,112,223,223,194,125,255,0,11,76,2,0,0,0,245,245,245,245,255,0,20,76,2,0,120,95,205,128,205,193,255,0,29,76,2,0,121,253,133,1,133,113,255,0,38,76,2,0,23,236,140,140,81,10,255,0,47,76,2,0,28,135,216,216,179,101,255,0,56,76,2,0,30,52,246,246,232,195,255,0,65,76,2,0,121,38,234,199,234,229,255,0,74,76,2,0,123,127,180,90,180,172,255,0,83,76,2,0,124,252,102,1,102,94,255,0,92,76,2,0,23,236,140,140,81,10,255,0,101,76,2,0,28,135,216,216,179,101,255,0,110,76,2,0,30,52,246,246,232,195,255,0,119,76,2,0,0,0,245,245,245,245,255,0,128,76,2,0,121,38,234,199,234,229,255,0,137,76,2,0,123,127,180,90,180,172,255,0,146,76,2,0,124,252,102,1,102,94,255,0,155,76,2,0,23,236,140,140,81,10,255,0,164,76,2,0,24,194,191,191,129,45,255,0,173,76,2,0,29,112,223,223,194,125,255,0,182,76,2,0,30,52,246,246,232,195,255,0,191,76,2,0,121,38,234,199,234,229,255,0,200,76,2,0,120,95,205,128,205,193,255,0,209,76,2,0,124,165,151,53,151,143,255,0,218,76,2,0,124,252,102,1,102,94,255,0,227,76,2,0,23,236,140,140,81,10,255,0,236,76,2,0,24,194,191,191,129,45,255,0,245,76,2,0,29,112,223,223,194,125,255,0,254,76,2,0,30,52,246,246,232,195,255,0,7,77,2,0,0,0,245,245,245,245,255,0,16,77,2,0,121,38,234,199,234,229,255,0,25,77,2,0,120,95,205,128,205,193,255,0,34,77,2,0,124,165,151,53,151,143,255,0,43,77,2,0,124,252,102,1,102,94,255,0,52,77,2,0,135,20,249,229,245,249,255,0,61,77,2,0,117,74,216,153,216,201,255,0,70,77,2,0,103,185,162,44,162,95,255,0,79,77,2,0,136,14,251,237,248,251,255,0,88,77,2,0,127,54,226,178,226,226,255,0,97,77,2,0,113,120,194,102,194,164,255,0,106,77,2,0,98,190,139,35,139,69,255,0,115,77,2,0,136,14,251,237,248,251,255,0,124,77,2,0,127,54,226,178,226,226,255,0,133,77,2,0,113,120,194,102,194,164,255,0,142,77,2,0,103,185,162,44,162,95,255,0,151,77,2,0,102,255,109,0,109,44,255,0,160,77,2,0,136,14,251,237,248,251,255,0,169,77,2,0,119,34,236,204,236,230,255,0,178,77,2,0,117,74,216,153,216,201,255,0,187,77,2,0,113,120,194,102,194,164,255,0,196,77,2,0,103,185,162,44,162,95,255,0,205,77,2,0,102,255,109,0,109,44,255,0,214,77,2,0,136,14,251,237,248,251,255,0,223,77,2,0,119,34,236,204,236,230,255,0,232,77,2,0,117,74,216,153,216,201,255,0,241,77,2,0,113,120,194,102,194,164,255,0,250,77,2,0,105,159,174,65,174,118,255,0,3,78,2,0,98,190,139,35,139,69,255,0,12,78,2,0,102,255,88,0,88,36,255,0,21,78,2,0,134,6,253,247,252,253,255,0,30,78,2,0,135,20,249,229,245,249,255,0,39,78,2,0,119,34,236,204,236,230,255,0,48,78,2,0,117,74,216,153,216,201,255,0,57,78,2,0,113,120,194,102,194,164,255,0,66,78,2,0,105,159,174,65,174,118,255,0,75,78,2,0,98,190,139,35,139,69,255,0,84,78,2,0,102,255,88,0,88,36,255,0,93,78,2,0,134,6,253,247,252,253,255,0,102,78,2,0,135,20,249,229,245,249,255,0,111,78,2,0,119,34,236,204,236,230,255,0,120,78,2,0,117,74,216,153,216,201,255,0,129,78,2,0,113,120,194,102,194,164,255,0,138,78,2,0,105,159,174,65,174,118,255,0,147,78,2,0,98,190,139,35,139,69,255,0,156,78,2,0,102,255,109,0,109,44,255,0,165,78,2,0,101,255,68,0,68,27,255,0,174,78,2,0,144,20,244,224,236,244,255,0,183,78,2,0,148,70,218,158,188,218,255,0,192,78,2,0,196,123,167,136,86,167,255,0,201,78,2,0,136,14,251,237,248,251,255,0,210,78,2,0,146,53,227,179,205,227,255,0,219,78,2,0,162,74,198,140,150,198,255,0,228,78,2,0,202,149,157,136,65,157,255,0,237,78,2,0,136,14,251,237,248,251,255,0,246,78,2,0,146,53,227,179,205,227,255,0,255,78,2,0,162,74,198,140,150,198,255,0,8,79,2,0,196,123,167,136,86,167,255,0,17,79,2,0,214,225,129,129,15,124,255,0,26,79,2,0,136,14,251,237,248,251,255,0,35,79,2,0,148,43,230,191,211,230,255,0,44,79,2,0,148,70,218,158,188,218,255,0,53,79,2,0,162,74,198,140,150,198,255,0,62,79,2,0,196,123,167,136,86,167,255,0,71,79,2,0,214,225,129,129,15,124,255,0,80,79,2,0,136,14,251,237,248,251,255,0,89,79,2,0,148,43,230,191,211,230,255,0,98,79,2,0,148,70,218,158,188,218,255,0,107,79,2,0,162,74,198,140,150,198,255,0,116,79,2,0,190,100,177,140,107,177,255,0,125,79,2,0,202,149,157,136,65,157,255,0,134,79,2,0,213,252,110,110,1,107,255,0,143,79,2,0,134,6,253,247,252,253,255,0,152,79,2,0,144,20,244,224,236,244,255,0,161,79,2,0,148,43,230,191],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+53752);allocate([211,230,255,0,170,79,2,0,148,70,218,158,188,218,255,0,179,79,2,0,162,74,198,140,150,198,255,0,188,79,2,0,190,100,177,140,107,177,255,0,197,79,2,0,202,149,157,136,65,157,255,0,206,79,2,0,213,252,110,110,1,107,255,0,215,79,2,0,134,6,253,247,252,253,255,0,224,79,2,0,144,20,244,224,236,244,255,0,233,79,2,0,148,43,230,191,211,230,255,0,242,79,2,0,148,70,218,158,188,218,255,0,251,79,2,0,162,74,198,140,150,198,255,0,4,80,2,0,190,100,177,140,107,177,255,0,13,80,2,0,202,149,157,136,65,157,255,0,22,80,2,0,214,225,129,129,15,124,255,0,31,80,2,0,213,255,77,77,0,75,255,0,40,80,2,0,114,211,158,27,158,119,255,0,50,80,2,0,18,252,217,217,95,2,255,0,60,80,2,0,173,95,179,117,112,179,255,0,70,80,2,0,114,211,158,27,158,119,255,0,80,80,2,0,18,252,217,217,95,2,255,0,90,80,2,0,173,95,179,117,112,179,255,0,100,80,2,0,233,209,231,231,41,138,255,0,110,80,2,0,114,211,158,27,158,119,255,0,120,80,2,0,18,252,217,217,95,2,255,0,130,80,2,0,173,95,179,117,112,179,255,0,140,80,2,0,233,209,231,231,41,138,255,0,150,80,2,0,62,208,166,102,166,30,255,0,160,80,2,0,114,211,158,27,158,119,255,0,170,80,2,0,18,252,217,217,95,2,255,0,180,80,2,0,173,95,179,117,112,179,255,0,190,80,2,0,233,209,231,231,41,138,255,0,200,80,2,0,62,208,166,102,166,30,255,0,210,80,2,0,31,252,230,230,171,2,255,0,220,80,2,0,114,211,158,27,158,119,255,0,230,80,2,0,18,252,217,217,95,2,255,0,240,80,2,0,173,95,179,117,112,179,255,0,250,80,2,0,233,209,231,231,41,138,255,0,4,81,2,0,62,208,166,102,166,30,255,0,14,81,2,0,31,252,230,230,171,2,255,0,24,81,2,0,27,210,166,166,118,29,255,0,34,81,2,0,114,211,158,27,158,119,255,0,44,81,2,0,18,252,217,217,95,2,255,0,54,81,2,0,173,95,179,117,112,179,255,0,64,81,2,0,233,209,231,231,41,138,255,0,74,81,2,0,62,208,166,102,166,30,255,0,84,81,2,0,31,252,230,230,171,2,255,0,94,81,2,0,27,210,166,166,118,29,255,0,104,81,2,0,0,0,102,102,102,102,255,0,114,81,2,0,76,25,243,224,243,219,255,0,123,81,2,0,95,61,221,168,221,181,255,0,132,81,2,0,140,170,202,67,162,202,255,0,141,81,2,0,65,17,249,240,249,232,255,0,150,81,2,0,87,46,228,186,228,188,255,0,159,81,2,0,123,101,204,123,204,196,255,0,168,81,2,0,141,197,190,43,140,190,255,0,177,81,2,0,65,17,249,240,249,232,255,0,186,81,2,0,87,46,228,186,228,188,255,0,195,81,2,0,123,101,204,123,204,196,255,0,204,81,2,0,140,170,202,67,162,202,255,0,213,81,2,0,145,243,172,8,104,172,255,0,222,81,2,0,65,17,249,240,249,232,255,0,231,81,2,0,77,41,235,204,235,197,255,0,240,81,2,0,95,61,221,168,221,181,255,0,249,81,2,0,123,101,204,123,204,196,255,0,2,82,2,0,140,170,202,67,162,202,255,0,11,82,2,0,145,243,172,8,104,172,255,0,20,82,2,0,65,17,249,240,249,232,255,0,29,82,2,0,77,41,235,204,235,197,255,0,38,82,2,0,95,61,221,168,221,181,255,0,47,82,2,0,123,101,204,123,204,196,255,0,56,82,2,0,137,160,211,78,179,211,255,0,65,82,2,0,141,197,190,43,140,190,255,0,74,82,2,0,147,242,158,8,88,158,255,0,83,82,2,0,60,12,252,247,252,240,255,0,92,82,2,0,76,25,243,224,243,219,255,0,101,82,2,0,77,41,235,204,235,197,255,0,110,82,2,0,95,61,221,168,221,181,255,0,119,82,2,0,123,101,204,123,204,196,255,0,128,82,2,0,137,160,211,78,179,211,255,0,137,82,2,0,141,197,190,43,140,190,255,0,146,82,2,0,147,242,158,8,88,158,255,0,155,82,2,0,60,12,252,247,252,240,255,0,164,82,2,0,76,25,243,224,243,219,255,0,173,82,2,0,77,41,235,204,235,197,255,0,182,82,2,0,95,61,221,168,221,181,255,0,191,82,2,0,123,101,204,123,204,196,255,0,200,82,2,0,137,160,211,78,179,211,255,0,209,82,2,0,141,197,190,43,140,190,255,0,218,82,2,0,145,243,172,8,104,172,255,0,227,82,2,0,150,239,129,8,64,129,255,0,236,82,2,0,74,21,245,229,245,224,255,0,247,82,2,0,80,72,217,161,217,155,255,0,2,83,2,0,98,178,163,49,163,84,255,0,13,83,2,0,73,15,248,237,248,233,255,0,24,83,2,0,78,54,228,186,228,179,255,0,35,83,2,0,86,104,196,116,196,118,255,0,46,83,2,0,98,190,139,35,139,69,255,0,57,83,2,0,73,15,248,237,248,233,255,0,68,83,2,0,78,54,228,186,228,179,255,0,79,83,2,0,86,104,196,116,196,118,255,0,90,83,2,0,98,178,163,49,163,84,255,0,101,83,2,0,102,255,109,0,109,44,255,0,112,83,2,0,73,15,248,237,248,233,255,0,123,83,2,0,77,44,233,199,233,192,255,0,134,83,2,0,80,72,217,161,217,155,255,0,145,83,2,0,86,104,196,116,196,118,255,0,156,83,2,0,98,178,163,49,163,84,255,0,167,83,2,0,102,255,109,0,109,44,255,0,178,83,2,0,73,15,248,237,248,233,255,0,189,83,2,0,77,44,233,199,233,192,255,0,200,83,2,0,80,72,217,161,217,155,255,0,211,83,2,0,86,104,196,116,196,118,255,0,222,83,2,0,96,158,171,65,171,93,255,0,233,83,2,0,98,190,139,35,139,69,255,0,244,83,2,0,108,255,90,0,90,50,255,0,255,83,2,0,72,7,252,247,252,245,255,0,10,84,2,0,74,21,245,229,245,224,255,0,21,84,2,0,77,44,233,199,233,192,255,0,32,84,2,0,80,72,217,161,217,155,255,0,43,84,2,0,86,104,196,116,196,118,255,0,54,84,2,0,96,158,171,65,171,93,255,0,65,84,2,0,98,190,139,35,139,69,255,0,76,84,2,0,108,255,90,0,90,50,255,0,87,84,2,0,72,7,252,247,252,245,255,0,98,84,2,0,74,21,245,229,245,224,255,0,109,84,2,0,77,44,233,199,233,192,255,0,120,84,2,0,80,72,217,161,217,155,255,0,131,84,2,0,86,104,196,116,196,118,255,0,142,84,2,0,96,158,171,65,171,93,255,0,153,84,2,0,98,190,139,35,139,69,255,0,164,84,2,0,102,255,109,0,109,44,255,0,175,84,2,0,101,255,68,0,68,27,255,0,186,84,2,0,0,0,240,240,240,240,255,0,196,84,2,0,0,0,189,189,189,189,255,0,206,84,2,0,0,0,99,99,99,99,255,0,216,84,2,0,0,0,247,247,247,247,255,0,226,84,2,0,0,0,204,204,204,204,255,0,236,84,2,0,0,0,150,150,150,150,255,0,246,84,2,0,0,0,82,82,82,82,255,0,0,85,2,0,0,0,247,247,247,247,255,0,10,85,2,0,0,0,204,204,204,204,255,0,20,85,2,0,0,0,150,150,150,150,255,0,30,85,2,0,0,0,99,99,99,99,255,0,40,85,2,0,0,0,37,37,37,37,255,0,50,85,2,0,0,0,247,247,247,247,255,0,60,85,2,0,0,0,217,217,217,217,255,0,70,85,2,0,0,0,189,189,189,189,255,0,80,85,2,0,0,0,150,150,150,150,255,0,90,85,2,0,0,0,99,99,99,99,255,0,100,85,2,0,0,0,37,37,37,37,255,0,110,85,2,0,0,0,247,247,247,247,255,0,120,85,2,0,0,0,217,217,217,217,255,0,130,85,2,0,0,0,189,189,189,189,255,0,140,85,2,0,0,0,150,150,150,150,255,0,150,85,2,0,0,0,115,115,115,115,255,0,160,85,2,0,0,0,82,82,82,82,255,0,170,85,2,0,0,0,37,37,37,37,255,0,180,85,2,0,0,0,255,255,255,255,255,0,190,85,2,0,0,0,240,240,240,240,255,0,200,85,2,0,0,0,217,217,217,217,255,0,210,85,2,0,0,0,189,189,189,189,255,0,220,85,2,0,0,0,150,150,150,150,255,0,230,85,2,0,0,0,115,115,115,115,255,0,240,85,2,0,0,0,82,82,82,82,255,0,250,85,2,0,0,0,37,37,37,37,255,0,4,86,2,0,0,0,255,255,255,255,255,0,14,86,2,0,0,0,240,240,240,240,255,0,24,86,2,0,0,0,217,217,217,217,255,0,34,86,2,0,0,0,189,189,189,189,255,0,44,86,2,0,0,0,150,150,150,150,255,0,54,86,2,0,0,0,115,115,115,115,255,0,64,86,2,0,0,0,82,82,82,82,255,0,74,86,2,0,0,0,37,37,37,37,255,0,84,86,2,0,0,0,0,0,0,0,255,0,94,86,2,0,21,48,254,254,230,206,255,0,106,86,2,0,19,147,253,253,174,107,255,0,118,86,2,0,14,240,230,230,85,13,255,0,130,86,2,0,19,32,254,254,237,222,255,0,142,86,2,0,20,120,253,253,190,133,255,0,154,86,2,0,17,194,253,253,141,60,255,0,166,86,2,0,13,253,217,217,71,1,255,0,178,86,2,0,19,32,254,254,237,222,255,0,190,86,2,0,20,120,253,253,190,133,255,0,202,86,2,0,17,194,253,253,141,60,255,0,214,86,2,0,14,240,230,230,85,13,255,0,226,86,2,0,13,250,166,166,54,3,255,0,238,86,2,0,19,32,254,254,237,222,255,0,250,86,2,0,21,91,253,253,208,162,255,0,6,87,2,0,19,147,253,253,174,107,255,0,18,87,2,0,17,194,253,253,141,60,255,0,30,87,2,0,14,240,230,230,85,13,255,0,42,87,2,0,13,250,166,166,54,3,255,0,54,87,2,0,19,32,254,254,237,222,255,0,66,87,2,0,21,91,253,253,208,162,255,0,78,87,2,0,19,147,253,253,174,107,255,0,90,87,2,0,17,194,253,253,141,60,255,0,102,87,2,0,16,234,241,241,105,19,255,0,114,87,2,0,13,253,217,217,72,1,255,0,126,87,2,0,12,247,140,140,45,4,255,0,138,87,2,0,21,20,255,255,245,235,255,0,150,87,2,0,21,48,254,254,230,206,255,0,162,87,2,0,21,91,253,253,208,162,255,0,174,87,2,0,19,147,253,253,174,107,255,0,186,87,2,0,17,194,253,253,141,60,255,0,198,87,2,0,16,234,241,241,105,19,255,0,210,87,2,0,13,253,217,217,72,1,255,0,222,87,2,0,12,247,140,140,45,4,255,0,234,87,2,0,21,20,255,255,245,235,255,0,246,87,2,0,21,48,254,254,230,206,255,0,2,88,2,0,21,91,253,253,208,162,255,0,14,88,2,0,19,147,253,253,174,107,255,0,26,88,2,0,17,194,253,253,141,60,255,0,38,88,2,0,16,234,241,241,105,19,255,0,50,88,2,0,13,253,217,217,72,1,255,0,62,88,2,0,13,250,166,166,54,3,255,0,74,88,2,0,12,246,127,127,39,4,255,0,86,88,2,0,25,54,254,254,232,200,255,0,95,88,2,0,19,121,253,253,187,132,255,0,104,88,2,0,5,197,227,227,74,51,255,0,113,88,2,0,26,37,254,254,240,217,255,0,122,88,2,0,24,115,253,253,204,138,255,0,131,88,2,0,13,164,252,252,141,89,255,0,140,88,2,0,3,218,215,215,48,31,255,0,149,88,2,0,26,37,254,254,240,217,255,0,158,88,2,0,24,115,253,253,204,138,255,0,167,88,2,0,13,164,252,252,141,89,255,0,176,88,2,0,5,197,227,227,74,51,255,0,185,88,2,0,0,255,179,179,0,0,255,0,194,88,2,0,26,37,254,254,240,217,255,0,203,88,2,0,24,95,253,253,212,158,255,0,212,88,2,0,19,121,253,253,187,132,255,0,221,88,2,0,13,164,252,252,141,89,255,0,230,88,2,0,5,197,227,227,74,51,255,0,239,88,2,0,0,255,179,179,0,0,255,0,248,88,2,0,26,37,254,254,240,217,255,0,1,89,2,0,24,95,253,253,212,158,255,0,10,89,2,0,19,121,253,253,187,132,255,0,19,89,2,0,13,164,252,252,141,89,255,0,28,89,2,0,7,178,239,239,101,72,255,0,37,89,2,0,3,218,215,215,48,31,255,0,46,89,2,0,0,255,153,153,0,0,255,0,55,89,2,0,24,18,255,255,247,236,255,0,64,89,2,0,25,54,254,254,232,200,255,0,73,89,2,0,24,95,253,253,212,158,255,0,82,89,2,0,19,121,253,253,187,132,255,0,91,89,2,0,13,164,252,252,141,89,255,0,100,89,2,0,7,178,239,239,101,72,255,0,109,89,2,0,3,218,215,215,48,31,255,0,118,89,2,0,0,255,153,153,0,0,255,0,127,89,2,0,24,18,255,255,247,236,255,0,136,89,2,0,25,54,254,254,232,200,255,0,145,89,2,0,24,95,253,253,212,158,255,0,154,89,2,0,19,121,253,253,187,132,255,0,163,89,2,0,13,164,252,252,141,89,255,0,172,89,2,0,7,178,239,239,101,72,255,0,181,89,2,0,3,218,215,215,48,31,255,0,190,89,2,0,0,255,179,179,0,0,255,0,199,89,2,0,0,255,127,127,0,0,255,0,208,89,2,0,142,68,227,166,206,227,255,0,220,89,2,0,190,153,154,106,61,154,255,0,233,89,2,0,144,211,180,31,120,180,255,0,245,89,2,0,65,97,223,178,223,138,255,0,1,90,2,0,82,184,160,51,160,44,255,0,13,90,2,0,0,99,251,251,154,153,255,0,25,90,2,0,254,225,227,227,26,28,255,0,37,90,2,0,23,143,253,253,191,111,255,0,49,90,2,0,21,255,255,255,127,0,255,0,61,90,2,0,198,42,214,202,178,214,255,0,73,90,2,0,142,68,227,166,206,227,255,0,85,90,2,0,190,153,154,106,61,154,255,0,98,90,2,0,42,102,255,255,255,153,255,0,111,90,2,0,144,211,180,31,120,180,255,0,123,90,2,0,65,97,223,178,223,138,255,0,135,90,2,0,82,184,160,51,160,44,255,0,147,90,2,0,0,99,251,251,154,153,255,0,159,90,2,0,254,225,227,227,26,28,255,0,171,90,2,0,23,143,253,253,191,111,255,0,183,90,2,0,21,255,255,255,127,0,255,0,195,90,2,0,198,42,214,202,178,214,255,0,207,90,2,0,142,68,227,166,206,227,255,0,219,90,2,0,190,153,154,106,61,154,255,0,232,90,2,0,42,102,255,255,255,153,255,0,245,90,2,0,15,197,177,177,89,40,255,0,2,91,2,0,144,211,180,31,120,180,255,0,14,91,2,0,65,97,223,178,223,138,255,0,26,91,2,0,82,184,160,51,160,44,255,0,38,91,2,0,0,99,251,251,154,153,255,0,50,91,2,0,254,225,227,227,26,28,255,0,62,91,2,0,23,143,253,253,191,111,255,0,74,91,2,0,21,255,255,255,127,0,255,0,86,91,2,0,198,42,214,202,178,214,255,0,98,91,2,0,142,68,227,166,206,227,255,0,109,91,2,0,144,211,180,31,120,180,255,0,120,91,2,0,65,97,223,178,223,138,255,0,131,91,2,0,142,68,227,166,206,227,255,0,142,91,2,0,144,211,180,31,120,180,255,0,153,91,2,0,65,97,223,178,223,138,255,0,164,91,2,0,82,184,160,51,160,44,255,0,175,91,2,0,142,68,227,166,206,227,255,0,186,91,2,0,144,211,180,31,120,180,255,0,197,91,2,0,65,97,223,178,223,138,255,0,208,91,2,0,82,184,160,51,160,44,255,0,219,91,2,0,0,99,251,251,154,153,255,0,230,91,2,0,142,68,227,166,206,227,255,0,241,91,2,0,144,211,180,31,120,180,255,0,252,91,2,0,65,97,223,178,223,138,255,0,7,92,2,0,82,184,160,51,160,44,255,0,18,92,2,0,0,99,251,251,154,153,255,0,29,92,2,0,254,225,227,227,26,28,255,0,40,92,2,0,142,68,227,166,206,227,255,0,51,92,2,0,144,211,180,31,120,180,255,0,62,92,2,0,65,97,223,178,223,138,255,0,73,92,2,0,82,184,160,51,160,44,255,0,84,92,2,0,0,99,251,251,154,153,255,0,95,92,2,0,254,225,227,227,26,28,255,0,106,92,2,0,23,143,253,253,191,111,255,0,117,92,2,0,142,68,227,166,206,227,255,0,128,92,2,0,144,211,180,31,120,180,255,0,139,92,2,0,65,97,223,178,223,138,255,0,150,92,2,0,82,184,160,51,160,44,255,0,161,92,2,0,0,99,251,251,154,153,255,0,172,92,2,0,254,225,227,227,26,28,255,0,183,92,2,0,23,143,253,253,191,111,255,0,194,92,2,0,21,255,255,255,127,0,255,0,205,92,2,0,142,68,227,166,206,227,255,0,216,92,2,0,144,211,180,31,120,180,255,0,227,92,2,0,65,97,223,178,223,138,255,0,238,92,2,0,82,184,160,51,160,44,255,0,249,92,2,0,0,99,251,251,154,153,255,0,4,93,2,0,254,225,227,227,26,28,255,0,15,93,2,0,23,143,253,253,191,111,255,0,26,93,2,0,21,255,255,255,127,0,255,0,37,93,2,0,198,42,214,202,178,214,255,0,48,93,2,0,3,78,251,251,180,174,255,0,60,93,2,0,146,53,227,179,205,227,255,0,72,93,2,0,77,41,235,204,235,197,255,0,84,93,2,0,3,78,251,251,180,174,255,0,96,93,2,0,146,53,227,179,205,227,255,0,108,93,2,0,77,41,235,204,235,197,255,0,120,93,2,0,202,27,228,222,203,228,255,0,132,93,2,0,3,78,251,251,180,174,255,0,144,93,2,0,146,53,227,179,205,227,255,0,156,93,2,0,77,41,235,204,235,197,255,0,168,93,2,0,202,27,228,222,203,228,255,0,180,93,2,0,24,88,254,254,217,166,255,0,192,93,2,0,3,78,251,251,180,174,255,0,204,93,2,0,146,53,227,179,205,227,255,0,216,93,2,0,77,41,235,204,235,197,255,0,228,93,2,0,202,27,228,222,203,228,255,0,240,93,2,0,24,88,254,254,217,166,255,0,252,93,2,0,42,50,255,255,255,204,255,0,8,94,2,0,3,78,251,251,180,174,255,0,20,94,2,0,146,53,227,179,205,227,255,0,32,94,2,0,77,41,235,204,235,197,255,0,44,94,2,0,202,27,228,222,203,228,255,0,56,94,2,0,24,88,254,254,217,166,255,0,68,94,2,0,42,50,255,255,255,204,255,0,80,94,2,0,28,44,229,229,216,189,255,0,92,94,2,0,3,78,251,251,180,174,255,0,104,94,2,0,146,53,227,179,205,227,255,0,116,94,2,0,77,41,235,204,235,197,255,0,128,94,2,0,202,27,228,222,203,228,255,0,140,94,2,0,24,88,254,254,217,166,255,0,152,94,2,0,42,50,255,255,255,204,255,0,164,94,2,0,28,44,229,229,216,189,255,0,176,94,2,0,233,35,253,253,218,236,255,0,188,94,2,0,3,78,251,251,180,174,255,0,200,94,2,0,146,53,227,179,205,227,255,0,212,94,2,0,77,41,235,204,235,197,255,0,224,94,2,0,202,27,228,222,203,228,255,0,236,94,2,0,24,88,254,254,217,166,255,0,248,94,2,0,42,50,255,255,255,204,255,0,4,95,2,0,28,44,229,229,216,189,255,0,16,95,2,0,233,35,253,253,218,236,255,0,28,95,2,0,0,0,242,242,242,242,255,0,40,95,2,0,108,53,226,179,226,205,255,0,52,95,2,0,17,81,253,253,205,172,255,0,64,95,2,0,155,31,232,203,213,232,255,0,76,95,2,0,108,53,226,179,226,205,255,0,88,95,2,0,17,81,253,253,205,172,255,0,100,95,2,0,155,31,232,203,213,232,255,0,112,95,2,0,228,43,244,244,202,228,255,0,124,95,2,0,108,53,226,179,226,205,255,0,136,95,2,0,17,81,253,253,205,172,255,0,148,95,2,0,155,31,232,203,213,232,255,0,160,95,2,0,228,43,244,244,202,228,255,0,172,95,2,0,56,45,245,230,245,201,255,0,184,95,2,0,108,53,226,179,226,205,255,0,196,95,2,0,17,81,253,253,205,172,255,0,208,95,2,0,155,31,232,203,213,232,255,0,220,95,2,0,228,43,244,244,202,228,255,0,232,95,2,0,56,45,245,230,245,201,255,0,244,95,2,0,35,81,255,255,242,174,255,0,0,96,2,0,108,53,226,179,226,205,255,0,12,96,2,0,17,81,253,253,205,172,255,0,24,96,2,0,155,31,232,203,213,232,255,0,36,96,2,0,228,43,244,244,202,228,255,0,48,96,2,0,56,45,245,230,245,201,255,0,60,96,2,0,35,81,255,255,242,174,255,0,72,96,2,0,25,39,241,241,226,204,255,0,84,96,2,0,108,53,226,179,226,205,255,0,96,96,2,0,17,81,253,253,205,172,255,0,108,96,2,0,155,31,232,203,213,232,255,0,120,96,2,0,228,43,244,244,202,228,255,0,132,96,2,0,56,45,245,230,245,201,255,0,144,96,2,0,35,81,255,255,242,174,255,0,156,96,2,0,25,39,241,241,226,204,255,0,168,96,2,0,0,0,204,204,204,204,255,0,180,96,2,0,230,253,142,142,1,82,255,0,190,96,2,0,77,191,100,39,100,25,255,0,201,96,2,0,230,220,197,197,27,125,255,0,211,96,2,0,232,118,222,222,119,174,255,0,221,96,2,0,229,62,241,241,182,218,255,0,231,96,2,0,233,29,253,253,224,239,255,0,241,96,2,0,59,38,245,230,245,208,255,0,251,96,2,0,61,103,225,184,225,134,255,0,5,97,2,0,63,166,188,127,188,65,255,0,15,97,2,0,68,197,146,77,146,33,255,0,25,97,2,0,230,253,142,142,1,82,255,0,35,97,2,0,68,197,146,77,146,33,255,0,46,97,2,0,77,191,100,39,100,25,255,0,57,97,2,0,230,220,197,197,27,125,255,0,67,97,2,0,232,118,222,222,119,174,255,0,77,97,2,0,229,62,241,241,182,218,255,0,87,97,2,0,233,29,253,253,224,239,255,0,97,97,2,0,0,0,247,247,247,247,255,0,107,97,2,0,59,38,245,230,245,208,255,0,117,97,2,0,61,103,225,184,225,134,255,0,127,97,2,0,63,166,188,127,188,65,255,0,137,97,2,0,231,76,233,233,163,201,255,0,146,97,2,0,0,0,247,247,247,247,255,0,155,97,2,0,63,129,215,161,215,106,255,0,164,97,2,0,228,220,208,208,28,139,255,0,173,97,2,0,229,62,241,241,182,218,255,0,182,97,2,0,61,103,225,184,225,134,255,0,191,97,2,0,72,198,172,77,172,38,255,0,200,97,2,0,228,220,208,208,28,139,255,0,209,97,2,0,229,62,241,241,182,218,255,0,218,97,2,0,0,0,247,247,247,247,255,0,227,97,2,0,61,103,225,184,225,134,255,0,236,97,2,0,72,198,172,77,172,38,255,0,245,97,2,0,230,220,197,197,27,125,255,0,254,97,2,0,231,76,233,233,163,201,255,0,7,98,2,0,233,29,253,253,224,239,255,0,16,98,2,0,59,38,245,230,245,208,255,0,25,98,2,0,63,129,215,161,215,106,255,0,34,98,2,0,68,197,146,77,146,33,255,0,43,98,2,0,230,220,197,197,27,125,255,0,52,98,2,0,231,76,233,233,163,201,255,0,61,98,2,0,233,29,253,253,224,239,255,0,70,98,2,0,0,0,247,247,247,247,255,0,79,98,2,0,59,38,245,230,245,208,255,0,88,98,2,0,63,129,215,161,215,106,255,0,97,98,2,0,68,197,146,77,146,33,255,0,106,98,2,0,230,220,197,197,27,125,255,0,115,98,2,0,232,118,222,222,119,174,255,0,124,98,2,0,229,62,241,241,182,218,255,0,133,98,2,0,233,29,253,253,224,239,255,0,142,98,2,0,59,38,245,230,245,208,255,0,151,98,2,0,61,103,225,184,225,134,255,0,160,98,2,0,63,166,188,127,188,65,255,0,169,98,2,0,68,197,146,77,146,33,255,0,178,98,2,0,230,220,197,197,27,125,255,0,187,98,2,0,232,118,222,222,119,174,255,0,196,98,2,0,229,62,241,241,182,218,255,0,205,98,2,0,233,29,253,253,224,239,255,0,214,98,2,0,0,0,247,247,247,247,255,0,223,98,2,0,59,38,245,230,245,208,255,0,232,98,2,0,61,103,225,184,225,134,255,0,241,98,2,0,63,166,188,127,188,65,255,0,250,98,2,0,68,197,146,77,146,33,255,0,3,99,2,0,206,255,75,64,0,75,255,0,13,99,2,0,101,255,68,0,68,27,255,0,24,99,2,0,206,173,131,118,42,131,255,0,34,99,2,0,199,87,171,153,112,171,255,0,44,99,2,0,199,51,207,194,165,207,255,0,54,99,2,0,210,21,232,231,212,232,255,0,64,99,2,0,76,30,240,217,240,211,255,0,74,99,2,0,80,68,219,166,219,160,255,0,84,99,2,0,88,123,174,90,174,97,255,0,94,99,2,0,97,197,120,27,120,55,255,0,104,99,2,0,206,255,75,64,0,75,255,0,114,99,2,0,97,197,120,27,120,55,255,0,125,99,2,0,101,255,68,0,68,27,255,0,136,99,2,0,206,173,131,118,42,131,255,0,146,99,2,0,199,87,171,153,112,171,255,0,156,99,2,0,199,51,207,194,165,207,255,0,166,99,2,0,210,21,232,231,212,232,255,0,176,99,2,0,0,0,247,247,247,247,255,0,186,99,2,0,76,30,240,217,240,211,255,0,196,99,2,0,80,68,219,166,219,160,255,0,206,99,2,0,88,123,174,90,174,97,255,0,216,99,2,0,196,70,195,175,141,195,255,0,225,99,2,0,0,0,247,247,247,247,255,0,234,99,2,0,82,90,191,127,191,123,255,0,243,99,2,0,201,168,148,123,50,148,255,0,252,99,2,0,199,51,207,194,165,207,255,0,5,100,2,0,80,68,219,166,219,160,255,0,14,100,2,0,102,255,136,0,136,55,255,0,23,100,2,0,201,168,148,123,50,148,255,0,32,100,2,0,199,51,207,194,165,207,255,0,41,100,2,0,0,0,247,247,247,247,255,0,50,100,2,0,80,68,219,166,219,160,255,0,59,100,2,0,102,255,136,0,136,55,255,0,68,100,2,0,206,173,131,118,42,131,255,0,77,100,2,0,196,70,195,175,141,195,255,0,86,100,2,0,210,21,232,231,212,232,255,0,95,100,2,0,76,30,240,217,240,211,255,0,104,100,2,0,82,90,191,127,191,123,255,0,113,100,2,0,97,197,120,27,120,55,255,0,122,100,2,0,206,173,131,118,42,131,255,0,131,100,2,0,196,70,195,175,141,195,255,0,140,100,2,0,210,21,232,231,212,232,255,0,149,100,2,0,0,0,247,247,247,247,255,0,158,100,2,0,76,30,240,217,240,211,255,0,167,100,2,0,82,90,191,127,191,123,255,0,176,100,2,0,97,197,120,27,120,55,255,0,185,100,2,0,206,173,131,118,42,131,255,0,194,100,2,0,199,87,171,153,112,171,255,0,203,100,2,0,199,51,207,194,165,207,255,0,212,100,2,0,210,21,232,231,212,232,255,0,221,100,2,0,76,30,240,217,240,211,255,0,230,100,2,0,80,68,219,166,219,160,255,0,239,100,2,0,88,123,174,90,174,97,255,0,248,100,2,0,97,197,120,27,120,55,255,0,1,101,2,0,206,173,131,118,42,131,255,0,10,101,2,0,199,87,171,153,112,171,255,0,19,101,2,0,199,51,207,194,165,207,255,0,28,101,2,0,210,21,232,231,212,232,255,0,37,101,2,0,0,0,247,247,247,247,255,0,46,101,2,0,76,30,240,217,240,211,255,0,55,101,2,0,80,68,219,166,219,160,255,0,64,101,2,0,88,123,174,90,174,97,255,0,73,101,2,0,97,197,120,27,120,55,255,0,82,101,2,0,189,11,242,236,231,242,255,0,91,101,2,0,151,61,219,166,189,219,255,0,100,101,2,0,141,197,190,43,140,190,255,0,109,101,2,0,185,8,246,241,238,246,255,0,118,101,2,0,155,40,225,189,201,225,255,0,127,101,2,0,145,112,207,116,169,207,255,0,136,101,2,0,143,247,176,5,112,176,255,0,145,101,2,0,185,8,246,241,238,246,255,0,154,101,2,0,155,40,225,189,201,225,255,0,163,101,2,0,145,112,207,116,169,207,255,0,172,101,2,0,141,197,190,43,140,190,255,0,181,101,2,0,143,247,141,4,90,141,255,0,190,101,2,0,185,8,246,241,238,246,255,0,199,101,2,0,168,24,230,208,209,230,255,0,208,101,2,0,151,61,219,166,189,219,255,0,217,101,2,0,145,112,207,116,169,207,255,0,226,101,2,0,141,197,190,43,140,190,255,0,235,101,2,0,143,247,141,4,90,141,255,0,244,101,2,0,185,8,246,241,238,246,255,0,253,101,2,0,168,24,230,208,209,230,255,0,6,102,2,0,151,61,219,166,189,219,255,0,15,102,2,0,145,112,207,116,169,207,255,0,24,102,2,0,142,183,192,54,144,192,255,0,33,102,2,0,143,247,176,5,112,176,255,0,42,102,2,0,143,248,123,3,78,123,255,0,51,102,2,0,233,8,255,255,247,251,255,0,60,102,2,0,189,11,242,236,231,242,255,0,69,102,2,0,168,24,230,208,209,230,255,0,78,102,2,0,151,61,219,166,189,219,255,0,87,102,2,0,145,112,207,116,169,207,255,0,96,102,2,0,142,183,192,54,144,192,255,0,105,102,2,0,143,247,176,5,112,176,255,0,114,102,2,0,143,248,123,3,78,123,255,0,123,102,2,0,233,8,255,255,247,251,255,0,132,102,2,0,189,11,242,236,231,242,255,0,141,102,2,0,168,24,230,208,209,230,255,0,150,102,2,0,151,61,219,166,189,219,255,0,159,102,2,0,145,112,207,116,169,207,255,0,168,102,2,0,142,183,192,54,144,192,255,0,177,102,2,0,143,247,176,5,112,176,255,0,186,102,2,0,143,247,141,4,90,141,255,0,195,102,2,0,143,249,88,2,56,88,255,0,204,102,2,0,200,14,240,236,226,240,255,0,215,102,2,0,151,61,219,166,189,219,255,0,226,102,2,0,130,208,153,28,144,153,255,0,237,102,2,0,207,8,247,246,239,247,255,0,248,102,2,0,155,40,225,189,201,225,255,0,3,103,2,0,143,128,207,103,169,207,255,0,14,103,2,0,130,251,138,2,129,138,255,0,25,103,2,0,207,8,247,246,239,247,255,0,36,103,2,0,155,40,225,189,201,225,255,0,47,103,2,0,143,128,207,103,169,207,255,0,58,103,2,0,130,208,153,28,144,153,255,0,69,103,2,0,119,252,108,1,108,89,255,0,80,103,2,0,207,8,247,246,239,247,255,0,91,103,2,0,168,24,230,208,209,230,255,0,102,103,2,0,151,61,219,166,189,219,255,0,113,103,2,0,143,128,207,103,169,207,255,0,124,103,2,0,130,208,153,28,144,153,255,0,135,103,2,0,119,252,108,1,108,89,255,0,146,103,2,0,207,8,247,246,239,247,255,0,157,103,2,0,168,24,230,208,209,230,255,0,168,103,2,0,151,61,219,166,189,219,255,0,179,103,2,0,143,128,207,103,169,207,255,0,190,103,2,0,142,183,192,54,144,192,255,0,201,103,2,0,130,251,138,2,129,138,255,0,212,103,2,0,118,252,100,1,100,80,255,0,223,103,2,0,233,8,255,255,247,251,255,0,234,103,2,0,200,14,240,236,226,240,255,0,245,103,2,0,168,24,230,208,209,230,255,0,0,104,2,0,151,61,219,166,189,219,255,0,11,104,2,0,143,128,207,103,169,207,255,0,22,104,2,0,142,183,192,54,144,192,255,0,33,104,2,0,130,251,138,2,129,138,255,0,44,104,2,0,118,252,100,1,100,80,255,0,55,104,2,0,233,8,255,255,247,251,255,0,66,104,2,0,200,14,240,236,226,240,255,0,77,104,2,0,168,24,230,208,209,230,255,0,88,104,2,0,151,61,219,166,189,219,255,0,99,104,2,0,143,128,207,103,169,207,255,0,110,104,2,0,142,183,192,54,144,192,255,0,121,104,2,0,130,251,138,2,129,138,255,0,132,104,2,0,119,252,108,1,108,89,255,0,143,104,2,0,117,251,70,1,70,54,255,0,154,104,2,0,18,238,127,127,59,8,255,0,164,104,2,0,195,255,75,45,0,75,255,0,175,104,2,0,20,246,179,179,88,6,255,0,185,104,2,0,22,232,224,224,130,20,255,0,195,104,2,0,23,155,253,253,184,99,255,0,205,104,2,0,24,72,254,254,224,182,255,0,215,104,2,0,165,20,235,216,218,235,255,0,225,104,2,0,177,47,210,178,171,210,255,0,235,104,2,0,179,84,172,128,115,172,255,0,245,104,2,0,189,181,136,84,39,136,255,0,255,104,2,0,18,238,127,127,59,8,255,0,9,105,2,0,189,181,136,84,39,136,255,0,20,105,2,0,195,255,75,45,0,75,255,0,31,105,2,0,20,246,179,179,88,6,255,0,41,105,2,0,22,232,224,224,130,20,255,0,51,105,2,0,23,155,253,253,184,99,255,0,61,105,2,0,24,72,254,254,224,182,255,0,71,105,2,0,0,0,247,247,247,247,255,0,81,105,2,0,165,20,235,216,218,235,255,0,91,105,2,0,177,47,210,178,171,210,255,0,101,105,2,0,179,84,172,128,115,172,255,0,111,105,2,0,23,187,241,241,163,64,255,0,120,105,2,0,0,0,247,247,247,247,255,0,129,105,2,0,178,69,195,153,142,195,255,0,138,105,2,0,17,253,230,230,97,1,255,0,147,105,2,0,23,155,253,253,184,99,255,0,156,105,2,0,177,47,210,178,171,210,255,0,165,105,2,0,185,155,153,94,60,153,255,0,174,105,2,0,17,253,230,230,97,1,255,0,183,105,2,0,23,155,253,253,184,99,255,0,192,105,2,0,0,0,247,247,247,247,255,0,201,105,2,0,177,47,210,178,171,210,255,0,210,105,2,0,185,155,153,94,60,153,255,0,219,105,2,0,20,246,179,179,88,6,255,0,228,105,2,0,23,187,241,241,163,64,255,0,237,105,2,0,24,72,254,254,224,182,255,0,246,105,2,0,165,20,235,216,218,235,255,0,255,105,2,0,178,69,195,153,142,195,255,0,8,106,2,0,189,181,136,84,39,136,255,0,17,106,2,0,20,246,179,179,88,6,255,0,26,106,2,0,23,187,241,241,163,64,255,0,35,106,2,0,24,72,254,254,224,182,255,0,44,106,2,0,0,0,247,247,247,247,255,0,53,106,2,0,165,20,235,216,218,235,255,0,62,106,2,0,178,69,195,153,142,195,255,0,71,106,2,0,189,181,136,84,39,136,255,0,80,106,2,0,20,246,179,179,88,6,255,0,89,106,2,0,22,232,224,224,130,20,255,0,98,106,2,0,23,155,253,253,184,99,255,0,107,106,2,0,24,72,254,254,224,182,255,0,116,106,2,0,165,20,235,216,218,235,255,0,125,106,2,0,177,47,210,178,171,210,255,0,134,106,2,0,179,84,172,128,115,172,255,0,143,106,2,0,189,181,136,84,39,136,255,0,152,106,2,0,20,246,179,179,88,6,255,0,161,106,2,0,22,232,224,224,130,20,255,0,170,106,2,0,23,155,253,253,184,99,255,0,179,106,2,0,24,72,254,254,224,182,255,0,188,106,2,0,0,0,247,247,247,247,255,0,197,106,2,0,165,20,235,216,218,235,255,0,206,106,2,0,177,47,210,178,171,210,255,0,215,106,2,0,179,84,172,128,115,172,255,0,224,106,2,0,189,181,136,84,39,136,255,0,233,106,2,0,188,14,239,231,225,239,255,0,242,106,2,0,214,67,201,201,148,199,255,0,251,106,2,0,234,222,221,221,28,119,255,0,4,107,2,0,185,8,246,241,238,246,255,0,13,107,2,0,211,41,216,215,181,216,255,0,22,107,2,0,228,139,223,223,101,176,255,0,31,107,2,0,239,232,206,206,18,86,255,0,40,107,2,0,185,8,246,241,238,246,255,0,49,107,2,0,211,41,216,215,181,216,255,0,58,107,2,0,228,139,223,223,101,176,255,0,67,107,2,0,234,222,221,221,28,119,255,0,76,107,2,0,236,255,152,152,0,67,255,0,85,107,2,0,185,8,246,241,238,246,255,0,94,107,2,0,204,38,218,212,185,218,255,0,103,107,2,0,214,67,201,201,148,199,255,0,112,107,2,0,228,139,223,223,101,176,255,0,121,107,2,0,234,222,221,221,28,119,255,0,130,107,2,0,236,255,152,152,0,67,255,0,139,107,2,0,185,8,246,241,238,246,255,0,148,107,2,0,204,38,218,212,185,218,255,0,157,107,2,0,214,67,201,201,148,199,255,0,166,107,2,0,228,139,223,223,101,176,255,0,175,107,2,0,233,209,231,231,41,138,255,0,184,107,2,0,239,232,206,206,18,86,255,0,193,107,2,0,236,255,145,145,0,63,255,0,202,107,2,0,195,5,249,247,244,249,255,0,211,107,2,0,188,14,239,231,225,239,255,0,220,107,2,0,204,38,218,212,185,218,255,0,229,107,2,0,214,67,201,201,148,199,255,0,238,107,2,0,228,139,223,223,101,176,255,0,247,107,2,0,233,209,231,231,41,138,255,0,0,108,2,0,239,232,206,206,18,86,255,0,9,108,2,0,236,255,145,145,0,63,255,0,18,108,2,0,195,5,249,247,244,249,255,0,27,108,2,0,188,14,239,231,225,239,255,0,36,108,2,0,204,38,218,212,185,218,255,0,45,108,2,0,214,67,201,201,148,199,255,0,54,108,2,0,228,139,223,223,101,176,255,0,63,108,2,0,233,209,231,231,41,138,255,0,72,108,2,0,239,232,206,206,18,86,255,0,81,108,2,0,236,255,152,152,0,67,255,0,90,108,2,0,242,255,103,103,0,31,255,0,99,108,2,0,180,8,245,239,237,245,255,0,111,108,2,0,168,37,220,188,189,220,255,0,123,108,2,0,176,100,177,117,107,177,255,0,135,108,2,0,182,7,247,242,240,247,255,0,147,108,2,0,173,28,226,203,201,226,255,0,159,108,2,0,173,58,200,158,154,200,255,0,171,108,2,0,182,128,163,106,81,163,255,0,183,108,2,0,182,7,247,242,240,247,255,0,195,108,2,0,173,28,226,203,201,226,255,0,207,108,2,0,173,58,200,158,154,200,255,0,219,108,2,0,176,100,177,117,107,177,255,0,231,108,2,0,188,185,143,84,39,143,255,0,243,108,2,0,182,7,247,242,240,247,255,0,255,108,2,0,170,18,235,218,218,235,255,0,11,109,2,0,168,37,220,188,189,220,255,0,23,109,2,0,173,58,200,158,154,200,255,0,35,109,2,0,176,100,177,117,107,177,255,0,47,109,2,0,188,185,143,84,39,143,255,0,59,109,2,0,182,7,247,242,240,247,255,0,71,109,2,0,170,18,235,218,218,235,255,0,83,109,2,0,168,37,220,188,189,220,255,0,95,109,2,0,173,58,200,158,154,200,255,0,107,109,2,0,172,83,186,128,125,186,255,0,119,109,2,0,182,128,163,106,81,163,255,0,131,109,2,0,190,216,134,74,20,134,255,0,143,109,2,0,191,2,253,252,251,253,255,0,155,109,2,0,180,8,245,239,237,245,255,0,167,109,2,0,170,18,235,218,218,235,255,0,179,109,2,0,168,37,220,188,189,220,255,0,191,109,2,0,173,58,200,158,154,200,255,0,203,109,2,0,172,83,186,128,125,186,255,0,215,109,2,0,182,128,163,106,81,163,255,0,227,109,2,0,190,216,134,74,20,134,255,0,239,109,2,0,191,2,253,252,251,253,255,0,251,109,2,0,180,8,245,239,237,245,255,0,7,110,2,0,170,18,235,218,218,235,255,0,19,110,2,0,168,37,220,188,189,220,255,0,31,110,2,0,173,58,200,158,154,200,255,0,43,110,2,0,172,83,186,128,125,186,255,0,55,110,2,0,182,128,163,106,81,163,255,0,67,110,2,0,188,185,143,84,39,143,255,0,79,110,2,0,191,255,125,63,0,125,255,0,91,110,2,0,242,255,103,103,0,31,255,0,101,110,2,0,150,241,97,5,48,97,255,0,112,110,2,0,249,220,178,178,24,43,255,0,122,110,2,0,5,163,214,214,96,77,255,0,132,110,2,0,13,119,244,244,165,130,255,0,142,110,2,0,15,54,253,253,219,199,255,0,152,110,2,0,142,32,240,209,229,240,255,0,162,110,2,0,141,87,222,146,197,222,255,0,172,110,2,0,143,167,195,67,147,195,255,0,182,110,2,0,148,206,172,33,102,172,255,0,192,110,2,0,242,255,103,103,0,31,255,0,202,110,2,0,148,206,172,33,102,172,255,0,213,110,2,0,150,241,97,5,48,97,255,0,224,110,2,0,249,220,178,178,24,43,255,0,234,110,2,0,5,163,214,214,96,77,255,0,244,110,2,0,13,119,244,244,165,130,255,0,254,110,2,0,15,54,253,253,219,199,255,0,8,111,2,0,0,0,247,247,247,247,255,0,18,111,2,0,142,32,240,209,229,240,255,0,28,111,2,0,141,87,222,146,197,222,255,0,38,111,2,0,143,167,195,67,147,195,255,0,48,111,2,0,12,150,239,239,138,98,255,0,57,111,2,0,0,0,247,247,247,247,255,0,66,111,2,0,143,128,207,103,169,207,255,0,75,111,2,0,248,255,202,202,0,32,255,0,84,111,2,0,13,119,244,244,165,130,255,0,93,111,2,0,141,87,222,146,197,222,255,0,102,111,2,0,143,247,176,5,113,176,255,0,111,111,2,0,248,255,202,202,0,32,255,0,120,111,2,0,13,119,244,244,165,130,255,0,129,111,2,0,0,0,247,247,247,247,255,0,138,111,2,0,141,87,222,146,197,222,255,0,147,111,2,0,143,247,176,5,113,176,255,0,156,111,2,0,249,220,178,178,24,43,255,0,165,111,2,0,12,150,239,239,138,98,255,0,174,111,2,0,15,54,253,253,219,199,255,0,183,111,2,0,142,32,240,209,229,240,255,0,192,111,2,0,143,128,207,103,169,207,255,0,201,111,2,0,148,206,172,33,102,172,255,0,210,111,2,0,249,220,178,178,24,43,255,0,219,111,2,0,12,150,239,239,138,98,255,0,228,111,2,0,15,54,253,253,219,199,255,0,237,111,2,0,0,0,247,247,247,247,255,0,246,111,2,0,142,32,240,209,229,240,255,0,255,111,2,0,143,128,207,103,169,207,255,0,8,112,2,0,148,206,172,33,102,172,255,0,17,112,2,0,249,220,178,178,24,43,255,0,26,112,2,0,5,163,214,214,96,77,255,0,35,112,2,0,13,119,244,244,165,130,255,0,44,112,2,0,15,54,253,253,219,199,255,0,53,112,2,0,142,32,240,209,229,240,255,0,62,112,2,0,141,87,222,146,197,222,255,0,71,112,2,0,143,167,195,67,147,195,255,0,80,112,2,0,148,206,172,33,102,172,255,0,89,112,2,0,249,220,178,178,24,43,255,0,98,112,2,0,5,163,214,214,96,77,255,0,107,112,2,0,13,119,244,244,165,130,255,0,116,112,2,0,15,54,253,253,219,199,255,0,125,112,2,0,0,0,247,247,247,247,255,0,134,112,2,0,142,32,240,209,229,240,255,0,143,112,2,0,141,87,222,146,197,222,255,0,152,112,2,0,143,167,195,67,147,195,255,0,161,112,2,0,148,206,172,33,102,172,255,0,170,112,2,0,242,255,103,103,0,31,255,0,180,112,2,0,0,0,26,26,26,26,255,0,191,112,2,0,249,220,178,178,24,43,255,0,201,112,2,0,5,163,214,214,96,77,255,0,211,112,2,0,13,119,244,244,165,130,255,0,221,112,2,0,15,54,253,253,219,199,255,0,231,112,2,0,0,0,224,224,224,224,255,0,241,112,2,0,0,0,186,186,186,186,255,0,251,112,2,0,0,0,135,135,135,135,255,0,5,113,2,0,0,0,77,77,77,77,255,0,15,113,2,0,242,255,103,103,0,31,255,0,25,113,2,0,0,0,77,77,77,77,255,0,36,113,2,0,0,0,26,26,26,26,255,0,47,113,2,0,249,220,178,178,24,43,255,0,57,113,2,0,5,163,214,214,96,77,255,0,67,113,2,0,13,119,244,244,165,130,255,0,77,113,2,0,15,54,253,253,219,199,255,0,87,113,2,0,0,0,255,255,255,255,255,0,97,113,2,0,0,0,224,224,224,224,255,0,107,113,2,0,0,0,186,186,186,186,255,0,117,113,2,0,0,0,135,135,135,135,255,0,127,113,2,0,12,150,239,239,138,98,255,0,136,113,2,0,0,0,255,255,255,255,255,0,145,113,2,0,0,0,153,153,153,153,255,0,154,113,2,0,248,255,202,202,0,32,255,0,163,113,2,0,13,119,244,244,165,130,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+63992);allocate([172,113,2,0,0,0,186,186,186,186,255,0,181,113,2,0,0,0,64,64,64,64,255,0,190,113,2,0,248,255,202,202,0,32,255,0,199,113,2,0,13,119,244,244,165,130,255,0,208,113,2,0,0,0,255,255,255,255,255,0,217,113,2,0,0,0,186,186,186,186,255,0,226,113,2,0,0,0,64,64,64,64,255,0,235,113,2,0,249,220,178,178,24,43,255,0,244,113,2,0,12,150,239,239,138,98,255,0,253,113,2,0,15,54,253,253,219,199,255,0,6,114,2,0,0,0,224,224,224,224,255,0,15,114,2,0,0,0,153,153,153,153,255,0,24,114,2,0,0,0,77,77,77,77,255,0,33,114,2,0,249,220,178,178,24,43,255,0,42,114,2,0,12,150,239,239,138,98,255,0,51,114,2,0,15,54,253,253,219,199,255,0,60,114,2,0,0,0,255,255,255,255,255,0,69,114,2,0,0,0,224,224,224,224,255,0,78,114,2,0,0,0,153,153,153,153,255,0,87,114,2,0,0,0,77,77,77,77,255,0,96,114,2,0,249,220,178,178,24,43,255,0,105,114,2,0,5,163,214,214,96,77,255,0,114,114,2,0,13,119,244,244,165,130,255,0,123,114,2,0,15,54,253,253,219,199,255,0,132,114,2,0,0,0,224,224,224,224,255,0,141,114,2,0,0,0,186,186,186,186,255,0,150,114,2,0,0,0,135,135,135,135,255,0,159,114,2,0,0,0,77,77,77,77,255,0,168,114,2,0,249,220,178,178,24,43,255,0,177,114,2,0,5,163,214,214,96,77,255,0,186,114,2,0,13,119,244,244,165,130,255,0,195,114,2,0,15,54,253,253,219,199,255,0,204,114,2,0,0,0,255,255,255,255,255,0,213,114,2,0,0,0,224,224,224,224,255,0,222,114,2,0,0,0,186,186,186,186,255,0,231,114,2,0,0,0,135,135,135,135,255,0,240,114,2,0,0,0,77,77,77,77,255,0,249,114,2,0,3,32,253,253,224,221,255,0,2,115,2,0,244,92,250,250,159,181,255,0,11,115,2,0,227,220,197,197,27,138,255,0,20,115,2,0,13,28,254,254,235,226,255,0,29,115,2,0,252,72,251,251,180,185,255,0,38,115,2,0,238,147,247,247,104,161,255,0,47,115,2,0,224,253,174,174,1,126,255,0,56,115,2,0,13,28,254,254,235,226,255,0,65,115,2,0,252,72,251,251,180,185,255,0,74,115,2,0,238,147,247,247,104,161,255,0,83,115,2,0,227,220,197,197,27,138,255,0,92,115,2,0,213,252,122,122,1,119,255,0,101,115,2,0,13,28,254,254,235,226,255,0,110,115,2,0,3,60,252,252,197,192,255,0,119,115,2,0,244,92,250,250,159,181,255,0,128,115,2,0,238,147,247,247,104,161,255,0,137,115,2,0,227,220,197,197,27,138,255,0,146,115,2,0,213,252,122,122,1,119,255,0,155,115,2,0,13,28,254,254,235,226,255,0,164,115,2,0,3,60,252,252,197,192,255,0,173,115,2,0,244,92,250,250,159,181,255,0,182,115,2,0,238,147,247,247,104,161,255,0,191,115,2,0,230,195,221,221,52,151,255,0,200,115,2,0,224,253,174,174,1,126,255,0,209,115,2,0,213,252,122,122,1,119,255,0,218,115,2,0,14,12,255,255,247,243,255,0,227,115,2,0,3,32,253,253,224,221,255,0,236,115,2,0,3,60,252,252,197,192,255,0,245,115,2,0,244,92,250,250,159,181,255,0,254,115,2,0,238,147,247,247,104,161,255,0,7,116,2,0,230,195,221,221,52,151,255,0,16,116,2,0,224,253,174,174,1,126,255,0,25,116,2,0,213,252,122,122,1,119,255,0,34,116,2,0,14,12,255,255,247,243,255,0,43,116,2,0,3,32,253,253,224,221,255,0,52,116,2,0,3,60,252,252,197,192,255,0,61,116,2,0,244,92,250,250,159,181,255,0,70,116,2,0,238,147,247,247,104,161,255,0,79,116,2,0,230,195,221,221,52,151,255,0,88,116,2,0,224,253,174,174,1,126,255,0,97,116,2,0,213,252,122,122,1,119,255,0,106,116,2,0,199,255,106,73,0,106,255,0,115,116,2,0,245,255,165,165,0,38,255,0,127,116,2,0,167,171,149,49,54,149,255,0,140,116,2,0,2,208,215,215,48,39,255,0,152,116,2,0,10,184,244,244,109,67,255,0,164,116,2,0,20,157,253,253,174,97,255,0,176,116,2,0,30,110,254,254,224,144,255,0,188,116,2,0,136,24,248,224,243,248,255,0,200,116,2,0,138,67,233,171,217,233,255,0,212,116,2,0,143,113,209,116,173,209,255,0,224,116,2,0,151,157,180,69,117,180,255,0,236,116,2,0,245,255,165,165,0,38,255,0,248,116,2,0,151,157,180,69,117,180,255,0,5,117,2,0,167,171,149,49,54,149,255,0,18,117,2,0,2,208,215,215,48,39,255,0,30,117,2,0,10,184,244,244,109,67,255,0,42,117,2,0,20,157,253,253,174,97,255,0,54,117,2,0,30,110,254,254,224,144,255,0,66,117,2,0,42,64,255,255,255,191,255,0,78,117,2,0,136,24,248,224,243,248,255,0,90,117,2,0,138,67,233,171,217,233,255,0,102,117,2,0,143,113,209,116,173,209,255,0,114,117,2,0,13,164,252,252,141,89,255,0,125,117,2,0,42,64,255,255,255,191,255,0,136,117,2,0,143,86,219,145,191,219,255,0,147,117,2,0,254,225,215,215,25,28,255,0,158,117,2,0,20,157,253,253,174,97,255,0,169,117,2,0,138,67,233,171,217,233,255,0,180,117,2,0,145,193,182,44,123,182,255,0,191,117,2,0,254,225,215,215,25,28,255,0,202,117,2,0,20,157,253,253,174,97,255,0,213,117,2,0,42,64,255,255,255,191,255,0,224,117,2,0,138,67,233,171,217,233,255,0,235,117,2,0,145,193,182,44,123,182,255,0,246,117,2,0,2,208,215,215,48,39,255,0,1,118,2,0,13,164,252,252,141,89,255,0,12,118,2,0,30,110,254,254,224,144,255,0,23,118,2,0,136,24,248,224,243,248,255,0,34,118,2,0,143,86,219,145,191,219,255,0,45,118,2,0,151,157,180,69,117,180,255,0,56,118,2,0,2,208,215,215,48,39,255,0,67,118,2,0,13,164,252,252,141,89,255,0,78,118,2,0,30,110,254,254,224,144,255,0,89,118,2,0,42,64,255,255,255,191,255,0,100,118,2,0,136,24,248,224,243,248,255,0,111,118,2,0,143,86,219,145,191,219,255,0,122,118,2,0,151,157,180,69,117,180,255,0,133,118,2,0,2,208,215,215,48,39,255,0,144,118,2,0,10,184,244,244,109,67,255,0,155,118,2,0,20,157,253,253,174,97,255,0,166,118,2,0,30,110,254,254,224,144,255,0,177,118,2,0,136,24,248,224,243,248,255,0,188,118,2,0,138,67,233,171,217,233,255,0,199,118,2,0,143,113,209,116,173,209,255,0,210,118,2,0,151,157,180,69,117,180,255,0,221,118,2,0,2,208,215,215,48,39,255,0,232,118,2,0,10,184,244,244,109,67,255,0,243,118,2,0,20,157,253,253,174,97,255,0,254,118,2,0,30,110,254,254,224,144,255,0,9,119,2,0,42,64,255,255,255,191,255,0,20,119,2,0,136,24,248,224,243,248,255,0,31,119,2,0,138,67,233,171,217,233,255,0,42,119,2,0,143,113,209,116,173,209,255,0,53,119,2,0,151,157,180,69,117,180,255,0,64,119,2,0,245,255,165,165,0,38,255,0,76,119,2,0,107,255,104,0,104,55,255,0,89,119,2,0,2,208,215,215,48,39,255,0,101,119,2,0,10,184,244,244,109,67,255,0,113,119,2,0,20,157,253,253,174,97,255,0,125,119,2,0,31,115,254,254,224,139,255,0,137,119,2,0,51,106,239,217,239,139,255,0,149,119,2,0,62,130,217,166,217,106,255,0,161,119,2,0,83,121,189,102,189,99,255,0,173,119,2,0,103,211,152,26,152,80,255,0,185,119,2,0,245,255,165,165,0,38,255,0,197,119,2,0,103,211,152,26,152,80,255,0,210,119,2,0,107,255,104,0,104,55,255,0,223,119,2,0,2,208,215,215,48,39,255,0,235,119,2,0,10,184,244,244,109,67,255,0,247,119,2,0,20,157,253,253,174,97,255,0,3,120,2,0,31,115,254,254,224,139,255,0,15,120,2,0,42,64,255,255,255,191,255,0,27,120,2,0,51,106,239,217,239,139,255,0,39,120,2,0,62,130,217,166,217,106,255,0,51,120,2,0,83,121,189,102,189,99,255,0,63,120,2,0,13,164,252,252,141,89,255,0,74,120,2,0,42,64,255,255,255,191,255,0,85,120,2,0,66,136,207,145,207,96,255,0,96,120,2,0,254,225,215,215,25,28,255,0,107,120,2,0,20,157,253,253,174,97,255,0,118,120,2,0,62,130,217,166,217,106,255,0,129,120,2,0,98,210,150,26,150,65,255,0,140,120,2,0,254,225,215,215,25,28,255,0,151,120,2,0,20,157,253,253,174,97,255,0,162,120,2,0,42,64,255,255,255,191,255,0,173,120,2,0,62,130,217,166,217,106,255,0,184,120,2,0,98,210,150,26,150,65,255,0,195,120,2,0,2,208,215,215,48,39,255,0,206,120,2,0,13,164,252,252,141,89,255,0,217,120,2,0,31,115,254,254,224,139,255,0,228,120,2,0,51,106,239,217,239,139,255,0,239,120,2,0,66,136,207,145,207,96,255,0,250,120,2,0,103,211,152,26,152,80,255,0,5,121,2,0,2,208,215,215,48,39,255,0,16,121,2,0,13,164,252,252,141,89,255,0,27,121,2,0,31,115,254,254,224,139,255,0,38,121,2,0,42,64,255,255,255,191,255,0,49,121,2,0,51,106,239,217,239,139,255,0,60,121,2,0,66,136,207,145,207,96,255,0,71,121,2,0,103,211,152,26,152,80,255,0,82,121,2,0,2,208,215,215,48,39,255,0,93,121,2,0,10,184,244,244,109,67,255,0,104,121,2,0,20,157,253,253,174,97,255,0,115,121,2,0,31,115,254,254,224,139,255,0,126,121,2,0,51,106,239,217,239,139,255,0,137,121,2,0,62,130,217,166,217,106,255,0,148,121,2,0,83,121,189,102,189,99,255,0,159,121,2,0,103,211,152,26,152,80,255,0,170,121,2,0,2,208,215,215,48,39,255,0,181,121,2,0,10,184,244,244,109,67,255,0,192,121,2,0,20,157,253,253,174,97,255,0,203,121,2,0,31,115,254,254,224,139,255,0,214,121,2,0,42,64,255,255,255,191,255,0,225,121,2,0,51,106,239,217,239,139,255,0,236,121,2,0,62,130,217,166,217,106,255,0,247,121,2,0,83,121,189,102,189,99,255,0,2,122,2,0,103,211,152,26,152,80,255,0,13,122,2,0,13,44,254,254,224,210,255,0,22,122,2,0,9,139,252,252,146,114,255,0,31,122,2,0,1,211,222,222,45,38,255,0,40,122,2,0,13,37,254,254,229,217,255,0,49,122,2,0,11,108,252,252,174,145,255,0,58,122,2,0,7,179,251,251,106,74,255,0,67,122,2,0,253,224,203,203,24,29,255,0,76,122,2,0,13,37,254,254,229,217,255,0,85,122,2,0,11,108,252,252,174,145,255,0,94,122,2,0,7,179,251,251,106,74,255,0,103,122,2,0,1,211,222,222,45,38,255,0,112,122,2,0,253,231,165,165,15,21,255,0,121,122,2,0,13,37,254,254,229,217,255,0,130,122,2,0,12,92,252,252,187,161,255,0,139,122,2,0,9,139,252,252,146,114,255,0,148,122,2,0,7,179,251,251,106,74,255,0,157,122,2,0,1,211,222,222,45,38,255,0,166,122,2,0,253,231,165,165,15,21,255,0,175,122,2,0,13,37,254,254,229,217,255,0,184,122,2,0,12,92,252,252,187,161,255,0,193,122,2,0,9,139,252,252,146,114,255,0,202,122,2,0,7,179,251,251,106,74,255,0,211,122,2,0,3,208,239,239,59,44,255,0,220,122,2,0,253,224,203,203,24,29,255,0,229,122,2,0,251,255,153,153,0,13,255,0,238,122,2,0,14,15,255,255,245,240,255,0,247,122,2,0,13,44,254,254,224,210,255,0,0,123,2,0,12,92,252,252,187,161,255,0,9,123,2,0,9,139,252,252,146,114,255,0,18,123,2,0,7,179,251,251,106,74,255,0,27,123,2,0,3,208,239,239,59,44,255,0,36,123,2,0,253,224,203,203,24,29,255,0,45,123,2,0,251,255,153,153,0,13,255,0,54,123,2,0,14,15,255,255,245,240,255,0,63,123,2,0,13,44,254,254,224,210,255,0,72,123,2,0,12,92,252,252,187,161,255,0,81,123,2,0,9,139,252,252,146,114,255,0,90,123,2,0,7,179,251,251,106,74,255,0,99,123,2,0,3,208,239,239,59,44,255,0,108,123,2,0,253,224,203,203,24,29,255,0,117,123,2,0,253,231,165,165,15,21,255,0,126,123,2,0,249,255,103,103,0,13,255,0,135,123,2,0,254,225,228,228,26,28,255,0,144,123,2,0,146,178,184,55,126,184,255,0,153,123,2,0,83,147,175,77,175,74,255,0,162,123,2,0,254,225,228,228,26,28,255,0,171,123,2,0,146,178,184,55,126,184,255,0,180,123,2,0,83,147,175,77,175,74,255,0,189,123,2,0,207,132,163,152,78,163,255,0,198,123,2,0,254,225,228,228,26,28,255,0,207,123,2,0,146,178,184,55,126,184,255,0,216,123,2,0,83,147,175,77,175,74,255,0,225,123,2,0,207,132,163,152,78,163,255,0,234,123,2,0,21,255,255,255,127,0,255,0,243,123,2,0,254,225,228,228,26,28,255,0,252,123,2,0,146,178,184,55,126,184,255,0,5,124,2,0,83,147,175,77,175,74,255,0,14,124,2,0,207,132,163,152,78,163,255,0,23,124,2,0,21,255,255,255,127,0,255,0,32,124,2,0,42,204,255,255,255,51,255,0,41,124,2,0,254,225,228,228,26,28,255,0,50,124,2,0,146,178,184,55,126,184,255,0,59,124,2,0,83,147,175,77,175,74,255,0,68,124,2,0,207,132,163,152,78,163,255,0,77,124,2,0,21,255,255,255,127,0,255,0,86,124,2,0,42,204,255,255,255,51,255,0,95,124,2,0,15,193,166,166,86,40,255,0,104,124,2,0,254,225,228,228,26,28,255,0,113,124,2,0,146,178,184,55,126,184,255,0,122,124,2,0,83,147,175,77,175,74,255,0,131,124,2,0,207,132,163,152,78,163,255,0,140,124,2,0,21,255,255,255,127,0,255,0,149,124,2,0,42,204,255,255,255,51,255,0,158,124,2,0,15,193,166,166,86,40,255,0,167,124,2,0,232,121,247,247,129,191,255,0,176,124,2,0,254,225,228,228,26,28,255,0,185,124,2,0,146,178,184,55,126,184,255,0,194,124,2,0,83,147,175,77,175,74,255,0,203,124,2,0,207,132,163,152,78,163,255,0,212,124,2,0,21,255,255,255,127,0,255,0,221,124,2,0,42,204,255,255,255,51,255,0,230,124,2,0,15,193,166,166,86,40,255,0,239,124,2,0,232,121,247,247,129,191,255,0,248,124,2,0,0,0,153,153,153,153,255,0,1,125,2,0,114,120,194,102,194,165,255,0,10,125,2,0,11,155,252,252,141,98,255,0,19,125,2,0,156,77,203,141,160,203,255,0,28,125,2,0,114,120,194,102,194,165,255,0,37,125,2,0,11,155,252,252,141,98,255,0,46,125,2,0,156,77,203,141,160,203,255,0,55,125,2,0,228,102,231,231,138,195,255,0,64,125,2,0,114,120,194,102,194,165,255,0,73,125,2,0,11,155,252,252,141,98,255,0,82,125,2,0,156,77,203,141,160,203,255,0,91,125,2,0,228,102,231,231,138,195,255,0,100,125,2,0,58,155,216,166,216,84,255,0,109,125,2,0,114,120,194,102,194,165,255,0,118,125,2,0,11,155,252,252,141,98,255,0,127,125,2,0,156,77,203,141,160,203,255,0,136,125,2,0,228,102,231,231,138,195,255,0,145,125,2,0,58,155,216,166,216,84,255,0,154,125,2,0,34,208,255,255,217,47,255,0,163,125,2,0,114,120,194,102,194,165,255,0,172,125,2,0,11,155,252,252,141,98,255,0,181,125,2,0,156,77,203,141,160,203,255,0,190,125,2,0,228,102,231,231,138,195,255,0,199,125,2,0,58,155,216,166,216,84,255,0,208,125,2,0,34,208,255,255,217,47,255,0,217,125,2,0,25,90,229,229,196,148,255,0,226,125,2,0,114,120,194,102,194,165,255,0,235,125,2,0,11,155,252,252,141,98,255,0,244,125,2,0,156,77,203,141,160,203,255,0,253,125,2,0,228,102,231,231,138,195,255,0,6,126,2,0,58,155,216,166,216,84,255,0,15,126,2,0,34,208,255,255,217,47,255,0,24,126,2,0,25,90,229,229,196,148,255,0,33,126,2,0,0,0,179,179,179,179,255,0,42,126,2,0,120,84,211,141,211,199,255,0,52,126,2,0,211,82,189,188,128,189,255,0,63,126,2,0,42,76,255,255,255,179,255,0,73,126,2,0,175,37,218,190,186,218,255,0,83,126,2,0,4,139,251,251,128,114,255,0,93,126,2,0,144,100,211,128,177,211,255,0,103,126,2,0,22,156,253,253,180,98,255,0,113,126,2,0,58,134,222,179,222,105,255,0,123,126,2,0,233,47,252,252,205,229,255,0,133,126,2,0,0,0,217,217,217,217,255,0,143,126,2,0,120,84,211,141,211,199,255,0,153,126,2,0,211,82,189,188,128,189,255,0,164,126,2,0,77,41,235,204,235,197,255,0,175,126,2,0,42,76,255,255,255,179,255,0,185,126,2,0,175,37,218,190,186,218,255,0,195,126,2,0,4,139,251,251,128,114,255,0,205,126,2,0,144,100,211,128,177,211,255,0,215,126,2,0,22,156,253,253,180,98,255,0,225,126,2,0,58,134,222,179,222,105,255,0,235,126,2,0,233,47,252,252,205,229,255,0,245,126,2,0,0,0,217,217,217,217,255,0,255,126,2,0,120,84,211,141,211,199,255,0,9,127,2,0,211,82,189,188,128,189,255,0,20,127,2,0,77,41,235,204,235,197,255,0,31,127,2,0,37,144,255,255,237,111,255,0,42,127,2,0,42,76,255,255,255,179,255,0,52,127,2,0,175,37,218,190,186,218,255,0,62,127,2,0,4,139,251,251,128,114,255,0,72,127,2,0,144,100,211,128,177,211,255,0,82,127,2,0,22,156,253,253,180,98,255,0,92,127,2,0,58,134,222,179,222,105,255,0,102,127,2,0,233,47,252,252,205,229,255,0,112,127,2,0,0,0,217,217,217,217,255,0,122,127,2,0,120,84,211,141,211,199,255,0,131,127,2,0,42,76,255,255,255,179,255,0,140,127,2,0,175,37,218,190,186,218,255,0,149,127,2,0,120,84,211,141,211,199,255,0,158,127,2,0,42,76,255,255,255,179,255,0,167,127,2,0,175,37,218,190,186,218,255,0,176,127,2,0,4,139,251,251,128,114,255,0,185,127,2,0,120,84,211,141,211,199,255,0,194,127,2,0,42,76,255,255,255,179,255,0,203,127,2,0,175,37,218,190,186,218,255,0,212,127,2,0,4,139,251,251,128,114,255,0,221,127,2,0,144,100,211,128,177,211,255,0,230,127,2,0,120,84,211,141,211,199,255,0,239,127,2,0,42,76,255,255,255,179,255,0,248,127,2,0,175,37,218,190,186,218,255,0,1,128,2,0,4,139,251,251,128,114,255,0,10,128,2,0,144,100,211,128,177,211,255,0,19,128,2,0,22,156,253,253,180,98,255,0,28,128,2,0,120,84,211,141,211,199,255,0,37,128,2,0,42,76,255,255,255,179,255,0,46,128,2,0,175,37,218,190,186,218,255,0,55,128,2,0,4,139,251,251,128,114,255,0,64,128,2,0,144,100,211,128,177,211,255,0,73,128,2,0,22,156,253,253,180,98,255,0,82,128,2,0,58,134,222,179,222,105,255,0,91,128,2,0,120,84,211,141,211,199,255,0,100,128,2,0,42,76,255,255,255,179,255,0,109,128,2,0,175,37,218,190,186,218,255,0,118,128,2,0,4,139,251,251,128,114,255,0,127,128,2,0,144,100,211,128,177,211,255,0,136,128,2,0,22,156,253,253,180,98,255,0,145,128,2,0,58,134,222,179,222,105,255,0,154,128,2,0,233,47,252,252,205,229,255,0,163,128,2,0,120,84,211,141,211,199,255,0,172,128,2,0,42,76,255,255,255,179,255,0,181,128,2,0,175,37,218,190,186,218,255,0,190,128,2,0,4,139,251,251,128,114,255,0,199,128,2,0,144,100,211,128,177,211,255,0,208,128,2,0,22,156,253,253,180,98,255,0,217,128,2,0,58,134,222,179,222,105,255,0,226,128,2,0,233,47,252,252,205,229,255,0,235,128,2,0,0,0,217,217,217,217,255,0,244,128,2,0,237,253,158,158,1,66,255,0,2,129,2,0,177,130,162,94,79,162,255,0,17,129,2,0,250,180,213,213,62,79,255,0,31,129,2,0,10,184,244,244,109,67,255,0,45,129,2,0,20,157,253,253,174,97,255,0,59,129,2,0,31,115,254,254,224,139,255,0,73,129,2,0,49,96,245,230,245,152,255,0,87,129,2,0,79,65,221,171,221,164,255,0,101,129,2,0,114,120,194,102,194,165,255,0,115,129,2,0,143,187,189,50,136,189,255,0,129,129,2,0,237,253,158,158,1,66,255,0,143,129,2,0,143,187,189,50,136,189,255,0,158,129,2,0,177,130,162,94,79,162,255,0,173,129,2,0,250,180,213,213,62,79,255,0,187,129,2,0,10,184,244,244,109,67,255,0,201,129,2,0,20,157,253,253,174,97,255,0,215,129,2,0,31,115,254,254,224,139,255,0,229,129,2,0,42,64,255,255,255,191,255,0,243,129,2,0,49,96,245,230,245,152,255,0,1,130,2,0,79,65,221,171,221,164,255,0,15,130,2,0,114,120,194,102,194,165,255,0,29,130,2,0,13,164,252,252,141,89,255,0,42,130,2,0,42,64,255,255,255,191,255,0,55,130,2,0,81,77,213,153,213,148,255,0,68,130,2,0,254,225,215,215,25,28,255,0,81,130,2,0,20,157,253,253,174,97,255,0,94,130,2,0,79,65,221,171,221,164,255,0,107,130,2,0,143,196,186,43,131,186,255,0,120,130,2,0,254,225,215,215,25,28,255,0,133,130,2,0,20,157,253,253,174,97,255,0,146,130,2,0,42,64,255,255,255,191,255,0,159,130,2,0,79,65,221,171,221,164,255,0,172,130,2,0,143,196,186,43,131,186,255,0,185,130,2,0,250,180,213,213,62,79,255,0,198,130,2,0,13,164,252,252,141,89,255,0,211,130,2,0,31,115,254,254,224,139,255,0,224,130,2,0,49,96,245,230,245,152,255,0,237,130,2,0,81,77,213,153,213,148,255,0,250,130,2,0,143,187,189,50,136,189,255,0,7,131,2,0,250,180,213,213,62,79,255,0,20,131,2,0,13,164,252,252,141,89,255,0,33,131,2,0,31,115,254,254,224,139,255,0,46,131,2,0,42,64,255,255,255,191,255,0,59,131,2,0,49,96,245,230,245,152,255,0,72,131,2,0,81,77,213,153,213,148,255,0,85,131,2,0,143,187,189,50,136,189,255,0,98,131,2,0,250,180,213,213,62,79,255,0,111,131,2,0,10,184,244,244,109,67,255,0,124,131,2,0,20,157,253,253,174,97,255,0,137,131,2,0,31,115,254,254,224,139,255,0,150,131,2,0,49,96,245,230,245,152,255,0,163,131,2,0,79,65,221,171,221,164,255,0,176,131,2,0,114,120,194,102,194,165,255,0,189,131,2,0,143,187,189,50,136,189,255,0,202,131,2,0,250,180,213,213,62,79,255,0,215,131,2,0,10,184,244,244,109,67,255,0,228,131,2,0,20,157,253,253,174,97,255,0,241,131,2,0,31,115,254,254,224,139,255,0,254,131,2,0,42,64,255,255,255,191,255,0,11,132,2,0,49,96,245,230,245,152,255,0,24,132,2,0,79,65,221,171,221,164,255,0,37,132,2,0,114,120,194,102,194,165,255,0,50,132,2,0,143,187,189,50,136,189,255,0,63,132,2,0,147,15,255,240,248,255,255,0,78,132,2,0,24,35,250,250,235,215,255,0,96,132,2,0,127,255,255,0,255,255,255,0,106,132,2,0,113,128,255,127,255,212,255,0,122,132,2,0,127,15,255,240,255,255,255,0,133,132,2,0,42,26,245,245,245,220,255,0,144,132,2,0,23,58,255,255,228,196,255,0,156,132,2,0,0,0,0,0,0,0,255,0,167,132,2,0,25,49,255,255,235,205,255,0,187,132,2,0,170,255,255,0,0,255,255,0,197,132,2,0,192,206,226,138,43,226,255,0,213,132,2,0,0,190,165,165,42,42,255,0,224,132,2,0,23,99,222,222,184,135,255,0,239,132,2,0,128,103,160,95,158,160,255,0,254,132,2,0,63,255,255,127,255,0,255,0,14,133,2,0,17,218,210,210,105,30,255,0,29,133,2,0,11,175,255,255,127,80,255,0,40,133,2,0,154,147,237,100,149,237,255,0,60,133,2,0,33,34,255,255,248,220,255,0,74,133,2,0,246,231,220,220,20,60,255,0,87,133,2,0,127,255,255,0,255,255,255,0,97,133,2,0,170,255,139,0,0,139,255,0,111,133,2,0,127,255,139,0,139,139,255,0,125,133,2,0,30,239,184,184,134,11,255,0,144,133,2,0,0,0,169,169,169,169,255,0,158,133,2,0,85,255,100,0,100,0,255,0,173,133,2,0,0,0,169,169,169,169,255,0,187,133,2,0,39,110,189,189,183,107,255,0,202,133,2,0,212,255,139,139,0,139,255,0,219,133,2,0,58,142,107,85,107,47,255,0,239,133,2,0,23,255,255,255,140,0,255,0,255,133,2,0,198,192,204,153,50,204,255,0,15,134,2,0,0,255,139,139,0,0,255,0,28,134,2,0,10,121,233,233,150,122,255,0,44,134,2,0,85,61,188,143,188,143,255,0,62,134,2,0,175,143,139,72,61,139,255,0,81,134,2,0,127,103,79,47,79,79,255,0,100,134,2,0,127,103,79,47,79,79,255,0,119,134,2,0,128,255,209,0,206,209,255,0,138,134,2,0,199,255,211,148,0,211,255,0,154,134,2,0,232,235,255,255,20,147,255,0,168,134,2,0,138,255,255,0,191,255,255,0,185,134,2,0,0,0,105,105,105,105,255,0,198,134,2,0,0,0,105,105,105,105,255,0,211,134,2,0,148,225,255,30,144,255,255,0,227,134,2,0,0,206,178,178,34,34,255,0,242,134,2,0,28,15,255,255,250,240,255,0,3,135,2,0,85,192,139,34,139,34,255,0,20,135,2,0,212,255,255,255,0,255,255,0,33,135,2,0,0,0,220,220,220,220,255,0,48,135,2,0,170,7,255,248,248,255,255,0,64,135,2,0,35,255,255,255,215,0,255,0,74,135,2,0,30,217,218,218,165,32,255,0,89,135,2,0,0,0,128,128,128,128,255,0,99,135,2,0,85,255,128,0,128,0,255,0,110,135,2,0,59,208,255,173,255,47,255,0,127,135,2,0,0,0,128,128,128,128,255,0,137,135,2,0,85,15,255,240,255,240,255,0,151,135,2,0,233,150,255,255,105,180,255,0,164,135,2,0,0,140,205,205,92,92,255,0,179,135,2,0,194,255,130,75,0,130,255,0,191,135,2,0,42,15,255,255,255,240,255,0,202,135,2,0,38,106,240,240,230,140,255,0,213,135,2,0,170,20,250,230,230,250,255,0,227,135,2,0,240,15,255,255,240,245,255,0,246,135,2,0,64,255,252,124,252,0,255,0,5,136,2,0,38,49,255,255,250,205,255,0,23,136,2,0,137,63,230,173,216,230,255,0,38,136,2,0,0,119,240,240,128,128,255,0,54,136,2,0,127,31,255,224,255,255,255,0,69,136,2,0,42,40,250,250,250,210,255,0,95,136,2,0,0,0,211,211,211,211,255,0,110,136,2,0,85,100,238,144,238,144,255,0,126,136,2,0,0,0,211,211,211,211,255,0,141,136,2,0,248,73,255,255,182,193,255,0,156,136,2,0,12,132,255,255,160,122,255,0,173,136,2,0,125,209,178,32,178,170,255,0,192,136,2,0,143,117,250,135,206,250,255,0,210,136,2,0,148,56,153,119,136,153,255,0,230,136,2,0,148,56,153,119,136,153,255,0,250,136,2,0,151,52,222,176,196,222,255,0,14,137,2,0,42,31,255,255,255,224,255,0,31,137,2,0,85,255,255,0,255,0,255,0,41,137,2,0,85,192,205,50,205,50,255,0,56,137,2,0,21,20,250,250,240,230,255,0,67,137,2,0,212,255,255,255,0,255,255,0,80,137,2,0,0,255,128,128,0,0,255,0,92,137,2,0,113,128,205,102,205,170,255,0,114,137,2,0,170,255,205,0,0,205,255,0,130,137,2,0,204,152,211,186,85,211,255,0,148,137,2,0,183,124,219,147,112,219,255,0,166,137,2,0,103,169,179,60,179,113,255,0,186,137,2,0,176,143,238,123,104,238,255,0,207,137,2,0,111,255,250,0,250,154,255,0,230,137,2,0,125,167,209,72,209,204,255,0,251,137,2,0,228,228,199,199,21,133,255,0,16,138,2,0,170,198,112,25,25,112,255,0,34,138,2,0,106,9,255,245,255,250,255,0,49,138,2,0,4,30,255,255,228,225,255,0,64,138,2,0,26,73,255,255,228,181,255,0,78,138,2,0,25,81,255,255,222,173,255,0,95,138,2,0,170,255,128,0,0,128,255,0,105,138,2,0,27,23,253,253,245,230,255,0,118,138,2,0,42,255,128,128,128,0,255,0,129,138,2,0,56,192,142,107,142,35,255,0,144,138,2,0,27,255,255,255,165,0,255,0,156,138,2,0,11,255,255,255,69,0,255,0,171,138,2,0,214,123,218,218,112,214,255,0,183,138,2,0,38,72,238,238,232,170,255,0,202,138,2,0,85,100,251,152,251,152,255,0,217,138,2,0,127,67,238,175,238,238,255,0,236,138,2,0,241,124,219,219,112,147,255,0,255,138,2,0,26,41,255,255,239,213,255,0,15,139,2,0,20,70,255,255,218,185,255,0,30,139,2,0,20,176,205,205,133,63,255,0,40,139,2,0,247,63,255,255,192,203,255,0,50,139,2,0,212,70,221,221,160,221,255,0,60,139,2,0,132,59,230,176,224,230,255,0,76,139,2,0,212,255,128,128,0,128,255,0,88,139,2,0,0,255,255,255,0,0,255,0,97,139,2,0,0,61,188,188,143,143,255,0,112,139,2,0,159,181,225,65,105,225,255,0,127,139,2,0,17,220,139,139,69,19,255,0,144,139,2,0,4,138,250,250,128,114,255,0,156,139,2,0,19,154,244,244,164,96,255,0,172,139,2,0,103,170,139,46,139,87,255,0,186,139,2,0,17,16,255,255,245,238,255,0,200,139,2,0,13,183,160,160,82,45,255,0,212,139,2,0,0,0,192,192,192,192,255,0,224,139,2,0,139,108,235,135,206,235,255,0,237,139,2,0,175,143,205,106,90,205,255,0,252,139,2,0,148,56,144,112,128,144,255,0,11,140,2,0,148,56,144,112,128,144,255,0,26,140,2,0,0,5,255,255,250,250,255,0,36,140,2,0,106,255,255,0,255,127,255,0,53,140,2,0,146,155,180,70,130,180,255,0,68,140,2,0,24,84,210,210,180,140,255,0,77,140,2,0,127,255,128,0,128,128,255,0,87,140,2,0,212,29,216,216,191,216,255,0,100,140,2,0,6,184,255,255,99,71,255,0,112,140,2,0,123,182,224,64,224,208,255,0,127,140,2,0,212,115,238,238,130,238,255,0,139,140,2,0,27,68,245,245,222,179,255,0,150,140,2,0,0,0,255,255,255,255,255,0,161,140,2,0,0,0,245,245,245,245,255,0,177,140,2,0,42,255,255,255,255,0,255,0,189,140,2,0,56,192,205,154,205,50,255,0,206,140,2,0,45,67,252,247,252,185,255,0,215,140,2,0,68,91,221,173,221,142,255,0,224,140,2,0,98,178,163,49,163,84,255,0,233,140,2,0,42,50,255,255,255,204,255,0,242,140,2,0,62,85,230,194,230,153,255,0,251,140,2,0,85,100,198,120,198,121,255,0,4,141,2,0,99,187,132,35,132,67,255,0,13,141,2,0,42,50,255,255,255,204,255,0,22,141,2,0,62,85,230,194,230,153,255,0,31,141,2,0,85,100,198,120,198,121,255,0,40,141,2,0,98,178,163,49,163,84,255,0,49,141,2,0,107,255,104,0,104,55,255,0,58,141,2,0,42,50,255,255,255,204,255,0,67,141,2,0,55,81,240,217,240,163,255,0,76,141,2,0,68,91,221,173,221,142,255,0,85,141,2,0,85,100,198,120,198,121,255,0,94,141,2,0,98,178,163,49,163,84,255,0,103,141,2,0,107,255,104,0,104,55,255,0,112,141,2,0,42,50,255,255,255,204,255,0,121,141,2,0,55,81,240,217,240,163,255,0,130,141,2,0,68,91,221,173,221,142,255,0,139,141,2,0,85,100,198,120,198,121,255,0,148,141,2,0,96,158,171,65,171,93,255,0,157,141,2,0,99,187,132,35,132,67,255,0,166,141,2,0,108,255,90,0,90,50,255,0,175,141,2,0,42,25,255,255,255,229,255,0,184,141,2,0,45,67,252,247,252,185,255,0,193,141,2,0,55,81,240,217,240,163,255,0,202,141,2,0,68,91,221,173,221,142,255,0,211,141,2,0,85,100,198,120,198,121,255,0,220,141,2,0,96,158,171,65,171,93,255,0,229,141,2,0,99,187,132,35,132,67,255,0,238,141,2,0,108,255,90,0,90,50,255,0,247,141,2,0,42,25,255,255,255,229,255,0,0,142,2,0,45,67,252,247,252,185,255,0,9,142,2,0,55,81,240,217,240,163,255,0,18,142,2,0,68,91,221,173,221,142,255,0,27,142,2,0,85,100,198,120,198,121,255,0,36,142,2,0,96,158,171,65,171,93,255,0,45,142,2,0,99,187,132,35,132,67,255,0,54,142,2,0,107,255,104,0,104,55,255,0,63,142,2,0,110,255,69,0,69,41,255,0,72,142,2,0,49,73,248,237,248,177,255,0,83,142,2,0,117,97,205,127,205,187,255,0,94,142,2,0,144,194,184,44,127,184,255,0,105,142,2,0,42,50,255,255,255,204,255,0,116,142,2,0,99,66,218,161,218,180,255,0,127,142,2,0,132,170,196,65,182,196,255,0,138,142,2,0,150,203,168,34,94,168,255,0,149,142,2,0,42,50,255,255,255,204,255,0,160,142,2,0,99,66,218,161,218,180,255,0,171,142,2,0,132,170,196,65,182,196,255,0,182,142,2,0,144,194,184,44,127,184,255,0,193,142,2,0,164,191,148,37,52,148,255,0,204,142,2,0,42,50,255,255,255,204,255,0,215,142,2,0,69,58,233,199,233,180,255,0,226,142,2,0,117,97,205,127,205,187,255,0,237,142,2,0,132,170,196,65,182,196,255,0,248,142,2,0,144,194,184,44,127,184,255,0,3,143,2,0,164,191,148,37,52,148,255,0,14,143,2,0,42,50,255,255,255,204,255,0,25,143,2,0,69,58,233,199,233,180,255,0,36,143,2,0,117,97,205,127,205,187,255,0,47,143,2,0,132,170,196,65,182,196,255,0,58,143,2,0,139,216,192,29,145,192,255,0,69,143,2,0,150,203,168,34,94,168,255,0,80,143,2,0,158,231,132,12,44,132,255,0,91,143,2,0,42,38,255,255,255,217,255,0,102,143,2,0,49,73,248,237,248,177,255,0,113,143,2,0,69,58,233,199,233,180,255,0,124,143,2,0,117,97,205,127,205,187,255,0,135,143,2,0,132,170,196,65,182,196,255,0,146,143,2,0,139,216,192,29,145,192,255,0,157,143,2,0,150,203,168,34,94,168,255,0,168,143,2,0,158,231,132,12,44,132,255,0,179,143,2,0,42,38,255,255,255,217,255,0,190,143,2,0,49,73,248,237,248,177,255,0,201,143,2,0,69,58,233,199,233,180,255,0,212,143,2,0,117,97,205,127,205,187,255,0,223,143,2,0,132,170,196,65,182,196,255,0,234,143,2,0,139,216,192,29,145,192,255,0,245,143,2,0,150,203,168,34,94,168,255,0,0,144,2,0,164,191,148,37,52,148,255,0,11,144,2,0,158,231,88,8,29,88,255,0,22,144,2,0,37,66,255,255,247,188,255,0,33,144,2,0,28,175,254,254,196,79,255,0,44,144,2,0,16,238,217,217,95,14,255,0,55,144,2,0,42,42,255,255,255,212,255,0,66,144,2,0,28,112,254,254,217,142,255,0,77,144,2,0,22,213,254,254,153,41,255,0,88,144,2,0,15,252,204,204,76,2,255,0,99,144,2,0,42,42,255,255,255,212,255,0,110,144,2,0,28,112,254,254,217,142,255,0,121,144,2,0,22,213,254,254,153,41,255,0,132,144,2,0,16,238,217,217,95,14,255,0,143,144,2,0,13,248,153,153,52,4,255,0,154,144,2,0,42,42,255,255,255,212,255,0,165,144,2,0,31,109,254,254,227,145,255,0,176,144,2,0,28,175,254,254,196,79,255,0,187,144,2,0,22,213,254,254,153,41,255,0,198,144,2,0,16,238,217,217,95,14,255,0,209,144,2,0,13,248,153,153,52,4,255,0,220,144,2,0,42,42,255,255,255,212,255,0,231,144,2,0,31,109,254,254,227,145,255,0,242,144,2,0,28,175,254,254,196,79,255,0,253,144,2,0,22,213,254,254,153,41,255,0,8,145,2,0,18,233,236,236,112,20,255,0,19,145,2,0,15,252,204,204,76,2,255,0,30,145,2,0,12,247,140,140,45,4,255,0,41,145,2,0,42,25,255,255,255,229,255,0,52,145,2,0,37,66,255,255,247,188,255,0,63,145,2,0,31,109,254,254,227,145,255,0,74,145,2,0,28,175,254,254,196,79,255,0,85,145,2,0,22,213,254,254,153,41,255,0,96,145,2,0,18,233,236,236,112,20,255,0,107,145,2,0,15,252,204,204,76,2,255,0,118,145,2,0,12,247,140,140,45,4,255,0,129,145,2,0,42,25,255,255,255,229,255,0,140,145,2,0,37,66,255,255,247,188,255,0,151,145,2,0,31,109,254,254,227,145,255,0,162,145,2,0,28,175,254,254,196,79,255,0,173,145,2,0,22,213,254,254,153,41,255,0,184,145,2,0,18,233,236,236,112,20,255,0,195,145,2,0,15,252,204,204,76,2,255,0,206,145,2,0,13,248,153,153,52,4,255,0,217,145,2,0,13,240,102,102,37,6,255,0,228,145,2,0,34,95,255,255,237,160,255,0,239,145,2,0,24,178,254,254,178,76,255,0,250,145,2,0,5,221,240,240,59,32,255,0,5,146,2,0,42,77,255,255,255,178,255,0,16,146,2,0,29,162,254,254,204,92,255,0,27,146,2,0,17,194,253,253,141,60,255,0,38,146,2,0,254,225,227,227,26,28,255,0,49,146,2,0,42,77,255,255,255,178,255,0,60,146,2,0,29,162,254,254,204,92,255,0,71,146,2,0,17,194,253,253,141,60,255,0,82,146,2,0,5,221,240,240,59,32,255,0,93,146,2,0,246,255,189,189,0,38,255,0,104,146,2,0,42,77,255,255,255,178,255,0,115,146,2,0,30,136,254,254,217,118,255,0,126,146,2,0,24,178,254,254,178,76,255,0,137,146,2,0,17,194,253,253,141,60,255,0,148,146,2,0,5,221,240,240,59,32,255,0,159,146,2,0,246,255,189,189,0,38,255,0,170,146,2,0,42,77,255,255,255,178,255,0,181,146,2,0,30,136,254,254,217,118,255,0,192,146,2,0,24,178,254,254,178,76,255,0,203,146,2,0,17,194,253,253,141,60,255,0,214,146,2,0,7,212,252,252,78,42,255,0,225,146,2,0,254,225,227,227,26,28,255,0,236,146,2,0,245,255,177,177,0,38,255,0,247,146,2,0,42,50,255,255,255,204,255,0,2,147,2,0,34,95,255,255,237,160,255,0,13,147,2,0,30,136,254,254,217,118,255,0,24,147,2,0,24,178,254,254,178,76,255,0,35,147,2,0,17,194,253,253,141,60,255,0,46,147,2,0,7,212,252,252,78,42,255,0,57,147,2,0,254,225,227,227,26,28,255,0,68,147,2,0,245,255,177,177,0,38,255,0,79,147,2,0,42,50,255,255,255,204,255,0,90,147,2,0,34,95,255,255,237,160,255,0,101,147,2,0,30,136,254,254,217,118,255,0,112,147,2,0,24,178,254,254,178,76,255,0,123,147,2,0,17,194,253,253,141,60,255,0,134,147,2,0,7,212,252,252,78,42,255,0,145,147,2,0,254,225,227,227,26,28,255,0,156,147,2,0,246,255,189,189,0,38,255,0,167,147,2,0,242,255,128,128,0,38,255,0,178,147,2,0,147,15,255,240,248,255,255,0,188,147,2,0,24,35,250,250,235,215,255,0,201,147,2,0,23,36,255,255,239,219,255,0,215,147,2,0,23,36,238,238,223,204,255,0,229,147,2,0,23,36,205,205,192,176,255,0,243,147,2,0,24,34,139,139,131,120,255,0,1,148,2,0,113,128,255,127,255,212,255,0,12,148,2,0,113,128,255,127,255,212,255,0,24,148,2,0,113,128,238,118,238,198,255,0,36,148,2,0,113,128,205,102,205,170,255,0,48,148,2,0,113,128,139,69,139,116,255,0,60,148,2,0,127,15,255,240,255,255,255,0,66,148,2,0,127,15,255,240,255,255,255,0,73,148,2,0,127,15,238,224,238,238,255,0,80,148,2,0,127,14,205,193,205,205,255,0,87,148,2,0,127,14,139,131,139,139,255,0,94,148,2,0,42,26,245,245,245,220,255,0,100,148,2,0,23,58,255,255,228,196,255,0,107,148,2,0,23,58,255,255,228,196,255,0,115,148,2,0,23,58,238,238,213,183,255,0,123,148,2,0,22,58,205,205,183,158,255,0,131,148,2,0,23,58,139,139,125,107,255,0,149,171,2,0,0,0,0,0,0,0,255,0,139,148,2,0,25,49,255,255,235,205,255,0,154,148,2,0,170,255,255,0,0,255,255,0,159,148,2,0,170,255,255,0,0,255,255,0,165,148,2,0,170,255,238,0,0,238,255,0,171,148,2,0,170,255,205,0,0,205,255,0,177,148,2,0,170,255,139,0,0,139,255,0,183,148,2,0,192,206,226,138,43,226,255,0,194,148,2,0,0,190,165,165,42,42,255,0,200,148,2,0,0,191,255,255,64,64,255,0,207,148,2,0,0,191,238,238,59,59,255,0,214,148,2,0,0,191,205,205,51,51,255,0,221,148,2,0,0,190,139,139,35,35,255,0,228,148,2,0,23,99,222,222,184,135,255,0,238,148,2,0,23,100,255,255,211,155,255,0,249,148,2,0,23,99,238,238,197,145,255,0,4,149,2,0,23,99,205,205,170,125,255,0,15,149,2,0,23,99,139,139,115,85,255,0,26,149,2,0,128,103,160,95,158,160,255,0,36,149,2,0,131,103,255,152,245,255,255,0,47,149,2,0,131,102,238,142,229,238,255,0,58,149,2,0,131,103,205,122,197,205,255,0,69,149,2,0,131,102,139,83,134,139,255,0,80,149,2,0,63,255,255,127,255,0,255,0,91,149,2,0,63,255,255,127,255,0,255,0,103,149,2,0,63,255,238,118,238,0,255,0,115,149,2,0,63,255,205,102,205,0,255,0,127,149,2,0,63,255,139,69,139,0,255,0,139,149,2,0,17,218,210,210,105,30,255,0,149,149,2,0,17,219,255,255,127,36,255,0,160,149,2,0,17,219,238,238,118,33,255,0,171,149,2,0,17,218,205,205,102,29,255,0,182,149,2,0,17,220,139,139,69,19,255,0,193,149,2,0,11,175,255,255,127,80,255,0,199,149,2,0,7,169,255,255,114,86,255,0,206,149,2,0,6,169,238,238,106,80,255,0,213,149,2,0,6,169,205,205,91,69,255,0,220,149,2,0,6,168,139,139,62,47,255,0,227,149,2,0,154,147,237,100,149,237,255,0,242,149,2,0,33,34,255,255,248,220,255,0,251,149,2,0,33,34,255,255,248,220,255,0,5,150,2,0,34,35,238,238,232,205,255,0,15,150,2,0,34,34,205,205,200,177,255,0,25,150,2,0,35,34,139,139,136,120,255,0,35,150,2,0,246,231,220,220,20,60,255,0,43,150,2,0,127,255,255,0,255,255,255,0,48,150,2,0,127,255,255,0,255,255,255,0,54,150,2,0,127,255,238,0,238,238,255,0,60,150,2,0,127,255,205,0,205,205,255,0,66,150,2,0,127,255,139,0,139,139,255,0,72,150,2,0,30,239,184,184,134,11,255,0,86,150,2,0,30,240,255,255,185,15,255,0,101,150,2,0,30,240,238,238,173,14,255,0,116,150,2,0,30,240,205,205,149,12,255,0,131,150,2,0,30,240,139,139,101,8,255,0,146,150,2,0,85,255,100,0,100,0,255,0,156,150,2],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+74232);allocate([39,110,189,189,183,107,255,0,166,150,2,0,58,142,107,85,107,47,255,0,181,150,2,0,58,143,255,202,255,112,255,0,197,150,2,0,58,143,238,188,238,104,255,0,213,150,2,0,58,143,205,162,205,90,255,0,229,150,2,0,58,143,139,110,139,61,255,0,245,150,2,0,23,255,255,255,140,0,255,0,0,151,2,0,21,255,255,255,127,0,255,0,12,151,2,0,21,255,238,238,118,0,255,0,24,151,2,0,21,255,205,205,102,0,255,0,36,151,2,0,21,255,139,139,69,0,255,0,48,151,2,0,198,192,204,153,50,204,255,0,59,151,2,0,198,193,255,191,62,255,255,0,71,151,2,0,198,192,238,178,58,238,255,0,83,151,2,0,198,192,205,154,50,205,255,0,95,151,2,0,198,192,139,104,34,139,255,0,107,151,2,0,10,121,233,233,150,122,255,0,118,151,2,0,85,61,188,143,188,143,255,0,131,151,2,0,85,62,255,193,255,193,255,0,145,151,2,0,85,62,238,180,238,180,255,0,159,151,2,0,85,62,205,155,205,155,255,0,173,151,2,0,85,62,139,105,139,105,255,0,187,151,2,0,175,143,139,72,61,139,255,0,201,151,2,0,127,103,79,47,79,79,255,0,215,151,2,0,127,104,255,151,255,255,255,0,230,151,2,0,127,103,238,141,238,238,255,0,245,151,2,0,127,104,205,121,205,205,255,0,4,152,2,0,127,104,139,82,139,139,255,0,19,152,2,0,127,103,79,47,79,79,255,0,33,152,2,0,128,255,209,0,206,209,255,0,47,152,2,0,199,255,211,148,0,211,255,0,58,152,2,0,232,235,255,255,20,147,255,0,67,152,2,0,232,235,255,255,20,147,255,0,77,152,2,0,232,235,238,238,18,137,255,0,87,152,2,0,232,235,205,205,16,118,255,0,97,152,2,0,231,236,139,139,10,80,255,0,107,152,2,0,138,255,255,0,191,255,255,0,119,152,2,0,138,255,255,0,191,255,255,0,132,152,2,0,138,255,238,0,178,238,255,0,145,152,2,0,138,255,205,0,154,205,255,0,158,152,2,0,138,255,139,0,104,139,255,0,171,152,2,0,0,0,105,105,105,105,255,0,179,152,2,0,0,0,105,105,105,105,255,0,187,152,2,0,148,225,255,30,144,255,255,0,198,152,2,0,148,225,255,30,144,255,255,0,210,152,2,0,148,225,238,28,134,238,255,0,222,152,2,0,148,225,205,24,116,205,255,0,234,152,2,0,148,225,139,16,78,139,255,0,246,152,2,0,0,206,178,178,34,34,255,0,0,153,2,0,0,207,255,255,48,48,255,0,11,153,2,0,0,207,238,238,44,44,255,0,22,153,2,0,0,207,205,205,38,38,255,0,33,153,2,0,0,207,139,139,26,26,255,0,44,153,2,0,28,15,255,255,250,240,255,0,56,153,2,0,85,192,139,34,139,34,255,0,68,153,2,0,0,0,220,220,220,220,255,0,78,153,2,0,170,7,255,248,248,255,255,0,89,153,2,0,35,255,255,255,215,0,255,0,94,153,2,0,35,255,255,255,215,0,255,0,100,153,2,0,35,255,238,238,201,0,255,0,106,153,2,0,35,255,205,205,173,0,255,0,112,153,2,0,35,255,139,139,117,0,255,0,118,153,2,0,30,217,218,218,165,32,255,0,128,153,2,0,30,218,255,255,193,37,255,0,139,153,2,0,30,218,238,238,180,34,255,0,150,153,2,0,30,218,205,205,155,29,255,0,161,153,2,0,30,218,139,139,105,20,255,0,172,153,2,0,0,0,192,192,192,192,255,0,177,153,2,0,0,0,0,0,0,0,255,0,183,153,2,0,0,0,3,3,3,3,255,0,189,153,2,0,0,0,26,26,26,26,255,0,196,153,2,0,0,0,255,255,255,255,255,0,204,153,2,0,0,0,28,28,28,28,255,0,211,153,2,0,0,0,31,31,31,31,255,0,218,153,2,0,0,0,33,33,33,33,255,0,225,153,2,0,0,0,36,36,36,36,255,0,232,153,2,0,0,0,38,38,38,38,255,0,239,153,2,0,0,0,41,41,41,41,255,0,246,153,2,0,0,0,43,43,43,43,255,0,253,153,2,0,0,0,46,46,46,46,255,0,4,154,2,0,0,0,48,48,48,48,255,0,11,154,2,0,0,0,5,5,5,5,255,0,17,154,2,0,0,0,51,51,51,51,255,0,24,154,2,0,0,0,54,54,54,54,255,0,31,154,2,0,0,0,56,56,56,56,255,0,38,154,2,0,0,0,59,59,59,59,255,0,45,154,2,0,0,0,61,61,61,61,255,0,52,154,2,0,0,0,64,64,64,64,255,0,59,154,2,0,0,0,66,66,66,66,255,0,66,154,2,0,0,0,69,69,69,69,255,0,73,154,2,0,0,0,71,71,71,71,255,0,80,154,2,0,0,0,74,74,74,74,255,0,87,154,2,0,0,0,8,8,8,8,255,0,93,154,2,0,0,0,77,77,77,77,255,0,100,154,2,0,0,0,79,79,79,79,255,0,107,154,2,0,0,0,82,82,82,82,255,0,114,154,2,0,0,0,84,84,84,84,255,0,121,154,2,0,0,0,87,87,87,87,255,0,128,154,2,0,0,0,89,89,89,89,255,0,135,154,2,0,0,0,92,92,92,92,255,0,142,154,2,0,0,0,94,94,94,94,255,0,149,154,2,0,0,0,97,97,97,97,255,0,156,154,2,0,0,0,99,99,99,99,255,0,163,154,2,0,0,0,10,10,10,10,255,0,169,154,2,0,0,0,102,102,102,102,255,0,176,154,2,0,0,0,105,105,105,105,255,0,183,154,2,0,0,0,107,107,107,107,255,0,190,154,2,0,0,0,110,110,110,110,255,0,197,154,2,0,0,0,112,112,112,112,255,0,204,154,2,0,0,0,115,115,115,115,255,0,211,154,2,0,0,0,117,117,117,117,255,0,218,154,2,0,0,0,120,120,120,120,255,0,225,154,2,0,0,0,122,122,122,122,255,0,232,154,2,0,0,0,125,125,125,125,255,0,239,154,2,0,0,0,13,13,13,13,255,0,245,154,2,0,0,0,127,127,127,127,255,0,252,154,2,0,0,0,130,130,130,130,255,0,3,155,2,0,0,0,133,133,133,133,255,0,10,155,2,0,0,0,135,135,135,135,255,0,17,155,2,0,0,0,138,138,138,138,255,0,24,155,2,0,0,0,140,140,140,140,255,0,31,155,2,0,0,0,143,143,143,143,255,0,38,155,2,0,0,0,145,145,145,145,255,0,45,155,2,0,0,0,148,148,148,148,255,0,52,155,2,0,0,0,150,150,150,150,255,0,59,155,2,0,0,0,15,15,15,15,255,0,65,155,2,0,0,0,153,153,153,153,255,0,72,155,2,0,0,0,156,156,156,156,255,0,79,155,2,0,0,0,158,158,158,158,255,0,86,155,2,0,0,0,161,161,161,161,255,0,93,155,2,0,0,0,163,163,163,163,255,0,100,155,2,0,0,0,166,166,166,166,255,0,107,155,2,0,0,0,168,168,168,168,255,0,114,155,2,0,0,0,171,171,171,171,255,0,121,155,2,0,0,0,173,173,173,173,255,0,128,155,2,0,0,0,176,176,176,176,255,0,135,155,2,0,0,0,18,18,18,18,255,0,141,155,2,0,0,0,179,179,179,179,255,0,148,155,2,0,0,0,181,181,181,181,255,0,155,155,2,0,0,0,184,184,184,184,255,0,162,155,2,0,0,0,186,186,186,186,255,0,169,155,2,0,0,0,189,189,189,189,255,0,176,155,2,0,0,0,191,191,191,191,255,0,183,155,2,0,0,0,194,194,194,194,255,0,190,155,2,0,0,0,196,196,196,196,255,0,197,155,2,0,0,0,199,199,199,199,255,0,204,155,2,0,0,0,201,201,201,201,255,0,211,155,2,0,0,0,20,20,20,20,255,0,217,155,2,0,0,0,204,204,204,204,255,0,224,155,2,0,0,0,207,207,207,207,255,0,231,155,2,0,0,0,209,209,209,209,255,0,238,155,2,0,0,0,212,212,212,212,255,0,245,155,2,0,0,0,214,214,214,214,255,0,252,155,2,0,0,0,217,217,217,217,255,0,3,156,2,0,0,0,219,219,219,219,255,0,10,156,2,0,0,0,222,222,222,222,255,0,17,156,2,0,0,0,224,224,224,224,255,0,24,156,2,0,0,0,227,227,227,227,255,0,31,156,2,0,0,0,23,23,23,23,255,0,37,156,2,0,0,0,229,229,229,229,255,0,44,156,2,0,0,0,232,232,232,232,255,0,51,156,2,0,0,0,235,235,235,235,255,0,58,156,2,0,0,0,237,237,237,237,255,0,65,156,2,0,0,0,240,240,240,240,255,0,72,156,2,0,0,0,242,242,242,242,255,0,79,156,2,0,0,0,245,245,245,245,255,0,86,156,2,0,0,0,247,247,247,247,255,0,93,156,2,0,0,0,250,250,250,250,255,0,100,156,2,0,0,0,252,252,252,252,255,0,107,156,2,0,85,255,255,0,255,0,255,0,113,156,2,0,85,255,255,0,255,0,255,0,120,156,2,0,85,255,238,0,238,0,255,0,127,156,2,0,85,255,205,0,205,0,255,0,134,156,2,0,85,255,139,0,139,0,255,0,141,156,2,0,59,208,255,173,255,47,255,0,153,156,2,0,0,0,192,192,192,192,255,0,158,156,2,0,0,0,0,0,0,0,255,0,164,156,2,0,0,0,3,3,3,3,255,0,170,156,2,0,0,0,26,26,26,26,255,0,177,156,2,0,0,0,255,255,255,255,255,0,185,156,2,0,0,0,28,28,28,28,255,0,192,156,2,0,0,0,31,31,31,31,255,0,199,156,2,0,0,0,33,33,33,33,255,0,206,156,2,0,0,0,36,36,36,36,255,0,213,156,2,0,0,0,38,38,38,38,255,0,220,156,2,0,0,0,41,41,41,41,255,0,227,156,2,0,0,0,43,43,43,43,255,0,234,156,2,0,0,0,46,46,46,46,255,0,241,156,2,0,0,0,48,48,48,48,255,0,248,156,2,0,0,0,5,5,5,5,255,0,254,156,2,0,0,0,51,51,51,51,255,0,5,157,2,0,0,0,54,54,54,54,255,0,12,157,2,0,0,0,56,56,56,56,255,0,19,157,2,0,0,0,59,59,59,59,255,0,26,157,2,0,0,0,61,61,61,61,255,0,33,157,2,0,0,0,64,64,64,64,255,0,40,157,2,0,0,0,66,66,66,66,255,0,47,157,2,0,0,0,69,69,69,69,255,0,54,157,2,0,0,0,71,71,71,71,255,0,61,157,2,0,0,0,74,74,74,74,255,0,68,157,2,0,0,0,8,8,8,8,255,0,74,157,2,0,0,0,77,77,77,77,255,0,81,157,2,0,0,0,79,79,79,79,255,0,88,157,2,0,0,0,82,82,82,82,255,0,95,157,2,0,0,0,84,84,84,84,255,0,102,157,2,0,0,0,87,87,87,87,255,0,109,157,2,0,0,0,89,89,89,89,255,0,116,157,2,0,0,0,92,92,92,92,255,0,123,157,2,0,0,0,94,94,94,94,255,0,130,157,2,0,0,0,97,97,97,97,255,0,137,157,2,0,0,0,99,99,99,99,255,0,144,157,2,0,0,0,10,10,10,10,255,0,150,157,2,0,0,0,102,102,102,102,255,0,157,157,2,0,0,0,105,105,105,105,255,0,164,157,2,0,0,0,107,107,107,107,255,0,171,157,2,0,0,0,110,110,110,110,255,0,178,157,2,0,0,0,112,112,112,112,255,0,185,157,2,0,0,0,115,115,115,115,255,0,192,157,2,0,0,0,117,117,117,117,255,0,199,157,2,0,0,0,120,120,120,120,255,0,206,157,2,0,0,0,122,122,122,122,255,0,213,157,2,0,0,0,125,125,125,125,255,0,220,157,2,0,0,0,13,13,13,13,255,0,226,157,2,0,0,0,127,127,127,127,255,0,233,157,2,0,0,0,130,130,130,130,255,0,240,157,2,0,0,0,133,133,133,133,255,0,247,157,2,0,0,0,135,135,135,135,255,0,254,157,2,0,0,0,138,138,138,138,255,0,5,158,2,0,0,0,140,140,140,140,255,0,12,158,2,0,0,0,143,143,143,143,255,0,19,158,2,0,0,0,145,145,145,145,255,0,26,158,2,0,0,0,148,148,148,148,255,0,33,158,2,0,0,0,150,150,150,150,255,0,40,158,2,0,0,0,15,15,15,15,255,0,46,158,2,0,0,0,153,153,153,153,255,0,53,158,2,0,0,0,156,156,156,156,255,0,60,158,2,0,0,0,158,158,158,158,255,0,67,158,2,0,0,0,161,161,161,161,255,0,74,158,2,0,0,0,163,163,163,163,255,0,81,158,2,0,0,0,166,166,166,166,255,0,88,158,2,0,0,0,168,168,168,168,255,0,95,158,2,0,0,0,171,171,171,171,255,0,102,158,2,0,0,0,173,173,173,173,255,0,109,158,2,0,0,0,176,176,176,176,255,0,116,158,2,0,0,0,18,18,18,18,255,0,122,158,2,0,0,0,179,179,179,179,255,0,129,158,2,0,0,0,181,181,181,181,255,0,136,158,2,0,0,0,184,184,184,184,255,0,143,158,2,0,0,0,186,186,186,186,255,0,150,158,2,0,0,0,189,189,189,189,255,0,157,158,2,0,0,0,191,191,191,191,255,0,164,158,2,0,0,0,194,194,194,194,255,0,171,158,2,0,0,0,196,196,196,196,255,0,178,158,2,0,0,0,199,199,199,199,255,0,185,158,2,0,0,0,201,201,201,201,255,0,192,158,2,0,0,0,20,20,20,20,255,0,198,158,2,0,0,0,204,204,204,204,255,0,205,158,2,0,0,0,207,207,207,207,255,0,212,158,2,0,0,0,209,209,209,209,255,0,219,158,2,0,0,0,212,212,212,212,255,0,226,158,2,0,0,0,214,214,214,214,255,0,233,158,2,0,0,0,217,217,217,217,255,0,240,158,2,0,0,0,219,219,219,219,255,0,247,158,2,0,0,0,222,222,222,222,255,0,254,158,2,0,0,0,224,224,224,224,255,0,5,159,2,0,0,0,227,227,227,227,255,0,12,159,2,0,0,0,23,23,23,23,255,0,18,159,2,0,0,0,229,229,229,229,255,0,25,159,2,0,0,0,232,232,232,232,255,0,32,159,2,0,0,0,235,235,235,235,255,0,39,159,2,0,0,0,237,237,237,237,255,0,46,159,2,0,0,0,240,240,240,240,255,0,53,159,2,0,0,0,242,242,242,242,255,0,60,159,2,0,0,0,245,245,245,245,255,0,67,159,2,0,0,0,247,247,247,247,255,0,74,159,2,0,0,0,250,250,250,250,255,0,81,159,2,0,0,0,252,252,252,252,255,0,88,159,2,0,85,15,255,240,255,240,255,0,97,159,2,0,85,15,255,240,255,240,255,0,107,159,2,0,85,15,238,224,238,224,255,0,117,159,2,0,85,14,205,193,205,193,255,0,127,159,2,0,85,14,139,131,139,131,255,0,137,159,2,0,233,150,255,255,105,180,255,0,145,159,2,0,234,145,255,255,110,180,255,0,154,159,2,0,235,141,238,238,106,167,255,0,163,159,2,0,236,135,205,205,96,144,255,0,172,159,2,0,234,148,139,139,58,98,255,0,181,159,2,0,0,140,205,205,92,92,255,0,191,159,2,0,0,148,255,255,106,106,255,0,202,159,2,0,0,148,238,238,99,99,255,0,213,159,2,0,0,149,205,205,85,85,255,0,224,159,2,0,0,148,139,139,58,58,255,0,235,159,2,0,194,255,130,75,0,130,255,0,242,159,2,0,42,0,255,255,255,254,0,0,248,159,2,0,42,15,255,255,255,240,255,0,254,159,2,0,42,15,255,255,255,240,255,0,5,160,2,0,42,15,238,238,238,224,255,0,12,160,2,0,42,14,205,205,205,193,255,0,19,160,2,0,42,14,139,139,139,131,255,0,26,160,2,0,38,106,240,240,230,140,255,0,32,160,2,0,39,112,255,255,246,143,255,0,39,160,2,0,39,112,238,238,230,133,255,0,46,160,2,0,39,111,205,205,198,115,255,0,53,160,2,0,39,111,139,139,134,78,255,0,60,160,2,0,170,20,250,230,230,250,255,0,69,160,2,0,240,15,255,255,240,245,255,0,83,160,2,0,240,15,255,255,240,245,255,0,98,160,2,0,239,15,238,238,224,229,255,0,113,160,2,0,240,14,205,205,193,197,255,0,128,160,2,0,239,14,139,139,131,134,255,0,143,160,2,0,64,255,252,124,252,0,255,0,153,160,2,0,38,49,255,255,250,205,255,0,166,160,2,0,38,49,255,255,250,205,255,0,180,160,2,0,37,50,238,238,233,191,255,0,194,160,2,0,38,49,205,205,201,165,255,0,208,160,2,0,39,49,139,139,137,112,255,0,222,160,2,0,137,63,230,173,216,230,255,0,232,160,2,0,138,64,255,191,239,255,255,0,243,160,2,0,138,64,238,178,223,238,255,0,254,160,2,0,138,63,205,154,192,205,255,0,9,161,2,0,137,64,139,104,131,139,255,0,20,161,2,0,0,119,240,240,128,128,255,0,31,161,2,0,127,31,255,224,255,255,255,0,41,161,2,0,127,31,255,224,255,255,255,0,52,161,2,0,127,31,238,209,238,238,255,0,63,161,2,0,127,31,205,180,205,205,255,0,74,161,2,0,127,31,139,122,139,139,255,0,85,161,2,0,35,115,238,238,221,130,255,0,100,161,2,0,35,116,255,255,236,139,255,0,116,161,2,0,35,115,238,238,220,130,255,0,132,161,2,0,35,115,205,205,190,112,255,0,148,161,2,0,35,115,139,139,129,76,255,0,164,161,2,0,42,40,250,250,250,210,255,0,185,161,2,0,0,0,211,211,211,211,255,0,195,161,2,0,0,0,211,211,211,211,255,0,205,161,2,0,248,73,255,255,182,193,255,0,215,161,2,0,249,81,255,255,174,185,255,0,226,161,2,0,248,81,238,238,162,173,255,0,237,161,2,0,249,80,205,205,140,149,255,0,248,161,2,0,249,80,139,139,95,101,255,0,3,162,2,0,12,132,255,255,160,122,255,0,15,162,2,0,12,132,255,255,160,122,255,0,28,162,2,0,11,132,238,238,149,114,255,0,41,162,2,0,12,133,205,205,129,98,255,0,54,162,2,0,12,133,139,139,87,66,255,0,67,162,2,0,125,209,178,32,178,170,255,0,81,162,2,0,143,117,250,135,206,250,255,0,94,162,2,0,143,79,255,176,226,255,255,0,108,162,2,0,143,79,238,164,211,238,255,0,122,162,2,0,142,79,205,141,182,205,255,0,136,162,2,0,143,78,139,96,123,139,255,0,150,162,2,0,175,143,255,132,112,255,255,0,165,162,2,0,148,56,153,119,136,153,255,0,180,162,2,0,148,56,153,119,136,153,255,0,195,162,2,0,151,52,222,176,196,222,255,0,210,162,2,0,151,53,255,202,225,255,255,0,226,162,2,0,151,53,238,188,210,238,255,0,242,162,2,0,151,53,205,162,181,205,255,0,2,163,2,0,150,53,139,110,123,139,255,0,18,163,2,0,42,31,255,255,255,224,255,0,30,163,2,0,42,31,255,255,255,224,255,0,43,163,2,0,42,31,238,238,238,209,255,0,56,163,2,0,42,31,205,205,205,180,255,0,69,163,2,0,42,31,139,139,139,122,255,0,82,163,2,0,85,192,205,50,205,50,255,0,92,163,2,0,21,20,250,250,240,230,255,0,98,163,2,0,212,255,255,255,0,255,255,0,106,163,2,0,212,255,255,255,0,255,255,0,115,163,2,0,212,255,238,238,0,238,255,0,124,163,2,0,212,255,205,205,0,205,255,0,133,163,2,0,212,255,139,139,0,139,255,0,142,163,2,0,239,185,176,176,48,96,255,0,149,163,2,0,228,203,255,255,52,179,255,0,157,163,2,0,228,203,238,238,48,167,255,0,165,163,2,0,228,204,205,205,41,144,255,0,173,163,2,0,228,203,139,139,28,98,255,0,181,163,2,0,113,128,205,102,205,170,255,0,198,163,2,0,170,255,205,0,0,205,255,0,209,163,2,0,204,152,211,186,85,211,255,0,222,163,2,0,203,153,255,224,102,255,255,0,236,163,2,0,203,153,238,209,95,238,255,0,250,163,2,0,203,153,205,180,82,205,255,0,8,164,2,0,203,154,139,122,55,139,255,0,22,164,2,0,183,124,219,147,112,219,255,0,35,164,2,0,183,125,255,171,130,255,255,0,49,164,2,0,183,125,238,159,121,238,255,0,63,164,2,0,183,125,205,137,104,205,255,0,77,164,2,0,183,124,139,93,71,139,255,0,91,164,2,0,103,169,179,60,179,113,255,0,106,164,2,0,176,143,238,123,104,238,255,0,122,164,2,0,111,255,250,0,250,154,255,0,140,164,2,0,125,167,209,72,209,204,255,0,156,164,2,0,228,228,199,199,21,133,255,0,172,164,2,0,170,198,112,25,25,112,255,0,185,164,2,0,106,9,255,245,255,250,255,0,195,164,2,0,4,30,255,255,228,225,255,0,205,164,2,0,4,30,255,255,228,225,255,0,216,164,2,0,4,30,238,238,213,210,255,0,227,164,2,0,3,29,205,205,183,181,255,0,238,164,2,0,5,29,139,139,125,123,255,0,249,164,2,0,26,73,255,255,228,181,255,0,2,165,2,0,25,81,255,255,222,173,255,0,14,165,2,0,25,81,255,255,222,173,255,0,27,165,2,0,25,82,238,238,207,161,255,0,40,165,2,0,25,82,205,205,179,139,255,0,53,165,2,0,25,82,139,139,121,94,255,0,66,165,2,0,170,255,128,0,0,128,255,0,71,165,2,0,170,255,128,0,0,128,255,0,80,165,2,0,42,0,255,255,255,254,0,0,85,165,2,0,27,23,253,253,245,230,255,0,93,165,2,0,56,192,142,107,142,35,255,0,103,165,2,0,56,193,255,192,255,62,255,0,114,165,2,0,56,192,238,179,238,58,255,0,125,165,2,0,56,192,205,154,205,50,255,0,136,165,2,0,56,192,139,105,139,34,255,0,147,165,2,0,27,255,255,255,165,0,255,0,154,165,2,0,27,255,255,255,165,0,255,0,162,165,2,0,27,255,238,238,154,0,255,0,170,165,2,0,27,255,205,205,133,0,255,0,178,165,2,0,27,255,139,139,90,0,255,0,186,165,2,0,11,255,255,255,69,0,255,0,196,165,2,0,11,255,255,255,69,0,255,0,207,165,2,0,11,255,238,238,64,0,255,0,218,165,2,0,11,255,205,205,55,0,255,0,229,165,2,0,11,255,139,139,37,0,255,0,240,165,2,0,214,123,218,218,112,214,255,0,247,165,2,0,214,124,255,255,131,250,255,0,255,165,2,0,214,124,238,238,122,233,255,0,7,166,2,0,214,124,205,205,105,201,255,0,15,166,2,0,213,124,139,139,71,137,255,0,23,166,2,0,38,72,238,238,232,170,255,0,37,166,2,0,85,100,251,152,251,152,255,0,47,166,2,0,85,101,255,154,255,154,255,0,58,166,2,0,85,100,238,144,238,144,255,0,69,166,2,0,85,100,205,124,205,124,255,0,80,166,2,0,85,100,139,84,139,84,255,0,91,166,2,0,127,67,238,175,238,238,255,0,105,166,2,0,127,68,255,187,255,255,255,0,120,166,2,0,127,68,238,174,238,238,255,0,135,166,2,0,127,68,205,150,205,205,255,0,150,166,2,0,127,67,139,102,139,139,255,0,165,166,2,0,241,124,219,219,112,147,255,0,179,166,2,0,241,125,255,255,130,171,255,0,194,166,2,0,241,125,238,238,121,159,255,0,209,166,2,0,241,125,205,205,104,137,255,0,224,166,2,0,241,124,139,139,71,93,255,0,239,166,2,0,26,41,255,255,239,213,255,0,250,166,2,0,20,70,255,255,218,185,255,0,4,167,2,0,20,70,255,255,218,185,255,0,15,167,2,0,19,69,238,238,203,173,255,0,26,167,2,0,19,69,205,205,175,149,255,0,37,167,2,0,20,69,139,139,119,101,255,0,48,167,2,0,20,176,205,205,133,63,255,0,53,167,2,0,247,63,255,255,192,203,255,0,58,167,2,0,245,73,255,255,181,197,255,0,64,167,2,0,245,73,238,238,169,184,255,0,70,167,2,0,245,74,205,205,145,158,255,0,76,167,2,0,245,73,139,139,99,108,255,0,82,167,2,0,212,70,221,221,160,221,255,0,87,167,2,0,212,68,255,255,187,255,255,0,93,167,2,0,212,68,238,238,174,238,255,0,99,167,2,0,212,68,205,205,150,205,255,0,105,167,2,0,212,67,139,139,102,139,255,0,111,167,2,0,132,59,230,176,224,230,255,0,122,167,2,0,196,221,240,160,32,240,255,0,129,167,2,0,191,207,255,155,48,255,255,0,137,167,2,0,192,207,238,145,44,238,255,0,145,167,2,0,192,207,205,125,38,205,255,0,153,167,2,0,192,207,139,85,26,139,255,0,161,167,2,0,0,255,255,255,0,0,255,0,165,167,2,0,0,255,255,255,0,0,255,0,170,167,2,0,0,255,238,238,0,0,255,0,175,167,2,0,0,255,205,205,0,0,255,0,180,167,2,0,0,255,139,139,0,0,255,0,185,167,2,0,0,61,188,188,143,143,255,0,195,167,2,0,0,62,255,255,193,193,255,0,206,167,2,0,0,62,238,238,180,180,255,0,217,167,2,0,0,62,205,205,155,155,255,0,228,167,2,0,0,62,139,139,105,105,255,0,239,167,2,0,159,181,225,65,105,225,255,0,249,167,2,0,159,183,255,72,118,255,255,0,4,168,2,0,159,183,238,67,110,238,255,0,15,168,2,0,159,182,205,58,95,205,255,0,26,168,2,0,159,183,139,39,64,139,255,0,37,168,2,0,17,220,139,139,69,19,255,0,49,168,2,0,4,138,250,250,128,114,255,0,56,168,2,0,9,150,255,255,140,105,255,0,64,168,2,0,9,150,238,238,130,98,255,0,72,168,2,0,9,150,205,205,112,84,255,0,80,168,2,0,9,150,139,139,76,57,255,0,88,168,2,0,19,154,244,244,164,96,255,0,99,168,2,0,103,170,139,46,139,87,255,0,108,168,2,0,103,171,255,84,255,159,255,0,118,168,2,0,103,171,238,78,238,148,255,0,128,168,2,0,103,171,205,67,205,128,255,0,138,168,2,0,103,170,139,46,139,87,255,0,148,168,2,0,17,16,255,255,245,238,255,0,157,168,2,0,17,16,255,255,245,238,255,0,167,168,2,0,18,17,238,238,229,222,255,0,177,168,2,0,18,17,205,205,197,191,255,0,187,168,2,0,18,16,139,139,134,130,255,0,197,168,2,0,13,183,160,160,82,45,255,0,204,168,2,0,13,184,255,255,130,71,255,0,212,168,2,0,13,184,238,238,121,66,255,0,220,168,2,0,13,184,205,205,104,57,255,0,228,168,2,0,13,185,139,139,71,38,255,0,236,168,2,0,139,108,235,135,206,235,255,0,244,168,2,0,144,120,255,135,206,255,255,0,253,168,2,0,144,120,238,126,192,238,255,0,6,169,2,0,144,120,205,108,166,205,255,0,15,169,2,0,145,119,139,74,112,139,255,0,24,169,2,0,175,143,205,106,90,205,255,0,34,169,2,0,175,144,255,131,111,255,255,0,45,169,2,0,175,144,238,122,103,238,255,0,56,169,2,0,175,144,205,105,89,205,255,0,67,169,2,0,175,144,139,71,60,139,255,0,78,169,2,0,148,56,144,112,128,144,255,0,88,169,2,0,149,56,255,198,226,255,255,0,99,169,2,0,149,56,238,185,211,238,255,0,110,169,2,0,148,57,205,159,182,205,255,0,121,169,2,0,149,56,139,108,123,139,255,0,132,169,2,0,148,56,144,112,128,144,255,0,142,169,2,0,0,5,255,255,250,250,255,0,147,169,2,0,0,5,255,255,250,250,255,0,153,169,2,0,0,5,238,238,233,233,255,0,159,169,2,0,0,4,205,205,201,201,255,0,165,169,2,0,0,3,139,139,137,137,255,0,171,169,2,0,106,255,255,0,255,127,255,0,183,169,2,0,106,255,255,0,255,127,255,0,196,169,2,0,106,255,238,0,238,118,255,0,209,169,2,0,106,255,205,0,205,102,255,0,222,169,2,0,106,255,139,0,139,69,255,0,235,169,2,0,146,155,180,70,130,180,255,0,245,169,2,0,146,156,255,99,184,255,255,0,0,170,2,0,146,156,238,92,172,238,255,0,11,170,2,0,146,156,205,79,148,205,255,0,22,170,2,0,147,155,139,54,100,139,255,0,33,170,2,0,24,84,210,210,180,140,255,0,37,170,2,0,20,176,255,255,165,79,255,0,42,170,2,0,20,176,238,238,154,73,255,0,47,170,2,0,20,176,205,205,133,63,255,0,52,170,2,0,20,176,139,139,90,43,255,0,57,170,2,0,212,29,216,216,191,216,255,0,65,170,2,0,212,30,255,255,225,255,255,0,74,170,2,0,212,30,238,238,210,238,255,0,83,170,2,0,212,29,205,205,181,205,255,0,92,170,2,0,212,29,139,139,123,139,255,0,101,170,2,0,6,184,255,255,99,71,255,0,108,170,2,0,6,184,255,255,99,71,255,0,116,170,2,0,6,184,238,238,92,66,255,0,124,170,2,0,6,184,205,205,79,57,255,0,132,170,2,0,6,185,139,139,54,38,255,0,150,173,2,0,42,0,255,255,255,254,0,0,140,170,2,0,123,182,224,64,224,208,255,0,150,170,2,0,129,255,255,0,245,255,255,0,161,170,2,0,129,255,238,0,229,238,255,0,172,170,2,0,129,255,205,0,197,205,255,0,183,170,2,0,129,255,139,0,134,139,255,0,194,170,2,0,212,115,238,238,130,238,255,0,201,170,2,0,227,215,208,208,32,144,255,0,211,170,2,0,235,193,255,255,62,150,255,0,222,170,2,0,235,192,238,238,58,140,255,0,233,170,2,0,235,192,205,205,50,120,255,0,244,170,2,0,235,192,139,139,34,82,255,0,255,170,2,0,27,68,245,245,222,179,255,0,5,171,2,0,27,69,255,255,231,186,255,0,12,171,2,0,27,68,238,238,216,174,255,0,19,171,2,0,27,68,205,205,186,150,255,0,26,171,2,0,27,67,139,139,126,102,255,0,33,171,2,0,0,0,255,255,255,255,255,0,39,171,2,0,0,0,245,245,245,245,255,0,50,171,2,0,42,255,255,255,255,0,255,0,57,171,2,0,42,255,255,255,255,0,255,0,65,171,2,0,42,255,238,238,238,0,255,0,73,171,2,0,42,255,205,205,205,0,255,0,81,171,2,0,42,255,139,139,139,0,255,0,89,171,2,0,56,192,205,154,205,50,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,176,2,0,52,173,2,0,54,173,2,0,56,173,2,0,58,173,2,0,60,173,2,0,62,173,2,0,64,173,2,0,66,173,2,0,68,173,2,0,70,173,2,0,73,173,2,0,76,173,2,0,79,173,2,0,82,173,2,0,85,173,2,0,88,173,2,0,91,173,2,0,94,173,2,0,97,173,2,0,100,173,2,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,13,0,0,0,51,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,195,173,2,0,255,174,2,0,8,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,185,2,0,245,185,2,0,143,186,2,0,9,0,0,0,149,186,2,0,10,0,0,0,158,186,2,0,11,0,0,0,224,186,2,0,12,0,0,0,230,186,2,0,13,0,0,0,235,186,2,0,14,0,0,0,158,186,2,0,15,0,0,0,115,187,2,0,16,0,0,0,122,187,2,0,17,0,0,0,130,187,2,0,18,0,0,0,137,187,2,0,19,0,0,0,149,187,2,0,20,0,0,0,224,186,2,0,21,0,0,0,161,187,2,0,22,0,0,0,169,187,2,0,23,0,0,0,179,187,2,0,24,0,0,0,193,187,2,0,25,0,0,0,200,187,2,0,26,0,0,0,205,187,2,0,27,0,0,0,208,187,2,0,28,0,0,0,213,187,2,0,29,0,0,0,221,187,2,0,30,0,0,0,227,187,2,0,31,0,0,0,233,187,2,0,32,0,0,0,240,187,2,0,33,0,0,0,246,187,2,0,33,0,0,0,254,187,2,0,34,0,0,0,5,188,2,0,35,0,0,0,158,186,2,0,36,0,0,0,122,187,2,0,17,0,0,0,130,187,2,0,18,0,0,0,252,189,2,0,37,0,0,0,137,187,2,0,19,0,0,0,149,187,2,0,20,0,0,0,224,186,2,0,21,0,0,0,7,190,2,0,38,0,0,0,169,187,2,0,23,0,0,0,179,187,2,0,24,0,0,0,193,187,2,0,25,0,0,0,200,187,2,0,26,0,0,0,205,187,2,0,27,0,0,0,208,187,2,0,28,0,0,0,15,190,2,0,39,0,0,0,221,187,2,0,30,0,0,0,227,187,2,0,31,0,0,0,233,187,2,0,32,0,0,0,240,187,2,0,33,0,0,0,246,187,2,0,33,0,0,0,254,187,2,0,34,0,0,0,5,188,2,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,191,2,0,2,192,2,0,15,192,2,0,32,192,2,0,64,192,2,0,79,192,2,0,97,192,2,0,112,192,2,0,132,192,2,0,160,192,2,0,195,192,2,0,212,192,2,0,239,192,2,0,3,193,2,0,41,193,2,0,68,193,2,0,110,193,2,0,157,193,2,0,174,193,2,0,225,193,2,0,248,193,2,0,38,194,2,0,65,194,2,0,116,194,2,0,152,194,2,0,204,194,2,0,249,194,2,0,8,195,2,0,34,195,2,0,72,195,2,0,104,195,2,0,137,195,2,0,171,195,2,0,188,195,2,0,209,195,2,0,225,195,2,0,242,195,2,0,30,196,2,0,110,196,2,0,169,196,2,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,29,0,0,0,40,0,0,0,41,0,0,0,30,0,0,0,42,0,0,0,15,0,0,0,23,0,0,0,31,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,4,254,255,255,135,254,255,255,7,0,0,0,0,0,0,0,0,255,255,127,255,255,255,127,255,255,255,255,255,255,255,243,127,254,253,255,255,255,255,255,127,255,255,255,255,255,255,255,255,15,224,255,255,255,255,49,252,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,1,0,248,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,215,255,255,251,255,255,255,255,127,127,84,253,255,15,0,254,223,255,255,255,255,255,255,255,255,254,223,255,255,255,255,3,0,255,255,255,255,255,255,159,25,255,255,255,207,63,3,0,0,0,0,0,0,254,255,255,255,127,2,254,255,255,255,127,0,0,0,0,0,0,0,0,0,255,255,255,7,7,0,0,0,0,0,254,255,255,7,254,7,0,0,0,0,254,255,255,255,255,255,255,255,255,124,255,127,47,0,96,0,0,0,224,255,255,255,255,255,255,35,0,0,0,255,3,0,0,0,224,159,249,255,255,253,197,3,0,0,0,176,3,0,3,0,224,135,249,255,255,253,109,3,0,0,0,94,0,0,28,0,224,175,251,255,255,253,237,35,0,0,0,0,1,0,0,0,224,159,249,255,255,253,205,35,0,0,0,176,3,0,0,0,224,199,61,214,24,199,191,3,0,0,0,0,0,0,0,0,224,223,253,255,255,253,239,3,0,0,0,0,3,0,0,0,224,223,253,255,255,253,239,3,0,0,0,64,3,0,0,0,224,223,253,255,255,253,255,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,255,255,127,13,0,63,0,0,0,0,0,0,0,150,37,240,254,174,108,13,32,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,254,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,63,0,255,255,255,255,127,0,237,218,7,0,0,0,0,80,1,80,49,130,171,98,44,0,0,0,0,64,0,201,128,245,7,0,0,0,0,8,1,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,3,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,64,76,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,254,3,0,0,254,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,7,224,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,255,7,254,255,255,135,254,255,255,7,0,0,0,0,0,0,128,0,255,255,127,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,1,0,248,3,0,3,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,3,0,0,0,192,215,255,255,251,255,255,255,255,127,127,84,253,255,15,0,254,223,255,255,255,255,255,255,255,255,254,223,255,255,255,255,123,0,255,255,255,255,255,255,159,25,255,255,255,207,63,3,0,0,0,0,0,0,254,255,255,255,127,2,254,255,255,255,127,0,254,255,251,255,255,187,22,0,255,255,255,7,7,0,0,0,0,0,254,255,255,7,255,255,7,0,255,3,255,255,255,255,255,255,255,255,255,124,255,127,239,255,255,61,255,3,238,255,255,255,255,255,255,243,255,63,30,255,207,255,0,0,238,159,249,255,255,253,197,211,159,57,128,176,207,255,3,0,228,135,249,255,255,253,109,211,135,57,0,94,192,255,31,0,238,175,251,255,255,253,237,243,191,59,0,0,193,255,0,0,238,159,249,255,255,253,205,243,143,57,192,176,195,255,0,0,236,199,61,214,24,199,191,195,199,61,128,0,128,255,0,0,238,223,253,255,255,253,239,195,223,61,96,0,195,255,0,0,236,223,253,255,255,253,239,195,223,61,96,64,195,255,0,0,236,223,253,255,255,253,255,195,207,61,128,0,195,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,255,255,127,255,7,255,127,255,3,0,0,0,0,150,37,240,254,174,108,255,59,95,63,255,3,0,0,0,0,0,0,0,3,255,3,160,194,255,254,255,255,255,3,254,255,223,15,191,254,255,63,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,31,2,0,0,0,160,0,0,0,254,255,62,0,254,255,255,255,255,255,255,255,255,255,31,102,254,255,255,255,255,255,255,255,255,255,255,119,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,29,0,0,0,40,0,0,0,41,0,0,0,30,0,0,0,42,0,0,0,15,0,0,0,23,0,0,0,31,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+84472);allocate([22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,29,0,0,0,40,0,0,0,41,0,0,0,30,0,0,0,42,0,0,0,15,0,0,0,23,0,0,0,31,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,92,116,1,0,204,117,1,0,60,119,1,0,172,120,1,0,172,120,1,0,28,122,1,0,60,119,1,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,29,0,0,0,40,0,0,0,41,0,0,0,30,0,0,0,42,0,0,0,15,0,0,0,23,0,0,0,31,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,29,0,0,0,40,0,0,0,41,0,0,0,30,0,0,0,42,0,0,0,15,0,0,0,23,0,0,0,31,0,0,0,10,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,29,0,0,0,40,0,0,0,41,0,0,0,30,0,0,0,42,0,0,0,15,0,0,0,23,0,0,0,31,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,16,0,0,0,38,0,0,0,51,0,0,0,52,0,0,0,39,0,0,0,53,0,0,0,17,0,0,0,24,0,0,0,40,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,18,0,0,0,47,0,0,0,54,0,0,0,55,0,0,0,48,0,0,0,56,0,0,0,19,0,0,0,25,0,0,0,49,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,106,1,0,168,123,1,0,24,125,1,0,136,126,1,0,136,126,1,0,248,127,1,0,24,125,1,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,29,0,0,0,40,0,0,0,41,0,0,0,30,0,0,0,42,0,0,0,15,0,0,0,23,0,0,0,31,0,0,0,10,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,29,0,0,0,40,0,0,0,41,0,0,0,30,0,0,0,42,0,0,0,15,0,0,0,23,0,0,0,31,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,16,0,0,0,38,0,0,0,51,0,0,0,52,0,0,0,39,0,0,0,53,0,0,0,17,0,0,0,24,0,0,0,40,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,18,0,0,0,47,0,0,0,54,0,0,0,55,0,0,0,48,0,0,0,56,0,0,0,19,0,0,0,25,0,0,0,49,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,33,2,0,207,199,2,0,88,33,2,0,154,199,2,0,216,199,2,0,225,199,2,0,64,200,2,0,70,200,2,0,73,200,2,0,79,200,2,0,234,199,2,0,86,200,2,0,95,200,2,0,103,200,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,168,134,1,0,24,135,1,0,136,135,1,0,136,135,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,3,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,131,249,162,0,68,78,110,0,252,41,21,0,209,87,39,0,221,52,245,0,98,219,192,0,60,153,149,0,65,144,67,0,99,81,254,0,187,222,171,0,183,97,197,0,58,110,36,0,210,77,66,0,73,6,224,0,9,234,46,0,28,146,209,0,235,29,254,0,41,177,28,0,232,62,167,0,245,53,130,0,68,187,46,0,156,233,132,0,180,38,112,0,65,126,95,0,214,145,57,0,83,131,57,0,156,244,57,0,139,95,132,0,40,249,189,0,248,31,59,0,222,255,151,0,15,152,5,0,17,47,239,0,10,90,139,0,109,31,109,0,207,126,54,0,9,203,39,0,70,79,183,0,158,102,63,0,45,234,95,0,186,39,117,0,229,235,199,0,61,123,241,0,247,57,7,0,146,82,138,0,251,107,234,0,31,177,95,0,8,93,141,0,48,3,86,0,123,252,70,0,240,171,107,0,32,188,207,0,54,244,154,0,227,169,29,0,94,97,145,0,8,27,230,0,133,153,101,0,160,20,95,0,141,64,104,0,128,216,255,0,39,115,77,0,6,6,49,0,202,86,21,0,201,168,115,0,123,226,96,0,107,140,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,22,0,0,0,168,241,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,22,0,0,0,160,237,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,22,0,0,0,152,233,2,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,190,243,2,0,110,0,0,0,192,243,2,0,114,0,0,0,194,243,2,0,102,0,0,0,196,243,2,0,97,0,0,0,198,243,2,0,101,0,0,0,200,243,2,0,119,0,0,0,202,243,2,0,87,0,0,0,215,243,2,0,115,0,0,0,229,243,2,0,83,0,0,0,241,243,2,0,100,0,0,0,254,243,2,0,68,0,0,0,10,244,2],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+94712);allocate([4,0,4,0,27,0,27,0,32,0,32,0,35,0,33,0,10,0,2,0,22,0,9,0,33,0,33,0,33,0,21,0,28,0,1,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,8,0,4,0,5,0,27,0,2,0,23,0,27,0,32,0,31,0,30,0,29,0,9,0,19,0,0,0,21,0,18,0,21,0,3,0,7,0,21,0,21,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,8,0,4,0,5,0,5,0,6,0,27,0,26,0,24,0,25,0,32,0,7,0,21,0,20,0,20,0,20,0,20,0,20,0,20,0,11,0,20,0,13,0,20,0,12,0,20,0,20,0,20,0,14,0,20,0,20,0,20,0,16,0,20,0,15,0,20,0,17,0,0,0,0,0,0,0,142,0,46,0,47,0,51,0,53,0,48,0,55,0,146,0,230,0,230,0,230,0,230,0,0,0,61,0,125,0,55,0,55,0,230,0,230,0,0,0,40,0,53,0,46,0,50,0,47,0,81,0,0,0,0,0,71,0,0,0,0,0,230,0,81,0,0,0,230,0,230,0,230,0,0,0,230,0,113,0,85,0,230,0,86,0,230,0,0,0,89,0,230,0,0,0,62,0,66,0,75,0,83,0,77,0,86,0,67,0,0,0,0,0,98,0,99,0,230,0,0,0,230,0,230,0,230,0,0,0,0,0,102,0,83,0,95,0,90,0,98,0,98,0,101,0,0,0,108,0,0,0,103,0,0,0,110,0,102,0,104,0,0,0,104,0,120,0,117,0,0,0,116,0,0,0,121,0,0,0,230,0,158,0,165,0,172,0,179,0,182,0,73,0,188,0,195,0,202,0,209,0,216,0,222,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,4,0,7,0,3,0,4,0,5,0,5,0,6,0,6,0,8,0,7,0,7,0,17,0,22,0,18,0,17,0,18,0,8,0,8,0,15,0,15,0,23,0,15,0,24,0,15,0,25,0,26,0,26,0,30,0,22,0,98,0,30,0,5,0,50,0,6,0,34,0,34,0,51,0,23,0,24,0,52,0,25,0,26,0,26,0,42,0,44,0,42,0,44,0,47,0,50,0,47,0,53,0,55,0,51,0,54,0,59,0,60,0,52,0,59,0,60,0,69,0,68,0,34,0,68,0,70,0,56,0,71,0,72,0,53,0,55,0,54,0,73,0,74,0,76,0,41,0,78,0,69,0,80,0,27,0,81,0,82,0,70,0,71,0,84,0,72,0,85,0,16,0,73,0,74,0,86,0,76,0,78,0,88,0,90,0,80,0,81,0,82,0,9,0,2,0,84,0,0,0,0,0,85,0,0,0,0,0,86,0,0,0,0,0,88,0,90,0,93,0,93,0,93,0,93,0,93,0,93,0,93,0,94,0,94,0,94,0,94,0,94,0,94,0,94,0,95,0,95,0,95,0,95,0,95,0,95,0,95,0,96,0,0,0,96,0,96,0,96,0,96,0,96,0,97,0,97,0,99,0,0,0,99,0,99,0,99,0,99,0,99,0,100,0,0,0,100,0,0,0,100,0,100,0,100,0,101,0,0,0,101,0,101,0,101,0,101,0,101,0,102,0,102,0,0,0,102,0,102,0,102,0,102,0,103,0,0,0,103,0,103,0,103,0,103,0,104,0,0,0,104,0,104,0,104,0,104,0,104,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,0,0,92,0,1,0,93,0,93,0,94,0,94,0,95,0,95,0,92,0,92,0,92,0,92,0,92,0,96,0,92,0,92,0,92,0,97,0,92,0,92,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,99,0,100,0,101,0,102,0,102,0,92,0,92,0,103,0,92,0,92,0,92,0,96,0,92,0,92,0,97,0,92,0,97,0,92,0,104,0,97,0,92,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,99,0,100,0,101,0,101,0,92,0,102,0,92,0,92,0,92,0,103,0,104,0,97,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,0,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,0,0,10,0,11,0,12,0,13,0,14,0,10,0,15,0,16,0,17,0,18,0,19,0,10,0,20,0,21,0,21,0,21,0,22,0,23,0,21,0,24,0,21,0,21,0,25,0,21,0,21,0,21,0,26,0,21,0,21,0,10,0,21,0,21,0,21,0,22,0,23,0,24,0,21,0,21,0,25,0,21,0,21,0,21,0,26,0,21,0,21,0,21,0,21,0,27,0,12,0,12,0,36,0,30,0,30,0,32,0,33,0,32,0,33,0,36,0,37,0,38,0,45,0,50,0,47,0,46,0,42,0,37,0,38,0,40,0,41,0,51,0,42,0,52,0,43,0,53,0,54,0,55,0,60,0,50,0,49,0,61,0,34,0,69,0,34,0,63,0,64,0,70,0,51,0,52,0,71,0,53,0,54,0,55,0,47,0,92,0,42,0,44,0,92,0,69,0,68,0,72,0,74,0,70,0,73,0,92,0,60,0,71,0,92,0,61,0,76,0,92,0,65,0,68,0,77,0,75,0,78,0,79,0,72,0,74,0,73,0,80,0,81,0,82,0,44,0,83,0,76,0,84,0,56,0,85,0,86,0,77,0,78,0,87,0,79,0,88,0,44,0,80,0,81,0,89,0,82,0,83,0,90,0,91,0,84,0,85,0,86,0,92,0,28,0,87,0,92,0,92,0,88,0,92,0,92,0,89,0,92,0,92,0,90,0,91,0,29,0,29,0,29,0,29,0,29,0,29,0,29,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,35,0,35,0,35,0,35,0,35,0,35,0,35,0,39,0,92,0,39,0,39,0,39,0,39,0,39,0,48,0,48,0,57,0,92,0,57,0,57,0,57,0,57,0,57,0,58,0,92,0,58,0,92,0,58,0,58,0,58,0,59,0,92,0,59,0,59,0,59,0,59,0,59,0,62,0,62,0,92,0,62,0,62,0,62,0,62,0,66,0,92,0,66,0,66,0,66,0,66,0,67,0,92,0,67,0,67,0,67,0,67,0,67,0,9,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,8,0,174,255,209,0,10,0,174,255,174,255,11,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,5,0,209,0,174,255,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,174,255,251,255,174,255,14,0,236,255,174,255,174,255,174,255,174,255,209,0,209,0,209,0,209,0,209,0,13,0,37,0,12,0,66,0,16,0,80,0,19,0,109,0,123,0,20,0,152,0,15,0,166,0,195,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,23,0,174,255,119,0,174,255,7,0,46,0,174,255,38,0,174,255,23,0,17,0,35,0,174,255,13,0,174,255,174,255,174,255,174,255,58,0,174,255,174,255,53,0,174,255,174,255,174,255,40,0,174,255,7,0,174,255,59,0,69,0,174,255,72,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,252,255,232,0,246,255,255,255,26,0,0,0,39,0,1,0,50,0,174,255,174,255,2,0,36,0,3,0,47,0,174,255,174,255,174,255,174,255,174,255,254,255,148,0,174,255,9,0,27,0,174,255,188,255,174,255,174,255,175,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,0,0,0,0,0,0,109,230,236,222,5,0,11,0,0,0,0,0,0,0,73,0,49,1,83,0,127,1,48,1,105,0,120,1,255,0,129,1,83,2,130,1,131,1,132,1,133,1,134,1,84,2,135,1,136,1,137,1,86,2,138,1,87,2,139,1,140,1,142,1,221,1,143,1,89,2,144,1,91,2,145,1,146,1,147,1,96,2,148,1,99,2,150,1,105,2,151,1,104,2,152,1,153,1,156,1,111,2,157,1,114,2,159,1,117,2,166,1,128,2,167,1,168,1,169,1,131,2,172,1,173,1,174,1,136,2,175,1,176,1,177,1,138,2,178,1,139,2,183,1,146,2,184,1,185,1,188,1,189,1,196,1,198,1,196,1,197,1,197,1,198,1,199,1,201,1,199,1,200,1,200,1,201,1,202,1,204,1,202,1,203,1,203,1,204,1,241,1,243,1,241,1,242,1,242,1,243,1,244,1,245,1,246,1,149,1,247,1,191,1,32,2,158,1,134,3,172,3,136,3,173,3,137,3,174,3,138,3,175,3,140,3,204,3,142,3,205,3,143,3,206,3,153,3,69,3,153,3,190,31,163,3,194,3,247,3,248,3,250,3,251,3,96,30,155,30,223,0,223,0,158,30,223,0,89,31,81,31,91,31,83,31,93,31,85,31,95,31,87,31,188,31,179,31,204,31,195,31,236,31,229,31,252,31,243,31,58,2,101,44,59,2,60,2,61,2,154,1,62,2,102,44,65,2,66,2,67,2,128,1,68,2,137,2,69,2,140,2,244,3,184,3,249,3,242,3,253,3,123,3,254,3,124,3,255,3,125,3,192,4,207,4,38,33,201,3,42,33,107,0,43,33,229,0,50,33,78,33,131,33,132,33,96,44,97,44,98,44,107,2,99,44,125,29,100,44,125,2,109,44,81,2,110,44,113,2,111,44,80,2,112,44,82,2,114,44,115,44,117,44,118,44,126,44,63,2,127,44,64,2,242,44,243,44,125,167,121,29,139,167,140,167,141,167,101,2,170,167,102,2,199,16,39,45,205,16,45,45,118,3,119,3,156,3,181,0,146,3,208,3,152,3,209,3,166,3,213,3,160,3,214,3,154,3,240,3,161,3,241,3,149,3,245,3,207,3,215,3,0,0,0,0,65,0,32,26,192,0,32,31,0,1,1,47,50,1,1,5,57,1,1,15,74,1,1,45,121,1,1,5,112,3,1,3,145,3,32,17,163,3,32,9,0,4,80,16,16,4,32,32,96,4,1,33,138,4,1,53,193,4,1,13,208,4,1,63,20,5,1,19,49,5,48,38,160,1,1,5,179,1,1,3,205,1,1,15,222,1,1,17,248,1,1,39,34,2,1,17,216,3,1,23,0,30,1,149,160,30,1,95,8,31,248,8,24,31,248,6,40,31,248,8,56,31,248,8,72,31,248,6,104,31,248,8,136,31,248,8,152,31,248,8,168,31,248,8,184,31,248,2,186,31,182,2,200,31,170,4,216,31,248,2,218,31,156,2,232,31,248,2,234,31,144,2,248,31,128,2,250,31,130,2,70,2,1,9,16,5,1,3,96,33,16,16,0,44,48,47,103,44,1,5,128,44,1,99,235,44,1,3,64,166,1,45,128,166,1,23,34,167,1,13,50,167,1,61,121,167,1,3,126,167,1,9,144,167,1,3,160,167,1,9,33,255,32,26,0,0,0,0,99,111,114,101,0,73,32,0,120,100,111,116,0,100,111,116,58,100,111,116,0,103,118,58,100,111,116,0,99,97,110,111,110,58,100,111,116,0,112,108,97,105,110,58,100,111,116,0,112,108,97,105,110,45,101,120,116,58,100,111,116,0,120,100,111,116,58,120,100,111,116,0,120,100,111,116,49,46,50,58,120,100,111,116,0,120,100,111,116,49,46,52,58,120,100,111,116,0,32,37,100,32,0,0,0,0,0,0,0,0,0,0,0,35,37,48,50,120,37,48,50,120,37,48,50,120,37,48,50,120,0,115,101,116,108,105,110,101,119,105,100,116,104,40,0,37,46,51,102,0,83,32,0,67,32,0,50,32,0,37,115,37,100,32,45,0,69,32,0,101,32,0,70,32,0,116,32,37,117,32,0,84,32,0,120,100,111,116,118,101,114,115,105,111,110,0,49,46,52,0,49,46,50,0,49,46,55,0,95,108,100,114,97,119,95,0,95,104,100,114,97,119,95,0,95,116,100,114,97,119,95,0,95,104,108,100,114,97,119,95,0,95,116,108,100,114,97,119,95,0,120,100,111,116,32,118,101,114,115,105,111,110,32,34,37,115,34,32,116,111,111,32,108,111,110,103,0,37,46,48,50,102,0,102,105,103,0,102,105,103,58,102,105,103,0,35,32,37,115,10,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,110,32,62,61,32,52,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,102,105,103,46,99,0,102,105,103,95,98,101,122,105,101,114,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,51,102,32,37,100,32,37,46,52,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,100,32,37,100,32,35,37,48,50,120,37,48,50,120,37,48,50,120,10,0,102,105,103,95,114,101,115,111,108,118,101,95,99,111,108,111,114,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,46,52,102,32,37,100,32,37,46,49,102,32,37,46,49,102,32,37,100,32,37,100,32,37,115,92,48,48,49,10,0,35,32,101,110,100,32,111,102,32,70,73,71,32,102,105,108,101,10,0,35,70,73,71,32,51,46,50,10,0,35,32,71,101,110,101,114,97,116,101,100,32,98,121,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,35,32,84,105,116,108,101,58,32,37,115,10,0,35,32,80,97,103,101,115,58,32,37,100,10,0,80,111,114,116,114,97,105,116,10,0,67,101,110,116,101,114,10,0,73,110,99,104,101,115,10,0,76,101,116,116,101,114,10,0,49,48,48,46,48,48,10,0,83,105,110,103,108,101,10,0,45,50,10,0,49,50,48,48,0,32,50,10,0,109,97,112,0,105,115,109,97,112,58,109,97,112,0,99,109,97,112,58,109,97,112,0,105,109,97,112,58,109,97,112,0,99,109,97,112,120,58,109,97,112,0,105,109,97,112,95,110,112,58,109,97,112,0,99,109,97,112,120,95,110,112,58,109,97,112,0,114,101,99,116,32,37,115,32,37,100,44,37,100,32,37,100,44,37,100,10,0,99,105,114,99,108,101,32,37,115,32,37,100,44,37,100,44,37,100,10,0,112,111,108,121,32,37,115,0,32,37,100,44,37,100,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,109,97,112,46,99,0,109,97,112,95,111,117,116,112,117,116,95,115,104,97,112,101,0,114,101,99,116,97,110,103,108,101,32,40,37,100,44,37,100,41,32,40,37,100,44,37,100,41,32,37,115,32,37,115,10,0,60,97,114,101,97,32,115,104,97,112,101,61,34,99,105,114,99,108,101,34,0,60,97,114,101,97,32,115,104,97,112,101,61,34,114,101,99,116,34,0,60,97,114,101,97,32,115,104,97,112,101,61,34,112,111,108,121,34,0,32,105,100,61,34,0,32,104,114,101,102,61,34,0,32,116,105,116,108,101,61,34,0,32,97,108,116,61,34,34,0,32,99,111,111,114,100,115,61,34,0,37,100,44,37,100,44,37,100,0,37,100,44,37,100,44,37,100,44,37,100,0,37,100,44,37,100,0,44,37,100,44,37,100,0,34,62,10,0,60,47,109,97,112,62,10,0,98,97,115,101,32,114,101,102,101,114,101,114,10,0,100,101,102,97,117,108,116,32,0,60,109,97,112,32,105,100,61,34,0,34,32,110,97,109,101,61,34,0,112,115,50,58,112,115,0,32,93,32,32,37,100,32,116,114,117,101,32,37,115,10,0,32,93,32,32,37,100,32,102,97,108,115,101,32,37,115,10,0,32,115,101,116,108,105,110,101,119,105,100,116,104,10,0,37,115,32,0,115,101,116,104,115,98,0,37,46,53,103,32,37,46,53,103,32,37,46,53,103,32,37,115,99,111,108,111,114,10,0,37,32,0,110,101,119,112,97,116,104,32,0,32,109,111,118,101,116,111,10,0,32,108,105,110,101,116,111,10,0,115,116,114,111,107,101,10,0,32,99,117,114,118,101,116,111,10,0,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,0,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,0,32,101,108,108,105,112,115,101,95,112,97,116,104,32,102,105,108,108,10,0,32,101,108,108,105,112,115,101,95,112,97,116,104,32,115,116,114,111,107,101,10,0,32,47,37,115,32,115,101,116,95,102,111,110,116,10,0,32,109,111,118,101,116,111,32,0,32,37,115,32,97,108,105,103,110,101,100,116,101,120,116,10,0,91,32,47,82,101,99,116,32,91,32,0,32,93,10,0,32,32,47,66,111,114,100,101,114,32,91,32,48,32,48,32,48,32,93,10,32,32,47,65,99,116,105,111,110,32,60,60,32,47,83,117,98,116,121,112,101,32,47,85,82,73,32,47,85,82,73,32,37,115,32,62,62,10,32,32,47,83,117,98,116,121,112,101,32,47,76,105,110,107,10,47,65,78,78,32,112,100,102,109,97,114,107,10,0,103,115,97,118,101,10,0,37,37,32,37,115,10,0,48,32,48,32,48,32,101,100,103,101,99,111,108,111,114,10,0,101,110,100,112,97,103,101,10,115,104,111,119,112,97,103,101,10,103,114,101,115,116,111,114,101,10,0,37,37,80,97,103,101,84,114,97,105,108,101,114,10,0,37,37,37,37,69,110,100,80,97,103,101,58,32,37,100,10,0,37,37,37,37,80,97,103,101,58,32,37,100,32,37,100,10,0,37,37,37,37,80,97,103,101,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,76,97,110,100,115,99,97,112,101,0,80,111,114,116,114,97,105,116,0,37,37,37,37,80,97,103,101,79,114,105,101,110,116,97,116,105,111,110,58,32,37,115,10,0,60,60,32,47,80,97,103,101,83,105,122,101,32,91,37,100,32,37,100,93,32,62,62,32,115,101,116,112,97,103,101,100,101,118,105,99,101,10,0,37,100,32,37,100,32,37,100,32,98,101,103,105,110,112,97,103,101,10,0,103,115,97,118,101,10,37,100,32,37,100,32,37,100,32,37,100,32,98,111,120,112,114,105,109,32,99,108,105,112,32,110,101,119,112,97,116,104,10,0,37,103,32,37,103,32,115,101,116,95,115,99,97,108,101,32,37,100,32,114,111,116,97,116,101,32,37,103,32,37,103,32,116,114,97,110,115,108,97,116,101,10,0,99,97,110,118,97,115,32,115,105,122,101,32,40,37,100,44,37,100,41,32,101,120,99,101,101,100,115,32,80,68,70,32,108,105,109,105,116,32,40,37,100,41,10,9,40,115,117,103,103,101,115,116,32,115,101,116,116,105,110,103,32,97,32,98,111,117,110,100,105,110,103,32,98,111,120,32,115,105,122,101,44,32,115,101,101,32,100,111,116,40,49,41,41,10,0,91,32,47,67,114,111,112,66,111,120,32,91,37,100,32,37,100,32,37,100,32,37,100,93,32,47,80,65,71,69,83,32,112,100,102,109,97,114,107,10,0,37,100,32,37,100,32,115,101,116,108,97,121,101,114,10,0,0,37,37,37,37,84,105,116,108,101,58,32,37,115,10,0,37,37,80,97,103,101,115,58,32,40,97,116,101,110,100,41,10,0,37,37,80,97,103,101,115,58,32,49,10,0,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,40,97,116,101,110,100,41,10,0,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,37,69,110,100,67,111,109,109,101,110,116,115,10,115,97,118,101,10,0,115,101,116,117,112,76,97,116,105,110,49,10,0,91,32,123,67,97,116,97,108,111,103,125,32,60,60,32,47,85,82,73,32,60,60,32,47,66,97,115,101,32,37,115,32,62,62,32,62,62,10,47,80,85,84,32,112,100,102,109,97,114,107,10,0,37,37,66,101,103,105,110,80,114,111,108,111,103,0,47,68,111,116,68,105,99,116,32,50,48,48,32,100,105,99,116,32,100,101,102,0,68,111,116,68,105,99,116,32,98,101,103,105,110,0,47,115,101,116,117,112,76,97,116,105,110,49,32,123,0,109,97,114,107,0,47,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,50,53,54,32,97,114,114,97,121,32,100,101,102,0,32,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,48,0,73,83,79,76,97,116,105,110,49,69,110,99,111,100,105,110,103,32,48,32,50,53,53,32,103,101,116,105,110,116,101,114,118,97,108,32,112,117,116,105,110,116,101,114,118,97,108,0,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,52,53,32,47,104,121,112,104,101,110,32,112,117,116,0,37,32,83,101,116,32,117,112,32,73,83,79,32,76,97,116,105,110,32,49,32,99,104,97,114,97,99,116,101,114,32,101,110,99,111,100,105,110,103,0,47,115,116,97,114,110,101,116,73,83,79,32,123,0,32,32,32,32,32,32,32,32,100,117,112,32,100,117,112,32,102,105,110,100,102,111,110,116,32,100,117,112,32,108,101,110,103,116,104,32,100,105,99,116,32,98,101,103,105,110,0,32,32,32,32,32,32,32,32,123,32,49,32,105,110,100,101,120,32,47,70,73,68,32,110,101,32,123,32,100,101,102,32,125,123,32,112,111,112,32,112,111,112,32,125,32,105,102,101,108,115,101,0,32,32,32,32,32,32,32,32,125,32,102,111,114,97,108,108,0,32,32,32,32,32,32,32,32,47,69,110,99,111,100,105,110,103,32,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,100,101,102,0,32,32,32,32,32,32,32,32,99,117,114,114,101,110,116,100,105,99,116,32,101,110,100,32,100,101,102,105,110,101,102,111,110,116,0,125,32,100,101,102,0,47,84,105,109,101,115,45,82,111,109,97,110,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,73,116,97,108,105,99,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,66,111,108,100,73,116,97,108,105,99,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,66,111,108,100,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,66,111,108,100,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,99,108,101,97,114,116,111,109,97,114,107,0,125,32,98,105,110,100,32,100,101,102,0,37,37,66,101,103,105,110,82,101,115,111,117,114,99,101,58,32,112,114,111,99,115,101,116,32,103,114,97,112,104,118,105,122,32,48,32,48,0,47,99,111,111,114,100,45,102,111,110,116,45,102,97,109,105,108,121,32,47,84,105,109,101,115,45,82,111,109,97,110,32,100,101,102,0,47,100,101,102,97,117,108,116,45,102,111,110,116,45,102,97,109,105,108,121,32,47,84,105,109,101,115,45,82,111,109,97,110,32,100,101,102,0,47,99,111,111,114,100,102,111,110,116,32,99,111,111,114,100,45,102,111,110,116,45,102,97,109,105,108,121,32,102,105,110,100,102,111,110,116,32,56,32,115,99,97,108,101,102,111,110,116,32,100,101,102,0,47,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,49,46,48,32,100,101,102,0,47,115,101,116,95,115,99,97,108,101,32,123,0,32,32,32,32,32,32,32,100,117,112,32,49,32,101,120,99,104,32,100,105,118,32,47,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,101,120,99,104,32,100,101,102,0,32,32,32,32,32,32,32,115,99,97,108,101,0,37,32,115,116,121,108,101,115,0,47,115,111,108,105,100,32,123,32,91,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,100,97,115,104,101,100,32,123,32,91,57,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,32,100,117,112,32,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,100,111,116,116,101,100,32,123,32,91,49,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,32,54,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,105,110,118,105,115,32,123,47,102,105,108,108,32,123,110,101,119,112,97,116,104,125,32,100,101,102,32,47,115,116,114,111,107,101,32,123,110,101,119,112,97,116,104,125,32,100,101,102,32,47,115,104,111,119,32,123,112,111,112,32,110,101,119,112,97,116,104,125,32,100,101,102,125,32,98,105,110,100,32,100,101,102,0,47,98,111,108,100,32,123,32,50,32,115,101,116,108,105,110,101,119,105,100,116,104,32,125,32,98,105,110,100,32,100,101,102,0,47,102,105,108,108,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,117,110,102,105,108,108,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,114,111,117,110,100,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,100,105,97,103,111,110,97,108,115,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,116,97,112,101,114,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,37,32,104,111,111,107,115,32,102,111,114,32,115,101,116,116,105,110,103,32,99,111,108,111,114,32,0,47,110,111,100,101,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,101,100,103,101,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,103,114,97,112,104,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,110,111,112,99,111,108,111,114,32,123,112,111,112,32,112,111,112,32,112,111,112,125,32,98,105,110,100,32,100,101,102,0,47,98,101,103,105,110,112,97,103,101,32,123,9,37,32,105,32,106,32,110,112,97,103,101,115,0,9,47,110,112,97,103,101,115,32,101,120,99,104,32,100,101,102,0,9,47,106,32,101,120,99,104,32,100,101,102,0,9,47,105,32,101,120,99,104,32,100,101,102,0,9,47,115,116,114,32,49,48,32,115,116,114,105,110,103,32,100,101,102,0,9,110,112,97,103,101,115,32,49,32,103,116,32,123,0,9,9,103,115,97,118,101,0,9,9,9,99,111,111,114,100,102,111,110,116,32,115,101,116,102,111,110,116,0,9,9,9,48,32,48,32,109,111,118,101,116,111,0,9,9,9,40,92,40,41,32,115,104,111,119,32,105,32,115,116,114,32,99,118,115,32,115,104,111,119,32,40,44,41,32,115,104,111,119,32,106,32,115,116,114,32,99,118,115,32,115,104,111,119,32,40,92,41,41,32,115,104,111,119,0,9,9,103,114,101,115,116,111,114,101,0,9,125,32,105,102,0,47,115,101,116,95,102,111,110,116,32,123,0,9,102,105,110,100,102,111,110,116,32,101,120,99,104,0,9,115,99,97,108,101,102,111,110,116,32,115,101,116,102,111,110,116,0,37,32,100,114,97,119,32,116,101,120,116,32,102,105,116,116,101,100,32,116,111,32,105,116,115,32,101,120,112,101,99,116,101,100,32,119,105,100,116,104,0,47,97,108,105,103,110,101,100,116,101,120,116,32,123,9,9,9,37,32,119,105,100,116,104,32,116,101,120,116,0,9,47,116,101,120,116,32,101,120,99,104,32,100,101,102,0,9,47,119,105,100,116,104,32,101,120,99,104,32,100,101,102,0,9,103,115,97,118,101,0,9,9,119,105,100,116,104,32,48,32,103,116,32,123,0,9,9,9,91,93,32,48,32,115,101,116,100,97,115,104,0,9,9,9,116,101,120,116,32,115,116,114,105,110,103,119,105,100,116,104,32,112,111,112,32,119,105,100,116,104,32,101,120,99,104,32,115,117,98,32,116,101,120,116,32,108,101,110,103,116,104,32,100,105,118,32,48,32,116,101,120,116,32,97,115,104,111,119,0,9,9,125,32,105,102,0,9,103,114,101,115,116,111,114,101,0,47,98,111,120,112,114,105,109,32,123,9,9,9,9,37,32,120,99,111,114,110,101,114,32,121,99,111,114,110,101,114,32,120,115,105,122,101,32,121,115,105,122,101,0,9,9,52,32,50,32,114,111,108,108,0,9,9,109,111,118,101,116,111,0,9,9,50,32,99,111,112,121,0,9,9,101,120,99,104,32,48,32,114,108,105,110,101,116,111,0,9,9,48,32,101,120,99,104,32,114,108,105,110,101,116,111,0,9,9,112,111,112,32,110,101,103,32,48,32,114,108,105,110,101,116,111,0,9,9,99,108,111,115,101,112,97,116,104,0,47,101,108,108,105,112,115,101,95,112,97,116,104,32,123,0,9,47,114,121,32,101,120,99,104,32,100,101,102,0,9,47,114,120,32,101,120,99,104,32,100,101,102,0,9,47,121,32,101,120,99,104,32,100,101,102,0,9,47,120,32,101,120,99,104,32,100,101,102,0,9,109,97,116,114,105,120,32,99,117,114,114,101,110,116,109,97,116,114,105,120,0,9,110,101,119,112,97,116,104,0,9,120,32,121,32,116,114,97,110,115,108,97,116,101,0,9,114,120,32,114,121,32,115,99,97,108,101,0,9,48,32,48,32,49,32,48,32,51,54,48,32,97,114,99,0,9,115,101,116,109,97,116,114,105,120,0,47,101,110,100,112,97,103,101,32,123,32,115,104,111,119,112,97,103,101,32,125,32,98,105,110,100,32,100,101,102,0,47,115,104,111,119,112,97,103,101,32,123,32,125,32,100,101,102,0,47,108,97,121,101,114,99,111,108,111,114,115,101,113,0,9,91,9,37,32,108,97,121,101,114,32,99,111,108,111,114,32,115,101,113,117,101,110,99,101,32,45,32,100,97,114,107,101,115,116,32,116,111,32,108,105,103,104,116,101,115,116,0,9,9,91,48,32,48,32,48,93,0,9,9,91,46,50,32,46,56,32,46,56,93,0,9,9,91,46,52,32,46,56,32,46,56,93,0,9,9,91,46,54,32,46,56,32,46,56,93,0,9,9,91,46,56,32,46,56,32,46,56,93,0,9,93,0,100,101,102,0,47,108,97,121,101,114,108,101,110,32,108,97,121,101,114,99,111,108,111,114,115,101,113,32,108,101,110,103,116,104,32,100,101,102,0,47,115,101,116,108,97,121,101,114,32,123,47,109,97,120,108,97,121,101,114,32,101,120,99,104,32,100,101,102,32,47,99,117,114,108,97,121,101,114,32,101,120,99,104,32,100,101,102,0,9,108,97,121,101,114,99,111,108,111,114,115,101,113,32,99,117,114,108,97,121,101,114,32,49,32,115,117,98,32,108,97,121,101,114,108,101,110,32,109,111,100,32,103,101,116,0,9,97,108,111,97,100,32,112,111,112,32,115,101,116,104,115,98,99,111,108,111,114,0,9,47,110,111,100,101,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,9,47,101,100,103,101,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,9,47,103,114,97,112,104,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,47,111,110,108,97,121,101,114,32,123,32,99,117,114,108,97,121,101,114,32,110,101,32,123,105,110,118,105,115,125,32,105,102,32,125,32,100,101,102,0,47,111,110,108,97,121,101,114,115,32,123,0,9,47,109,121,117,112,112,101,114,32,101,120,99,104,32,100,101,102,0,9,47,109,121,108,111,119,101,114,32,101,120,99,104,32,100,101,102,0,9,99,117,114,108,97,121,101,114,32,109,121,108,111,119,101,114,32,108,116,0,9,99,117,114,108,97,121,101,114,32,109,121,117,112,112,101,114,32,103,116,0,9,111,114,0,9,123,105,110,118,105,115,125,32,105,102,0,47,99,117,114,108,97,121,101,114,32,48,32,100,101,102,0,37,37,69,110,100,82,101,115,111,117,114,99,101,0,37,37,69,110,100,80,114,111,108,111,103,0,37,37,66,101,103,105,110,83,101,116,117,112,0,49,52,32,100,101,102,97,117,108,116,45,102,111,110,116,45,102,97,109,105,108,121,32,115,101,116,95,102,111,110,116,0,49,32,115,101,116,109,105,116,101,114,108,105,109,105,116,0,37,32,47,97,114,114,111,119,108,101,110,103,116,104,32,49,48,32,100,101,102,0,37,32,47,97,114,114,111,119,119,105,100,116,104,32,53,32,100,101,102,0,37,32,109,97,107,101,32,115,117,114,101,32,112,100,102,109,97,114,107,32,105,115,32,104,97,114,109,108,101,115,115,32,102,111,114,32,80,83,45,105,110,116,101,114,112,114,101,116,101,114,115,32,111,116,104,101,114,32,116,104,97,110,32,68,105,115,116,105,108,108,101,114,0,47,112,100,102,109,97,114,107,32,119,104,101,114,101,32,123,112,111,112,125,32,123,117,115,101,114,100,105,99,116,32,47,112,100,102,109,97,114,107,32,47,99,108,101,97,114,116,111,109,97,114,107,32,108,111,97,100,32,112,117,116,125,32,105,102,101,108,115,101,0,37,32,109,97,107,101,32,39,60,60,39,32,97,110,100,32,39,62,62,39,32,115,97,102,101,32,111,110,32,80,83,32,76,101,118,101,108,32,49,32,100,101,118,105,99,101,115,0,47,108,97,110,103,117,97,103,101,108,101,118,101,108,32,119,104,101,114,101,32,123,112,111,112,32,108,97,110,103,117,97,103,101,108,101,118,101,108,125,123,49,125,32,105,102,101,108,115,101,0,50,32,108,116,32,123,0,32,32,32,32,117,115,101,114,100,105,99,116,32,40,60,60,41,32,99,118,110,32,40,91,41,32,99,118,110,32,108,111,97,100,32,112,117,116,0,32,32,32,32,117,115,101,114,100,105,99,116,32,40,62,62,41,32,99,118,110,32,40,91,41,32,99,118,110,32,108,111,97,100,32,112,117,116,0,125,32,105,102,0,37,37,69,110,100,83,101,116,117,112,0,37,37,84,114,97,105,108,101,114,10,0,37,37,37,37,80,97,103,101,115,58,32,37,100,10,0,101,110,100,10,114,101,115,116,111,114,101,10,0,37,37,69,79,70,10,0,37,33,80,83,45,65,100,111,98,101,45,51,46,48,0,32,69,80,83,70,45,51,46,48,10,0,37,37,37,37,67,114,101,97,116,111,114,58,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,100,97,114,107,98,108,117,101,0,100,97,114,107,99,121,97,110,0,100,97,114,107,103,114,97,121,0,100,97,114,107,103,114,101,121,0,100,97,114,107,109,97,103,101,110,116,97,0,100,97,114,107,114,101,100,0,108,105,103,104,116,103,114,101,101,110,0,60,33,45,45,32,0,60,112,111,108,121,108,105,110,101,0,32,112,111,105,110,116,115,61,34,0,37,103,44,37,103,32,0,34,47,62,10,0,32,102,105,108,108,61,34,0,117,114,108,40,35,108,95,37,100,41,0,117,114,108,40,35,114,95,37,100,41,0,34,32,102,105,108,108,45,111,112,97,99,105,116,121,61,34,37,102,0,34,32,115,116,114,111,107,101,61,34,0,34,32,115,116,114,111,107,101,45,119,105,100,116,104,61,34,37,103,0,34,32,115,116,114,111,107,101,45,100,97,115,104,97,114,114,97,121,61,34,37,115,0,34,32,115,116,114,111,107,101,45,111,112,97,99,105,116,121,61,34,37,102,0,49,44,53,0,53,44,50,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,115,118,103,46,99,0,115,118,103,95,112,114,105,110,116,95,99,111,108,111,114,0,60,112,97,116,104,0,32,100,61,34,0,37,99,37,103,44,37,103,0,60,100,101,102,115,62,10,60,114,97,100,105,97,108,71,114,97,100,105,101,110,116,32,105,100,61,34,114,95,37,100,34,32,99,120,61,34,53,48,37,37,34,32,99,121,61,34,53,48,37,37,34,32,114,61,34,55,53,37,37,34,32,102,120,61,34,37,100,37,37,34,32,102,121,61,34,37,100,37,37,34,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,48,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,115,116,111,112,45,111,112,97,99,105,116,121,58,0,49,46,0,59,34,47,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,49,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,34,47,62,10,60,47,114,97,100,105,97,108,71,114,97,100,105,101,110,116,62,10,60,47,100,101,102,115,62,10,0,60,100,101,102,115,62,10,60,108,105,110,101,97,114,71,114,97,100,105,101,110,116,32,105,100,61,34,108,95,37,100,34,32,103,114,97,100,105,101,110,116,85,110,105,116,115,61,34,117,115,101,114,83,112,97,99,101,79,110,85,115,101,34,32,0,120,49,61,34,37,103,34,32,121,49,61,34,37,103,34,32,120,50,61,34,37,103,34,32,121,50,61,34,37,103,34,32,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,37,46,48,51,102,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,34,47,62,10,60,47,108,105,110,101,97,114,71,114,97,100,105,101,110,116,62,10,60,47,100,101,102,115,62,10,0,60,112,111,108,121,103,111,110,0,37,103,44,37,103,0,60,101,108,108,105,112,115,101,0,32,99,120,61,34,37,103,34,32,99,121,61,34,37,103,34,0,32,114,120,61,34,37,103,34,32,114,121,61,34,37,103,34,0,60,116,101,120,116,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,115,116,97,114,116,34,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,101,110,100,34,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,109,105,100,100,108,101,34,0,32,120,61,34,37,103,34,32,121,61,34,37,103,34,0,32,102,111,110,116,45,102,97,109,105,108,121,61,34,37,115,0,44,37,115,0,32,102,111,110,116,45,119,101,105,103,104,116,61,34,37,115,34,0,32,102,111,110,116,45,115,116,114,101,116,99,104,61,34,37,115,34,0,32,102,111,110,116,45,115,116,121,108,101,61,34,37,115,34,0,32,102,111,110,116,45,102,97,109,105,108,121,61,34,37,115,34,0,32,102,111,110,116,45,119,101,105,103,104,116,61,34,98,111,108,100,34,0,32,102,111,110,116,45,115,116,121,108,101,61,34,105,116,97,108,105,99,34,0,32,116,101,120,116,45,100,101,99,111,114,97,116,105,111,110,61,34,0,37,115,111,118,101,114,108,105,110,101,0,37,115,108,105,110,101,45,116,104,114,111,117,103,104,0,32,98,97,115,101,108,105,110,101,45,115,104,105,102,116,61,34,115,117,112,101,114,34,0,32,98,97,115,101,108,105,110,101,45,115,104,105,102,116,61,34,115,117,98,34,0,32,102,111,110,116,45,115,105,122,101,61,34,37,46,50,102,34,0,32,102,105,108,108,61,34,37,115,34,0,32,102,105,108,108,61,34,35,37,48,50,120,37,48,50,120,37,48,50,120,34,0,115,118,103,95,116,101,120,116,115,112,97,110,0,62,0,60,47,116,101,120,116,62,10,0,60,47,103,62,10,0,60,103,0,32,105,100,61,34,97,95,0,32,120,108,105,110,107,58,104,114,101,102,61,34,0,32,120,108,105,110,107,58,116,105,116,108,101,61,34,0,32,116,97,114,103,101,116,61,34,0,60,103,32,105,100,61,34,0,34,32,99,108,97,115,115,61,34,101,100,103,101,34,62,0,60,116,105,116,108,101,62,0,60,47,116,105,116,108,101,62,10,0,95,37,115,0,34,32,99,108,97,115,115,61,34,110,111,100,101,34,62,0,34,32,99,108,97,115,115,61,34,99,108,117,115,116,101,114,34,62,0,34,32,99,108,97,115,115,61,34,103,114,97,112,104,34,0,32,116,114,97,110,115,102,111,114,109,61,34,115,99,97,108,101,40,37,103,32,37,103,41,32,114,111,116,97,116,101,40,37,100,41,32,116,114,97,110,115,108,97,116,101,40,37,103,32,37,103,41,34,62,10,0,34,32,99,108,97,115,115,61,34,108,97,121,101,114,34,62,10,0,60,47,115,118,103,62,10,0,60,33,45,45,0,32,80,97,103,101,115,58,32,37,100,32,45,45,62,10,0,60,115,118,103,32,119,105,100,116,104,61,34,37,100,112,116,34,32,104,101,105,103,104,116,61,34,37,100,112,116,34,10,0,32,118,105,101,119,66,111,120,61,34,37,46,50,102,32,37,46,50,102,32,37,46,50,102,32,37,46,50,102,34,0,32,120,109,108,110,115,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,50,48,48,48,47,115,118,103,34,0,32,120,109,108,110,115,58,120,108,105,110,107,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,120,108,105,110,107,34,0,60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,32,115,116,97,110,100,97,108,111,110,101,61,34,110,111,34,63,62,10,0,115,116,121,108,101,115,104,101,101,116,0,60,63,120,109,108,45,115,116,121,108,101,115,104,101,101,116,32,104,114,101,102,61,34,0,34,32,116,121,112,101,61,34,116,101,120,116,47,99,115,115,34,63,62,10,0,60,33,68,79,67,84,89,80,69,32,115,118,103,32,80,85,66,76,73,67,32,34,45,47,47,87,51,67,47,47,68,84,68,32,83,86,71,32,49,46,49,47,47,69,78,34,10,0,32],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+101982);allocate([34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,71,114,97,112,104,105,99,115,47,83,86,71,47,49,46,49,47,68,84,68,47,115,118,103,49,49,46,100,116,100,34,62,10,0,60,33,45,45,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,116,107,0,116,107,58,116,107,0,35,32,0,32,99,114,101,97,116,101,32,108,105,110,101,32,0,32,45,102,105,108,108,32,0,32,45,100,97,115,104,32,53,0,32,45,100,97,115,104,32,50,0,103,114,97,112,104,32,108,97,98,101,108,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,116,107,46,99,0,116,107,103,101,110,95,112,114,105,110,116,95,116,97,103,115,0,32,45,116,97,103,115,32,123,37,100,37,115,37,100,125,0,116,107,103,101,110,95,112,114,105,110,116,95,99,111,108,111,114,0,36,99,0,32,45,119,105,100,116,104,32,0,32,45,115,109,111,111,116,104,32,98,101,122,105,101,114,32,0,32,99,114,101,97,116,101,32,112,111,108,121,103,111,110,32,0,32,45,111,117,116,108,105,110,101,32,0,32,99,114,101,97,116,101,32,111,118,97,108,32,0,32,99,114,101,97,116,101,32,116,101,120,116,32,0,32,45,116,101,120,116,32,123,0,125,0,32,45,102,111,110,116,32,123,0,32,37,100,125,0,32,45,97,110,99,104,111,114,32,119,0,32,45,97,110,99,104,111,114,32,101,0,35,0,32,84,105,116,108,101,58,32,0,32,80,97,103,101,115,58,32,37,100,10,0,35,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,41,10,0,69,114,114,111,114,32,100,117,114,105,110,103,32,99,111,110,118,101,114,115,105,111,110,32,116,111,32,34,85,84,70,45,56,34,46,32,32,81,117,105,116,105,110,103,46,10,0,118,109,108,0,118,109,108,58,118,109,108,0,97,113,117,97,0,102,117,99,104,115,105,97,0,108,105,109,101,0,111,108,105,118,101,0,116,101,97,108,0,32,32,32,32,32,32,60,33,45,45,32,0,32,45,45,62,10,0,32,60,118,58,115,104,97,112,101,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,0,32,119,105,100,116,104,58,32,37,100,59,32,104,101,105,103,104,116,58,32,37,100,34,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,62,0,60,118,58,112,97,116,104,32,118,61,34,0,32,109,32,0,37,46,48,102,44,37,46,48,102,32,0,32,108,32,0,32,101,32,0,34,47,62,0,60,47,118,58,115,104,97,112,101,62,10,0,60,118,58,115,116,114,111,107,101,32,99,111,108,111,114,61,34,0,34,32,119,101,105,103,104,116,61,34,37,46,48,102,112,116,0,34,32,100,97,115,104,115,116,121,108,101,61,34,100,97,115,104,0,34,32,100,97,115,104,115,116,121,108,101,61,34,100,111,116,0,34,32,47,62,0,35,37,48,50,120,37,48,50,120,37,48,50,120,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,118,109,108,46,99,0,118,109,108,95,112,114,105,110,116,95,99,111,108,111,114,0,32,119,105,100,116,104,58,32,37,100,59,32,104,101,105,103,104,116,58,32,37,100,34,0,32,62,0,60,118,58,112,97,116,104,32,32,118,61,34,0,47,62,60,47,118,58,115,104,97,112,101,62,10,0,109,32,0,37,115,37,46,48,102,44,37,46,48,102,32,0,99,32,0,32,102,105,108,108,101,100,61,34,116,114,117,101,34,32,102,105,108,108,99,111,108,111,114,61,34,0,34,32,0,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,32,0,37,46,48,102,32,37,46,48,102,32,0,108,32,0,120,32,101,32,34,47,62,0,32,32,60,118,58,111,118,97,108,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,0,32,108,101,102,116,58,32,37,46,50,102,59,32,116,111,112,58,32,37,46,50,102,59,0,32,119,105,100,116,104,58,32,37,46,50,102,59,32,104,101,105,103,104,116,58,32,37,46,50,102,34,0,60,47,118,58,111,118,97,108,62,10,0,60,118,58,114,101,99,116,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,0,32,115,116,114,111,107,101,100,61,34,102,97,108,115,101,34,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,62,10,0,60,118,58,116,101,120,116,98,111,120,32,105,110,115,101,116,61,34,48,44,48,44,48,44,48,34,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,118,45,116,101,120,116,45,119,114,97,112,112,105,110,103,58,39,102,97,108,115,101,39,59,112,97,100,100,105,110,103,58,39,48,39,59,0,102,111,110,116,45,102,97,109,105,108,121,58,32,39,37,115,39,59,0,102,111,110,116,45,119,101,105,103,104,116,58,32,37,115,59,0,102,111,110,116,45,115,116,114,101,116,99,104,58,32,37,115,59,0,102,111,110,116,45,115,116,121,108,101,58,32,37,115,59,0,32,102,111,110,116,45,115,105,122,101,58,32,37,46,50,102,112,116,59,0,99,111,108,111,114,58,37,115,59,0,99,111,108,111,114,58,35,37,48,50,120,37,48,50,120,37,48,50,120,59,0,118,109,108,95,116,101,120,116,115,112,97,110,0,34,62,60,99,101,110,116,101,114,62,0,60,47,99,101,110,116,101,114,62,60,47,118,58,116,101,120,116,98,111,120,62,10,0,60,47,118,58,114,101,99,116,62,10,0,60,47,97,62,10,0,60,97,0,32,104,114,101,102,61,34,37,115,34,0,32,116,105,116,108,101,61,34,37,115,34,0,32,116,97,114,103,101,116,61,34,37,115,34,0,62,10,0,60,47,118,58,103,114,111,117,112,62,10,0,60,47,68,73,86,62,10,0,60,68,73,86,32,105,100,61,39,95,86,77,76,50,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,118,105,115,105,98,105,108,105,116,121,58,104,105,100,100,101,110,34,62,10,0,60,33,45,45,32,105,110,115,101,114,116,32,97,110,121,32,111,116,104,101,114,32,104,116,109,108,32,99,111,110,116,101,110,116,32,104,101,114,101,32,45,45,62,10,0,60,68,73,86,32,105,100,61,39,95,110,111,116,86,77,76,49,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,34,62,10,0,60,33,45,45,32,116,104,105,115,32,115,104,111,117,108,100,32,111,110,108,121,32,100,105,115,112,108,97,121,32,111,110,32,78,79,78,45,73,69,32,98,114,111,119,115,101,114,115,32,45,45,62,10,0,60,72,50,62,83,111,114,114,121,44,32,116,104,105,115,32,100,105,97,103,114,97,109,32,119,105,108,108,32,111,110,108,121,32,100,105,115,112,108,97,121,32,99,111,114,114,101,99,116,108,121,32,111,110,32,73,110,116,101,114,110,101,116,32,69,120,112,108,111,114,101,114,32,53,32,40,97,110,100,32,117,112,41,32,98,114,111,119,115,101,114,115,46,60,47,72,50,62,10,0,60,68,73,86,32,105,100,61,39,95,110,111,116,86,77,76,50,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,34,62,10,0,60,33,45,45,32,105,110,115,101,114,116,32,97,110,121,32,111,116,104,101,114,32,78,79,78,45,73,69,32,104,116,109,108,32,99,111,110,116,101,110,116,32,104,101,114,101,32,45,45,62,10,0,60,47,66,79,68,89,62,10,60,47,72,84,77,76,62,10,0,60,72,69,65,68,62,0,60,77,69,84,65,32,104,116,116,112,45,101,113,117,105,118,61,34,67,111,110,116,101,110,116,45,84,121,112,101,34,32,99,111,110,116,101,110,116,61,34,116,101,120,116,47,104,116,109,108,59,32,99,104,97,114,115,101,116,61,85,84,70,45,56,34,62,10,0,60,84,73,84,76,69,62,0,60,47,84,73,84,76,69,62,0,60,33,45,45,32,80,97,103,101,115,58,32,37,100,32,45,45,62,10,0,32,32,32,60,83,67,82,73,80,84,32,76,65,78,71,85,65,71,69,61,39,74,97,118,97,115,99,114,105,112,116,39,62,10,0,32,32,32,102,117,110,99,116,105,111,110,32,98,114,111,119,115,101,114,99,104,101,99,107,40,41,10,0,32,32,32,123,10,0,32,32,32,32,32,32,118,97,114,32,117,97,32,61,32,119,105,110,100,111,119,46,110,97,118,105,103,97,116,111,114,46,117,115,101,114,65,103,101,110,116,10,0,32,32,32,32,32,32,118,97,114,32,109,115,105,101,32,61,32,117,97,46,105,110,100,101,120,79,102,32,40,32,39,77,83,73,69,32,39,32,41,10,0,32,32,32,32,32,32,118,97,114,32,105,101,118,101,114,115,59,10,0,32,32,32,32,32,32,118,97,114,32,105,116,101,109,59,10,0,32,32,32,32,32,32,118,97,114,32,86,77,76,121,101,115,61,110,101,119,32,65,114,114,97,121,40,39,95,86,77,76,49,95,39,44,39,95,86,77,76,50,95,39,41,59,10,0,32,32,32,32,32,32,118,97,114,32,86,77,76,110,111,61,110,101,119,32,65,114,114,97,121,40,39,95,110,111,116,86,77,76,49,95,39,44,39,95,110,111,116,86,77,76,50,95,39,41,59,10,0,32,32,32,32,32,32,105,102,32,40,32,109,115,105,101,32,62,32,48,32,41,123,32,32,32,32,32,32,47,47,32,73,102,32,73,110,116,101,114,110,101,116,32,69,120,112,108,111,114,101,114,44,32,114,101,116,117,114,110,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,10,0,32,32,32,32,32,32,32,32,32,105,101,118,101,114,115,61,32,112,97,114,115,101,73,110,116,32,40,117,97,46,115,117,98,115,116,114,105,110,103,32,40,109,115,105,101,43,53,44,32,117,97,46,105,110,100,101,120,79,102,32,40,39,46,39,44,32,109,115,105,101,32,41,41,41,10,0,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,105,102,32,40,105,101,118,101,114,115,62,61,53,41,123,10,0,32,32,32,32,32,32,32,102,111,114,32,40,120,32,105,110,32,86,77,76,121,101,115,41,123,10,0,32,32,32,32,32,32,32,32,32,105,116,101,109,32,61,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,86,77,76,121,101,115,91,120,93,41,59,10,0,32,32,32,32,32,32,32,32,32,105,102,32,40,105,116,101,109,41,32,123,10,0,32,32,32,32,32,32,32,32,32,32,32,105,116,101,109,46,115,116,121,108,101,46,118,105,115,105,98,105,108,105,116,121,61,39,118,105,115,105,98,108,101,39,59,10,0,32,32,32,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,32,102,111,114,32,40,120,32,105,110,32,86,77,76,110,111,41,123,10,0,32,32,32,32,32,32,32,32,32,105,116,101,109,32,61,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,86,77,76,110,111,91,120,93,41,59,10,0,32,32,32,32,32,32,32,32,32,32,32,105,116,101,109,46,115,116,121,108,101,46,118,105,115,105,98,105,108,105,116,121,61,39,104,105,100,100,101,110,39,59,10,0,32,32,32,32,32,125,101,108,115,101,123,10,0,32,32,32,32,32,125,10,0,32,32,32,125,10,0,32,32,32,60,47,83,67,82,73,80,84,62,10,0,60,47,72,69,65,68,62,0,60,66,79,68,89,32,111,110,108,111,97,100,61,39,98,114,111,119,115,101,114,99,104,101,99,107,40,41,59,39,62,10,0,60,68,73,86,32,105,100,61,39,95,86,77,76,49,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,32,100,105,115,112,108,97,121,58,105,110,108,105,110,101,59,32,118,105,115,105,98,105,108,105,116,121,58,104,105,100,100,101,110,0,32,119,105,100,116,104,58,32,37,100,112,116,59,32,104,101,105,103,104,116,58,32,37,100,112,116,34,62,10,0,60,83,84,89,76,69,62,10,0,118,92,58,42,32,123,32,98,101,104,97,118,105,111,114,58,32,117,114,108,40,35,100,101,102,97,117,108,116,35,86,77,76,41,59,100,105,115,112,108,97,121,58,105,110,108,105,110,101,45,98,108,111,99,107,125,10,0,60,47,83,84,89,76,69,62,10,0,60,120,109,108,58,110,97,109,101,115,112,97,99,101,32,110,115,61,34,117,114,110,58,115,99,104,101,109,97,115,45,109,105,99,114,111,115,111,102,116,45,99,111,109,58,118,109,108,34,32,112,114,101,102,105,120,61,34,118,34,32,47,62,10,0,32,60,118,58,103,114,111,117,112,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,32,0,32,119,105,100,116,104,58,32,37,100,112,116,59,32,104,101,105,103,104,116,58,32,37,100,112,116,34,0,32,99,111,111,114,100,111,114,105,103,105,110,61,34,48,44,48,34,32,99,111,111,114,100,115,105,122,101,61,34,37,100,44,37,100,34,32,62,0,60,72,84,77,76,62,10,0,10,60,33,45,45,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,32,118,101,114,115,105,111,110,32,0,32,40,0,41,10,45,45,62,10,0,112,111,118,32,114,101,110,100,101,114,101,114,58,101,108,32,45,32,37,115,10,0,112,111,118,0,112,111,118,58,112,111,118,0,98,97,107,101,114,115,99,104,111,99,0,98,114,97,115,115,0,98,114,105,103,104,116,103,111,108,100,0,98,114,111,110,122,101,0,98,114,111,110,122,101,50,0,99,108,101,97,114,0,99,111,111,108,99,111,112,112,101,114,0,99,111,112,112,101,114,0,100,97,114,107,98,114,111,119,110,0,100,97,114,107,112,117,114,112,108,101,0,100,97,114,107,116,97,110,0,100,97,114,107,119,111,111,100,0,100,107,103,114,101,101,110,99,111,112,112,101,114,0,100,117,115,116,121,114,111,115,101,0,102,101,108,100,115,112,97,114,0,102,108,101,115,104,0,103,114,97,121,48,53,0,103,114,101,101,110,99,111,112,112,101,114,0,104,117,110,116,101,114,115,103,114,101,101,110,0,108,105,103,104,116,95,112,117,114,112,108,101,0,108,105,103,104,116,119,111,111,100,0,109,97,110,100,97,114,105,110,111,114,97,110,103,101,0,109,101,100,105,117,109,102,111,114,101,115,116,103,114,101,101,110,0,109,101,100,105,117,109,103,111,108,100,101,110,114,111,100,0,109,101,100,105,117,109,119,111,111,100,0,109,101,100,95,112,117,114,112,108,101,0,109,105,99,97,0,110,101,111,110,98,108,117,101,0,110,101,111,110,112,105,110,107,0,110,101,119,109,105,100,110,105,103,104,116,98,108,117,101,0,110,101,119,116,97,110,0,111,108,100,103,111,108,100,0,113,117,97,114,116,122,0,114,105,99,104,98,108,117,101,0,115,99,97,114,108,101,116,0,115,101,109,105,83,119,101,101,116,67,104,111,99,0,115,105,108,118,101,114,0,115,112,105,99,121,112,105,110,107,0,115,117,109,109,101,114,115,107,121,0,118,101,114,121,100,97,114,107,98,114,111,119,110,0,118,101,114,121,95,108,105,103,104,116,95,112,117,114,112,108,101,0,47,47,42,42,42,32,99,111,109,109,101,110,116,58,32,37,115,10,0,47,47,42,42,42,32,112,111,108,121,108,105,110,101,10,0,115,99,97,108,101,32,32,32,32,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,114,111,116,97,116,101,32,32,32,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,116,114,97,110,115,108,97,116,101,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,115,112,104,101,114,101,95,115,119,101,101,112,32,123,10,32,32,32,32,37,115,10,32,32,32,32,37,100,44,10,0,108,105,110,101,97,114,95,115,112,108,105,110,101,0,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,44,32,37,46,51,102,10,0,37,115,32,32,32,32,37,115,0,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,48,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,37,115,37,115,0,37,115,32,116,114,97,110,115,109,105,116,32,37,46,51,102,0,82,101,100,0,71,114,101,101,110,0,66,108,117,101,0,114,103,98,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,32,116,114,97,110,115,109,105,116,32,37,46,51,102,0,111,111,112,115,44,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,117,110,104,97,110,100,108,101,100,32,99,111,108,111,114,32,116,121,112,101,61,37,100,32,37,115,10,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,112,111,118,46,99,0,112,111,118,95,99,111,108,111,114,95,97,115,95,115,116,114,0,112,105,103,109,101,110,116,32,123,32,99,111,108,111,114,32,37,115,32,125,10,0,47,47,42,42,42,32,98,101,122,105,101,114,10,0,98,95,115,112,108,105,110,101,0,32,32,32,32,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,48,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,112,111,108,121,103,111,110,10,0,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,112,111,108,121,103,111,110,32,123,32,37,100,44,10,0,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,0,37,115,10,32,32,32,32,37,115,0,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,101,108,108,105,112,115,101,10,0,116,111,114,117,115,32,123,32,37,46,51,102,44,32,37,46,51,102,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,115,112,104,101,114,101,32,123,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,44,32,49,46,48,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,116,101,120,116,115,112,97,110,58,32,37,115,44,32,102,111,110,116,115,105,122,101,32,61,32,37,46,51,102,44,32,102,111,110,116,110,97,109,101,32,61,32,37,115,10,0,115,99,97,108,101,32,37,46,51,102,10,0,116,101,120,116,32,123,10,32,32,32,32,116,116,102,32,34,37,115,34,44,10,32,32,32,32,34,37,115,34,44,32,37,46,51,102,44,32,37,46,51,102,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,32,32,32,32,110,111,95,115,104,97,100,111,119,10,0,47,47,42,42,42,32,101,110,100,95,101,100,103,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,101,100,103,101,10,0,47,47,42,42,42,32,101,110,100,95,110,111,100,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,110,111,100,101,58,32,37,115,10,0,47,47,42,42,42,32,101,110,100,95,99,108,117,115,116,101,114,10,0,47,47,42,42,42,32,98,101,103,105,110,95,99,108,117,115,116,101,114,10,0,47,47,42,42,42,32,101,110,100,95,112,97,103,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,112,97,103,101,10,0,47,47,42,42,42,32,101,110,100,95,108,97,121,101,114,10,0,47,47,42,42,42,32,98,101,103,105,110,95,108,97,121,101,114,58,32,37,115,44,32,37,100,47,37,100,10,0,47,47,42,42,42,32,101,110,100,95,103,114,97,112,104,10,0,47,47,42,42,42,32,98,101,103,105,110,95,103,114,97,112,104,32,37,115,10,0,99,97,109,101,114,97,32,123,32,108,111,99,97,116,105,111,110,32,60,37,46,51,102,32,44,32,37,46,51,102,32,44,32,37,46,51,102,62,10,32,32,32,32,32,32,32,32,32,108,111,111,107,95,97,116,32,32,60,37,46,51,102,32,44,32,37,46,51,102,32,44,32,37,46,51,102,62,10,32,32,32,32,32,32,32,32,32,114,105,103,104,116,32,120,32,42,32,105,109,97,103,101,95,119,105,100,116,104,32,47,32,105,109,97,103,101,95,104,101,105,103,104,116,10,32,32,32,32,32,32,32,32,32,97,110,103,108,101,32,37,46,51,102,10,125,10,0,47,47,115,107,121,10,112,108,97,110,101,32,123,32,60,48,44,32,49,44,32,48,62,44,32,49,32,104,111,108,108,111,119,10,32,32,32,32,116,101,120,116,117,114,101,32,123,10,32,32,32,32,32,32,32,32,112,105,103,109,101,110,116,32,123,32,98,111,122,111,32,116,117,114,98,117,108,101,110,99,101,32,48,46,57,53,10,32,32,32,32,32,32,32,32,32,32,32,32,99,111,108,111,114,95,109,97,112,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,48,48,32,114,103,98,32,60,48,46,48,53,44,32,48,46,50,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,53,48,32,114,103,98,32,60,48,46,48,53,44,32,48,46,50,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,55,53,32,114,103,98,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,48,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,55,53,32,114,103,98,32,60,48,46,50,53,44,32,48,46,50,53,44,32,48,46,50,53,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,49,46,48,48,32,114,103,98,32,60,48,46,53,48,44,32,48,46,53,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,115,99,97,108,101,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,53,48,62,32,42,32,50,46,53,48,10,32,32,32,32,32,32,32,32,32,32,32,32,116,114,97,110,115,108,97,116,101,32,60,48,46,48,48,44,32,48,46,48,48,44,32,48,46,48,48,62,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,102,105,110,105,115,104,32,123,32,97,109,98,105,101,110,116,32,49,32,100,105,102,102,117,115,101,32,48,32,125,10,32,32,32,32,125,10,32,32,32,32,115,99,97,108,101,32,49,48,48,48,48,10,125,10,47,47,109,105,115,116,10,102,111,103,32,123,32,102,111,103,95,116,121,112,101,32,50,10,32,32,32,32,100,105,115,116,97,110,99,101,32,53,48,10,32,32,32,32,99,111,108,111,114,32,114,103,98,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,48,48,62,32,42,32,48,46,55,53,10,32,32,32,32,102,111,103,95,111,102,102,115,101,116,32,48,46,49,48,10,32,32,32,32,102,111,103,95,97,108,116,32,49,46,53,48,10,32,32,32,32,116,117,114,98,117,108,101,110,99,101,32,49,46,55,53,10,125,10,47,47,103,110,100,10,112,108,97,110,101,32,123,32,60,48,46,48,48,44,32,49,46,48,48,44,32,48,46,48,48,62,44,32,48,10,32,32,32,32,116,101,120,116,117,114,101,32,123,10,32,32,32,32,32,32,32,32,112,105,103,109,101,110,116,123,32,99,111,108,111,114,32,114,103,98,32,60,48,46,50,53,44,32,48,46,52,53,44,32,48,46,48,48,62,32,125,10,32,32,32,32,32,32,32,32,110,111,114,109,97,108,32,123,32,98,117,109,112,115,32,48,46,55,53,32,115,99,97,108,101,32,48,46,48,49,32,125,10,32,32,32,32,32,32,32,32,102,105,110,105,115,104,32,123,32,112,104,111,110,103,32,48,46,49,48,32,125,10,32,32,32,32,125,10,125,10,0,108,105,103,104,116,95,115,111,117,114,99,101,32,123,32,60,49,53,48,48,44,51,48,48,48,44,45,50,53,48,48,62,32,99,111,108,111,114,32,87,104,105,116,101,32,125,10,0,35,118,101,114,115,105,111,110,32,51,46,54,59,10,0,103,108,111,98,97,108,95,115,101,116,116,105,110,103,115,32,123,32,97,115,115,117,109,101,100,95,103,97,109,109,97,32,49,46,48,32,125,10,0,35,100,101,102,97,117,108,116,32,123,32,102,105,110,105,115,104,32,123,32,97,109,98,105,101,110,116,32,48,46,49,32,100,105,102,102,117,115,101,32,48,46,57,32,125,32,125,10,0,35,105,110,99,108,117,100,101,32,34,99,111,108,111,114,115,46,105,110,99,34,10,35,105,110,99,108,117,100,101,32,34,116,101,120,116,117,114,101,115,46,105,110,99,34,10,35,105,110,99,108,117,100,101,32,34,115,104,97,112,101,115,46,105,110,99,34,10,0,35,100,101,99,108,97,114,101,32,37,115,32,61,32,37,115,59,10,0,66,108,97,99,107,0,87,104,105,116,101,0,112,105,99,0,112,105,99,58,112,105,99,0,37,115,32,37,115,10,0,46,92,34,32,0,32,37,100,32,37,100,0,32,37,115,10,0,32,37,100,0,102,105,108,108,32,0,101,108,108,105,112,115,101,32,97,116,116,114,115,37,100,32,37,115,119,105,100,32,37,46,53,102,32,104,116,32,37,46,53,102,32,97,116,32,40,37,46,53,102,44,37,46,53,102,41,59,10,0,46,102,116,32,37,115,10,0,46,112,115,32,37,100,42,92,110,40,83,70,117,47,37,46,48,102,117,10,0,34,37,115,34,32,97,116,32,40,37,46,53,102,44,37,46,53,102,41,59,10,0,37,48,51,111,0,37,115,37,115,32,105,115,32,110,111,116,32,97,32,116,114,111,102,102,32,102,111,110,116,10,0,100,111,116,32,112,105,99,32,112,108,117,103,105,110,58,32,0,82,0,93,10,46,80,69,10,0,46,80,83,32,37,46,53,102,32,37,46,53,102,10,0,37,115,32,116,111,32,99,104,97,110,103,101,32,100,114,97,119,105,110,103,32,115,105,122,101,44,32,109,117,108,116,105,112,108,121,32,116,104,101,32,119,105,100,116,104,32,97,110,100,32,104,101,105,103,104,116,32,111,110,32,116,104,101,32,46,80,83,32,108,105,110,101,32,97,98,111,118,101,32,97,110,100,32,116,104,101,32,110,117,109,98,101,114,32,111,110,32,116,104,101,32,116,119,111,32,108,105,110,101,115,32,98,101,108,111,119,32,40,114,111,117,110,100,101,100,32,116,111,32,116,104,101,32,110,101,97,114,101,115,116,32,105,110,116,101,103,101,114,41,32,98,121,32,97,32,115,99,97,108,101,32,102,97,99,116,111,114,10,0,46,110,114,32,83,70,32,37,46,48,102,10,115,99,97,108,101,116,104,105,99,107,110,101,115,115,32,61,32,37,46,48,102,10,0,37,115,32,100,111,110,39,116,32,99,104,97,110,103,101,32,97,110,121,116,104,105,110,103,32,98,101,108,111,119,32,116,104,105,115,32,108,105,110,101,32,105,110,32,116,104,105,115,32,100,114,97,119,105,110,103,10,0,37,115,32,110,111,110,45,102,97,116,97,108,32,114,117,110,45,116,105,109,101,32,112,105,99,32,118,101,114,115,105,111,110,32,100,101,116,101,114,109,105,110,97,116,105,111,110,44,32,118,101,114,115,105,111,110,32,50,10,0,98,111,120,114,97,100,61,50,46,48,32,37,115,32,119,105,108,108,32,98,101,32,114,101,115,101,116,32,116,111,32,48,46,48,32,98,121,32,103,112,105,99,32,111,110,108,121,10,0,115,99,97,108,101,61,49,46,48,32,37,115,32,114,101,113,117,105,114,101,100,32,102,111,114,32,99,111,109,112,97,114,105,115,111,110,115,10,0,37,115,32,98,111,120,114,97,100,32,105,115,32,110,111,119,32,48,46,48,32,105,110,32,103,112,105,99,44,32,101,108,115,101,32,105,116,32,114,101,109,97,105,110,115,32,50,46,48,10,0,37,115,32,100,97,115,104,119,105,100,32,105,115,32,48,46,49,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,44,32,48,46,48,53,32,105,110,32,68,87,66,32,50,32,97,110,100,32,105,110,32,103,112,105,99,10,0,37,115,32,102,105,108,108,118,97,108,32,105,115,32,48,46,51,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,32,40,102,105,108,108,32,48,32,109,101,97,110,115,32,98,108,97,99,107,41,44,32,48,46,53,32,105,110,32,103,112,105,99,32,40,102,105,108,108,32,48,32,109,101,97,110,115,32,119,104,105,116,101,41,44,32,117,110,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,10,0,37,115,32,102,105,108,108,32,104,97,115,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,44,32,103,112,105,99,32,99,97,110,32,117,115,101,32,102,105,108,108,32,111,114,32,102,105,108,108,101,100,44,32,49,48,116,104,32,69,100,105,116,105,111,110,32,117,115,101,115,32,102,105,108,108,32,111,110,108,121,10,0,37,115,32,68,87,66,32,50,32,100,111,101,115,110,39,116,32,117,115,101,32,102,105,108,108,32,97,110,100,32,100,111,101,115,110,39,116,32,100,101,102,105,110,101,32,102,105,108,108,118,97,108,10,0,37,115,32,114,101,115,101,116,32,119,111,114,107,115,32,105,110,32,103,112,105,99,32,97,110,100,32,49,48,116,104,32,101,100,105,116,105,111,110,44,32,98,117,116,32,105,115,110,39,116,32,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,10,0,37,115,32,68,87,66,32,50,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,100,101,102,105,110,105,116,105,111,110,115,10,0,105,102,32,98,111,120,114,97,100,32,62,32,49,46,48,32,38,38,32,100,97,115,104,119,105,100,32,60,32,48,46,48,55,53,32,116,104,101,110,32,88,10,9,102,105,108,108,118,97,108,32,61,32,49,59,10,9,100,101,102,105,110,101,32,102,105,108,108,32,89,32,89,59,10,9,100,101,102,105,110,101,32,115,111,108,105,100,32,89,32,89,59,10,9,100,101,102,105,110,101,32,114,101,115,101,116,32,89,32,115,99,97,108,101,61,49,46,48,32,89,59,10,88,10,0,114,101,115,101,116,32,37,115,32,115,101,116,32,116,111,32,107,110,111,119,110,32,115,116,97,116,101,10,0,37,115,32,71,78,85,32,112,105,99,32,118,115,46,32,49,48,116,104,32,69,100,105,116,105,111,110,32,100,92,40,101,39,116,101,110,116,101,10,0,105,102,32,102,105,108,108,118,97,108,32,62,32,48,46,52,32,116,104,101,110,32,88,10,9,100,101,102,105,110,101,32,115,101,116,102,105,108,108,118,97,108,32,89,32,102,105,108,108,118,97,108,32,61,32,49,32,45,32,89,59,10,9,100,101,102,105,110,101,32,98,111,108,100,32,89,32,116,104,105,99,107,110,101,115,115,32,50,32,89,59,10,0,9,37,115,32,105,102,32,121,111,117,32,117,115,101,32,103,112,105,99,32,97,110,100,32,105,116,32,98,97,114,102,115,32,111,110,32,101,110,99,111,117,110,116,101,114,105,110,103,32,34,115,111,108,105,100,34,44,10,0,9,37,115,9,105,110,115,116,97,108,108,32,97,32,109,111,114,101,32,114,101,99,101,110,116,32,118,101,114,115,105,111,110,32,111,102,32,103,112,105,99,32,111,114,32,115,119,105,116,99,104,32,116,111,32,68,87,66,32,111,114,32,49,48,116,104,32,69,100,105,116,105,111,110,32,112,105,99,59,10,0,9,37,115,9,115,111,114,114,121,44,32,116,104,101,32,103,114,111,102,102,32,102,111,108,107,115,32,99,104,97,110,103,101,100,32,103,112,105,99,59,32,115,101,110,100,32,97,110,121,32,99,111,109,112,108,97,105,110,116,32,116,111,32,116,104,101,109,59,10,0,88,32,101,108,115,101,32,90,10,9,100,101,102,105,110,101,32,115,101,116,102,105,108,108,118,97,108,32,89,32,102,105,108,108,118,97,108,32,61,32,89,59,10,9,100,101,102,105,110,101,32,98,111,108,100,32,89,32,89,59,10,9,100,101,102,105,110,101,32,102,105,108,108,101,100,32,89,32,102,105,108,108,32,89,59,10,90,10,0,37,115,32,97,114,114,111,119,104,101,97,100,32,104,97,115,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,44,32,97,114,114,111,119,104,101,97,100,32,61,32,55,32,109,97,107,101,115,32,102,105,108,108,101,100,32,97,114,114,111,119,104,101,97,100,115,32,105,110,32,103,112,105,99,32,97,110,100,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,37,115,32,97,114,114,111,119,104,101,97,100,32,105,115,32,117,110,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,44,32,105,110,105,116,105,97,108,108,121,32,49,32,105,110,32,103,112,105,99,44,32,50,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,97,114,114,111,119,104,101,97,100,32,61,32,55,32,37,115,32,110,111,116,32,117,115,101,100,32,98,121,32,103,114,97,112,104,118,105,122,10,0,37,115,32,71,78,85,32,112,105,99,32,115,117,112,112,111,114,116,115,32,97,32,98,111,120,114,97,100,32,118,97,114,105,97,98,108,101,32,116,111,32,100,114,97,119,32,98,111,120,101,115,32,119,105,116,104,32,114,111,117,110,100,101,100,32,99,111,114,110,101,114,115,59,32,68,87,66,32,97,110,100,32,49,48,116,104,32,69,100,46,32,100,111,32,110,111,116,10,0,98,111,120,114,97,100,32,61,32,48,32,37,115,32,110,111,32,114,111,117,110,100,101,100,32,99,111,114,110,101,114,115,32,105,110,32,103,114,97,112,104,118,105,122,10,0,37,115,32,71,78,85,32,112,105,99,32,115,117,112,112,111,114,116,115,32,97,32,108,105,110,101,116,104,105,99,107,32,118,97,114,105,97,98,108,101,32,116,111,32,115,101,116,32,108,105,110,101,32,116,104,105,99,107,110,101,115,115,59,32,68,87,66,32,97,110,100,32,49,48,116,104,32,69,100,46,32,100,111,32,110,111,116,10,0,108,105,110,101,116,104,105,99,107,32,61,32,48,59,32,111,108,100,108,105,110,101,116,104,105,99,107,32,61,32,108,105,110,101,116,104,105,99,107,10,0,37,115,32,46,80,83,32,119,47,111,32,97,114,103,115,32,99,97,117,115,101,115,32,71,78,85,32,112,105,99,32,116,111,32,115,99,97,108,101,32,100,114,97,119,105,110,103,32,116,111,32,102,105,116,32,56,46,53,120,49,49,32,112,97,112,101,114,59,32,68,87,66,32,100,111,101,115,32,110,111,116,10,0,37,115,32,109,97,120,112,115,104,116,32,97,110,100,32,109,97,120,112,115,119,105,100,32,104,97,118,101,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,46,48,44,32,115,101,116,32,112,97,103,101,32,98,111,117,110,100,97,114,105,101,115,32,105,110,32,103,112,105,99,32,97,110,100,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,37,115,32,109,97,120,112,115,104,116,32,97,110,100,32,109,97,120,112,115,119,105,100,32,97,114,101,32,112,114,101,100,101,102,105,110,101,100,32,116,111,32,49,49,46,48,32,97,110,100,32,56,46,53,32,105,110,32,103,112,105,99,10,0,109,97,120,112,115,104,116,32,61,32,37,102,10,109,97,120,112,115,119,105,100,32,61,32,37,102,10,0,68,111,116,58,32,91,10,0,100,101,102,105,110,101,32,97,116,116,114,115,48,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,117,110,102,105,108,108,101,100,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,114,111,117,110,100,101,100,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,100,105,97,103,111,110,97,108,115,32,37,37,32,37,37,10,0,37,115,37,115,32,117,110,115,117,112,112,111,114,116,101,100,10,0,37,115,32,114,101,115,116,111,114,101,32,112,111,105,110,116,32,115,105,122,101,32,97,110,100,32,102,111,110,116,10,46,112,115,32,92,110,40,46,83,10,46,102,116,32,92,110,40,68,70,10,0,37,115,32,67,114,101,97,116,111,114,58,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,37,115,32,84,105,116,108,101,58,32,37,115,10,0,37,115,32,115,97,118,101,32,112,111,105,110,116,32,115,105,122,101,32,97,110,100,32,102,111,110,116,10,46,110,114,32,46,83,32,92,110,40,46,115,10,46,110,114,32,68,70,32,92,110,40,46,102,10,0,112,110,103,58,115,118,103,0,103,105,102,58,115,118,103,0,106,112,101,103,58,115,118,103,0,106,112,101,58,115,118,103,0,106,112,103,58,115,118,103,0,112,110,103,58,102,105,103,0,103,105,102,58,102,105,103,0,106,112,101,103,58,102,105,103,0,106,112,101,58,102,105,103,0,106,112,103,58,102,105,103,0,112,110,103,58,118,114,109,108,0,103,105,102,58,118,114,109,108,0,106,112,101,103,58,118,114,109,108,0,106,112,101,58,118,114,109,108,0,106,112,103,58,118,114,109,108,0,101,112,115,58,112,115,0,112,115,58,112,115,0,40,108,105,98,41,58,112,115,0,112,110,103,58,109,97,112,0,103,105,102,58,109,97,112,0,106,112,101,103,58,109,97,112,0,106,112,101,58,109,97,112,0,106,112,103,58,109,97,112,0,112,115,58,109,97,112,0,101,112,115,58,109,97,112,0,115,118,103,58,109,97,112,0,112,110,103,58,100,111,116,0,103,105,102,58,100,111,116,0,106,112,101,103,58,100,111,116,0,106,112,101,58,100,111,116,0,106,112,103,58,100,111,116,0,112,115,58,100,111,116,0,101,112,115,58,100,111,116,0,115,118,103,58,100,111,116,0,112,110,103,58,120,100,111,116,0,103,105,102,58,120,100,111,116,0,106,112,101,103,58,120,100,111,116,0,106,112,101,58,120,100,111,116,0,106,112,103,58,120,100,111,116,0,112,115,58,120,100,111,116,0,101,112,115,58,120,100,111,116,0,115,118,103,58,120,100,111,116,0,115,118,103,58,115,118,103,0,112,110,103,58,118,109,108,0,103,105,102,58,118,109,108,0,106,112,101,103,58,118,109,108,0,106,112,101,58,118,109,108,0,106,112,103,58,118,109,108,0,103,105,102,58,116,107,0,105,109,97,103,101,32,99,114,101,97,116,101,32,112,104,111,116,111,32,34,112,104,111,116,111,95,37,115,34,32,45,102,105,108,101,32,34,37,115,34,10,0,36,99,32,99,114,101,97,116,101,32,105,109,97,103,101,32,37,46,50,102,32,37,46,50,102,32,45,105,109,97,103,101,32,34,112,104,111,116,111,95,37,115,34,10,0,60,118,58,105,109,97,103,101,32,115,114,99,61,34,37,115,34,32,115,116,121,108,101,61,34,32,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,119,105,100,116,104,58,37,46,50,102,59,32,104,101,105,103,104,116,58,37,46,50,102,59,32,108,101,102,116,58,37,46,50,102,32,59,32,116,111,112,58,37,46,50,102,34,0,32,47,62,10,0,103,118,108,111,97,100,105,109,97,103,101,95,99,111,114,101,46,99,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,112,115,108,105,98,0,91,32,0,37,103,32,37,103,32,0,93,32,32,37,100,32,116,114,117,101,32,37,115,10,0,93,32,32,37,100,32,102,97,108,115,101,32,37,115,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,112,115,0,103,115,97,118,101,32,37,103,32,37,103,32,116,114,97,110,115,108,97,116,101,32,110,101,119,112,97,116,104,10,0,117,115,101,114,95,115,104,97,112,101,95,37,100,10,0,103,114,101,115,116,111,114,101,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,118,114,109,108,0,83,104,97,112,101,32,123,10,0,32,32,97,112,112,101,97,114,97,110,99,101,32,65,112,112,101,97,114,97,110,99,101,32,123,10,0,32,32,32,32,109,97,116,101,114,105,97,108,32,77,97,116,101,114,105,97,108,32,123,10,0,32,32,32,32,32,32,97,109,98,105,101,110,116,73,110,116,101,110,115,105,116,121,32,48,46,51,51,10,0,32,32,32,32,32,32,32,32,100,105,102,102,117,115,101,67,111,108,111,114,32,49,32,49,32,49,10,0,32,32,32,32,125,10,0,32,32,32,32,116,101,120,116,117,114,101,32,73,109,97,103,101,84,101,120,116,117,114,101,32,123,32,117,114,108,32,34,37,115,34,32,125,10,0,32,32,125,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,102,105,103,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,32,37,100,32,37,115,10,0,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,115,118,103,0,60,105,109,97,103,101,32,120,108,105,110,107,58,104,114,101,102,61,34,0,34,32,119,105,100,116,104,61,34,37,103,112,120,34,32,104,101,105,103,104,116,61,34,37,103,112,120,34,32,112,114,101,115,101,114,118,101,65,115,112,101,99,116,82,97,116,105,111,61,34,120,77,105,100,89,77,105,100,32,109,101,101,116,34,32,120,61,34,37,103,34,32,121,61,34,37,103,34,0,32,116,114,97,110,115,102,111,114,109,61,34,114,111,116,97,116,101,40,37,100,32,37,103,32,37,103,41,34,0,34,32,119,105,100,116,104,61,34,37,103,112,120,34,32,104,101,105,103,104,116,61,34,37,103,112,120,34,32,112,114,101,115,101,114,118,101,65,115,112,101,99,116,82,97,116,105,111,61,34,120,77,105,110,89,77,105,110,32,109,101,101,116,34,32,120,61,34,37,103,34,32,121,61,34,37,103,34,0,47,62,10,0,100,111,116,95,108,97,121,111,117,116,0,112,104,97,115,101,0,100,111,116,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,101,32,97,115,112,101,99,116,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,100,105,115,99,111,110,110,101,99,116,101,100,32,103,114,97,112,104,115,32,111,114,32,103,114,97,112,104,115,32,119,105,116,104,32,99,108,117,115,116,101,114,115,10,0,99,111,109,112,111,117,110,100,0,118,32,61,61,32,110,0,100,111,116,105,110,105,116,46,99,0,114,101,109,111,118,101,95,102,114,111,109,95,114,97,110,107,0,111,114,100,101,114,0,101,100,103,101,32,108,97,98,101,108,115,32,119,105,116,104,32,115,112,108,105,110,101,115,61,99,117,114,118,101,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,105,110,32,100,111,116,32,45,32,117,115,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+112222);allocate([32,120,108,97,98,101,108,115,10,0,69,68,95,108,97,98,101,108,40,102,101,41,0,100,111,116,115,112,108,105,110,101,115,46,99,0,95,100,111,116,95,115,112,108,105,110,101,115,0,120,120,120,0,49,48,48,48,48,0,123,37,115,125,0,97,117,120,103,0,108,97,98,101,108,95,102,108,111,97,116,0,102,105,120,101,100,0,40,108,32,61,32,69,68,95,108,97,98,101,108,40,102,101,41,41,0,115,101,116,69,100,103,101,76,97,98,101,108,80,111,115,0,101,32,33,61,32,78,85,76,76,0,102,97,115,116,103,114,46,99,0,100,101,108,101,116,101,95,102,97,115,116,95,101,100,103,101,0,110,32,33,61,32,78,68,95,110,101,120,116,40,110,41,0,102,97,115,116,95,110,111,100,101,0,117,32,33,61,32,118,0,102,97,115,116,95,110,111,100,101,97,112,112,0,78,68,95,110,101,120,116,40,118,41,32,61,61,32,78,85,76,76,0,102,105,110,100,95,102,97,115,116,95,110,111,100,101,40,103,44,32,110,41,0,100,101,108,101,116,101,95,102,97,115,116,95,110,111,100,101,0,100,101,108,101,116,101,95,102,108,97,116,95,101,100,103,101,0,109,101,114,103,101,95,111,110,101,119,97,121,32,103,108,105,116,99,104,10,0,109,101,114,103,101,95,111,110,101,119,97,121,0,115,97,102,101,95,100,101,108,101,116,101,95,102,97,115,116,95,101,100,103,101,0,114,101,109,105,110,99,114,111,115,115,0,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,37,115,32,37,115,32,114,97,110,107,32,37,100,32,105,32,61,32,37,100,32,97,110,32,61,32,48,10,0,71,68,95,114,97,110,107,40,103,41,91,114,93,46,110,32,60,61,32,71,68,95,114,97,110,107,40,103,41,91,114,93,46,97,110,0,109,105,110,99,114,111,115,115,46,99,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,78,68,95,111,114,100,101,114,40,37,115,41,32,91,37,100,93,32,62,32,71,68,95,114,97,110,107,40,82,111,111,116,41,91,37,100,93,46,97,110,32,91,37,100,93,10,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,114,97,110,107,32,37,100,32,110,111,116,32,105,110,32,114,97,110,107,32,114,97,110,103,101,32,91,37,100,44,37,100,93,10,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,71,68,95,114,97,110,107,40,103,41,91,37,100,93,46,118,32,43,32,78,68,95,111,114,100,101,114,40,37,115,41,32,91,37,100,93,32,62,32,71,68,95,114,97,110,107,40,103,41,91,37,100,93,46,97,118,32,43,32,71,68,95,114,97,110,107,40,82,111,111,116,41,91,37,100,93,46,97,110,32,91,37,100,93,10,0,115,117,114,112,114,105,115,101,10,0,78,68,95,111,114,100,101,114,40,118,41,32,60,32,78,68,95,111,114,100,101,114,40,119,41,0,116,114,97,110,115,112,111,115,101,95,115,116,101,112,0,118,0,110,101,105,103,104,98,111,114,0,40,114,118,32,61,61,32,48,41,32,124,124,32,40,78,68,95,111,114,100,101,114,40,114,118,41,45,78,68,95,111,114,100,101,114,40,118,41,41,42,100,105,114,32,62,32,48,0,109,105,110,99,114,111,115,115,32,37,115,58,32,37,100,32,99,114,111,115,115,105,110,103,115,44,32,37,46,50,102,32,115,101,99,115,46,10,0,99,111,110,115,116,114,97,105,110,105,110,103,95,102,108,97,116,95,101,100,103,101,40,103,44,118,44,101,41,32,61,61,32,70,65,76,83,69,0,102,108,97,116,95,114,101,111,114,100,101,114,0,78,68,95,114,97,110,107,40,118,41,32,61,61,32,114,0,112,111,115,116,111,114,100,101,114,0,102,108,97,116,105,110,100,101,120,40,97,103,104,101,97,100,40,101,41,41,32,60,32,77,45,62,110,114,111,119,115,0,102,108,97,116,95,115,101,97,114,99,104,0,102,108,97,116,105,110,100,101,120,40,97,103,116,97,105,108,40,101,41,41,32,60,32,77,45,62,110,99,111,108,115,0,111,117,116,0,111,114,100,101,114,105,110,103,32,39,37,115,39,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,46,10,0,111,114,100,101,114,105,110,103,32,39,37,115,39,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,32,102,111,114,32,110,111,100,101,32,39,37,115,39,46,10,0,109,101,114,103,101,50,58,32,103,114,97,112,104,32,37,115,44,32,114,97,110,107,32,37,100,32,104,97,115,32,111,110,108,121,32,37,100,32,60,32,37,100,32,110,111,100,101,115,10,0,109,105,110,99,114,111,115,115,58,32,112,97,115,115,32,37,100,32,105,116,101,114,32,37,100,32,116,114,121,105,110,103,32,37,100,32,99,117,114,95,99,114,111,115,115,32,37,100,32,98,101,115,116,95,99,114,111,115,115,32,37,100,10,0,98,97,108,97,110,99,101,0,95,110,101,119,95,114,97,110,107,0,109,99,108,105,109,105,116,0,114,97,110,107,40,103,44,32,50,44,32,110,115,105,116,101,114,50,40,103,41,41,32,61,61,32,48,0,112,111,115,105,116,105,111,110,46,99,0,100,111,116,95,112,111,115,105,116,105,111,110,0,69,100,103,101,32,108,101,110,103,116,104,32,37,102,32,108,97,114,103,101,114,32,116,104,97,110,32,109,97,120,105,109,117,109,32,37,117,32,97,108,108,111,119,101,100,46,10,67,104,101,99,107,32,102,111,114,32,111,118,101,114,119,105,100,101,32,110,111,100,101,40,115,41,46,10,0,65,82,61,37,48,46,52,108,102,9,32,65,114,101,97,61,32,37,48,46,52,108,102,9,0,68,117,109,109,121,61,37,100,10,0,71,111,105,110,103,32,116,111,32,97,112,112,108,121,32,97,110,111,116,104,101,114,32,101,120,112,97,110,115,105,111,110,46,10,0,110,101,120,116,35,105,116,101,114,61,37,100,10,0,104,112,0,99,111,110,110,101,99,116,71,114,97,112,104,0,110,115,108,105,109,105,116,0,99,111,110,116,97,105,110,95,110,111,100,101,115,32,99,108,117,115,116,32,37,115,32,114,97,110,107,32,37,100,32,109,105,115,115,105,110,103,32,110,111,100,101,10,0,110,115,108,105,109,105,116,49,0,110,101,119,114,97,110,107,0,77,97,120,114,97,110,107,32,61,32,37,100,44,32,109,105,110,114,97,110,107,32,61,32,37,100,10,0,108,101,97,100,101,114,32,33,61,32,78,85,76,76,0,114,97,110,107,46,99,0,99,108,117,115,116,101,114,95,108,101,97,100,101,114,0,40,78,68,95,85,70,95,115,105,122,101,40,110,41,32,60,61,32,49,41,32,124,124,32,40,110,32,61,61,32,108,101,97,100,101,114,41,0,97,103,104,101,97,100,40,101,41,32,61,61,32,85,70,95,102,105,110,100,40,97,103,104,101,97,100,40,101,41,41,0,109,105,110,109,97,120,95,101,100,103,101,115,0,97,103,116,97,105,108,40,101,41,32,61,61,32,85,70,95,102,105,110,100,40,97,103,116,97,105,108,40,101,41,41,0,114,97,110,107,0,115,97,109,101,0,109,105,110,0,115,111,117,114,99,101,0,109,97,120,0,115,105,110,107,0,108,101,118,101,108,32,97,115,115,105,103,110,109,101,110,116,32,99,111,110,115,116,114,97,105,110,116,115,0,108,101,118,101,108,32,103,114,97,112,104,32,114,101,99,0,127,114,111,111,116,0,127,116,111,112,0,127,98,111,116,0,99,111,109,112,97,99,116,0,95,119,101,97,107,95,37,100,0,114,97,110,107,105,110,103,58,32,102,97,105,108,117,114,101,32,116,111,32,99,114,101,97,116,101,32,115,116,114,111,110,103,32,99,111,110,115,116,114,97,105,110,116,32,101,100,103,101,32,98,101,116,119,101,101,110,32,110,111,100,101,115,32,37,115,32,97,110,100,32,37,115,10,0,37,115,32,104,97,115,32,117,110,114,101,99,111,103,110,105,122,101,100,32,114,97,110,107,61,37,115,0,108,101,118,101,108,32,101,100,103,101,32,114,101,99,0,108,101,118,101,108,32,110,111,100,101,32,114,101,99,0,115,97,109,101,104,101,97,100,0,115,97,109,101,116,97,105,108,0,116,111,111,32,109,97,110,121,32,40,62,32,37,100,41,32,115,97,109,101,123,104,101,97,100,44,116,97,105,108,125,32,103,114,111,117,112,115,32,102,111,114,32,110,111,100,101,32,37,115,10,0,99,111,109,98,105,65,82,32,61,32,37,108,102,10,0,37,108,102,44,37,100,0,116,104,101,32,97,115,112,101,99,116,32,97,116,116,114,105,98,117,116,101,32,104,97,115,32,98,101,101,110,32,100,105,115,97,98,108,101,100,32,100,117,101,32,116,111,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,102,108,97,119,115,32,45,32,97,116,116,114,105,98,117,116,101,32,105,103,110,111,114,101,100,46,10,0,69,68,95,116,111,95,118,105,114,116,40,101,41,32,61,61,32,78,85,76,76,0,99,108,97,115,115,50,46,99,0,109,101,114,103,101,95,99,104,97,105,110,0,69,68,95,116,111,95,118,105,114,116,40,111,114,105,103,41,32,61,61,32,78,85,76,76,0,109,97,107,101,95,99,104,97,105,110,0,69,68,95,116,111,95,118,105,114,116,40,111,114,105,103,41,32,33,61,32,78,85,76,76,0,37,115,32,119,97,115,32,97,108,114,101,97,100,121,32,105,110,32,97,32,114,97,110,107,115,101,116,44,32,100,101,108,101,116,101,100,32,102,114,111,109,32,99,108,117,115,116,101,114,32,37,115,10,0,78,68,95,114,97,110,107,40,102,114,111,109,41,32,60,32,78,68,95,114,97,110,107,40,116,111,41,0,99,108,117,115,116,101,114,46,99,0,109,97,112,95,112,97,116,104,0,108,104,101,97,100,0,108,116,97,105,108,0,37,115,32,45,62,32,37,115,58,32,115,112,108,105,110,101,32,115,105,122,101,32,62,32,49,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,37,115,32,45,62,32,37,115,58,32,104,101,97,100,32,110,111,116,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,37,115,32,45,62,32,37,115,58,32,116,97,105,108,32,105,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,98,101,122,45,62,115,102,108,97,103,0,99,111,109,112,111,117,110,100,46,99,0,109,97,107,101,67,111,109,112,111,117,110,100,69,100,103,101,0,98,101,122,45,62,101,102,108,97,103,0,37,115,32,45,62,32,37,115,58,32,116,97,105,108,32,110,111,116,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,37,115,32,45,62,32,37,115,58,32,104,101,97,100,32,105,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,115,101,103,109,101,110,116,32,91,37,115,44,37,115,93,32,100,111,101,115,32,110,111,116,32,105,110,116,101,114,115,101,99,116,32,98,111,120,32,108,108,61,37,115,44,117,114,61,37,115,10,0,98,111,120,73,110,116,101,114,115,101,99,116,102,0,40,37,46,53,103,44,37,46,53,103,41,0,99,108,117,115,116,101,114,32,110,97,109,101,100,32,37,115,32,110,111,116,32,102,111,117,110,100,10,0,99,111,110,99,101,110,116,114,97,116,101,61,116,114,117,101,32,109,97,121,32,110,111,116,32,119,111,114,107,32,99,111,114,114,101,99,116,108,121,46,10,0,114,101,98,117,105,108,116,100,95,118,108,105,115,116,115,58,32,114,97,110,107,32,108,101,97,100,32,37,115,32,110,111,116,32,105,110,32,111,114,100,101,114,32,37,100,32,111,102,32,114,97,110,107,32,37,100,10,0,100,101,103,101,110,101,114,97,116,101,32,99,111,110,99,101,110,116,114,97,116,101,100,32,114,97,110,107,32,37,115,44,37,100,10,0,78,68,95,105,110,40,114,105,103,104,116,41,46,115,105,122,101,32,43,32,78,68,95,111,117,116,40,114,105,103,104,116,41,46,115,105,122,101,32,61,61,32,48,0,99,111,110,99,46,99,0,109,101,114,103,101,118,105,114,116,117,97,108,0,0,78,68,95,111,117,116,40,118,41,46,115,105,122,101,32,61,61,32,50,0,102,108,97,116,46,99,0,115,101,116,98,111,117,110,100,115,0,71,68,95,109,105,110,114,97,110,107,40,103,41,32,61,61,32,48,0,97,98,111,109,105,110,97,116,105,111,110,0,110,101,97,116,111,95,108,97,121,111,117,116,0,110,101,97,116,111,0,102,100,112,0,115,102,100,112,0,116,119,111,112,105,0,99,105,114,99,111,0,112,97,116,99,104,119,111,114,107,0,111,115,97,103,101,0,110,111,112,0,110,111,112,49,0,110,111,112,50,0,37,108,102,44,37,108,102,44,37,108,102,37,99,0,110,111,100,101,32,37,115,44,32,112,111,115,105,116,105,111,110,32,37,115,44,32,101,120,112,101,99,116,101,100,32,116,119,111,32,100,111,117,98,108,101,115,10,0,110,111,100,101,32,37,115,32,105,110,32,103,114,97,112,104,32,37,115,32,104,97,115,32,110,111,32,112,111,115,105,116,105,111,110,10,0,115,116,97,114,116,0,115,101,108,102,0,114,97,110,100,111,109,0,110,111,100,101,32,112,111,115,105,116,105,111,110,115,32,97,114,101,32,105,103,110,111,114,101,100,32,117,110,108,101,115,115,32,115,116,97,114,116,61,114,97,110,100,111,109,10,0,97,115,32,114,101,113,117,105,114,101,100,32,98,121,32,116,104,101,32,45,110,32,102,108,97,103,10,0,103,114,97,112,104,32,37,115,32,105,115,32,100,105,115,99,111,110,110,101,99,116,101,100,46,32,72,101,110,99,101,44,32,116,104,101,32,99,105,114,99,117,105,116,32,109,111,100,101,108,10,0,65,108,116,101,114,110,97,116,105,118,101,108,121,44,32,99,111,110,115,105,100,101,114,32,114,117,110,110,105,110,103,32,110,101,97,116,111,32,117,115,105,110,103,32,45,71,112,97,99,107,61,116,114,117,101,32,111,114,32,100,101,99,111,109,112,111,115,105,110,103,10,0,116,104,101,32,103,114,97,112,104,32,105,110,116,111,32,99,111,110,110,101,99,116,101,100,32,99,111,109,112,111,110,101,110,116,115,46,10,0,83,111,108,118,105,110,103,32,109,111,100,101,108,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,100,32,116,111,108,32,37,102,10,0,78,68,95,105,100,40,110,112,41,32,61,61,32,105,0,110,101,97,116,111,105,110,105,116,46,99,0,109,97,107,101,71,114,97,112,104,68,97,116,97,0,102,32,60,32,103,114,97,112,104,91,106,93,46,110,101,100,103,101,115,0,100,102,115,67,121,99,108,101,0,109,111,100,101,108,32,37,100,32,115,109,97,114,116,95,105,110,105,116,32,37,100,32,115,116,114,101,115,115,119,116,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,100,32,116,111,108,32,37,102,10,0,99,111,110,118,101,114,116,32,103,114,97,112,104,58,32,0,109,97,106,111,114,105,122,97,116,105,111,110,10,0,37,100,32,110,111,100,101,115,32,37,46,50,102,32,115,101,99,10,0,108,101,118,101,108,115,103,97,112,0,108,97,121,111,117,116,32,97,98,111,114,116,101,100,10,0,115,116,114,101,115,115,119,116,0,37,115,32,97,116,116,114,105,98,117,116,101,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,49,32,111,114,32,50,32,45,32,105,103,110,111,114,105,110,103,10,0,95,110,101,97,116,111,95,99,99,0,109,111,100,101,108,0,99,105,114,99,117,105,116,0,115,117,98,115,101,116,0,115,104,111,114,116,112,97,116,104,0,109,100,115,0,101,100,103,101,115,32,105,110,32,103,114,97,112,104,32,37,115,32,104,97,118,101,32,110,111,32,108,101,110,32,97,116,116,114,105,98,117,116,101,46,32,72,101,110,99,101,44,32,116,104,101,32,109,100,115,32,109,111,100,101,108,10,0,105,115,32,105,110,97,112,112,114,111,112,114,105,97,116,101,46,32,82,101,118,101,114,116,105,110,103,32,116,111,32,116,104,101,32,115,104,111,114,116,101,115,116,32,112,97,116,104,32,109,111,100,101,108,46,10,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,97,116,116,114,105,98,117,116,101,32,34,109,111,100,101,108,34,32,105,110,32,103,114,97,112,104,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,109,111,100,101,0,75,75,0,109,97,106,111,114,0,104,105,101,114,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,97,116,116,114,105,98,117,116,101,32,34,109,111,100,101,34,32,105,110,32,103,114,97,112,104,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,115,44,37,108,102,44,37,108,102,37,110,0,32,101,44,37,108,102,44,37,108,102,37,110,0,0,112,111,115,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,32,100,111,101,115,110,39,116,32,104,97,118,101,32,51,110,43,49,32,112,111,105,110,116,115,10,0,37,108,102,44,37,108,102,37,110,0,115,121,110,116,97,120,32,101,114,114,111,114,32,105,110,32,112,111,115,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,0,109,97,107,101,83,112,108,105,110,101,58,32,102,97,105,108,101,100,32,116,111,32,109,97,107,101,32,115,112,108,105,110,101,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,115,112,108,105,110,101,32,37,115,32,37,115,10,0,116,104,101,32,98,111,117,110,100,105,110,103,32,98,111,120,101,115,32,111,102,32,115,111,109,101,32,110,111,100,101,115,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,115,111,109,101,32,110,111,100,101,115,32,119,105,116,104,32,109,97,114,103,105,110,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,112,111,108,121,108,105,110,101,115,0,108,105,110,101,32,115,101,103,109,101,110,116,115,0,111,114,116,104,111,103,111,110,97,108,32,108,105,110,101,115,0,67,114,101,97,116,105,110,103,32,101,100,103,101,115,32,117,115,105,110,103,32,37,115,10,0,112,111,108,121,108,105,110,101,32,37,115,32,37,115,10,0,98,32,61,61,32,110,0,110,101,97,116,111,115,112,108,105,110,101,115,46,99,0,109,97,107,101,95,98,97,114,114,105,101,114,115,0,109,100,115,77,111,100,101,108,58,32,100,101,108,116,97,32,61,32,37,102,10,0,83,101,116,116,105,110,103,32,117,112,32,115,116,114,101,115,115,32,102,117,110,99,116,105,111,110,0,83,111,108,118,105,110,103,32,109,111,100,101,108,58,32,0,10,102,105,110,97,108,32,101,32,61,32,37,102,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,46,50,102,32,115,101,99,10,0,83,99,97,110,110,105,110,103,32,103,114,97,112,104,32,37,115,44,32,37,100,32,110,111,100,101,115,10,0,68,97,109,112,105,110,103,0,100,101,102,97,117,108,116,100,105,115,116,0,83,101,116,116,105,110,103,32,105,110,105,116,105,97,108,32,112,111,115,105,116,105,111,110,115,10,0,115,116,97,114,116,61,37,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,119,105,116,104,32,109,111,100,101,61,115,101,108,102,32,45,32,105,103,110,111,114,101,100,10,0,83,101,116,116,105,110,103,32,117,112,32,115,112,114,105,110,103,32,109,111,100,101,108,58,32,0,37,46,50,102,32,115,101,99,10,0,10,102,105,110,97,108,32,101,32,61,32,37,102,0,33,0,32,37,100,37,115,32,105,116,101,114,97,116,105,111,110,115,32,37,46,50,102,32,115,101,99,10,0,77,97,120,46,32,105,116,101,114,97,116,105,111,110,115,32,40,37,100,41,32,114,101,97,99,104,101,100,32,111,110,32,103,114,97,112,104,32,37,115,10,0,37,46,51,102,32,0,37,115,32,37,46,51,102,10,0,78,68,95,104,101,97,112,105,110,100,101,120,40,118,41,32,60,32,48,0,115,116,117,102,102,46,99,0,110,101,97,116,111,95,101,110,113,117,101,117,101,0,67,97,108,99,117,108,97,116,105,110,103,32,115,104,111,114,116,101,115,116,32,112,97,116,104,115,58,32,0,32,105,110,32,37,115,32,45,32,115,101,116,116,105,110,103,32,116,111,32,37,46,48,50,102,10,0,98,97,100,32,101,100,103,101,32,108,101,110,32,34,37,115,34,0,115,112,101,99,105,102,105,101,100,32,114,111,111,116,32,110,111,100,101,32,34,37,115,34,32,119,97,115,32,110,111,116,32,102,111,117,110,100,46,0,85,115,105,110,103,32,100,101,102,97,117,108,116,32,99,97,108,99,117,108,97,116,105,111,110,32,102,111,114,32,114,111,111,116,32,110,111,100,101,10,0,114,101,112,111,115,105,116,105,111,110,32,37,115,10,0,37,115,32,58,32,37,102,32,37,102,10,0,37,115,32,58,32,37,102,32,37,102,32,37,102,32,37,102,10,0,32,32,0,71,114,97,112,104,32,37,115,32,104,97,115,32,97,114,114,97,121,32,112,97,99,107,105,110,103,32,119,105,116,104,32,117,115,101,114,32,118,97,108,117,101,115,32,98,117,116,32,110,111,32,34,115,111,114,116,118,34,32,97,116,116,114,105,98,117,116,101,115,32,97,114,101,32,100,101,102,105,110,101,100,46,0,112,105,110,0,87,97,114,110,105,110,103,58,32,110,111,100,101,32,37,115,44,32,112,111,115,105,116,105,111,110,32,37,115,44,32,101,120,112,101,99,116,101,100,32,116,119,111,32,102,108,111,97,116,115,10,0,99,111,111,114,100,115,0,115,112,108,105,110,101,115,32,97,110,100,32,99,108,117,115,116,101,114,32,101,100,103,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,45,32,117,115,105,110,103,32,108,105,110,101,32,115,101,103,109,101,110,116,115,10,0,108,97,121,111,117,116,32,37,115,10,0,101,110,100,32,37,115,10,0,105,100,120,32,61,61,32,115,122,0,108,97,121,111,117,116,46,99,0,101,120,112,97,110,100,67,108,117,115,116,101,114,0,105,32,61,61,32,100,101,103,0,103,101,116,69,100,103,101,76,105,115,116,0,95,100,103,95,37,100,0,100,101,114,105,118,101,32,103,114,97,112,104,32,37,115,32,111,102,32,37,115,10,0,110,111,100,101,32,34,37,115,34,32,105,115,32,99,111,110,116,97,105,110,101,100,32,105,110,32,116,119,111,32,110,111,110,45,99,111,109,112,97,114,97,98,108,101,32,99,108,117,115,116,101,114,115,32,34,37,115,34,32,97,110,100,32,34,37,115,34,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,112,111,114,116,95,37,115,95,37,115,95,37,115,95,37,108,100,0,95,112,111,114,116,95,37,115,95,40,37,100,41,95,40,37,100,41,95,37,108,100,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,37,99,0,103,114,97,112,104,32,37,115,44,32,99,111,111,114,100,32,37,115,44,32,101,120,112,101,99,116,101,100,32,102,111,117,114,32,100,111,117,98,108,101,115,10,0,109,97,120,105,116,101,114,0,84,48,0,102,100,112,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,116,97,114,116,61,115,101,108,102,32,45,32,105,103,110,111,114,105,110,103,10,0,120,76,97,121,111,117,116,32,0,57,58,112,114,105,115,109,0,116,114,105,101,115,32,61,32,37,100,44,32,109,111,100,101,32,61,32,37,115,10,0,100,101,114,105,118,101,100,0,105,110,102,111,0,101,120,116,114,97,99,116,101,100,32,97,32,37,100,45,110,101,105,103,104,98,111,114,104,111,111,100,32,103,114,97,112,104,32,111,102,32,37,100,32,101,100,103,101,115,32,102,114,111,109,32,97,32,103,114,97,112,104,32,111,102,32,37,100,32,101,100,103,101,115,10,0,115,102,100,112,32,111,110,108,121,32,115,117,112,112,111,114,116,115,32,115,116,97,114,116,61,114,97,110,100,111,109,10,0,75,0,114,101,112,117,108,115,105,118,101,102,111,114,99,101,0,108,101,118,101,108,115,0,115,109,111,111,116,104,105,110,103,0,113,117,97,100,116,114,101,101,0,98,101,97,117,116,105,102,121,0,111,118,101,114,108,97,112,95,115,104,114,105,110,107,0,114,111,116,97,116,105,111,110,0,108,97,98,101,108,95,115,99,104,101,109,101,0,108,97,98,101,108,95,115,99,104,101,109,101,32,61,32,37,100,32,62,32,52,32,58,32,105,103,110,111,114,105,110,103,10,0,102,97,115,116,0,97,118,103,95,100,105,115,116,0,103,114,97,112,104,95,100,105,115,116,0,112,111,119,101,114,95,100,105,115,116,0,115,112,114,105,110,103,0,100,105,109,101,110,0,100,105,109,0,13,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,116,101,114,32,61,32,37,100,44,32,115,116,101,112,32,61,32,37,102,32,70,110,111,114,109,32,61,32,37,102,32,110,122,32,61,32,37,100,32,32,75,32,61,32,37,102,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,115,112,114,105,110,103,95,101,108,101,99,116,114,105,99,97,108,95,101,109,98,101,100,100,105,110,103,95,115,108,111,119,0,110,115,117,112,101,114,95,97,118,103,61,37,102,44,32,99,111,117,110,116,115,95,97,118,103,32,61,32,37,102,32,50,42,110,115,117,112,101,114,43,99,111,117,110,116,115,61,37,102,10,0,100,109,101,97,110,32,61,32,37,102,44,32,114,104,111,32,61,32,37,102,10,0,115,101,110,100,32,114,97,110,100,111,109,32,99,111,111,114,100,105,110,97,116,101,115,10,0,81,85,65,68,95,84,82,69,69,95,72,89,66,82,73,68,44,32,115,105,122,101,32,108,97,114,103,101,114,32,116,104,97,110,32,37,100,44,32,115,119,105,116,99,104,32,116,111,32,102,97,115,116,32,113,117,97,100,116,114,101,101,0,99,116,114,108,45,62,111,118,101,114,108,97,112,61,37,100,10,0,120,120,120,32,37,100,32,37,100,10,0,37,100,32,37,100,10,0,115,99,97,108,105,110,103,32,102,97,99,116,111,114,32,61,32,37,102,10,0,117,110,105,102,111,114,109,95,115,116,114,101,115,115,46,99,0,85,110,105,102,111,114,109,83,116,114,101,115,115,83,109,111,111,116,104,101,114,95,110,101,119,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,66,44,32,70,65,76,83,69,41,0,117,110,105,102,111,114,109,95,115,116,114,101,115,115,0,124,101,100,103,101,108,97,98,101,108,124,0,108,101,110,0,111,118,101,114,108,97,112,0,65,100,106,117,115,116,105,110,103,32,37,115,32,117,115,105,110,103,32,37,115,10,0,85,110,104,97,110,100,108,101,100,32,97,100,106,117,115,116,32,111,112,116,105,111,110,32,37,115,10,0,115,101,112,0,101,115,101,112,0,78,111,100,101,32,115,101,112,97,114,97,116,105,111,110,58,32,97,100,100,61,37,100,32,40,37,102,44,37,102,41,10,0,69,100,103,101,32,115,101,112,97,114,97,116,105,111,110,58,32,97,100,100,61,37,100,32,40,37,102,44,37,102,41,10,0,37,102,44,37,102,0,78,117,109,98,101,114,32,111,102,32,105,116,101,114,97,116,105,111,110,115,32,61,32,37,100,10,0,78,117,109,98,101,114,32,111,102,32,105,110,99,114,101,97,115,101,115,32,61,32,37,100,10,0,111,118,101,114,108,97,112,32,91,37,100,93,32,58,32,37,100,10,0,118,111,114,111,95,109,97,114,103,105,110,0,115,99,97,108,101,32,61,32,40,37,46,48,51,102,44,37,46,48,51,102,41,10,0,79,118,101,114,108,97,112,32,118,97,108,117,101,32,34,37,115,34,32,117,110,115,117,112,112,111,114,116,101,100,32,45,32,105,103,110,111,114,101,100,10,0,85,110,114,101,99,111,103,110,105,122,101,100,32,111,118,101,114,108,97,112,32,118,97,108,117,101,32,34,37,115,34,32,45,32,117,115,105,110,103,32,102,97,108,115,101,10,0,111,118,101,114,108,97,112,95,115,99,97,108,105,110,103,0,118,111,114,111,110,111,105,0,86,111,114,111,110,111,105,0,115,99,97,108,105,110,103,0,118,112,115,99,0,105,112,115,101,112,0,111,115,99,97,108,101,0,111,108,100,32,115,99,97,108,105,110,103,0,115,99,97,108,101,120,121,0,120,32,97,110,100,32,121,32,115,99,97,108,105,110,103,0,111,114,116,104,111,0,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,111,114,116,104,111,95,121,120,0,111,114,116,104,111,120,121,0,120,121,32,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,111,114,116,104,111,121,120,0,121,120,32,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,0,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,95,121,120,0,112,111,114,116,104,111,120,121,0,120,121,32,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,121,120,0,121,120,32,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,114,105,115,109,0,110,111,114,109,97,108,105,122,101,0,67,97,108,99,117,108,97,116,105,110,103,32,99,105,114,99,117,105,116,32,109,111,100,101,108,0,99,111,110,106,117,103,97,116,101,95,103,114,97,100,105,101,110,116,58,32,117,110,101,120,112,101,99,116,101,100,32,108,101,110,103,116,104,32,48,32,118,101,99,116,111,114,10,0,67,97,108,99,117,108,97,116,105,110,103,32,115,117,98,115,101,116,32,109,111,100,101,108,0,103,114,97,112,104,32,105,115,32,100,105,115,99,111,110,110,101,99,116,101,100,46,32,72,101,110,99,101,44,32,116,104,101,32,99,105,114,99,117,105,116,32,109,111,100,101,108,10,0,105,115,32,117,110,100,101,102,105,110,101,100,46,32,82,101,118,101,114,116,105,110,103,32,116,111,32,116,104,101,32,115,104,111,114,116,101,115,116,32,112,97,116,104,32,109,111,100,101,108,46,10,0,67,97,108,99,117,108,97,116,105,110,103,32,77,68,83,32,109,111,100,101,108,0,67,97,108,99,117,108,97,116,105,110,103,32,115,104,111,114,116,101,115,116,32,112,97,116,104,115,0,58,32,37,46,50,102,32,115,101,99,10,0,83,101,116,116,105,110,103,32,105,110,105,116,105,97,108,32,112,111,115,105,116,105,111,110,115,0,58,32,37,46,50,102,32,115,101,99,0,99,111,109,112,114,101,115,115,32,37,103,32,10,0,115,99,97,108,101,32,98,121,32,37,103,44,37,103,32,10,0,98,101,115,116,99,111,115,116,32,60,32,72,85,71,69,95,86,65,76,0,99,111,110,115,116,114,97,105,110,116,46,99,0,99,111,109,112,117,116,101,83,99,97,108,101,88,89,0,99,103,0,100,101,108,116,97,32,60,61,32,48,120,70,70,70,70,0,109,107,78,67,111,110,115,116,114,97,105,110,116,71,0,118,103,0,100,101,108,97,117,110,97,121,95,116,114,105,97,110,103,117,108,97,116,105,111,110,58,32,37,115,10,0,100,101,108,97,117,110,97,121,95,116,114,105,58,32,37,115,10,0,71,114,97,112,104,118,105,122,32,98,117,105,108,116,32,119,105,116,104,111,117,116,32,97,110,121,32,116,114,105,97,110,103,117,108,97,116,105,111,110,32,108,105,98,114,97,114,121,10,0,116,114,121,105,110,103,32,116,111,32,100,101,108,101,116,101,32,97,32,110,111,110,45,108,105,110,101,10,0,10,105,110,116,101,114,115,101,99,116,105,111,110,32,97,116,32,37,46,51,102,32,37,46,51,102,10,0,115,101,103,35,37,100,32,58,32,40,37,46,51,102,44,32,37,46,51,102,41,32,40,37,46,51,102,44,32,37,46,51,102,41,10,0,114,101,109,111,118,101,95,111,118,101,114,108,97,112,58,32,71,114,97,112,104,118,105,122,32,110,111,116,32,98,117,105,108,116,32,119,105,116,104,32,116,114,105,97,110,103,117,108,97,116,105,111,110,32,108,105,98,114,97,114,121,10,0,109,97,107,101,65,100,100,80,111,108,121,58,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,116,121,112,101,32,37,115,10,0,109,97,107,101,80,111,108,121,58,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,116,121,112,101,32,37,115,10,0,120,33,61,78,85,76,76,0,115,109,97,114,116,95,105,110,105,95,120,46,99,0,73,77,68,83,95,103,105,118,101,110,95,100,105,109,0,105,108,108,45,99,111,110,100,105,116,105,111,110,101,100,10,0,116,119,111,112,105,58,32,117,115,101,32,111,102,32,119,101,105,103,104,116,61,48,32,99,114,101,97,116,101,115,32,100,105,115,99,111,110,110,101,99,116,101,100,32,99,111,109,112,111,110,101,110,116,46,10,0,82,97,110,107,32,115,101,112,97,114,97,116,105,111,110,32,61,32,0,37,46,48,51,108,102,32,0,97,114,101,97,0,105,110,115,101,116,0,37,115,32,99,111,111,114,100,32,37,46,53,103,32,37,46,53,103,32,104,116,32,37,102,32,119,105,100,116,104,32,37,102,10,0,37,46,48,51,102,0,114,101,99,32,37,102,32,37,102,32,37,102,32,37,102,10,0,37,102,32,45,32,37,102,32,37,102,32,37,102,32,37,102,32,61,32,37,102,32,40,37,102,32,37,102,32,37,102,32,37,102,41,10,0,116,114,121,105,110,103,32,116,111,32,97,100,100,32,116,111,32,114,101,99,116,32,123,37,102,32,43,47,45,32,37,102,44,32,37,102,32,43,47,45,32,37,102,125,10,0,116,111,116,97,108,32,97,100,100,101,100,32,115,111,32,102,97,114,32,61,32,37,100,10,0,97,100,100,105,110,103,32,37,100,32,105,116,101,109,115,44,32,116,111,116,97,108,32,97,114,101,97,32,61,32,37,102,44,32,119,32,61,32,37,102,44,32,97,114,101,97,47,119,61,37,102,10,0,99,111,109,112,111,117,110,100,69,100,103,101,115,58,32,99,111,117,108,100,32,110,111,116,32,99,111,110,115,116,114,117,99,116,32,111,98,115,116,97,99,108,101,115,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,110,111,100,101,115,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,99,99,37,115,95,37,100,0,99,99,37,115,43,37,100,0,99,95,99,110,116,32,61,61,32,48,0,99,111,109,112,46,99,0,102,105,110,100,67,67,111,109,112,0,103,114,105,100,40,37,100,44,37,100,41,58,32,37,115,10,0,119,105,100,116,104,32,62,32,48,0,81,117,97,100,84,114,101,101,46,99,0,81,117,97,100,84,114,101,101,95,110,101,119,0,33,40,113,45,62,108,41,0,81,117,97,100,84,114,101,101,95,97,100,100,95,105,110,116,101,114,110,97,108,0,105,105,32,60,32,49,60,60,100,105,109,32,38,38,32,105,105,32,62,61,32,48,0,113,45,62,113,116,115,91,105,105,93,0,113,45,62,110,32,61,61,32,49,0,33,40,113,45,62,113,116,115,41,0,113,45,62,108,0,119,103,116,32,62,32,48,0,81,117,97,100,84,114,101,101,95,114,101,112,117,108,115,105,118,101,95,102,111,114,99,101,95,97,99,99,117,109,117,108,97,116,101,0,113,116,50,45,62,110,32,62,32,48,0,113,116,49,45,62,110,32,62,32,48,32,38,38,32,113,116,50,45,62,110,32,62,32,48,0,81,117,97,100,84,114,101,101,95,114,101,112,117,108,115,105,118,101,95,102,111,114,99,101,95,105,110,116,101,114,97,99,116,0,100,105,115,116,32,62,32,48,0,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,83,82,0,83,112,97,114,115,101,77,97,116,114,105,120,46,99,0,83,112,97,114,115,101,77,97,116,114,105,120,95,116,114,97,110,115,112,111,115,101,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,0,65,32,38,38,32,66,0,83,112,97,114,115,101,77,97,116,114,105,120,95,97,100,100,0,65,45,62,102,111,114,109,97,116,32,61,61,32,66,45,62,102,111,114,109,97,116,32,38,38,32,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,83,82,0,65,45,62,116,121,112,101,32,61,61,32,66,45,62,116,121,112,101,0,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,79,79,82,68,0,83,112,97,114,115,101,77,97,116,114,105,120,95,102,114,111,109,95,99,111,111,114,100,105,110,97,116,101,95,102,111,114,109,97,116,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,118,101,99,116,111,114,0,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,32,124,124,32,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,73,78,84,69,71,69,82,0,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,0,106,99,91,109,97,115,107,91,106,98,91,107,93,93,93,32,61,61,32,106,98,91,107,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,51,0,106,100,91,109,97,115,107,91,106,99,91,107,93,93,93,32,61,61,32,106,99,91,107,93,0,106,97,91,109,97,115,107,91,106,97,91,106,93,93,93,32,61,61,32,106,97,91,106,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,115,117,109,95,114,101,112,101,97,116,95,101,110,116,114,105,101,115,0,105,100,32,60,32,110,42,40,121,109,97,120,45,121,109,105,110,43,49,41,0,106,97,91,109,97,115,107,91,105,100,93,93,32,61,61,32,106,97,91,106,93,0,83,112,97,114,115],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+122462);allocate([101,77,97,116,114,105,120,95,99,111,111,114,100,105,110,97,116,101,95,102,111,114,109,95,97,100,100,95,101,110,116,114,105,101,115,0,83,112,97,114,115,101,77,97,116,114,105,120,95,100,105,118,105,100,101,95,114,111,119,95,98,121,95,100,101,103,114,101,101,0,114,111,111,116,32,62,61,32,48,32,38,38,32,114,111,111,116,32,60,32,109,0,83,112,97,114,115,101,77,97,116,114,105,120,95,108,101,118,101,108,95,115,101,116,115,95,105,110,116,101,114,110,97,108,0,109,32,61,61,32,65,45,62,110,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,65,44,32,84,82,85,69,41,0,109,32,61,61,32,110,0,83,112,97,114,115,101,77,97,116,114,105,120,95,100,105,115,116,97,110,99,101,95,109,97,116,114,105,120,95,107,104,111,112,115,0,110,108,101,118,101,108,45,49,32,60,61,32,107,104,111,112,115,0,109,97,115,107,91,108,101,118,101,108,115,101,116,91,106,93,93,32,61,61,32,105,43,49,0,68,105,106,107,115,116,114,97,95,105,110,116,101,114,110,97,108,0,104,0,104,101,97,112,95,105,100,115,91,114,111,111,116,93,32,62,61,32,48,0,110,100,97,116,97,45,62,105,100,32,61,61,32,106,106,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,100,101,110,115,101,50,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,100,101,110,115,101,49,0,109,32,62,32,48,32,38,38,32,110,32,62,32,48,32,38,38,32,110,122,32,62,61,32,48,0,83,112,97,114,115,101,77,97,116,114,105,120,95,102,114,111,109,95,99,111,111,114,100,105,110,97,116,101,95,97,114,114,97,121,115,95,105,110,116,101,114,110,97,108,0,65,0,110,32,62,32,49,0,103,101,110,101,114,97,108,46,99,0,105,114,97,110,100,0,111,110,101,98,108,111,99,107,0,109,105,110,100,105,115,116,0,97,114,116,105,99,117,108,97,116,105,111,110,95,112,111,115,0,114,111,111,116,0,80,114,105,111,114,105,116,121,81,117,101,117,101,46,99,0,80,114,105,111,114,105,116,121,81,117,101,117,101,95,112,117,115,104,0,103,97,105,110,32,60,61,32,113,45,62,110,103,97,105,110,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,65,44,32,70,65,76,83,69,41,0,112,111,115,116,95,112,114,111,99,101,115,115,46,99,0,105,100,101,97,108,95,100,105,115,116,97,110,99,101,95,109,97,116,114,105,120,0,108,101,110,32,62,32,48,0,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,50,95,110,101,119,0,110,122,32,62,32,48,0,105,100,101,97,108,95,100,105,115,116,95,115,99,104,101,109,101,32,118,97,108,117,101,32,119,114,111,110,103,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,65,44,32,70,65,76,83,69,41,32,38,38,32,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,0,83,112,97,114,115,101,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,95,110,101,119,0,105,100,105,97,103,32,62,61,32,48,0,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,95,115,109,111,111,116,104,0,84,114,105,97,110,103,108,101,83,109,111,111,116,104,101,114,95,110,101,119,0,106,100,105,97,103,32,62,61,32,48,0,83,112,114,105,110,103,83,109,111,111,116,104,101,114,95,110,101,119,0,33,102,108,97,103,0,83,112,114,105,110,103,83,109,111,111,116,104,101,114,95,115,109,111,111,116,104,0,40,33,106,99,110,41,32,38,38,32,40,33,118,97,108,41,0,103,101,116,95,101,100,103,101,95,108,97,98,101,108,95,109,97,116,114,105,120,0,110,101,105,103,104,98,61,37,100,10,0,104,45,62,105,100,95,116,111,95,112,111,115,91,105,100,93,32,61,61,32,112,111,115,0,66,105,110,97,114,121,72,101,97,112,46,99,0,66,105,110,97,114,121,72,101,97,112,95,105,110,115,101,114,116,0,104,45,62,112,111,115,95,116,111,95,105,100,91,112,111,115,93,32,61,61,32,105,100,0,112,111,115,32,60,32,104,45,62,108,101,110,0,66,105,110,97,114,121,72,101,97,112,95,101,120,116,114,97,99,116,95,105,116,101,109,0,112,97,114,101,110,116,80,111,115,32,60,32,104,45,62,108,101,110,0,115,119,97,112,0,110,111,100,101,80,111,115,32,60,32,104,45,62,108,101,110,0,114,111,111,116,32,61,32,37,115,10,0,95,98,108,111,99,107,95,37,100,0,115,45,62,115,122,32,62,32,48,0,98,108,111,99,107,116,114,101,101,46,99,0,112,111,112,0,97,99,116,117,97,108,0,110,111,100,101,108,105,115,116,46,99,0,105,110,115,101,114,116,78,111,100,101,108,105,115,116,0,95,115,112,97,110,95,37,100,0,95,99,108,111,110,101,95,37,100,0,105,112,0,100,101,103,108,105,115,116,46,99,0,114,101,109,111,118,101,68,101,103,108,105,115,116,0,10,64,40,35,41,36,73,100,36,0,10,0,69,114,114,111,114,0,87,97,114,110,105,110,103,0,37,115,58,32,0,117,115,101,114,111,117,116,58,32,99,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,10,0,95,65,71,95,100,97,116,97,100,105,99,116,0,97,103,100,105,99,116,111,102,58,32,117,110,107,110,111,119,110,32,107,105,110,100,32,37,100,10,0,95,65,71,95,115,116,114,100,97,116,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,99,37,108,100,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,117,114,101,0,97,103,100,101,108,101,116,101,32,111,110,32,119,114,111,110,103,32,103,114,97,112,104,0,97,103,100,101,108,101,116,101,32,111,110,32,98,97,100,32,111,98,106,101,99,116,0,97,103,114,97,112,104,111,102,32,97,32,98,97,100,32,111,98,106,101,99,116,0,97,103,114,111,111,116,32,111,102,32,97,32,98,97,100,32,111,98,106,101,99,116,0,95,65,71,95,112,101,110,100,105,110,103,0,97,103,114,101,99,111,114,100,95,99,97,108,108,98,97,99,107,32,111,102,32,97,32,98,97,100,32,111,98,106,101,99,116,0,112,101,110,100,32,100,105,99,116,111,102,32,97,32,98,97,100,32,111,98,106,101,99,116,0,109,111,118,101,32,116,111,32,102,114,111,110,116,32,108,111,99,107,32,105,110,99,111,110,115,105,115,116,101,110,99,121,0,108,105,110,101,108,101,110,103,116,104,0,59,10,0,32,91,107,101,121,61,0,93,0,32,91,0,44,10,0,61,0,95,37,108,100,95,83,85,83,80,69,67,84,0,0,100,105,0,115,116,114,105,99,116,32,0,123,10,0,93,59,10,0,34,34,0,115,116,114,105,99,116,0,97,103,97,112,112,108,121,58,32,117,110,107,110,111,119,110,32,111,98,106,101,99,116,32,116,121,112,101,32,37,100,10,0,18,238,238,20,9,3,238,254,238,238,238,1,238,238,238,1,238,238,10,254,238,19,25,21,238,19,1,238,238,238,238,11,17,238,238,238,238,238,238,238,238,238,1,238,238,22,9,1,1,29,15,23,238,238,26,23,27,238,238,28,238,238,238,238,1,25,251,238,238,238,1,238,16,238,238,30,238,238,238,238,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,23,17,2,2,2,2,2,2,2,2,2,2,2,2,2,18,16,2,19,2,2,22,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,20,2,21,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,14,2,15,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,3,4,5,6,7,8,9,10,11,12,13,11,3,4,5,15,7,3,12,13,6,12,13,14,12,13,26,21,22,0,1,0,3,7,14,6,15,8,12,13,18,19,42,16,17,9,16,47,48,17,50,23,19,13,20,18,46,18,20,65,19,50,19,44,64,42,66,25,44,66,70,34,12,13,14,35,15,9,16,17,10,16,17,201,16,17,45,69,70,252,1,6,246,15,7,246,36,2,16,17,47,48,54,77,78,40,38,59,60,42,54,49,57,61,63,47,58,64,216,68,48,62,37,55,67,53,75,43,56,73,76,0,3,9,0,0,0,1,14,2,11,12,8,35,36,37,54,59,61,0,13,16,18,27,22,28,18,39,50,34,23,51,30,60,6,7,53,5,15,17,20,24,41,0,19,41,0,0,0,0,0,55,21,40,29,30,0,33,38,52,31,48,62,25,44,0,27,0,32,26,42,0,43,58,46,47,0,49,56,57,45,0,2,2,1,0,3,3,1,0,1,0,1,1,1,0,2,1,1,0,2,2,3,1,1,0,0,5,0,1,3,1,3,5,3,1,1,1,1,2,0,1,0,4,2,0,2,1,1,3,2,1,0,3,2,1,0,1,1,0,1,1,1,3,0,24,25,25,25,26,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,36,36,38,39,37,37,40,40,41,41,41,42,42,43,43,43,44,44,45,45,46,47,47,48,49,49,50,51,52,54,53,55,55,55,56,56,56,57,57,58,58,238,238,255,238,238,238,238,238,238,31,32,238,0,239,238,238,238,12,238,238,238,8,13,238,238,238,248,238,238,238,238,238,238,245,238,255,3,8,4,33,5,11,18,19,39,20,21,22,41,50,65,23,24,25,26,44,51,52,66,71,72,27,74,28,29,46,30,79,31,32,0,1,8,25,27,29,0,14,26,3,6,30,3,4,5,7,12,13,31,32,34,35,36,40,41,42,43,50,52,53,55,57,58,28,57,57,15,34,16,33,9,37,17,33,44,57,54,18,19,23,38,45,46,41,57,45,46,19,26,57,57,13,36,20,18,39,47,57,37,21,22,48,49,50,51,57,57,16,17,56,107,101,121,0,97,116,116,114,105,98,117,116,101,32,109,97,99,114,111,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,37,115,58,37,115,0,0,92,92,0,102,97,116,97,108,32,102,108,101,120,32,115,99,97,110,110,101,114,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,45,45,110,111,32,97,99,116,105,111,110,32,102,111,117,110,100,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,95,99,114,101,97,116,101,95,98,117,102,102,101,114,40,41,0,58,32,0,32,105,110,32,108,105,110,101,32,37,100,32,110,101,97,114,32,39,0,39,10,0,102,108,101,120,32,115,99,97,110,110,101,114,32,112,117,115,104,45,98,97,99,107,32,111,118,101,114,102,108,111,119,0,37,115,10,0,102,97,116,97,108,32,102,108,101,120,32,115,99,97,110,110,101,114,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,45,45,101,110,100,32,111,102,32,98,117,102,102,101,114,32,109,105,115,115,101,100,0,102,97,116,97,108,32,101,114,114,111,114,32,45,32,115,99,97,110,110,101,114,32,105,110,112,117,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,0,105,110,112,117,116,32,105,110,32,102,108,101,120,32,115,99,97,110,110,101,114,32,102,97,105,108,101,100,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,95,103,101,116,95,110,101,120,116,95,98,117,102,102,101,114,40,41,0,105,110,112,117,116,0,115,121,110,116,97,120,32,97,109,98,105,103,117,105,116,121,32,45,32,98,97,100,108,121,32,100,101,108,105,109,105,116,101,100,32,110,117,109,98,101,114,32,39,0,39,32,105,110,32,108,105,110,101,32,37,100,32,111,102,32,0,32,115,112,108,105,116,115,32,105,110,116,111,32,116,119,111,32,116,111,107,101,110,115,10,0,108,105,110,101,0,37,100,32,37,49,91,34,93,37,110,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,101,110,115,117,114,101,95,98,117,102,102,101,114,95,115,116,97,99,107,40,41,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,34,37,115,34,32,102,111,114,32,119,114,105,116,105,110,103,32,58,32,37,115,10,0,78,111,32,108,105,98,122,32,115,117,112,112,111,114,116,46,10,0,103,118,119,114,105,116,101,95,110,111,95,122,32,112,114,111,98,108,101,109,32,37,100,10,0,78,111,32,108,105,98,122,32,115,117,112,112,111,114,116,10,0,103,118,112,114,105,110,116,102,58,32,37,115,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,46,57,57,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,117,114,101,10,0,46,37,100,0,110,111,110,97,109,101,46,103,118,0,100,121,110,97,109,105,99,32,108,111,97,100,105,110,103,32,110,111,116,32,97,118,97,105,108,97,98,108,101,10,0,60,98,117,105,108,116,105,110,62,0,65,99,116,105,118,97,116,101,100,32,112,108,117,103,105,110,32,108,105,98,114,97,114,121,58,32,37,115,10,0,85,115,105,110,103,32,37,115,58,32,37,115,58,37,115,10,0,114,101,110,100,101,114,0,108,97,121,111,117,116,0,100,101,118,105,99,101,0,108,111,97,100,105,109,97,103,101,0,103,118,117,115,101,114,115,104,97,112,101,46,99,0,103,118,117,115,101,114,115,104,97,112,101,95,102,105,110,100,0,103,118,117,115,101,114,115,104,97,112,101,95,102,105,108,101,95,97,99,99,101,115,115,0,70,105,108,101,110,97,109,101,32,34,37,115,34,32,105,115,32,117,110,115,97,102,101,10,0,37,115,32,119,104,105,108,101,32,111,112,101,110,105,110,103,32,37,115,10,0,117,115,45,62,102,0,103,118,117,115,101,114,115,104,97,112,101,95,111,112,101,110,0,34,37,115,34,32,119,97,115,32,110,111,116,32,102,111,117,110,100,32,97,115,32,97,32,102,105,108,101,32,111,114,32,97,115,32,97,32,115,104,97,112,101,32,108,105,98,114,97,114,121,32,109,101,109,98,101,114,10,0,47,77,101,100,105,97,66,111,120,0,99,97,110,110,111,116,32,99,111,109,112,105,108,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,37,115,0,37,108,102,37,50,115,0,112,116,0,118,105,101,119,66,111,120,0,37,108,102,32,37,108,102,32,37,108,102,32,37,108,102,0,105,110,0,112,120,0,112,99,0,34,0,99,109,0,109,109,0,40,91,97,45,122,93,91,97,45,122,65,45,90,93,42,41,61,34,40,91,94,34,93,42,41,34,0,37,37,66,111,117,110,100,105,110,103,66,111,120,58,0,1,208,209,210,211,212,213,214,215,216,217,0,60,115,118,103,0,87,69,66,80,0,119,101,98,112,0,40,108,105,98,41,0,137,80,78,71,13,10,26,10,0,112,110,103,0,37,33,80,83,45,65,100,111,98,101,45,0,66,77,0,98,109,112,0,71,73,70,56,0,103,105,102,0,255,216,255,224,0,106,112,101,103,0,37,80,68,70,45,0,112,100,102,0,197,208,211,198,0,101,112,115,0,60,63,120,109,108,0,120,109,108,0,82,73,70,70,0,114,105,102,102,0,0,0,1,0,0,105,99,111,0,76,97,121,111,117,116,32,116,121,112,101,58,32,34,37,115,34,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,46,32,85,115,101,32,111,110,101,32,111,102,58,37,115,10,0,37,100,32,37,100,32,37,100,32,37,100,0,70,111,114,109,97,116,58,32,34,37,115,34,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,46,32,85,115,101,32,111,110,101,32,111,102,58,37,115,10,0,76,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,10,0,102,97,105,108,117,114,101,32,109,97,108,108,111,99,39,105,110,103,32,102,111,114,32,114,101,115,117,108,116,32,115,116,114,105,110,103,0,99,99,103,114,97,112,104,105,110,102,111,0,99,99,103,110,111,100,101,105,110,102,111,0,40,37,52,108,100,41,32,37,55,108,100,32,110,111,100,101,115,32,37,55,108,100,32,101,100,103,101,115,10,0,32,32,32,32,32,32,32,37,55,100,32,110,111,100,101,115,32,37,55,100,32,101,100,103,101,115,32,37,55,108,100,32,99,111,109,112,111,110,101,110,116,115,32,37,115,10,0,100,103,0,69,114,114,111,114,58,32,110,111,100,101,32,34,37,115,34,32,98,101,108,111,110,103,115,32,116,111,32,116,119,111,32,110,111,110,45,110,101,115,116,101,100,32,99,108,117,115,116,101,114,115,32,34,37,115,34,32,97,110,100,32,34,37,115,34,10,0,103,99,58,32,79,117,116,32,111,102,32,109,101,109,111,114,121,10,0,95,99,99,95,0,115,111,114,116,118,0,112,105,110,102,111,0,112,97,99,107,46,99,0,103,101,116,80,97,99,107,73,110,102,111,0,32,32,109,97,114,103,105,110,32,37,100,10,0,112,97,114,115,101,80,97,99,107,77,111,100,101,73,110,102,111,0,97,114,114,97,121,0,97,115,112,101,99,116,0,37,102,0,112,97,99,107,32,105,110,102,111,58,10,0,32,32,109,111,100,101,32,32,32,37,115,10,0,32,32,97,115,112,101,99,116,32,37,102,10,0,32,32,115,105,122,101,32,32,32,37,100,10,0,32,32,102,108,97,103,115,32,32,37,100,10,0,112,97,99,107,109,111,100,101,0,112,97,99,107,0,117,110,100,101,102,105,110,101,100,0,115,116,101,112,32,115,105,122,101,32,61,32,37,100,10,0,112,111,115,91,37,100,93,32,37,100,32,37,100,10,0,99,99,32,40,37,100,32,99,101,108,108,115,41,32,97,116,32,40,37,100,44,37,100,41,32,40,37,100,44,37,100,41,10,0,37,115,32,110,111,46,32,99,101,108,108,115,32,37,100,32,87,32,37,100,32,72,32,37,100,10,0,32,32,37,100,32,37,100,32,99,101,108,108,10,0,108,105,98,112,97,99,107,58,32,100,105,115,99,32,61,32,37,102,32,40,32,60,32,48,41,10,0,80,97,99,107,105,110,103,58,32,99,111,109,112,117,116,101,32,103,114,105,100,32,115,105,122,101,10,0,97,32,37,102,32,98,32,37,102,32,99,32,37,102,32,100,32,37,102,32,114,32,37,102,10,0,114,111,111,116,32,37,100,32,40,37,102,41,32,37,100,32,40,37,102,41,10,0,32,114,49,32,37,102,32,114,50,32,37,102,10,0,114,111,119,32,109,97,106,111,114,0,99,111,108,117,109,110,32,109,97,106,111,114,0,97,114,114,97,121,32,112,97,99,107,105,110,103,58,32,37,115,32,37,100,32,114,111,119,115,32,37,100,32,99,111,108,117,109,110,115,10,0,98,98,91,37,115,93,32,37,46,53,103,32,37,46,53,103,32,37,46,53,103,32,37,46,53,103,10,0,99,99,32,40,37,100,32,99,101,108,108,115,41,32,97,116,32,40,37,100,44,37,100,41,10,0,65,114,114,111,119,32,116,121,112,101,32,34,37,115,34,32,117,110,107,110,111,119,110,32,45,32,105,103,110,111,114,105,110,103,10,0,110,111,114,109,97,108,0,99,114,111,119,0,116,101,101,0,100,111,116,0,105,110,118,0,118,101,101,0,112,101,110,0,109,112,116,121,0,99,117,114,118,101,0,108,0,104,97,108,102,0,105,110,118,101,109,112,116,121,0,95,98,97,99,107,103,114,111,117,110,100,0,95,100,114,97,119,95,0,67,111,117,108,100,32,110,111,116,32,112,97,114,115,101,32,34,95,98,97,99,107,103,114,111,117,110,100,34,32,97,116,116,114,105,98,117,116,101,32,105,110,32,103,114,97,112,104,32,37,115,10,0,32,32,34,37,115,34,10,0,110,111,32,109,101,109,111,114,121,32,102,114,111,109,32,122,109,97,108,108,111,99,40,41,10,0,111,98,106,0,101,109,105,116,46,99,0,112,111,112,95,111,98,106,95,115,116,97,116,101,0,99,108,117,115,116,0,37,108,100,0,108,110,114,99,111,108,111,114,115,99,104,101,109,101,0,105,110,32,99,108,117,115,116,101,114,32,37,115,10,0,77,111,114,101,32,116,104,97,110,32,50,32,99,111,108,111,114,115,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32,97,32,103,114,97,100,105,101,110,116,32,45,32,105,103,110,111,114,105,110,103,32,114,101,109,97,105,110,105,110,103,10,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,101,115,116,105,110,103,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,117,110,109,97,116,99,104,101,100,32,39,41,39,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,116,114,117,110,99,97,116,105,110,103,32,115,116,121,108,101,32,39,37,115,39,10,0,117,110,109,97,116,99,104,101,100,32,39,40,39,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,67,0,76,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,46,32,32,77,105,115,115,105,110,103,32,108,97,121,111,117,116,32,112,108,117,103,105,110,115,63,32,10,0,103,118,82,101,110,100,101,114,74,111,98,115,32,37,115,58,32,37,46,50,102,32,115,101,99,115,46,10,0,108,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,10,0,114,101,110,100,101,114,101,114,32,102,111,114,32,37,115,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,10,0,112,97,103,101,100,105,114,61,37,115,32,105,103,110,111,114,101,100,10,0,118,105,101,119,112,111,114,116,0,37,108,102,44,37,108,102,44,37,108,102,44,39,37,91,94,39,93,39,0,37,108,102,44,37,108,102,44,37,108,102,44,37,91,94,44,93,37,115,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,0,111,117,116,112,117,116,111,114,100,101,114,0,111,100,101,115,102,105,114,115,116,0,100,103,101,115,102,105,114,115,116,0,108,97,121,101,114,115,0,108,97,121,101,114,115,101,108,101,99,116,0,84,104,101,32,108,97,121,101,114,115,101,108,101,99,116,32,97,116,116,114,105,98,117,116,101,32,34,37,115,34,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,108,97,121,101,114,32,115,112,101,99,105,102,101,100,32,98,121,32,116,104,101,32,108,97,121,101,114,115,32,97,116,116,114,105,98,117,116,101,32,45,32,105,103,110,111,114,101,100,46,10,0,97,108,108,0,108,97,121,101,114,115,101,112,0,58,9,32,0,108,97,121,101,114,108,105,115,116,115,101,112,0,44,0,84,104,101,32,99,104,97,114,97,99,116,101,114,32,39,37,99,39,32,97,112,112,101,97,114,115,32,105,110,32,98,111,116,104,32,116,104,101,32,108,97,121,101,114,115,101,112,32,97,110,100,32,108,97,121,101,114,108,105,115,116,115,101,112,32,97,116,116,114,105,98,117,116,101,115,32,45,32,108,97,121,101,114,108,105,115,116,115,101,112,32,105,103,110,111,114,101,100,46,10,0,112,97,100,0,66,76,0,112,97,103,101,100,105,114,0,115,111,108,105,100,0,0,115,101,116,108,105,110,101,119,105,100,116,104,0,49,0,0,115,112,108,45,62,115,105,122,101,32,62,32,48,0,105,110,105,116,95,115,112,108,105,110,101,115,95,98,98,0,98,122,46,115,105,122,101,32,62,32,48,0,98,101,122,105,101,114,95,98,98,0,98,122,46,115,105,122,101,32,37,32,51,32,61,61,32,49,0,101,109,105,116,95,101,100,103,101,95,108,97,98,101,108,0,37,115,45,37,115,0,102,111,114,119,97,114,100,0,98,97,99,107,0,32,45,62,32,0,32,45,45,32,0,105,110,32,101,100,103,101,32,37,115,37,115,37,115,10,0,101,100,103,101,104,114,101,102,0,101,100,103,101,85,82,76,0,108,97,98,101,108,104,114,101,102,0,108,97,98,101,108,85,82,76,0,116,97,105,108,104,114,101,102,0,116,97,105,108,85,82,76,0,104,101,97,100,104,114,101,102,0,104,101,97,100,85,82,76,0,101,100,103,101,116,97,114,103,101,116,0,108,97,98,101,108,116,97,114,103,101,116,0,116,97,105,108,116,97,114,103,101,116,0,104,101,97,100,116,97,114,103,101,116,0,101,100,103,101,116,111,111,108,116,105,112,0,108,97,98,101,108,116,111,111,108,116,105,112,0,116,97,105,108,116,111,111,108,116,105,112,0,104,101,97,100,116,111,111,108,116,105,112,0,103,114,97,100,105,101,110,116,32,112,101,110,32,99,111,108,111,114,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,46,10,0,73,109,97,103,101,115,32,117,110,115,117,112,112,111,114,116,101,100,32,105,110,32,34,98,97,99,107,103,114,111,117,110,100,34,32,97,116,116,114,105,98,117,116,101,10,0,108,97,121,101,114,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,105,110,32,37,115,32,111,117,116,112,117,116,10,0,84,111,116,97,108,32,115,105,122,101,32,62,32,49,32,105,110,32,34,37,115,34,32,99,111,108,111,114,32,115,112,101,99,32,0,73,108,108,101,103,97,108,32,108,101,110,103,116,104,32,118,97,108,117,101,32,105,110,32,34,37,115,34,32,99,111,108,111,114,32,97,116,116,114,105,98,117,116,101,32,0,112,97,103,101,37,100,44,37,100,95,0,0,0,0,37,108,102,0,102,111,110,116,112,97,116,104,0,68,79,84,70,79,78,84,80,65,84,72,0,71,68,70,79,78,84,80,65,84,72,0,105,109,97,103,101,112,97,116,104,0,113,117,97,110,116,117,109,0,114,97,110,107,100,105,114,0,76,82,0,66,84,0,82,76,0,110,111,100,101,115,101,112,0,114,97,110,107,115,101,112,0,101,113,117,97,108,108,121,0,115,104,111,119,98,111,120,101,115,0,102,111,110,116,110,97,109,101,115,0,115,105,122,101,0,112,97,103,101,0,99,101,110,116,101,114,0,114,111,116,97,116,101,0,111,114,105,101,110,116,97,116,105,111,110,0,108,97,110,100,115,99,97,112,101,0,99,108,117,115,116,101,114,114,97,110,107,0,99,111,110,99,101,110,116,114,97,116,101,0,100,112,105,0,114,101,115,111,108,117,116,105,111,110,0,111,114,100,101,114,105,110,103,0,102,105,108,108,99,111,108,111,114,0,102,111,110,116,115,105,122,101,0,102,111,110,116,110,97,109,101,0,102,111,110,116,99,111,108,111,114,0,120,108,97,98,101,108,0,112,101,110,119,105,100,116,104,0,112,101,114,105,112,104,101,114,105,101,115,0,115,107,101,119,0,100,105,115,116,111,114,116,105,111,110,0,110,111,106,117,115,116,105,102,121,0,108,97,121,101,114,0,103,114,111,117,112,0,99,111,109,109,101,110,116,0,118,101,114,116,105,99,101,115,0,122,0,119,101,105,103,104,116,0,108,97,98,101,108,102,108,111,97,116,0,100,105,114,0,97,114,114,111,119,104,101,97,100,0,97,114,114,111,119,116,97,105,108,0,104,101,97,100,108,97,98,101,108,0,116,97,105,108,108,97,98,101,108,0,108,97,98,101,108,102,111,110,116,115,105,122,101,0,108,97,98,101,108,102,111,110,116,110,97,109,101,0,108,97,98,101,108,102,111,110,116,99,111,108,111,114,0,108,97,98,101,108,100,105,115,116,97,110,99,101,0,108,97,98,101,108,97,110,103,108,101,0,109,105,110,108,101,110,0,100,101,99,111,114,97,116,101,0,97,114,114,111,119,115,105,122,101,0,99,111,110,115,116,114,97,105,110,116,0,116,97,105,108,99,108,105,112,0,104,101,97,100,99,108,105,112,0,108,97,98,101,108,106,117,115,116,0,85,84,70,45,56,0,73,83,79,45,56,56,53,57,45,49,0,66,73,71,45,53,0,85,110,115,117,112,112,111,114,116,101,100,32,99,104,97,114,115,101,116,32,118,97,108,117,101,32,37,100,10,0,108,111,99,97,108,0,103,108,111,98,97,108,0,37,108,102,44,37,108,102,37,99,0,37,108,102,37,99,0,114,97,116,105,111,0,97,117,116,111,0,99,111,109,112,114,101,115,115,0,101,120,112,97,110,100,0,102,105,108,108,0,103,100,0,112,115,0,115,118,103,0,99,104,97,114,115,101,116,0,117,116,102,45,56,0,108,97,116,105,110,45,49,0,108,97,116,105,110,49,0,108,49,0,73,83,79,95,56,56,53,57,45,49,0,73,83,79,56,56,53,57,45,49,0,73,83,79,45,73,82,45,49,48,48,0,98,105,103,45,53,0,98,105,103,53,0,117,116,102,56,0,85,110,115,117,112,112,111,114,116,101,100,32,99,104,97,114,115,101,116,32,34,37,115,34,32,45,32,97,115,115,117,109,105,110,103,32,117,116,102,45,56,10,0,105,110,32,108,97,98,101,108,32,111,102,32,103,114,97,112,104,32,37,115,10,0,105,110,32,108,97,98,101,108,32,111,102,32,110,111,100,101,32,37,115,10,0,105,110,32,108,97,98,101,108,32,111,102,32,101,100,103,101,32,37,115,32,37,115,32,37,115,10,0,107,105,110,100,32,61,61,32,76,84,95,78,79,78,69,0,108,97,98,101,108,115,46,99,0,109,97,107,101,95,108,97,98,101,108,0,38,97,109,112,59,0,38,108,116,59,0,38,103,116,59,0,38,35,52,53,59,0,38,35,49,54,48,59,0,38,113,117,111,116,59,0,38,35,51,57,59,0,92,71,0,92,69,0,92,72,0,92,84,0,92,76,0,110,101,116,119,111,114,107,32,115,105,109,112,108,101,120,58,32,0,37,115,32,37,100,32,110,111,100,101,115,32,37,100,32,101,100,103,101,115,32,109,97,120,105,116,101,114,61,37,100,32,98,97,108,97,110,99,101,61,37,100,10,0,37,100,32,0,37,115,37,100,32,110,111,100,101,115,32,37,100,32,101,100,103,101,115,32,37,100,32,105,116,101,114,32,37,46,50,102,32,115,101,99,10,0,115,101,97,114,99,104,115,105,122,101,0,117,112,100,97,116,101,58,32,109,105,115,109,97,116,99,104,101,100,32,108,99,97,32,105,110,32,116,114,101,101,117,112,100,97,116,101,115,10,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,109,105,115,115,105,110,103,32,116,114,101,101,32,101,100,103,101,10,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,101,109,112,116,121,32,111,117,116,101,100,103,101,32,108,105,115,116,10,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,101,109,112,116,121,32,105,110,101,100,103,101,32,108,105,115,116,10,0,116,114,111,117,98,108,101,32,105,110,32,105,110,105,116,95,114,97,110,107,10,0,9,37,115,32,37,100,10,0,103,114,97,112,104,32,0,32,0,110,111,100,101,32,0,115,116,111,112,10,0,112,111,115,0,114,101,99,116,115,0,120,108,112,0,108,112,0,104,101,97,100,95,108,112,0,116,97,105,108,95,108,112,0,108,119,105,100,116,104,0,108,104,101,105,103,104,116,0,98,98,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,0,44,37,46,53,103,0,37,46,53,103,44,37,46,53,103,0,37,46,53,103,0,115,97,109,112,108,101,112,111,105,110,116,115,0,37,46,53,103,32,37,46,53,103,0,115,44,37,46,53,103,44,37,46,53,103,32,0,101,44,37,46,53,103,44,37,46,53,103,32,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,44,37,46,53,103,0,37,46,50,102,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,44,37,46,53,103,32,0,0,0,0,47,112,97,116,104,98,111,120,32,123,10,32,32,32,32,47,88,32,101,120,99,104,32,110,101,103,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,89,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,110,101,103,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,0,47,112,97,116,104,98,111,120,32,123,10,32,32,32,32,47,89,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,88,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,32,125,32,100,101,102,10,47,100,98,103,115,116,97,114,116,32,123,32,103,115,97,118,101,32,37,46,53,103,32,37,46,53,103,32,116,114,97,110,115,108,97,116,101,32,125,32,100,101,102,10,47,97,114,114,111,119,108,101,110,103,116,104,32,49,48,32,100,101,102,10,47,97,114,114,111,119,119,105,100,116,104,32,97,114,114,111,119,108,101,110,103,116,104,32,50,32,100,105,118,32,100,101,102,10,47,97,114,114,111,119,104,101,97,100,32,123,10,32,32,32,32,103,115,97,118,101,10,32,32,32,32,114,111,116,97,116,101,10,32,32,32,32,99,117,114,114,101,110,116,112,111,105,110,116,10,32,32,32,32,110,101,119,112,97,116,104,10,32,32,32,32,109,111,118,101,116,111,10,32,32,32,32,97,114,114,111,119,108,101,110,103,116,104,32,97,114,114,111,119,119,105,100,116,104,32,50,32,100,105,118,32,114,108,105,110,101,116,111,10,32,32,32,32,48,32,97,114,114,111,119,119,105,100,116,104,32,110,101,103,32,114,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,32,32,32,32,103,114,101,115,116,111,114,101,10,125,32,98,105,110,100,32,100,101,102,10,47,109,97,107,101,97,114,114,111,119,32,123,10,32,32,32,32,99,117,114,114,101,110,116,112,111,105,110,116,32,101,120,99,104,32,112,111,112,32,115,117,98,32,101,120,99,104,32,99,117,114,114,101,110,116,112,111,105,110,116,32,112,111,112,32,115,117,98,32,97,116,97,110,10,32,32,32,32,97,114,114,111,119,104,101,97,100,10,125,32,98,105,110,100,32,100,101,102,10,47,112,111,105,110,116,32,123,32,32,32,32,110,101,119,112,97,116,104,32,32,32,32,50,32,48,32,51,54,48,32,97,114,99,32,102,105,108,108,125,32,100,101,102,47,109,97,107,101,118,101,99,32,123,10,32,32,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,32,115,116,114,111,107,101,10,32,32,32,32,88,32,89,32,109,111,118,101,116,111,10,32,32,32,32,120,32,121,32,109,97,107,101,97,114,114,111,119,10,125,32,100,101,102,10,0,108,111,115,116,32,37,115,32,37,115,32,101,100,103,101,10,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,116,97,105,108,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,104,101,97,100,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,120,108,97,98,101,108,32,37,115,0,102,111,114,99,101,108,97,98,101,108,115,0,37,100,32,111,117,116,32,111,102,32,37,100,32,108,97,98,101,108,115,32,112,111,115,105,116,105,111,110,101,100,46,10,0,37,100,32,111,117,116,32,111,102,32,37,100,32,101,120,116,101,114,105,111,114,32,108,97,98,101,108,115,32,112,111,115,105,116,105,111,110,101,100,46,10,0,37,100,32,111,98,106,115,32,37,100,32,120,108,97,98,101,108,115,32,102,111,114,99,101,61,37,100,32,98,98,61,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,10,0,111,98,106,101,99,116,115,10,0,32,91,37,100,93,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,37,112,32,34,37,115,34,10,0,120,108,97,98,101,108,115,10,0,32,91,37,100,93,32,37,112,32,115,101,116,32,37,100,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,37,115,10,0,115,104,97,112,101,102,105,108,101,32,110,111,116,32,115,101,116,32,111,114,32,110,111,116,32,102,111,117,110,100,32,102,111,114,32,101,112,115,102,32,110,111,100,101,32,37,115,10,0,99,97,110,39,116,32,102,105,110,100,32,108,105,98,114,97,114,121,32,102,105,108,101,32,37,115,10,0,99,97,110,39,116,32,111,112,101,110,32,108,105,98,114,97,114,121,32,102,105,108,101,32,37,115,10,0,69,79,70,0,66,69,71,73,78,0,69,78,68,0,84,82,65,73,76,69,82,0,47,117,115,101,114,95,115,104,97,112,101,95,37,100,32,123,10,0,37,37,66,101,103,105,110,68,111,99,117,109,101,110,116,58,10,0,37,37,69,110,100,68,111,99,117,109,101,110,116,10,0,125,32,98,105,110,100,32,100,101,102,10,0,85,84,70,45,56,32,105,110,112,117,116,32,117,115,101,115,32,110,111,110,45,76,97,116,105,110,49,32,99,104,97,114,97,99,116,101,114,115,32,119,104,105,99,104,32,99,97,110,110,111,116,32,98,101,32,104,97,110,100,108,101,100,32,98,121,32,116,104,105,115,32,80,111,115,116,83,99,114,105,112,116,32,100,114,105,118,101,114,10,0,99,111,117,108,100,110,39,116,32,111,112,101,110,32,101,112,115,102,32,102,105,108,101,32,37,115,10,0,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,0,114,101,97,100,0,66,111,117,110,100,105,110,103,66,111,120,32,110,111,116,32,102,111,117,110,100,32,105,110,32,101,112,115,102,32,102,105,108,101,32,37,115,10,0,114,111,117,116,101,115,112,108,105,110,101,115,105,110,105,116,58,32,99,97,110,110,111,116,32,97,108,108,111,99,97,116,101,32,112,115,10,0,114,111,117,116,101,115,112,108,105,110,101,115,58,32,37,100,32,101,100,103,101,115,44,32,37,100,32,98,111,120,101,115,32,37,46,50,102,32,115,101,99,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,99,97,110,110,111,116,32,102,105,110,100,32,78,79,82,77,65,76,32,101,100,103,101,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,105,108,108,101,103,97,108,32,118,97,108,117,101,115,32,111,102,32,112,114,101,118,32,37,100,32,97,110,100,32,110,101,120,116,32,37,100,44,32,108,105,110,101,32,37,100,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,101,100,103,101,32,105,115,32,97,32,108,111,111,112,32,97,116,32,37,115,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,80,115,104,111,114,116,101,115,116,112,97,116,104,32,102,97,105,108,101,100,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,80,114,111,117,116,101,115,112,108,105,110,101,32,102,97,105,108,101,100,10,0,85,110,97,98,108,101,32,116,111,32,114,101,99,108,97,105,109,32,98,111,120,32,115,112,97,99,101,32,105,110,32,115,112,108,105,110,101,32,114,111,117,116,105,110,103,32,102,111,114,32,101,100,103,101,32,34,37,115,34,32,45,62,32,34,37,115,34,46,32,83,111,109,101,116,104,105,110,103,32,105,115,32,112,114,111,98,97,98,108,121,32,115,101,114,105,111,117,115,108,121,32,119,114,111,110,103,46,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,32,48,32,104,97,115,32,76,76,32,99,111,111,114,100,32,62,32,85,82,32,99,111,111,114,100,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,32,37,100,32,104,97,115,32,76,76,32,99,111,111,114,100,32,62,32,85,82,32,99,111,111,114,100,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,101,115,32,37,100,32,97,110,100,32,37,100,32,100,111,110,39,116,32,116,111,117,99,104,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,115,116,97,114,116,32,112,111,114,116,32,110,111,116,32,105,110,32,102,105,114,115,116,32,98,111,120,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,101,110,100,32,112,111,114,116,32,110,111,116,32,105,110,32,108,97,115,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+132702);allocate([32,98,111,120,10,0,37,100,32,98,111,120,101,115,58,10,0,37,100,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,40,37,46,53,103,44,32,37,46,53,103,41,10,0,99,111,110,115,116,114,97,105,110,101,100,0,110,111,116,32,99,111,110,115,116,114,97,105,110,101,100,0,115,116,97,114,116,32,112,111,114,116,58,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,116,97,110,103,101,110,116,32,97,110,103,108,101,58,32,37,46,53,103,44,32,37,115,10,0,101,110,100,32,112,111,114,116,58,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,116,97,110,103,101,110,116,32,97,110,103,108,101,58,32,37,46,53,103,44,32,37,115,10,0,99,97,110,110,111,116,32,114,101,45,97,108,108,111,99,97,116,101,32,112,115,10,0,115,105,100,101,115,32,61,61,32,52,0,115,104,97,112,101,115,46,99,0,114,111,117,110,100,95,99,111,114,110,101,114,115,0,115,104,97,112,101,102,105,108,101,0,101,112,115,102,0,99,117,115,116,111,109,0,115,0,101,0,119,0,117,115,105,110,103,32,37,115,32,102,111,114,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,37,115,10,0,112,111,108,121,103,111,110,0,111,118,97,108,0,99,105,114,99,108,101,0,112,111,105,110,116,0,101,103,103,0,116,114,105,97,110,103,108,101,0,112,108,97,105,110,116,101,120,116,0,100,105,97,109,111,110,100,0,116,114,97,112,101,122,105,117,109,0,112,97,114,97,108,108,101,108,111,103,114,97,109,0,104,111,117,115,101,0,112,101,110,116,97,103,111,110,0,104,101,120,97,103,111,110,0,115,101,112,116,97,103,111,110,0,111,99,116,97,103,111,110,0,110,111,116,101,0,116,97,98,0,102,111,108,100,101,114,0,98,111,120,51,100,0,99,111,109,112,111,110,101,110,116,0,114,101,99,116,0,114,101,99,116,97,110,103,108,101,0,115,113,117,97,114,101,0,100,111,117,98,108,101,99,105,114,99,108,101,0,100,111,117,98,108,101,111,99,116,97,103,111,110,0,116,114,105,112,108,101,111,99,116,97,103,111,110,0,105,110,118,116,114,105,97,110,103,108,101,0,105,110,118,116,114,97,112,101,122,105,117,109,0,105,110,118,104,111,117,115,101,0,117,110,100,101,114,108,105,110,101,0,77,100,105,97,109,111,110,100,0,77,115,113,117,97,114,101,0,77,99,105,114,99,108,101,0,112,114,111,109,111,116,101,114,0,99,100,115,0,116,101,114,109,105,110,97,116,111,114,0,117,116,114,0,105,110,115,117,108,97,116,111,114,0,114,105,98,111,115,105,116,101,0,114,110,97,115,116,97,98,0,112,114,111,116,101,97,115,101,115,105,116,101,0,112,114,111,116,101,105,110,115,116,97,98,0,112,114,105,109,101,114,115,105,116,101,0,114,101,115,116,114,105,99,116,105,111,110,115,105,116,101,0,102,105,118,101,112,111,118,101,114,104,97,110,103,0,116,104,114,101,101,112,111,118,101,114,104,97,110,103,0,110,111,118,101,114,104,97,110,103,0,97,115,115,101,109,98,108,121,0,115,105,103,110,97,116,117,114,101,0,114,112,114,111,109,111,116,101,114,0,108,97,114,114,111,119,0,114,97,114,114,111,119,0,108,112,114,111,109,111,116,101,114,0,114,101,99,111,114,100,0,77,114,101,99,111,114,100,0,115,116,97,114,0,35,56,48,56,48,56,48,0,35,102,99,102,99,102,99,0,35,51,48,51,48,51,48,0,35,101,56,101,56,101,56,0,35,101,48,101,48,101,48,0,35,102,48,102,48,102,48,0,35,49,48,49,48,49,48,0,35,102,56,102,56,102,56,0,105,110,32,110,111,100,101,32,37,115,10,0,114,111,117,110,100,101,100,0,100,105,97,103,111,110,97,108,115,0,114,97,100,105,97,108,0,115,116,114,105,112,101,100,0,119,101,100,103,101,100,0,95,0,110,111,100,101,32,37,115,44,32,112,111,114,116,32,37,115,44,32,117,110,114,101,99,111,103,110,105,122,101,100,32,99,111,109,112,97,115,115,32,112,111,105,110,116,32,39,37,115,39,32,45,32,105,103,110,111,114,101,100,10,0,110,111,100,101,32,37,115,44,32,112,111,114,116,32,37,115,32,117,110,114,101,99,111,103,110,105,122,101,100,10,0,37,46,53,103,32,37,46,53,103,32,116,114,97,110,115,108,97,116,101,32,110,101,119,112,97,116,104,32,117,115,101,114,95,115,104,97,112,101,95,37,100,10,0,105,110,118,105,115,0,0,102,105,108,108,101,100,0,0,98,97,100,32,108,97,98,101,108,32,102,111,114,109,97,116,32,37,115,10,0,92,78,0,109,97,114,103,105,110,0,37,108,102,44,37,108,102,0,114,101,103,117,108,97,114,0,60,110,105,108,62,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,115,104,97,112,101,102,105,108,101,61,34,37,115,34,32,102,111,114,32,110,111,100,101,32,34,37,115,34,10,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,105,109,97,103,101,61,34,37,115,34,32,102,111,114,32,110,111,100,101,32,34,37,115,34,10,0,108,97,98,101,108,108,111,99,0,110,111,100,101,32,39,37,115,39,44,32,103,114,97,112,104,32,39,37,115,39,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,108,97,98,101,108,10,0,115,112,108,105,110,101,115,46,99,0,98,101,103,105,110,112,97,116,104,0,80,45,62,101,110,100,46,116,104,101,116,97,32,60,32,50,32,42,32,77,95,80,73,0,101,110,100,112,97,116,104,0,109,97,107,101,83,101,108,102,69,100,103,101,0,103,101,116,115,112,108,105,110,101,112,111,105,110,116,115,58,32,110,111,32,115,112,108,105,110,101,32,112,111,105,110,116,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,112,111,108,121,108,105,110,101,77,105,100,112,111,105,110,116,0,115,112,97,110,45,62,102,111,110,116,0,116,101,120,116,115,112,97,110,46,99,0,116,101,120,116,115,112,97,110,95,115,105,122,101,0,102,111,110,116,45,62,110,97,109,101,0,102,111,110,116,110,97,109,101,58,32,34,37,115,34,32,114,101,115,111,108,118,101,100,32,116,111,58,32,37,115,10,0,102,111,110,116,110,97,109,101,58,32,117,110,97,98,108,101,32,116,111,32,114,101,115,111,108,118,101,32,34,37,115,34,10,0,99,111,117,114,0,91,105,110,116,101,114,110,97,108,32,99,111,117,114,105,101,114,93,0,97,114,105,97,108,0,104,101,108,118,101,116,105,99,97,0,91,105,110,116,101,114,110,97,108,32,97,114,105,97,108,93,0,91,105,110,116,101,114,110,97,108,32,116,105,109,101,115,93,0,65,118,97,110,116,71,97,114,100,101,45,66,111,111,107,0,85,82,87,32,71,111,116,104,105,99,32,76,0,98,111,111,107,0,115,97,110,115,45,83,101,114,105,102,0,65,118,97,110,116,71,97,114,100,101,45,66,111,111,107,79,98,108,105,113,117,101,0,111,98,108,105,113,117,101,0,105,116,97,108,105,99,0,65,118,97,110,116,71,97,114,100,101,45,68,101,109,105,0,100,101,109,105,0,65,118,97,110,116,71,97,114,100,101,45,68,101,109,105,79,98,108,105,113,117,101,0,66,111,111,107,109,97,110,45,68,101,109,105,0,85,82,87,32,66,111,111,107,109,97,110,32,76,0,115,101,114,105,102,0,66,111,111,107,109,97,110,45,68,101,109,105,73,116,97,108,105,99,0,66,111,111,107,109,97,110,45,76,105,103,104,116,0,108,105,103,104,116,0,66,111,111,107,109,97,110,45,76,105,103,104,116,73,116,97,108,105,99,0,67,111,117,114,105,101,114,0,109,111,110,111,115,112,97,99,101,0,67,111,117,114,105,101,114,45,66,111,108,100,0,67,111,117,114,105,101,114,45,66,111,108,100,79,98,108,105,113,117,101,0,67,111,117,114,105,101,114,45,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,0,99,111,110,100,101,110,115,101,100,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,66,111,108,100,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,66,111,108,100,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,79,98,108,105,113,117,101,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,66,111,108,100,0,67,101,110,116,117,114,121,32,83,99,104,111,111,108,98,111,111,107,32,76,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,66,111,108,100,73,116,97,108,105,99,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,73,116,97,108,105,99,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,82,111,109,97,110,0,114,111,109,97,110,0,80,97,108,97,116,105,110,111,45,66,111,108,100,0,80,97,108,97,116,105,110,111,32,76,105,110,111,116,121,112,101,0,80,97,108,97,116,105,110,111,45,66,111,108,100,73,116,97,108,105,99,0,80,97,108,97,116,105,110,111,45,73,116,97,108,105,99,0,80,97,108,97,116,105,110,111,45,82,111,109,97,110,0,83,121,109,98,111,108,0,102,97,110,116,97,115,121,0,84,105,109,101,115,45,66,111,108,100,0,84,105,109,101,115,0,84,105,109,101,115,45,66,111,108,100,73,116,97,108,105,99,0,84,105,109,101,115,45,73,116,97,108,105,99,0,90,97,112,102,67,104,97,110,99,101,114,121,45,77,101,100,105,117,109,73,116,97,108,105,99,0,85,82,87,32,67,104,97,110,99,101,114,121,32,76,0,109,101,100,105,117,109,0,90,97,112,102,68,105,110,103,98,97,116,115,0,68,105,110,103,98,97,116,115,0,105,110,112,117,116,115,99,97,108,101,0,117,116,105,108,115,46,99,0,117,32,61,61,32,85,70,95,102,105,110,100,40,117,41,0,85,70,95,115,101,116,110,97,109,101,0,1,102,105,108,101,32,108,111,97,100,105,110,103,32,105,115,32,100,105,115,97,98,108,101,100,32,98,101,99,97,117,115,101,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,99,111,110,116,97,105,110,115,32,83,69,82,86,69,82,95,78,65,77,69,61,34,37,115,34,10,97,110,100,32,116,104,101,32,71,86,95,70,73,76,69,95,80,65,84,72,32,118,97,114,105,97,98,108,101,32,105,115,32,117,110,115,101,116,32,111,114,32,101,109,112,116,121,46,10,0,80,97,116,104,32,112,114,111,118,105,100,101,100,32,116,111,32,102,105,108,101,58,32,34,37,115,34,32,104,97,115,32,98,101,101,110,32,105,103,110,111,114,101,100,32,98,101,99,97,117,115,101,32,102,105,108,101,115,32,97,114,101,32,111,110,108,121,32,112,101,114,109,105,116,116,101,100,32,116,111,32,98,101,32,108,111,97,100,101,100,32,102,114,111,109,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32,34,37,115,34,32,119,104,101,110,32,114,117,110,110,105,110,103,32,105,110,32,97,110,32,104,116,116,112,32,115,101,114,118,101,114,46,10,0,47,0,110,111,0,116,114,117,101,0,121,101,115,0,101,108,108,105,112,115,101,0,84,105,109,101,115,45,82,111,109,97,110,0,99,108,117,115,116,101,114,0,95,95,99,108,117,115,116,101,114,110,111,100,101,115,0,0,85,84,70,56,32,99,111,100,101,115,32,62,32,52,32,98,121,116,101,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,32,40,103,114,97,112,104,32,37,115,41,32,45,32,116,114,101,97,116,101,100,32,97,115,32,76,97,116,105,110,45,49,46,32,80,101,114,104,97,112,115,32,34,45,71,99,104,97,114,115,101,116,61,108,97,116,105,110,49,34,32,105,115,32,110,101,101,100,101,100,63,10,0,73,110,118,97,108,105,100,32,37,100,45,98,121,116,101,32,85,84,70,56,32,102,111,117,110,100,32,105,110,32,105,110,112,117,116,32,111,102,32,103,114,97,112,104,32,37,115,32,45,32,116,114,101,97,116,101,100,32,97,115,32,76,97,116,105,110,45,49,46,32,80,101,114,104,97,112,115,32,34,45,71,99,104,97,114,115,101,116,61,108,97,116,105,110,49,34,32,105,115,32,110,101,101,100,101,100,63,10,0,117,114,118,101,100,0,111,109,112,111,117,110,100,0,97,108,115,101,0,105,110,101,0,111,110,101,0,111,0,114,116,104,111,0,111,108,121,108,105,110,101,0,112,108,105,110,101,0,114,117,101,0,101,115,0,85,110,107,110,111,119,110,32,34,115,112,108,105,110,101,115,34,32,118,97,108,117,101,58,32,34,37,115,34,32,45,32,105,103,110,111,114,101,100,10,0,115,112,108,105,110,101,115,0,98,122,46,115,105,122,101,0,111,118,101,114,108,97,112,95,98,101,122,105,101,114,0,65,69,108,105,103,0,65,97,99,117,116,101,0,65,99,105,114,99,0,65,103,114,97,118,101,0,65,108,112,104,97,0,65,114,105,110,103,0,65,116,105,108,100,101,0,65,117,109,108,0,66,101,116,97,0,67,99,101,100,105,108,0,67,104,105,0,68,97,103,103,101,114,0,68,101,108,116,97,0,69,84,72,0,69,97,99,117,116,101,0,69,99,105,114,99,0,69,103,114,97,118,101,0,69,112,115,105,108,111,110,0,69,116,97,0,69,117,109,108,0,71,97,109,109,97,0,73,97,99,117,116,101,0,73,99,105,114,99,0,73,103,114,97,118,101,0,73,111,116,97,0,73,117,109,108,0,75,97,112,112,97,0,76,97,109,98,100,97,0,77,117,0,78,116,105,108,100,101,0,78,117,0,79,69,108,105,103,0,79,97,99,117,116,101,0,79,99,105,114,99,0,79,103,114,97,118,101,0,79,109,101,103,97,0,79,109,105,99,114,111,110,0,79,115,108,97,115,104,0,79,116,105,108,100,101,0,79,117,109,108,0,80,104,105,0,80,105,0,80,114,105,109,101,0,80,115,105,0,82,104,111,0,83,99,97,114,111,110,0,83,105,103,109,97,0,84,72,79,82,78,0,84,97,117,0,84,104,101,116,97,0,85,97,99,117,116,101,0,85,99,105,114,99,0,85,103,114,97,118,101,0,85,112,115,105,108,111,110,0,85,117,109,108,0,88,105,0,89,97,99,117,116,101,0,89,117,109,108,0,90,101,116,97,0,97,97,99,117,116,101,0,97,99,105,114,99,0,97,99,117,116,101,0,97,101,108,105,103,0,97,103,114,97,118,101,0,97,108,101,102,115,121,109,0,97,108,112,104,97,0,97,109,112,0,97,110,100,0,97,110,103,0,97,114,105,110,103,0,97,115,121,109,112,0,97,116,105,108,100,101,0,97,117,109,108,0,98,100,113,117,111,0,98,101,116,97,0,98,114,118,98,97,114,0,98,117,108,108,0,99,97,112,0,99,99,101,100,105,108,0,99,101,100,105,108,0,99,101,110,116,0,99,104,105,0,99,105,114,99,0,99,108,117,98,115,0,99,111,110,103,0,99,111,112,121,0,99,114,97,114,114,0,99,117,112,0,99,117,114,114,101,110,0,100,65,114,114,0,100,97,103,103,101,114,0,100,97,114,114,0,100,101,103,0,100,101,108,116,97,0,100,105,97,109,115,0,100,105,118,105,100,101,0,101,97,99,117,116,101,0,101,99,105,114,99,0,101,103,114,97,118,101,0,101,109,112,116,121,0,101,109,115,112,0,101,110,115,112,0,101,112,115,105,108,111,110,0,101,113,117,105,118,0,101,116,97,0,101,116,104,0,101,117,109,108,0,101,117,114,111,0,101,120,105,115,116,0,102,110,111,102,0,102,111,114,97,108,108,0,102,114,97,99,49,50,0,102,114,97,99,49,52,0,102,114,97,99,51,52,0,102,114,97,115,108,0,103,97,109,109,97,0,103,101,0,103,116,0,104,65,114,114,0,104,97,114,114,0,104,101,97,114,116,115,0,104,101,108,108,105,112,0,105,97,99,117,116,101,0,105,99,105,114,99,0,105,101,120,99,108,0,105,103,114,97,118,101,0,105,109,97,103,101,0,105,110,102,105,110,0,105,110,116,0,105,111,116,97,0,105,113,117,101,115,116,0,105,115,105,110,0,105,117,109,108,0,107,97,112,112,97,0,108,65,114,114,0,108,97,109,98,100,97,0,108,97,110,103,0,108,97,113,117,111,0,108,97,114,114,0,108,99,101,105,108,0,108,100,113,117,111,0,108,101,0,108,102,108,111,111,114,0,108,111,119,97,115,116,0,108,111,122,0,108,114,109,0,108,115,97,113,117,111,0,108,115,113,117,111,0,108,116,0,109,97,99,114,0,109,100,97,115,104,0,109,105,99,114,111,0,109,105,100,100,111,116,0,109,117,0,110,97,98,108,97,0,110,98,115,112,0,110,100,97,115,104,0,110,101,0,110,105,0,110,111,116,0,110,111,116,105,110,0,110,115,117,98,0,110,116,105,108,100,101,0,110,117,0,111,97,99,117,116,101,0,111,99,105,114,99,0,111,101,108,105,103,0,111,103,114,97,118,101,0,111,108,105,110,101,0,111,109,101,103,97,0,111,109,105,99,114,111,110,0,111,112,108,117,115,0,111,114,0,111,114,100,102,0,111,114,100,109,0,111,115,108,97,115,104,0,111,116,105,108,100,101,0,111,116,105,109,101,115,0,111,117,109,108,0,112,97,114,97,0,112,97,114,116,0,112,101,114,109,105,108,0,112,101,114,112,0,112,104,105,0,112,105,0,112,105,118,0,112,108,117,115,109,110,0,112,111,117,110,100,0,112,114,105,109,101,0,112,114,111,100,0,112,114,111,112,0,112,115,105,0,113,117,111,116,0,114,65,114,114,0,114,97,100,105,99,0,114,97,110,103,0,114,97,113,117,111,0,114,97,114,114,0,114,99,101,105,108,0,114,100,113,117,111,0,114,101,97,108,0,114,101,103,0,114,102,108,111,111,114,0,114,104,111,0,114,108,109,0,114,115,97,113,117,111,0,114,115,113,117,111,0,115,98,113,117,111,0,115,99,97,114,111,110,0,115,100,111,116,0,115,101,99,116,0,115,104,121,0,115,105,103,109,97,0,115,105,103,109,97,102,0,115,105,109,0,115,112,97,100,101,115,0,115,117,98,0,115,117,98,101,0,115,117,109,0,115,117,112,0,115,117,112,49,0,115,117,112,50,0,115,117,112,51,0,115,117,112,101,0,115,122,108,105,103,0,116,97,117,0,116,104,101,114,101,52,0,116,104,101,116,97,0,116,104,101,116,97,115,121,109,0,116,104,105,110,115,112,0,116,104,111,114,110,0,116,105,108,100,101,0,116,105,109,101,115,0,116,114,97,100,101,0,117,65,114,114,0,117,97,99,117,116,101,0,117,97,114,114,0,117,99,105,114,99,0,117,103,114,97,118,101,0,117,109,108,0,117,112,115,105,104,0,117,112,115,105,108,111,110,0,117,117,109,108,0,119,101,105,101,114,112,0,120,105,0,121,97,99,117,116,101,0,121,101,110,0,121,117,109,108,0,122,101,116,97,0,122,119,106,0,122,119,110,106,0,109,97,112,78,0,84,119,111,32,99,108,117,115,116,101,114,115,32,110,97,109,101,100,32,37,115,32,45,32,116,104,101,32,115,101,99,111,110,100,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,99,108,117,115,116,101,114,32,99,121,99,108,101,32,37,115,32,45,45,32,37,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,116,97,105,108,32,110,111,100,101,32,37,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,104,101,97,100,32,110,111,100,101,32,37,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,95,95,0,108,97,98,101,108,0,115,104,97,112,101,0,98,111,120,0,37,115,37,115,37,115,0,111,100,98,0,79,114,116,104,111,103,111,110,97,108,32,101,100,103,101,115,32,100,111,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,104,97,110,100,108,101,32,101,100,103,101,32,108,97,98,101,108,115,46,32,84,114,121,32,117,115,105,110,103,32,120,108,97,98,101,108,115,46,10,0,111,114,116,104,111,32,37,115,32,37,115,10,0,99,104,97,110,105,0,111,114,116,104,111,46,99,0,99,104,97,110,83,101,97,114,99,104,0,99,112,0,37,115,0,37,100,32,37,100,32,116,114,97,110,115,108,97,116,101,10,0,48,46,56,32,48,46,56,32,48,46,56,32,115,101,116,114,103,98,99,111,108,111,114,10,0,115,104,111,119,112,97,103,101,10,37,37,37,37,84,114,97,105,108,101,114,10,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,110,101,119,112,97,116,104,32,37,100,32,37,100,32,109,111,118,101,116,111,10,0,37,100,32,37,100,32,108,105,110,101,116,111,10,0,37,100,32,37,100,32,108,105,110,101,116,111,32,115,116,114,111,107,101,10,0,37,37,33,80,83,45,65,100,111,98,101,45,50,46,48,10,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,40,97,116,101,110,100,41,10,47,112,111,105,110,116,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,88,32,89,32,51,32,48,32,51,54,48,32,97,114,99,32,102,105,108,108,10,125,32,100,101,102,10,47,99,101,108,108,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,47,110,111,100,101,32,123,10,32,47,117,32,101,120,99,104,32,100,101,102,10,32,47,114,32,101,120,99,104,32,100,101,102,10,32,47,100,32,101,120,99,104,32,100,101,102,10,32,47,108,32,101,120,99,104,32,100,101,102,10,32,110,101,119,112,97,116,104,32,108,32,100,32,109,111,118,101,116,111,10,32,114,32,100,32,108,105,110,101,116,111,32,114,32,117,32,108,105,110,101,116,111,32,108,32,117,32,108,105,110,101,116,111,10,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,125,32,100,101,102,10,10,0,99,104,97,110,110,101,108,32,37,100,32,40,37,102,44,37,102,41,10,0,32,45,62,10,0,32,32,32,32,32,0,40,40,37,102,44,37,102,41,44,40,37,102,44,37,102,41,41,32,37,115,32,37,115,0,66,95,78,79,68,69,0,66,95,85,80,0,66,95,76,69,70,84,0,66,95,68,79,87,78,0,66,95,82,73,71,72,84,0,115,101,103,0,110,101,120,116,95,115,101,103,0,100,101,99,105,100,101,95,112,111,105,110,116,0,105,110,99,111,109,112,97,114,97,98,108,101,32,115,101,103,109,101,110,116,115,32,33,33,32,45,45,32,65,98,111,114,116,105,110,103,10,0,115,49,45,62,99,111,109,109,95,99,111,111,114,100,61,61,115,50,45,62,99,111,109,109,95,99,111,111,114,100,0,105,115,95,112,97,114,97,108,108,101,108,0,103,114,97,112,104,32,71,32,123,10,0,32,110,111,100,101,91,115,104,97,112,101,61,112,111,105,110,116,93,10,0,32,32,37,100,32,91,112,111,115,61,34,37,100,44,37,100,34,93,10,0,32,32,37,100,32,45,45,32,37,100,91,108,101,110,61,34,37,102,34,93,10,0,125,10,0,115,111,108,105,100,0,105,110,118,105,115,105,98,108,101,0,98,111,108,100,0,115,101,116,108,105,110,101,119,105,100,116,104,0,102,105,108,108,101,100,0,117,110,102,105,108,108,101,100,0,116,97,112,101,114,101,100,0,103,118,114,101,110,100,101,114,95,115,101,116,95,115,116,121,108,101,58,32,117,110,115,117,112,112,111,114,116,101,100,32,115,116,121,108,101,32,37,115,32,45,32,105,103,110,111,114,105,110,103,10,0,103,118,114,101,110,100,101,114,46,99,0,103,118,114,101,110,100,101,114,95,117,115,101,114,115,104,97,112,101,0,110,97,109,101,0,110,97,109,101,91,48,93,0,98,111,116,104,0,99,111,108,111,114,32,37,115,0,37,115,32,105,115,32,110,111,116,32,97,32,107,110,111,119,110,32,99,111,108,111,114,46,10,0,101,114,114,111,114,32,105,110,32,99,111,108,120,108,97,116,101,40,41,10,0,106,111,98,0,103,118,108,111,97,100,105,109,97,103,101,46,99,0,103,118,108,111,97,100,105,109,97,103,101,0,117,115,0,117,115,45,62,110,97,109,101,0,117,115,45,62,110,97,109,101,91,48,93,0,58,0,78,111,32,108,111,97,100,105,109,97,103,101,32,112,108,117,103,105,110,32,102,111,114,32,34,37,115,34,10,0,103,114,97,112,104,118,105,122,0,50,46,51,56,46,48,0,50,48,49,52,48,52,49,51,46,50,48,52,49,0,81,0,76,101,102,116,0,75,80,95,76,101,102,116,0,82,105,103,104,116,0,75,80,95,82,105,103,104,116,0,85,112,0,75,80,95,85,112,0,68,111,119,110,0,75,80,95,68,111,119,110,0,112,108,117,115,0,75,80,95,65,100,100,0,109,105,110,117,115,0,75,80,95,83,117,98,116,114,97,99,116,0,70,0,71,0,110,101,119,46,103,118,0,85,82,76,0,107,101,121,0,104,101,97,100,112,111,114,116,0,116,97,105,108,112,111,114,116,0,101,100,103,101,0,110,111,100,101,0,115,117,98,103,114,97,112,104,0,103,114,97,112,104,0,100,105,103,114,97,112,104,0,95,76,84,88,95,108,105,98,114,97,114,121,0,116,101,120,116,108,97,121,111,117,116,0,111,98,106,112,45,62,108,98,108,0,120,108,97,98,101,108,115,46,99,0,120,108,97,100,106,117,115,116,0,120,108,105,110,116,101,114,115,101,99,116,105,111,110,115,0,108,112,32,33,61,32,99,108,112,0,103,101,116,105,110,116,114,115,120,105,0,111,98,106,112,49,45,62,115,122,46,120,32,61,61,32,48,32,38,38,32,111,98,106,112,49,45,62,115,122,46,121,32,61,61,32,48,0,108,98,108,101,110,99,108,111,115,105,110,103,0,118,112,0,120,108,104,100,120,117,110,108,111,97,100,0,115,105,122,101,61,61,102,114,101,101,100,0,114,101,99,116,46,98,111,117,110,100,97,114,121,91,50,93,32,60,32,73,78,84,95,77,65,88,0,111,98,106,112,108,112,109,107,115,0,114,101,99,116,46,98,111,117,110,100,97,114,121,91,51,93,32,60,32,73,78,84,95,77,65,88,0,111,117,116,32,111,102,32,109,101,109,111,114,121,10,0,35,37,50,120,37,50,120,37,50,120,37,50,120,0,37,108,102,37,108,102,37,108,102,0,47,97,99,99,101,110,116,51,47,49,0,47,97,99,99,101,110,116,51,47,50,0,47,97,99,99,101,110,116,51,47,51,0,47,97,99,99,101,110,116,52,47,49,0,47,97,99,99,101,110,116,52,47,50,0,47,97,99,99,101,110,116,52,47,51,0,47,97,99,99,101,110,116,52,47,52,0,47,97,99,99,101,110,116,53,47,49,0,47,97,99,99,101,110,116,53,47,50,0,47,97,99,99,101,110,116,53,47,51,0,47,97,99,99,101,110,116,53,47,52,0,47,97,99,99,101,110,116,53,47,53,0,47,97,99,99,101,110,116,54,47,49,0,47,97,99,99,101,110,116,54,47,50,0,47,97,99,99,101,110,116,54,47,51,0,47,97,99,99,101,110,116,54,47,52,0,47,97,99,99,101,110,116,54,47,53,0,47,97,99,99,101,110,116,54,47,54,0,47,97,99,99,101,110,116,55,47,49,0,47,97,99,99,101,110,116,55,47,50,0,47,97,99,99,101,110,116,55,47,51,0,47,97,99,99,101,110,116,55,47,52,0,47,97,99,99,101,110,116,55,47,53,0,47,97,99,99,101,110,116,55,47,54,0,47,97,99,99,101,110,116,55,47,55,0,47,97,99,99,101,110,116,56,47,49,0,47,97,99,99,101,110,116,56,47,50,0,47,97,99,99,101,110,116,56,47,51,0,47,97,99,99,101,110,116,56,47,52,0,47,97,99,99,101,110,116,56,47,53,0,47,97,99,99,101,110,116,56,47,54,0,47,97,99,99,101,110,116,56,47,55,0,47,97,99,99,101,110,116,56,47,56,0,47,98,108,117,101,115,51,47,49,0,47,98,108,117,101,115,51,47,50,0,47,98,108,117,101,115,51,47,51,0,47,98,108,117,101,115,52,47,49,0,47,98,108,117,101,115,52,47,50,0,47,98,108,117,101,115,52,47,51,0,47,98,108,117,101,115,52,47,52,0,47,98,108,117,101,115,53,47,49,0,47,98,108,117,101,115,53,47,50,0,47,98,108,117,101,115,53,47,51,0,47,98,108,117,101,115,53,47,52,0,47,98,108,117,101,115,53,47,53,0,47,98,108,117,101,115,54,47,49,0,47,98,108,117,101,115,54,47,50,0,47,98,108,117,101,115,54,47,51,0,47,98,108,117,101,115,54,47,52,0,47,98,108,117,101,115,54,47,53,0,47,98,108,117,101,115,54,47,54,0,47,98,108,117,101,115,55,47,49,0,47,98,108,117,101,115,55,47,50,0,47,98,108,117,101,115,55,47,51,0,47,98,108,117,101,115,55,47,52,0,47,98,108,117,101,115,55,47,53,0,47,98,108,117,101,115,55,47,54,0,47,98,108,117,101,115,55,47,55,0,47,98,108,117,101,115,56,47,49,0,47,98,108,117,101,115,56,47,50,0,47,98,108,117,101,115,56,47,51,0,47,98,108,117,101,115,56,47,52,0,47,98,108,117,101,115,56,47,53,0,47,98,108,117,101,115,56,47,54,0,47,98,108,117,101,115,56,47,55,0,47,98,108,117,101,115,56,47,56,0,47,98,108,117,101,115,57,47,49,0,47,98,108,117,101,115,57,47,50,0,47,98,108,117,101,115,57,47,51,0,47,98,108,117,101,115,57,47,52,0,47,98,108,117,101,115,57,47,53,0,47,98,108,117,101,115,57,47,54,0,47,98,108,117,101,115,57,47,55,0,47,98,108,117,101,115,57,47,56,0,47,98,108,117,101,115,57,47,57,0,47,98,114,98,103,49,48,47,49,0,47,98,114,98,103,49,48,47,49,48,0,47,98,114,98,103,49,48,47,50,0,47,98,114,98,103,49,48,47,51,0,47,98,114,98,103,49,48,47,52,0,47,98,114,98,103,49,48,47,53,0,47,98,114,98,103,49,48,47,54,0,47,98,114,98,103,49,48,47,55,0,47,98,114,98,103,49,48,47,56,0,47,98,114,98,103,49,48,47,57,0,47,98,114,98,103,49,49,47,49,0,47,98,114,98,103,49,49,47,49,48,0,47,98,114,98,103,49,49,47,49,49,0,47,98,114,98,103,49,49,47,50,0,47,98,114,98,103,49,49,47,51,0,47,98,114,98,103,49,49,47,52,0,47,98,114,98,103,49,49,47,53,0,47,98,114,98,103,49,49,47,54,0,47,98,114,98,103,49,49,47,55,0,47,98,114,98,103,49,49,47,56,0,47,98,114,98,103,49,49,47,57,0,47,98,114,98,103,51,47,49,0,47,98,114,98,103,51,47,50,0,47,98,114,98,103,51,47,51,0,47,98,114,98,103,52,47,49,0,47,98,114,98,103,52,47,50,0,47,98,114,98,103,52,47,51,0,47,98,114,98,103,52,47,52,0,47,98,114,98,103,53,47,49,0,47,98,114,98,103,53,47,50,0,47,98,114,98,103,53,47,51,0,47,98,114,98,103,53,47,52,0,47,98,114,98,103,53,47,53,0,47,98,114,98,103,54,47,49,0,47,98,114,98,103,54,47,50,0,47,98,114,98,103,54,47,51,0,47,98,114,98,103,54,47,52,0,47,98,114,98,103,54,47,53,0,47,98,114,98,103,54,47,54,0,47,98,114,98,103,55,47,49,0,47,98,114,98,103,55,47,50,0,47,98,114,98,103,55,47,51,0,47,98,114,98,103,55,47,52,0,47,98,114,98,103,55,47,53,0,47,98,114,98,103,55,47,54,0,47,98,114,98,103,55,47,55,0,47,98,114,98,103,56,47,49,0,47,98,114,98,103,56,47,50,0,47,98,114,98,103,56,47,51,0,47,98,114,98,103,56,47,52,0,47,98,114,98,103,56,47,53,0,47,98,114,98,103,56,47,54,0,47,98,114,98,103,56,47,55,0,47,98,114,98,103,56,47,56,0,47,98,114,98,103,57,47,49,0,47,98,114,98,103,57,47,50,0,47,98,114,98,103,57,47,51,0,47,98,114,98,103,57,47,52,0,47,98,114,98,103,57,47,53,0,47,98,114,98,103,57,47,54,0,47,98,114,98,103,57,47,55,0,47,98,114,98,103,57,47,56,0,47,98,114,98,103,57,47,57,0,47,98,117,103,110,51,47,49,0,47,98,117,103,110,51,47,50,0,47,98,117,103,110,51,47,51,0,47,98,117,103,110,52,47,49,0,47,98,117,103,110,52,47,50,0,47,98,117,103,110,52,47,51,0,47,98,117,103,110,52,47,52,0,47,98,117,103,110,53,47,49,0,47,98,117,103,110,53,47,50,0,47,98,117,103,110,53,47,51,0,47,98,117,103,110,53,47,52,0,47,98,117,103,110,53,47,53,0,47,98,117,103,110,54,47,49,0,47,98,117,103,110,54,47,50,0,47,98,117,103,110,54,47,51,0,47,98,117,103,110,54,47,52,0,47,98,117,103,110,54,47,53,0,47,98,117,103,110,54,47,54,0,47,98,117,103,110,55,47,49,0,47,98,117,103,110,55,47,50,0,47,98,117,103,110,55,47,51,0,47,98,117,103,110,55,47,52,0,47,98,117,103,110,55,47,53,0,47,98,117,103,110,55,47,54,0,47,98,117,103,110,55,47,55,0,47,98,117,103,110,56,47,49,0,47,98,117,103,110,56,47,50,0,47,98,117,103,110,56,47,51,0,47,98,117,103,110,56,47,52,0,47,98,117,103,110,56,47,53,0,47,98,117,103,110,56,47,54,0,47,98,117,103,110,56,47,55,0,47,98,117,103,110,56,47,56,0,47,98,117,103,110,57,47,49,0,47,98,117,103,110,57,47,50,0,47,98,117,103,110,57,47,51,0,47,98,117,103,110,57,47,52,0,47,98,117,103,110,57,47,53,0,47,98,117,103,110,57,47,54,0,47,98,117,103,110,57,47,55,0,47,98,117,103,110,57,47,56,0,47,98,117,103,110,57,47,57,0,47,98,117,112,117,51,47,49,0,47,98,117,112,117,51,47,50,0,47,98,117,112,117,51,47,51,0,47,98,117,112,117,52,47,49,0,47,98,117,112,117,52,47,50,0,47,98,117,112,117,52,47,51,0,47,98,117,112,117,52,47,52,0,47,98,117,112,117,53,47,49,0,47,98,117,112,117,53,47,50,0,47,98,117,112,117,53,47,51,0,47,98,117,112,117,53,47,52,0,47,98,117,112,117,53,47,53,0,47,98,117,112,117,54,47,49,0,47,98,117,112,117,54,47,50,0,47,98,117,112,117,54,47,51,0,47,98,117,112,117,54,47,52,0,47,98,117,112,117,54,47,53,0,47,98,117,112,117,54,47,54,0,47,98,117,112,117,55,47,49,0,47,98,117,112,117,55,47,50,0,47,98,117,112,117,55,47,51,0,47,98,117,112,117,55,47,52,0,47,98,117,112,117,55,47,53,0,47,98,117,112,117,55,47,54,0,47,98,117,112,117,55,47,55,0,47,98,117,112,117,56,47,49,0,47,98,117,112,117,56,47,50,0,47,98,117,112,117,56,47,51,0,47,98,117,112,117,56,47,52,0,47,98,117,112,117,56,47,53,0,47,98,117,112,117,56,47,54,0,47,98,117,112,117,56,47,55,0,47,98,117,112,117,56,47,56,0,47,98,117,112,117,57,47,49,0,47,98,117,112,117,57,47,50,0,47,98,117,112,117,57,47,51,0,47,98,117,112,117,57,47,52,0,47,98,117,112,117,57,47,53,0,47,98,117,112,117,57,47,54,0,47,98,117,112,117,57,47,55,0,47,98,117,112,117,57,47,56,0,47,98,117,112,117,57,47,57,0,47,100,97,114,107,50,51,47,49,0,47,100,97,114,107,50,51,47,50,0,47,100,97,114,107,50,51,47,51,0,47,100,97,114,107,50,52,47,49,0,47,100,97,114,107,50,52,47,50,0,47,100,97,114,107,50,52,47,51,0,47,100,97,114,107,50,52,47,52,0,47,100,97,114,107,50,53,47,49,0,47,100,97,114,107,50,53,47,50,0,47,100,97,114,107,50,53,47,51,0,47,100,97,114,107,50,53,47,52,0,47,100,97,114,107,50,53,47,53,0,47,100,97,114,107,50,54,47,49,0,47,100,97,114,107,50,54,47,50,0,47,100,97,114,107,50,54,47,51,0,47,100,97,114,107,50,54,47,52,0,47,100,97,114,107,50,54,47,53,0,47,100,97,114,107,50,54,47,54,0,47,100,97,114,107,50,55,47,49,0,47,100,97,114,107,50,55,47,50,0,47,100,97,114,107,50,55,47,51,0,47,100,97,114,107,50,55,47,52,0,47,100,97,114,107,50,55,47,53,0,47,100,97,114,107,50,55,47,54,0,47,100,97,114,107,50,55,47,55,0,47,100,97,114,107,50,56,47,49,0,47,100,97,114,107,50,56,47,50,0,47,100,97,114,107,50,56,47,51,0,47,100,97,114,107,50,56,47,52,0,47,100,97,114,107,50,56,47,53,0,47,100,97,114,107,50,56,47,54,0,47,100,97,114,107,50,56,47,55,0,47,100,97,114,107,50,56,47,56,0,47,103,110,98,117,51,47,49,0,47,103,110,98,117,51,47,50,0,47,103,110,98,117,51,47,51,0,47,103,110,98,117,52,47,49,0,47,103,110,98,117,52,47,50,0,47,103,110,98,117,52,47,51,0,47,103,110,98,117,52,47,52,0,47,103,110,98,117,53,47,49,0,47,103,110,98,117,53,47,50,0,47,103,110,98,117,53,47,51,0,47,103,110,98,117,53,47,52,0,47,103,110,98,117,53,47,53,0,47,103,110,98,117,54,47,49,0,47,103,110,98,117,54,47,50,0,47,103,110,98,117,54,47,51,0,47,103,110,98,117,54,47,52,0,47,103,110,98,117,54,47,53,0,47,103,110,98,117,54,47,54,0,47,103,110,98,117,55,47,49,0,47,103,110,98,117,55,47,50,0,47,103,110,98,117,55,47,51,0,47,103,110,98,117,55,47,52,0,47,103,110,98,117,55,47,53,0,47,103,110,98,117,55,47,54,0,47,103,110,98,117,55,47,55,0,47,103,110,98,117,56,47,49,0,47,103,110,98,117,56,47,50,0,47,103,110,98,117,56,47,51,0,47,103,110,98,117,56,47,52,0,47,103,110,98,117,56,47,53,0,47,103,110,98,117,56,47,54,0,47,103,110,98,117,56,47,55,0,47,103,110,98,117,56,47,56,0,47,103,110,98,117,57,47,49,0,47,103,110,98,117,57,47,50,0,47,103,110,98,117,57,47,51,0,47,103,110,98,117,57,47,52,0,47,103,110,98,117,57,47,53,0,47,103,110,98,117,57,47,54,0,47,103,110,98,117,57,47,55,0,47,103,110,98,117,57,47,56,0,47,103,110,98,117,57,47,57,0,47,103,114,101,101,110,115,51,47,49,0,47,103,114,101,101,110,115,51,47,50,0,47,103,114,101,101,110,115,51,47,51,0,47,103,114,101,101,110,115,52,47,49,0,47,103,114,101,101,110,115,52,47,50,0,47,103,114,101,101,110,115,52,47,51,0,47,103,114,101,101,110,115,52,47,52,0,47,103,114,101,101,110,115,53,47,49,0,47,103,114,101,101,110,115,53,47,50,0,47,103,114,101,101,110,115,53,47,51,0,47,103,114,101,101,110,115,53,47,52,0,47,103,114,101,101,110,115,53,47,53,0,47,103,114,101,101,110,115,54,47,49,0,47,103,114,101,101,110,115,54,47,50,0,47,103,114,101,101,110,115,54,47,51,0,47,103,114,101,101,110,115,54,47,52,0,47,103,114,101,101,110,115,54,47,53,0,47,103,114,101,101,110,115,54,47,54,0,47,103,114,101,101,110,115,55,47,49,0,47,103,114,101,101,110,115,55,47,50,0,47,103,114,101,101,110,115,55,47,51,0,47,103,114,101,101,110,115,55,47,52,0,47,103,114,101,101,110,115,55,47,53,0,47,103,114,101,101,110,115,55,47,54,0,47,103,114,101,101,110,115,55,47,55,0,47,103,114,101,101,110,115,56,47,49,0,47,103,114,101,101,110,115,56,47,50,0,47,103,114,101,101,110,115,56,47,51,0,47,103,114,101,101,110,115,56,47,52,0,47,103,114,101,101,110,115,56,47,53,0,47,103,114,101,101,110,115,56,47,54,0,47,103,114,101,101,110,115,56,47,55,0,47,103,114,101,101,110,115,56,47,56,0,47,103,114,101,101,110,115,57,47,49,0,47,103,114,101,101,110,115,57,47,50,0,47,103,114,101,101,110,115,57,47,51,0,47,103,114,101,101,110,115,57,47,52,0,47,103,114,101,101,110,115,57,47,53,0,47,103,114,101,101,110,115,57,47,54,0,47,103,114,101,101,110,115,57,47,55,0,47,103,114,101,101,110,115,57,47,56,0,47,103,114,101,101,110,115,57,47,57,0,47,103,114,101,121,115,51,47,49,0,47,103,114,101,121,115,51,47,50,0,47,103,114,101,121,115,51,47,51,0,47,103,114,101,121,115,52,47,49,0,47,103,114,101,121,115,52,47,50,0,47,103,114,101,121,115,52,47,51,0,47,103,114,101,121,115,52,47,52,0,47,103,114,101,121,115,53,47,49,0,47,103,114,101,121,115,53,47,50,0,47,103,114,101,121,115,53,47,51,0,47,103,114,101,121,115,53,47,52,0,47,103,114,101,121,115,53,47,53,0,47,103,114,101,121,115,54,47,49,0,47,103,114,101,121,115,54,47,50,0,47,103,114,101,121,115,54,47,51,0,47,103,114,101,121,115,54,47,52,0,47,103,114,101,121,115,54,47,53,0,47,103,114,101,121,115,54,47,54,0,47,103,114,101,121,115,55,47,49,0,47,103,114,101,121,115,55,47,50,0,47,103,114,101,121,115,55,47,51,0,47,103,114,101,121,115,55,47,52,0,47,103,114,101,121,115,55,47,53,0,47,103,114,101,121,115,55,47,54,0,47,103,114,101,121,115,55,47,55,0,47,103,114,101,121,115,56,47,49,0,47,103,114,101,121,115,56,47,50,0,47,103,114,101,121,115,56,47,51,0,47,103,114,101,121,115,56,47,52,0,47,103,114,101,121,115,56,47,53,0,47,103,114,101,121,115,56,47,54,0,47,103,114,101,121,115,56,47,55,0,47,103,114,101,121,115,56,47,56,0,47,103,114,101,121,115,57,47,49,0,47,103,114,101,121,115,57,47,50,0,47,103,114,101,121,115,57,47,51,0,47,103,114,101,121,115,57,47,52,0,47,103,114,101,121,115,57,47,53,0,47,103,114,101,121,115,57,47,54,0,47,103,114,101,121,115,57,47,55,0,47,103,114,101,121,115,57,47,56,0,47,103,114,101,121,115,57,47,57,0,47,111,114,97,110,103,101,115],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+142942);allocate([51,47,49,0,47,111,114,97,110,103,101,115,51,47,50,0,47,111,114,97,110,103,101,115,51,47,51,0,47,111,114,97,110,103,101,115,52,47,49,0,47,111,114,97,110,103,101,115,52,47,50,0,47,111,114,97,110,103,101,115,52,47,51,0,47,111,114,97,110,103,101,115,52,47,52,0,47,111,114,97,110,103,101,115,53,47,49,0,47,111,114,97,110,103,101,115,53,47,50,0,47,111,114,97,110,103,101,115,53,47,51,0,47,111,114,97,110,103,101,115,53,47,52,0,47,111,114,97,110,103,101,115,53,47,53,0,47,111,114,97,110,103,101,115,54,47,49,0,47,111,114,97,110,103,101,115,54,47,50,0,47,111,114,97,110,103,101,115,54,47,51,0,47,111,114,97,110,103,101,115,54,47,52,0,47,111,114,97,110,103,101,115,54,47,53,0,47,111,114,97,110,103,101,115,54,47,54,0,47,111,114,97,110,103,101,115,55,47,49,0,47,111,114,97,110,103,101,115,55,47,50,0,47,111,114,97,110,103,101,115,55,47,51,0,47,111,114,97,110,103,101,115,55,47,52,0,47,111,114,97,110,103,101,115,55,47,53,0,47,111,114,97,110,103,101,115,55,47,54,0,47,111,114,97,110,103,101,115,55,47,55,0,47,111,114,97,110,103,101,115,56,47,49,0,47,111,114,97,110,103,101,115,56,47,50,0,47,111,114,97,110,103,101,115,56,47,51,0,47,111,114,97,110,103,101,115,56,47,52,0,47,111,114,97,110,103,101,115,56,47,53,0,47,111,114,97,110,103,101,115,56,47,54,0,47,111,114,97,110,103,101,115,56,47,55,0,47,111,114,97,110,103,101,115,56,47,56,0,47,111,114,97,110,103,101,115,57,47,49,0,47,111,114,97,110,103,101,115,57,47,50,0,47,111,114,97,110,103,101,115,57,47,51,0,47,111,114,97,110,103,101,115,57,47,52,0,47,111,114,97,110,103,101,115,57,47,53,0,47,111,114,97,110,103,101,115,57,47,54,0,47,111,114,97,110,103,101,115,57,47,55,0,47,111,114,97,110,103,101,115,57,47,56,0,47,111,114,97,110,103,101,115,57,47,57,0,47,111,114,114,100,51,47,49,0,47,111,114,114,100,51,47,50,0,47,111,114,114,100,51,47,51,0,47,111,114,114,100,52,47,49,0,47,111,114,114,100,52,47,50,0,47,111,114,114,100,52,47,51,0,47,111,114,114,100,52,47,52,0,47,111,114,114,100,53,47,49,0,47,111,114,114,100,53,47,50,0,47,111,114,114,100,53,47,51,0,47,111,114,114,100,53,47,52,0,47,111,114,114,100,53,47,53,0,47,111,114,114,100,54,47,49,0,47,111,114,114,100,54,47,50,0,47,111,114,114,100,54,47,51,0,47,111,114,114,100,54,47,52,0,47,111,114,114,100,54,47,53,0,47,111,114,114,100,54,47,54,0,47,111,114,114,100,55,47,49,0,47,111,114,114,100,55,47,50,0,47,111,114,114,100,55,47,51,0,47,111,114,114,100,55,47,52,0,47,111,114,114,100,55,47,53,0,47,111,114,114,100,55,47,54,0,47,111,114,114,100,55,47,55,0,47,111,114,114,100,56,47,49,0,47,111,114,114,100,56,47,50,0,47,111,114,114,100,56,47,51,0,47,111,114,114,100,56,47,52,0,47,111,114,114,100,56,47,53,0,47,111,114,114,100,56,47,54,0,47,111,114,114,100,56,47,55,0,47,111,114,114,100,56,47,56,0,47,111,114,114,100,57,47,49,0,47,111,114,114,100,57,47,50,0,47,111,114,114,100,57,47,51,0,47,111,114,114,100,57,47,52,0,47,111,114,114,100,57,47,53,0,47,111,114,114,100,57,47,54,0,47,111,114,114,100,57,47,55,0,47,111,114,114,100,57,47,56,0,47,111,114,114,100,57,47,57,0,47,112,97,105,114,101,100,49,48,47,49,0,47,112,97,105,114,101,100,49,48,47,49,48,0,47,112,97,105,114,101,100,49,48,47,50,0,47,112,97,105,114,101,100,49,48,47,51,0,47,112,97,105,114,101,100,49,48,47,52,0,47,112,97,105,114,101,100,49,48,47,53,0,47,112,97,105,114,101,100,49,48,47,54,0,47,112,97,105,114,101,100,49,48,47,55,0,47,112,97,105,114,101,100,49,48,47,56,0,47,112,97,105,114,101,100,49,48,47,57,0,47,112,97,105,114,101,100,49,49,47,49,0,47,112,97,105,114,101,100,49,49,47,49,48,0,47,112,97,105,114,101,100,49,49,47,49,49,0,47,112,97,105,114,101,100,49,49,47,50,0,47,112,97,105,114,101,100,49,49,47,51,0,47,112,97,105,114,101,100,49,49,47,52,0,47,112,97,105,114,101,100,49,49,47,53,0,47,112,97,105,114,101,100,49,49,47,54,0,47,112,97,105,114,101,100,49,49,47,55,0,47,112,97,105,114,101,100,49,49,47,56,0,47,112,97,105,114,101,100,49,49,47,57,0,47,112,97,105,114,101,100,49,50,47,49,0,47,112,97,105,114,101,100,49,50,47,49,48,0,47,112,97,105,114,101,100,49,50,47,49,49,0,47,112,97,105,114,101,100,49,50,47,49,50,0,47,112,97,105,114,101,100,49,50,47,50,0,47,112,97,105,114,101,100,49,50,47,51,0,47,112,97,105,114,101,100,49,50,47,52,0,47,112,97,105,114,101,100,49,50,47,53,0,47,112,97,105,114,101,100,49,50,47,54,0,47,112,97,105,114,101,100,49,50,47,55,0,47,112,97,105,114,101,100,49,50,47,56,0,47,112,97,105,114,101,100,49,50,47,57,0,47,112,97,105,114,101,100,51,47,49,0,47,112,97,105,114,101,100,51,47,50,0,47,112,97,105,114,101,100,51,47,51,0,47,112,97,105,114,101,100,52,47,49,0,47,112,97,105,114,101,100,52,47,50,0,47,112,97,105,114,101,100,52,47,51,0,47,112,97,105,114,101,100,52,47,52,0,47,112,97,105,114,101,100,53,47,49,0,47,112,97,105,114,101,100,53,47,50,0,47,112,97,105,114,101,100,53,47,51,0,47,112,97,105,114,101,100,53,47,52,0,47,112,97,105,114,101,100,53,47,53,0,47,112,97,105,114,101,100,54,47,49,0,47,112,97,105,114,101,100,54,47,50,0,47,112,97,105,114,101,100,54,47,51,0,47,112,97,105,114,101,100,54,47,52,0,47,112,97,105,114,101,100,54,47,53,0,47,112,97,105,114,101,100,54,47,54,0,47,112,97,105,114,101,100,55,47,49,0,47,112,97,105,114,101,100,55,47,50,0,47,112,97,105,114,101,100,55,47,51,0,47,112,97,105,114,101,100,55,47,52,0,47,112,97,105,114,101,100,55,47,53,0,47,112,97,105,114,101,100,55,47,54,0,47,112,97,105,114,101,100,55,47,55,0,47,112,97,105,114,101,100,56,47,49,0,47,112,97,105,114,101,100,56,47,50,0,47,112,97,105,114,101,100,56,47,51,0,47,112,97,105,114,101,100,56,47,52,0,47,112,97,105,114,101,100,56,47,53,0,47,112,97,105,114,101,100,56,47,54,0,47,112,97,105,114,101,100,56,47,55,0,47,112,97,105,114,101,100,56,47,56,0,47,112,97,105,114,101,100,57,47,49,0,47,112,97,105,114,101,100,57,47,50,0,47,112,97,105,114,101,100,57,47,51,0,47,112,97,105,114,101,100,57,47,52,0,47,112,97,105,114,101,100,57,47,53,0,47,112,97,105,114,101,100,57,47,54,0,47,112,97,105,114,101,100,57,47,55,0,47,112,97,105,114,101,100,57,47,56,0,47,112,97,105,114,101,100,57,47,57,0,47,112,97,115,116,101,108,49,51,47,49,0,47,112,97,115,116,101,108,49,51,47,50,0,47,112,97,115,116,101,108,49,51,47,51,0,47,112,97,115,116,101,108,49,52,47,49,0,47,112,97,115,116,101,108,49,52,47,50,0,47,112,97,115,116,101,108,49,52,47,51,0,47,112,97,115,116,101,108,49,52,47,52,0,47,112,97,115,116,101,108,49,53,47,49,0,47,112,97,115,116,101,108,49,53,47,50,0,47,112,97,115,116,101,108,49,53,47,51,0,47,112,97,115,116,101,108,49,53,47,52,0,47,112,97,115,116,101,108,49,53,47,53,0,47,112,97,115,116,101,108,49,54,47,49,0,47,112,97,115,116,101,108,49,54,47,50,0,47,112,97,115,116,101,108,49,54,47,51,0,47,112,97,115,116,101,108,49,54,47,52,0,47,112,97,115,116,101,108,49,54,47,53,0,47,112,97,115,116,101,108,49,54,47,54,0,47,112,97,115,116,101,108,49,55,47,49,0,47,112,97,115,116,101,108,49,55,47,50,0,47,112,97,115,116,101,108,49,55,47,51,0,47,112,97,115,116,101,108,49,55,47,52,0,47,112,97,115,116,101,108,49,55,47,53,0,47,112,97,115,116,101,108,49,55,47,54,0,47,112,97,115,116,101,108,49,55,47,55,0,47,112,97,115,116,101,108,49,56,47,49,0,47,112,97,115,116,101,108,49,56,47,50,0,47,112,97,115,116,101,108,49,56,47,51,0,47,112,97,115,116,101,108,49,56,47,52,0,47,112,97,115,116,101,108,49,56,47,53,0,47,112,97,115,116,101,108,49,56,47,54,0,47,112,97,115,116,101,108,49,56,47,55,0,47,112,97,115,116,101,108,49,56,47,56,0,47,112,97,115,116,101,108,49,57,47,49,0,47,112,97,115,116,101,108,49,57,47,50,0,47,112,97,115,116,101,108,49,57,47,51,0,47,112,97,115,116,101,108,49,57,47,52,0,47,112,97,115,116,101,108,49,57,47,53,0,47,112,97,115,116,101,108,49,57,47,54,0,47,112,97,115,116,101,108,49,57,47,55,0,47,112,97,115,116,101,108,49,57,47,56,0,47,112,97,115,116,101,108,49,57,47,57,0,47,112,97,115,116,101,108,50,51,47,49,0,47,112,97,115,116,101,108,50,51,47,50,0,47,112,97,115,116,101,108,50,51,47,51,0,47,112,97,115,116,101,108,50,52,47,49,0,47,112,97,115,116,101,108,50,52,47,50,0,47,112,97,115,116,101,108,50,52,47,51,0,47,112,97,115,116,101,108,50,52,47,52,0,47,112,97,115,116,101,108,50,53,47,49,0,47,112,97,115,116,101,108,50,53,47,50,0,47,112,97,115,116,101,108,50,53,47,51,0,47,112,97,115,116,101,108,50,53,47,52,0,47,112,97,115,116,101,108,50,53,47,53,0,47,112,97,115,116,101,108,50,54,47,49,0,47,112,97,115,116,101,108,50,54,47,50,0,47,112,97,115,116,101,108,50,54,47,51,0,47,112,97,115,116,101,108,50,54,47,52,0,47,112,97,115,116,101,108,50,54,47,53,0,47,112,97,115,116,101,108,50,54,47,54,0,47,112,97,115,116,101,108,50,55,47,49,0,47,112,97,115,116,101,108,50,55,47,50,0,47,112,97,115,116,101,108,50,55,47,51,0,47,112,97,115,116,101,108,50,55,47,52,0,47,112,97,115,116,101,108,50,55,47,53,0,47,112,97,115,116,101,108,50,55,47,54,0,47,112,97,115,116,101,108,50,55,47,55,0,47,112,97,115,116,101,108,50,56,47,49,0,47,112,97,115,116,101,108,50,56,47,50,0,47,112,97,115,116,101,108,50,56,47,51,0,47,112,97,115,116,101,108,50,56,47,52,0,47,112,97,115,116,101,108,50,56,47,53,0,47,112,97,115,116,101,108,50,56,47,54,0,47,112,97,115,116,101,108,50,56,47,55,0,47,112,97,115,116,101,108,50,56,47,56,0,47,112,105,121,103,49,48,47,49,0,47,112,105,121,103,49,48,47,49,48,0,47,112,105,121,103,49,48,47,50,0,47,112,105,121,103,49,48,47,51,0,47,112,105,121,103,49,48,47,52,0,47,112,105,121,103,49,48,47,53,0,47,112,105,121,103,49,48,47,54,0,47,112,105,121,103,49,48,47,55,0,47,112,105,121,103,49,48,47,56,0,47,112,105,121,103,49,48,47,57,0,47,112,105,121,103,49,49,47,49,0,47,112,105,121,103,49,49,47,49,48,0,47,112,105,121,103,49,49,47,49,49,0,47,112,105,121,103,49,49,47,50,0,47,112,105,121,103,49,49,47,51,0,47,112,105,121,103,49,49,47,52,0,47,112,105,121,103,49,49,47,53,0,47,112,105,121,103,49,49,47,54,0,47,112,105,121,103,49,49,47,55,0,47,112,105,121,103,49,49,47,56,0,47,112,105,121,103,49,49,47,57,0,47,112,105,121,103,51,47,49,0,47,112,105,121,103,51,47,50,0,47,112,105,121,103,51,47,51,0,47,112,105,121,103,52,47,49,0,47,112,105,121,103,52,47,50,0,47,112,105,121,103,52,47,51,0,47,112,105,121,103,52,47,52,0,47,112,105,121,103,53,47,49,0,47,112,105,121,103,53,47,50,0,47,112,105,121,103,53,47,51,0,47,112,105,121,103,53,47,52,0,47,112,105,121,103,53,47,53,0,47,112,105,121,103,54,47,49,0,47,112,105,121,103,54,47,50,0,47,112,105,121,103,54,47,51,0,47,112,105,121,103,54,47,52,0,47,112,105,121,103,54,47,53,0,47,112,105,121,103,54,47,54,0,47,112,105,121,103,55,47,49,0,47,112,105,121,103,55,47,50,0,47,112,105,121,103,55,47,51,0,47,112,105,121,103,55,47,52,0,47,112,105,121,103,55,47,53,0,47,112,105,121,103,55,47,54,0,47,112,105,121,103,55,47,55,0,47,112,105,121,103,56,47,49,0,47,112,105,121,103,56,47,50,0,47,112,105,121,103,56,47,51,0,47,112,105,121,103,56,47,52,0,47,112,105,121,103,56,47,53,0,47,112,105,121,103,56,47,54,0,47,112,105,121,103,56,47,55,0,47,112,105,121,103,56,47,56,0,47,112,105,121,103,57,47,49,0,47,112,105,121,103,57,47,50,0,47,112,105,121,103,57,47,51,0,47,112,105,121,103,57,47,52,0,47,112,105,121,103,57,47,53,0,47,112,105,121,103,57,47,54,0,47,112,105,121,103,57,47,55,0,47,112,105,121,103,57,47,56,0,47,112,105,121,103,57,47,57,0,47,112,114,103,110,49,48,47,49,0,47,112,114,103,110,49,48,47,49,48,0,47,112,114,103,110,49,48,47,50,0,47,112,114,103,110,49,48,47,51,0,47,112,114,103,110,49,48,47,52,0,47,112,114,103,110,49,48,47,53,0,47,112,114,103,110,49,48,47,54,0,47,112,114,103,110,49,48,47,55,0,47,112,114,103,110,49,48,47,56,0,47,112,114,103,110,49,48,47,57,0,47,112,114,103,110,49,49,47,49,0,47,112,114,103,110,49,49,47,49,48,0,47,112,114,103,110,49,49,47,49,49,0,47,112,114,103,110,49,49,47,50,0,47,112,114,103,110,49,49,47,51,0,47,112,114,103,110,49,49,47,52,0,47,112,114,103,110,49,49,47,53,0,47,112,114,103,110,49,49,47,54,0,47,112,114,103,110,49,49,47,55,0,47,112,114,103,110,49,49,47,56,0,47,112,114,103,110,49,49,47,57,0,47,112,114,103,110,51,47,49,0,47,112,114,103,110,51,47,50,0,47,112,114,103,110,51,47,51,0,47,112,114,103,110,52,47,49,0,47,112,114,103,110,52,47,50,0,47,112,114,103,110,52,47,51,0,47,112,114,103,110,52,47,52,0,47,112,114,103,110,53,47,49,0,47,112,114,103,110,53,47,50,0,47,112,114,103,110,53,47,51,0,47,112,114,103,110,53,47,52,0,47,112,114,103,110,53,47,53,0,47,112,114,103,110,54,47,49,0,47,112,114,103,110,54,47,50,0,47,112,114,103,110,54,47,51,0,47,112,114,103,110,54,47,52,0,47,112,114,103,110,54,47,53,0,47,112,114,103,110,54,47,54,0,47,112,114,103,110,55,47,49,0,47,112,114,103,110,55,47,50,0,47,112,114,103,110,55,47,51,0,47,112,114,103,110,55,47,52,0,47,112,114,103,110,55,47,53,0,47,112,114,103,110,55,47,54,0,47,112,114,103,110,55,47,55,0,47,112,114,103,110,56,47,49,0,47,112,114,103,110,56,47,50,0,47,112,114,103,110,56,47,51,0,47,112,114,103,110,56,47,52,0,47,112,114,103,110,56,47,53,0,47,112,114,103,110,56,47,54,0,47,112,114,103,110,56,47,55,0,47,112,114,103,110,56,47,56,0,47,112,114,103,110,57,47,49,0,47,112,114,103,110,57,47,50,0,47,112,114,103,110,57,47,51,0,47,112,114,103,110,57,47,52,0,47,112,114,103,110,57,47,53,0,47,112,114,103,110,57,47,54,0,47,112,114,103,110,57,47,55,0,47,112,114,103,110,57,47,56,0,47,112,114,103,110,57,47,57,0,47,112,117,98,117,51,47,49,0,47,112,117,98,117,51,47,50,0,47,112,117,98,117,51,47,51,0,47,112,117,98,117,52,47,49,0,47,112,117,98,117,52,47,50,0,47,112,117,98,117,52,47,51,0,47,112,117,98,117,52,47,52,0,47,112,117,98,117,53,47,49,0,47,112,117,98,117,53,47,50,0,47,112,117,98,117,53,47,51,0,47,112,117,98,117,53,47,52,0,47,112,117,98,117,53,47,53,0,47,112,117,98,117,54,47,49,0,47,112,117,98,117,54,47,50,0,47,112,117,98,117,54,47,51,0,47,112,117,98,117,54,47,52,0,47,112,117,98,117,54,47,53,0,47,112,117,98,117,54,47,54,0,47,112,117,98,117,55,47,49,0,47,112,117,98,117,55,47,50,0,47,112,117,98,117,55,47,51,0,47,112,117,98,117,55,47,52,0,47,112,117,98,117,55,47,53,0,47,112,117,98,117,55,47,54,0,47,112,117,98,117,55,47,55,0,47,112,117,98,117,56,47,49,0,47,112,117,98,117,56,47,50,0,47,112,117,98,117,56,47,51,0,47,112,117,98,117,56,47,52,0,47,112,117,98,117,56,47,53,0,47,112,117,98,117,56,47,54,0,47,112,117,98,117,56,47,55,0,47,112,117,98,117,56,47,56,0,47,112,117,98,117,57,47,49,0,47,112,117,98,117,57,47,50,0,47,112,117,98,117,57,47,51,0,47,112,117,98,117,57,47,52,0,47,112,117,98,117,57,47,53,0,47,112,117,98,117,57,47,54,0,47,112,117,98,117,57,47,55,0,47,112,117,98,117,57,47,56,0,47,112,117,98,117,57,47,57,0,47,112,117,98,117,103,110,51,47,49,0,47,112,117,98,117,103,110,51,47,50,0,47,112,117,98,117,103,110,51,47,51,0,47,112,117,98,117,103,110,52,47,49,0,47,112,117,98,117,103,110,52,47,50,0,47,112,117,98,117,103,110,52,47,51,0,47,112,117,98,117,103,110,52,47,52,0,47,112,117,98,117,103,110,53,47,49,0,47,112,117,98,117,103,110,53,47,50,0,47,112,117,98,117,103,110,53,47,51,0,47,112,117,98,117,103,110,53,47,52,0,47,112,117,98,117,103,110,53,47,53,0,47,112,117,98,117,103,110,54,47,49,0,47,112,117,98,117,103,110,54,47,50,0,47,112,117,98,117,103,110,54,47,51,0,47,112,117,98,117,103,110,54,47,52,0,47,112,117,98,117,103,110,54,47,53,0,47,112,117,98,117,103,110,54,47,54,0,47,112,117,98,117,103,110,55,47,49,0,47,112,117,98,117,103,110,55,47,50,0,47,112,117,98,117,103,110,55,47,51,0,47,112,117,98,117,103,110,55,47,52,0,47,112,117,98,117,103,110,55,47,53,0,47,112,117,98,117,103,110,55,47,54,0,47,112,117,98,117,103,110,55,47,55,0,47,112,117,98,117,103,110,56,47,49,0,47,112,117,98,117,103,110,56,47,50,0,47,112,117,98,117,103,110,56,47,51,0,47,112,117,98,117,103,110,56,47,52,0,47,112,117,98,117,103,110,56,47,53,0,47,112,117,98,117,103,110,56,47,54,0,47,112,117,98,117,103,110,56,47,55,0,47,112,117,98,117,103,110,56,47,56,0,47,112,117,98,117,103,110,57,47,49,0,47,112,117,98,117,103,110,57,47,50,0,47,112,117,98,117,103,110,57,47,51,0,47,112,117,98,117,103,110,57,47,52,0,47,112,117,98,117,103,110,57,47,53,0,47,112,117,98,117,103,110,57,47,54,0,47,112,117,98,117,103,110,57,47,55,0,47,112,117,98,117,103,110,57,47,56,0,47,112,117,98,117,103,110,57,47,57,0,47,112,117,111,114,49,48,47,49,0,47,112,117,111,114,49,48,47,49,48,0,47,112,117,111,114,49,48,47,50,0,47,112,117,111,114,49,48,47,51,0,47,112,117,111,114,49,48,47,52,0,47,112,117,111,114,49,48,47,53,0,47,112,117,111,114,49,48,47,54,0,47,112,117,111,114,49,48,47,55,0,47,112,117,111,114,49,48,47,56,0,47,112,117,111,114,49,48,47,57,0,47,112,117,111,114,49,49,47,49,0,47,112,117,111,114,49,49,47,49,48,0,47,112,117,111,114,49,49,47,49,49,0,47,112,117,111,114,49,49,47,50,0,47,112,117,111,114,49,49,47,51,0,47,112,117,111,114,49,49,47,52,0,47,112,117,111,114,49,49,47,53,0,47,112,117,111,114,49,49,47,54,0,47,112,117,111,114,49,49,47,55,0,47,112,117,111,114,49,49,47,56,0,47,112,117,111,114,49,49,47,57,0,47,112,117,111,114,51,47,49,0,47,112,117,111,114,51,47,50,0,47,112,117,111,114,51,47,51,0,47,112,117,111,114,52,47,49,0,47,112,117,111,114,52,47,50,0,47,112,117,111,114,52,47,51,0,47,112,117,111,114,52,47,52,0,47,112,117,111,114,53,47,49,0,47,112,117,111,114,53,47,50,0,47,112,117,111,114,53,47,51,0,47,112,117,111,114,53,47,52,0,47,112,117,111,114,53,47,53,0,47,112,117,111,114,54,47,49,0,47,112,117,111,114,54,47,50,0,47,112,117,111,114,54,47,51,0,47,112,117,111,114,54,47,52,0,47,112,117,111,114,54,47,53,0,47,112,117,111,114,54,47,54,0,47,112,117,111,114,55,47,49,0,47,112,117,111,114,55,47,50,0,47,112,117,111,114,55,47,51,0,47,112,117,111,114,55,47,52,0,47,112,117,111,114,55,47,53,0,47,112,117,111,114,55,47,54,0,47,112,117,111,114,55,47,55,0,47,112,117,111,114,56,47,49,0,47,112,117,111,114,56,47,50,0,47,112,117,111,114,56,47,51,0,47,112,117,111,114,56,47,52,0,47,112,117,111,114,56,47,53,0,47,112,117,111,114,56,47,54,0,47,112,117,111,114,56,47,55,0,47,112,117,111,114,56,47,56,0,47,112,117,111,114,57,47,49,0,47,112,117,111,114,57,47,50,0,47,112,117,111,114,57,47,51,0,47,112,117,111,114,57,47,52,0,47,112,117,111,114,57,47,53,0,47,112,117,111,114,57,47,54,0,47,112,117,111,114,57,47,55,0,47,112,117,111,114,57,47,56,0,47,112,117,111,114,57,47,57,0,47,112,117,114,100,51,47,49,0,47,112,117,114,100,51,47,50,0,47,112,117,114,100,51,47,51,0,47,112,117,114,100,52,47,49,0,47,112,117,114,100,52,47,50,0,47,112,117,114,100,52,47,51,0,47,112,117,114,100,52,47,52,0,47,112,117,114,100,53,47,49,0,47,112,117,114,100,53,47,50,0,47,112,117,114,100,53,47,51,0,47,112,117,114,100,53,47,52,0,47,112,117,114,100,53,47,53,0,47,112,117,114,100,54,47,49,0,47,112,117,114,100,54,47,50,0,47,112,117,114,100,54,47,51,0,47,112,117,114,100,54,47,52,0,47,112,117,114,100,54,47,53,0,47,112,117,114,100,54,47,54,0,47,112,117,114,100,55,47,49,0,47,112,117,114,100,55,47,50,0,47,112,117,114,100,55,47,51,0,47,112,117,114,100,55,47,52,0,47,112,117,114,100,55,47,53,0,47,112,117,114,100,55,47,54,0,47,112,117,114,100,55,47,55,0,47,112,117,114,100,56,47,49,0,47,112,117,114,100,56,47,50,0,47,112,117,114,100,56,47,51,0,47,112,117,114,100,56,47,52,0,47,112,117,114,100,56,47,53,0,47,112,117,114,100,56,47,54,0,47,112,117,114,100,56,47,55,0,47,112,117,114,100,56,47,56,0,47,112,117,114,100,57,47,49,0,47,112,117,114,100,57,47,50,0,47,112,117,114,100,57,47,51,0,47,112,117,114,100,57,47,52,0,47,112,117,114,100,57,47,53,0,47,112,117,114,100,57,47,54,0,47,112,117,114,100,57,47,55,0,47,112,117,114,100,57,47,56,0,47,112,117,114,100,57,47,57,0,47,112,117,114,112,108,101,115,51,47,49,0,47,112,117,114,112,108,101,115,51,47,50,0,47,112,117,114,112,108,101,115,51,47,51,0,47,112,117,114,112,108,101,115,52,47,49,0,47,112,117,114,112,108,101,115,52,47,50,0,47,112,117,114,112,108,101,115,52,47,51,0,47,112,117,114,112,108,101,115,52,47,52,0,47,112,117,114,112,108,101,115,53,47,49,0,47,112,117,114,112,108,101,115,53,47,50,0,47,112,117,114,112,108,101,115,53,47,51,0,47,112,117,114,112,108,101,115,53,47,52,0,47,112,117,114,112,108,101,115,53,47,53,0,47,112,117,114,112,108,101,115,54,47,49,0,47,112,117,114,112,108,101,115,54,47,50,0,47,112,117,114,112,108,101,115,54,47,51,0,47,112,117,114,112,108,101,115,54,47,52,0,47,112,117,114,112,108,101,115,54,47,53,0,47,112,117,114,112,108,101,115,54,47,54,0,47,112,117,114,112,108,101,115,55,47,49,0,47,112,117,114,112,108,101,115,55,47,50,0,47,112,117,114,112,108,101,115,55,47,51,0,47,112,117,114,112,108,101,115,55,47,52,0,47,112,117,114,112,108,101,115,55,47,53,0,47,112,117,114,112,108,101,115,55,47,54,0,47,112,117,114,112,108,101,115,55,47,55,0,47,112,117,114,112,108,101,115,56,47,49,0,47,112,117,114,112,108,101,115,56,47,50,0,47,112,117,114,112,108,101,115,56,47,51,0,47,112,117,114,112,108,101,115,56,47,52,0,47,112,117,114,112,108,101,115,56,47,53,0,47,112,117,114,112,108,101,115,56,47,54,0,47,112,117,114,112,108,101,115,56,47,55,0,47,112,117,114,112,108,101,115,56,47,56,0,47,112,117,114,112,108,101,115,57,47,49,0,47,112,117,114,112,108,101,115,57,47,50,0,47,112,117,114,112,108,101,115,57,47,51,0,47,112,117,114,112,108,101,115,57,47,52,0,47,112,117,114,112,108,101,115,57,47,53,0,47,112,117,114,112,108,101,115,57,47,54,0,47,112,117,114,112,108,101,115,57,47,55,0,47,112,117,114,112,108,101,115,57,47,56,0,47,112,117,114,112,108,101,115,57,47,57,0,47,114,100,98,117,49,48,47,49,0,47,114,100,98,117,49,48,47,49,48,0,47,114,100,98,117,49,48,47,50,0,47,114,100,98,117,49,48,47,51,0,47,114,100,98,117,49,48,47,52,0,47,114,100,98,117,49,48,47,53,0,47,114,100,98,117,49,48,47,54,0,47,114,100,98,117,49,48,47,55,0,47,114,100,98,117,49,48,47,56,0,47,114,100,98,117,49,48,47,57,0,47,114,100,98,117,49,49,47,49,0,47,114,100,98,117,49,49,47,49,48,0,47,114,100,98,117,49,49,47,49,49,0,47,114,100,98,117,49,49,47,50,0,47,114,100,98,117,49,49,47,51,0,47,114,100,98,117,49,49,47,52,0,47,114,100,98,117,49,49,47,53,0,47,114,100,98,117,49,49,47,54,0,47,114,100,98,117,49,49,47,55,0,47,114,100,98,117,49,49,47,56,0,47,114,100,98,117,49,49,47,57,0,47,114,100,98,117,51,47,49,0,47,114,100,98,117,51,47,50,0,47,114,100,98,117,51,47,51,0,47,114,100,98,117,52,47,49,0,47,114,100,98,117,52,47,50,0,47,114,100,98,117,52,47,51,0,47,114,100,98,117,52,47,52,0,47,114,100,98,117,53,47,49,0,47,114,100,98,117,53,47,50,0,47,114,100,98,117,53,47,51,0,47,114,100,98,117,53,47,52,0,47,114,100,98,117,53,47,53,0,47,114,100,98,117,54,47,49,0,47,114,100,98,117,54,47,50,0,47,114,100,98,117,54,47,51,0,47,114,100,98,117,54,47,52,0,47,114,100,98,117,54,47,53,0,47,114,100,98,117,54,47,54,0,47,114,100,98,117,55,47,49,0,47,114,100,98,117,55,47,50,0,47,114,100,98,117,55,47,51,0,47,114,100,98,117,55,47,52,0,47,114,100,98,117,55,47,53,0,47,114,100,98,117,55,47,54,0,47,114,100,98,117,55,47,55,0,47,114,100,98,117,56,47,49,0,47,114,100,98,117,56,47,50,0,47,114,100,98,117,56,47,51,0,47,114,100,98,117,56,47,52,0,47,114,100,98,117,56,47,53,0,47,114,100,98,117,56,47,54,0,47,114,100,98,117,56,47,55,0,47,114,100,98,117,56,47,56,0,47,114,100,98,117,57,47,49,0,47,114,100,98,117,57,47,50,0,47,114,100,98,117,57,47,51,0,47,114,100,98,117,57,47,52,0,47,114,100,98,117,57,47,53,0,47,114,100,98,117,57,47,54,0,47,114,100,98,117,57,47,55,0,47,114,100,98,117,57,47,56,0,47,114,100,98,117,57,47,57,0,47,114,100,103,121,49,48,47,49,0,47,114,100,103,121,49,48,47,49,48,0,47,114,100,103,121,49,48,47,50,0,47,114,100,103,121,49,48,47,51,0,47,114,100,103,121,49,48,47,52,0,47,114,100,103,121,49,48,47,53,0,47,114,100,103,121,49,48,47,54,0,47,114,100,103,121,49,48,47,55,0,47,114,100,103,121,49,48,47,56,0,47,114,100,103,121,49,48,47,57,0,47,114,100,103,121,49,49,47,49,0,47,114,100,103,121,49,49,47,49,48,0,47,114,100,103,121,49,49,47,49,49,0,47,114,100,103,121,49,49,47,50,0,47,114,100,103,121,49,49,47,51,0,47,114,100,103,121,49,49,47,52,0,47,114,100,103,121,49,49,47,53,0,47,114,100,103,121,49,49,47,54,0,47,114,100,103,121,49,49,47,55,0,47,114,100,103,121,49,49,47,56,0,47,114,100,103,121,49,49,47,57,0,47,114,100,103,121,51,47,49,0,47,114,100,103,121,51,47,50,0,47,114,100,103,121,51,47,51,0,47,114,100,103,121,52,47,49,0,47,114,100,103,121,52,47,50,0,47,114,100,103,121,52,47,51,0,47,114,100,103,121,52,47,52,0,47,114,100,103,121,53,47,49,0,47,114,100,103,121,53,47,50,0,47,114,100,103,121,53,47,51,0,47,114,100,103,121,53,47,52,0,47,114,100,103,121,53,47,53,0,47,114,100,103,121,54,47,49,0,47,114,100,103,121,54,47,50,0,47,114,100,103,121,54,47,51,0,47,114,100,103,121,54,47,52,0,47,114,100,103,121,54,47,53,0,47,114,100,103,121,54,47,54,0,47,114,100,103,121,55,47,49,0,47,114,100,103,121,55,47,50,0,47,114,100,103,121,55,47,51,0,47,114,100,103,121,55,47,52,0,47,114,100,103,121,55,47,53,0,47,114,100,103,121,55,47,54,0,47,114,100,103,121,55,47,55,0,47,114,100,103,121,56,47,49,0,47,114,100,103,121,56,47,50,0,47,114,100,103,121,56,47,51,0,47,114,100,103,121,56,47,52,0,47,114,100,103,121,56,47,53,0,47,114,100,103,121,56,47,54,0,47,114,100,103,121,56,47,55,0,47,114,100,103,121,56,47,56,0,47,114,100,103,121,57,47,49,0,47,114,100,103,121,57,47,50,0,47,114,100,103,121,57,47,51,0,47,114,100,103,121,57,47,52,0,47,114,100,103,121,57,47,53,0,47,114,100,103,121,57,47,54,0,47,114,100,103,121,57,47,55,0,47,114,100,103,121,57,47,56,0,47,114,100,103,121,57,47,57,0,47,114,100,112,117,51,47,49,0,47,114,100,112,117,51,47,50,0,47,114,100,112,117,51,47,51,0,47,114,100,112,117,52,47,49,0,47,114,100,112,117,52,47,50,0,47,114,100,112,117,52,47,51,0,47,114,100,112,117,52,47,52,0,47,114,100,112,117,53,47,49,0,47,114,100,112,117,53,47,50,0,47,114,100,112,117,53,47,51,0,47,114,100,112,117,53,47,52,0,47,114,100,112,117,53,47,53,0,47,114,100,112,117,54,47,49,0,47,114,100,112,117,54,47,50,0,47,114,100,112,117,54,47,51,0,47,114,100,112,117,54,47,52,0,47,114,100,112,117,54,47,53,0,47,114,100,112,117,54,47,54,0,47,114,100,112,117,55,47,49,0,47,114,100,112,117,55,47,50,0,47,114,100,112,117,55,47,51,0,47,114,100,112,117,55,47,52,0,47,114,100,112,117,55,47,53,0,47,114,100,112,117,55,47,54,0,47,114,100,112,117,55,47,55,0,47,114,100,112,117,56,47,49,0,47,114,100,112,117,56,47,50,0,47,114,100,112,117,56,47,51,0,47,114,100,112,117,56,47,52,0,47,114,100,112,117,56,47,53,0,47,114,100,112,117,56,47,54,0,47,114,100,112,117,56,47,55,0,47,114,100,112,117,56,47,56,0,47,114,100,112,117,57,47,49,0,47,114,100,112,117,57,47,50,0,47,114,100,112,117,57,47,51,0,47,114,100,112,117,57,47,52,0,47,114,100,112,117,57,47,53,0,47,114,100,112,117,57,47,54,0,47,114,100,112,117,57,47,55,0,47,114,100,112,117,57,47,56,0,47,114,100,112,117,57,47,57,0,47,114,100,121,108,98,117,49,48,47,49,0,47,114,100,121,108,98,117,49,48,47,49,48,0,47,114,100,121,108,98,117,49,48,47,50,0,47,114,100,121,108,98,117,49,48,47,51,0,47,114,100,121,108,98,117,49,48,47,52,0,47,114,100,121,108,98,117,49,48,47,53,0,47,114,100,121,108,98,117,49,48,47,54,0,47,114,100,121,108,98,117,49,48,47,55,0,47,114,100,121,108,98,117,49,48,47,56,0,47,114,100,121,108,98,117,49,48,47,57,0,47,114,100,121,108,98,117,49,49,47,49,0,47,114,100,121,108,98,117,49,49,47,49,48,0,47,114,100,121,108,98,117,49,49,47,49,49,0,47,114,100,121,108,98,117,49,49,47,50,0,47,114,100,121,108,98,117,49,49,47,51,0,47,114,100,121,108,98,117,49,49,47,52,0,47,114,100,121,108,98,117,49,49,47,53,0,47,114,100,121,108,98,117,49,49,47,54,0,47,114,100,121,108,98,117,49,49,47,55,0,47,114,100,121,108,98,117,49,49,47,56,0,47,114,100,121,108,98,117,49,49,47,57,0,47,114,100,121,108,98,117,51,47,49,0,47,114,100,121,108,98,117,51,47,50,0,47,114,100,121,108,98,117,51,47,51,0,47,114,100,121,108,98,117,52,47,49,0,47,114,100,121,108,98,117,52,47,50,0,47,114,100,121,108,98,117,52,47,51,0,47,114,100,121,108,98,117,52,47,52,0,47,114,100,121,108,98,117,53,47,49,0,47,114,100,121,108,98,117,53,47,50,0,47,114,100,121,108,98,117,53,47,51,0,47,114,100,121,108,98,117,53,47,52,0,47,114,100,121,108,98,117,53,47,53,0,47,114,100,121,108,98,117,54,47,49,0,47,114,100,121,108,98,117,54,47,50,0,47,114,100,121,108,98,117,54,47,51,0,47,114,100,121,108,98,117,54,47,52,0,47,114,100,121,108,98,117,54,47,53,0,47,114,100,121,108,98,117,54,47,54,0,47,114,100,121,108,98,117,55,47,49,0,47,114,100,121,108,98,117,55,47,50,0,47,114,100,121,108,98,117,55,47,51,0,47,114,100,121,108,98,117,55,47,52,0,47,114,100,121,108,98,117,55,47,53,0,47,114,100,121,108,98,117,55,47,54,0,47,114,100,121,108,98,117,55,47,55,0,47,114,100,121,108,98,117,56,47,49,0,47,114,100,121,108,98,117,56,47,50,0,47,114,100,121,108,98,117,56,47,51,0,47,114,100,121,108,98,117,56,47,52,0,47,114,100,121,108,98,117,56,47,53,0,47,114,100,121,108,98,117,56,47,54,0,47,114,100,121,108,98,117,56,47,55,0,47,114,100,121,108,98,117,56,47,56,0,47,114,100,121,108,98,117,57,47,49,0,47,114,100,121,108,98,117,57,47,50,0,47,114,100,121,108,98,117,57,47,51,0,47,114,100,121,108,98,117,57,47,52,0,47,114,100,121,108,98,117,57,47,53,0,47,114,100,121,108,98,117,57,47,54,0,47,114,100,121,108,98,117,57,47,55,0,47,114,100,121,108,98,117,57,47,56,0,47,114,100,121,108,98,117,57,47,57,0,47,114,100,121,108,103,110,49,48,47,49,0,47,114,100,121,108,103,110,49,48,47,49,48,0,47,114,100,121,108,103,110,49,48,47,50,0,47,114,100,121,108,103,110,49,48,47,51,0,47,114,100,121,108,103,110,49,48,47,52,0,47,114,100,121,108,103,110,49,48,47,53,0,47,114,100,121,108,103,110,49,48,47,54,0,47,114,100,121,108,103,110,49,48,47,55,0,47,114,100,121,108,103,110,49,48,47,56,0,47,114,100,121,108,103,110,49,48,47,57,0,47,114,100,121,108,103,110,49,49,47,49,0,47,114,100,121,108,103,110,49,49,47,49,48,0,47,114,100,121,108,103,110,49,49,47,49,49,0,47,114,100,121,108,103,110,49,49,47,50,0,47,114,100,121,108,103,110,49,49,47,51,0,47,114,100,121,108,103,110,49,49,47,52,0,47,114,100,121,108,103,110,49,49,47,53,0,47,114,100,121,108,103,110,49,49,47,54,0,47,114,100,121,108,103,110,49,49,47,55,0,47,114,100,121,108,103,110,49,49,47,56,0,47,114,100,121,108,103,110,49,49,47,57,0,47,114,100,121,108,103,110,51,47,49,0,47,114,100,121,108,103,110,51,47,50,0,47,114,100,121,108,103,110,51,47,51,0,47,114,100,121,108,103,110,52,47,49,0,47,114,100,121,108,103,110,52,47,50,0,47,114,100,121,108,103,110,52,47,51,0,47,114,100,121,108,103,110,52,47,52,0,47,114,100,121,108,103,110,53,47,49,0,47,114,100,121,108,103,110,53,47,50,0,47,114,100,121,108,103,110,53,47,51,0,47,114,100,121,108,103,110,53,47,52,0,47,114,100,121,108,103,110,53,47,53,0,47,114,100,121,108,103,110,54,47,49,0,47,114,100,121,108,103,110,54,47,50,0,47,114,100,121,108,103,110,54,47,51,0,47,114,100,121,108,103,110,54,47,52,0,47,114,100,121,108,103,110,54,47,53,0,47,114,100,121,108,103,110,54,47,54,0,47,114,100,121,108,103,110,55,47,49,0,47,114,100,121,108,103,110,55,47,50,0,47,114,100,121,108,103,110,55,47,51,0,47,114,100,121,108,103,110,55,47,52,0,47,114,100,121,108,103,110,55,47,53,0,47,114,100,121,108,103,110,55,47,54,0,47,114,100,121,108,103,110,55,47,55,0,47,114,100,121,108,103,110,56,47,49,0,47,114,100,121,108,103,110,56,47,50,0,47,114,100,121,108,103,110,56,47,51,0,47,114,100,121,108,103,110,56,47,52,0,47,114,100,121,108,103,110,56,47,53,0,47,114,100,121,108,103,110,56,47,54,0,47,114,100,121,108,103,110,56,47,55,0,47,114,100,121,108,103,110,56,47,56,0,47,114,100,121,108,103,110,57,47,49,0,47,114,100,121,108,103,110,57,47,50,0,47,114,100,121,108,103,110,57,47,51,0,47,114,100,121,108,103,110,57,47,52,0,47,114,100,121,108,103,110,57,47,53,0,47,114,100,121,108,103,110,57,47,54,0,47,114,100,121,108,103,110,57,47,55,0,47,114,100,121,108,103,110,57,47,56,0,47,114,100,121,108,103,110,57,47,57,0,47,114,101,100,115,51,47,49,0,47,114,101,100,115,51,47,50,0,47,114,101,100,115,51,47,51,0,47,114,101,100,115,52,47,49,0,47,114,101,100,115,52,47,50,0,47,114,101,100,115,52,47,51,0,47,114,101,100,115,52,47,52,0,47,114,101,100,115,53,47,49,0,47,114,101,100,115,53,47,50,0,47,114,101,100,115,53,47,51,0,47,114,101,100,115,53,47,52,0,47,114,101,100,115,53,47,53,0,47,114,101,100,115,54,47,49,0,47,114,101,100,115,54,47,50,0,47,114,101,100,115,54,47,51,0,47,114,101,100,115,54,47,52,0,47,114,101,100,115,54,47,53,0,47,114,101,100,115,54,47,54,0,47,114,101,100,115,55,47,49,0,47,114,101,100,115,55,47,50,0,47,114,101,100,115,55,47,51,0,47,114,101,100,115,55,47,52,0,47,114,101,100,115,55,47,53,0,47,114,101,100,115,55,47,54,0,47,114,101,100,115,55,47,55,0,47,114,101,100,115,56,47,49,0,47,114,101,100,115,56,47,50,0,47,114,101,100,115,56,47,51,0,47,114,101,100,115,56,47,52,0,47,114,101,100,115,56,47,53,0,47,114,101,100,115,56,47,54,0,47,114,101,100,115,56,47,55,0,47,114,101,100,115,56,47,56,0,47,114,101,100,115,57,47,49,0,47,114,101,100,115,57,47,50,0,47,114,101,100,115,57,47,51,0,47,114,101,100,115,57,47,52,0,47,114,101,100,115,57,47,53,0,47,114,101,100,115,57,47,54,0,47,114,101,100,115,57,47,55,0,47,114,101,100,115,57,47,56,0,47,114,101,100,115,57,47,57,0,47,115,101,116,49,51,47,49,0,47,115,101,116,49,51,47,50,0,47,115,101,116,49,51,47,51,0,47,115,101,116,49,52,47,49,0,47,115,101,116,49,52,47,50,0,47,115,101,116,49,52,47,51,0,47,115,101,116,49,52,47,52,0,47,115,101,116,49,53,47,49,0,47,115,101,116,49,53,47,50,0,47,115,101,116,49,53,47,51,0,47,115,101,116,49,53,47,52,0,47,115,101,116,49,53,47,53,0,47,115,101,116,49,54,47,49,0,47,115,101,116,49,54,47,50,0,47,115,101,116,49,54,47,51,0,47,115,101,116,49,54,47,52,0,47,115,101,116,49,54,47,53,0,47,115,101,116,49,54,47,54,0,47,115,101,116,49,55,47,49,0,47,115,101,116,49,55,47,50,0,47,115,101,116,49,55,47,51,0,47,115,101,116,49,55,47,52,0,47,115,101,116,49,55,47,53,0,47,115,101,116,49,55,47,54,0,47,115,101,116,49,55,47,55,0,47,115,101,116,49,56,47,49,0,47,115,101,116,49,56,47,50,0,47,115,101,116,49,56,47,51,0,47,115,101,116,49,56,47,52,0,47,115,101,116,49,56,47,53,0,47,115,101,116,49,56,47,54,0,47,115,101,116,49,56,47,55,0,47,115,101,116,49,56,47,56,0,47,115,101,116,49,57,47,49,0,47,115,101,116,49,57,47,50,0,47,115,101,116,49,57,47,51,0,47,115,101,116,49,57,47,52,0,47,115,101,116,49,57,47,53,0,47,115,101,116,49,57,47,54,0,47,115,101,116,49,57,47,55,0,47,115,101,116,49,57,47,56,0,47,115,101,116,49,57,47,57,0,47,115,101,116,50,51,47,49,0,47,115,101,116,50,51,47,50,0,47,115,101,116,50,51,47,51,0,47,115,101,116,50,52,47,49,0,47,115,101,116,50,52,47,50,0,47,115,101,116,50,52,47,51,0,47,115,101,116,50,52,47,52,0,47,115,101,116,50,53,47,49,0,47,115,101,116,50,53,47,50,0,47,115,101,116,50,53,47,51,0,47,115,101,116,50,53,47,52,0,47,115,101,116,50,53,47,53,0,47,115,101,116,50,54,47,49,0,47,115,101,116,50,54,47,50,0,47,115,101,116,50,54,47,51,0,47,115,101,116,50,54,47,52,0,47,115,101,116,50,54,47,53,0,47,115,101,116,50,54,47,54,0,47,115,101,116,50,55,47,49,0,47,115,101,116,50,55,47,50,0,47,115,101,116,50,55,47,51,0,47,115,101,116,50,55,47,52,0,47,115,101,116,50,55,47,53,0,47,115,101,116,50,55,47,54,0,47,115,101,116,50,55,47,55,0,47,115,101,116,50,56,47,49,0,47,115,101,116,50,56,47,50,0,47,115,101,116,50,56,47,51,0,47,115,101,116,50,56,47,52,0,47,115,101,116,50,56,47,53,0,47,115,101,116,50,56,47,54,0,47,115,101,116,50,56,47,55,0,47,115,101,116,50,56,47,56,0,47,115,101,116,51,49,48,47,49,0,47,115,101,116,51,49,48,47,49,48,0,47,115,101,116,51,49,48,47,50,0,47,115,101,116,51,49,48,47,51,0,47,115,101,116,51,49,48,47,52,0,47,115,101,116,51,49,48,47,53],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+153182);allocate([0,47,115,101,116,51,49,48,47,54,0,47,115,101,116,51,49,48,47,55,0,47,115,101,116,51,49,48,47,56,0,47,115,101,116,51,49,48,47,57,0,47,115,101,116,51,49,49,47,49,0,47,115,101,116,51,49,49,47,49,48,0,47,115,101,116,51,49,49,47,49,49,0,47,115,101,116,51,49,49,47,50,0,47,115,101,116,51,49,49,47,51,0,47,115,101,116,51,49,49,47,52,0,47,115,101,116,51,49,49,47,53,0,47,115,101,116,51,49,49,47,54,0,47,115,101,116,51,49,49,47,55,0,47,115,101,116,51,49,49,47,56,0,47,115,101,116,51,49,49,47,57,0,47,115,101,116,51,49,50,47,49,0,47,115,101,116,51,49,50,47,49,48,0,47,115,101,116,51,49,50,47,49,49,0,47,115,101,116,51,49,50,47,49,50,0,47,115,101,116,51,49,50,47,50,0,47,115,101,116,51,49,50,47,51,0,47,115,101,116,51,49,50,47,52,0,47,115,101,116,51,49,50,47,53,0,47,115,101,116,51,49,50,47,54,0,47,115,101,116,51,49,50,47,55,0,47,115,101,116,51,49,50,47,56,0,47,115,101,116,51,49,50,47,57,0,47,115,101,116,51,51,47,49,0,47,115,101,116,51,51,47,50,0,47,115,101,116,51,51,47,51,0,47,115,101,116,51,52,47,49,0,47,115,101,116,51,52,47,50,0,47,115,101,116,51,52,47,51,0,47,115,101,116,51,52,47,52,0,47,115,101,116,51,53,47,49,0,47,115,101,116,51,53,47,50,0,47,115,101,116,51,53,47,51,0,47,115,101,116,51,53,47,52,0,47,115,101,116,51,53,47,53,0,47,115,101,116,51,54,47,49,0,47,115,101,116,51,54,47,50,0,47,115,101,116,51,54,47,51,0,47,115,101,116,51,54,47,52,0,47,115,101,116,51,54,47,53,0,47,115,101,116,51,54,47,54,0,47,115,101,116,51,55,47,49,0,47,115,101,116,51,55,47,50,0,47,115,101,116,51,55,47,51,0,47,115,101,116,51,55,47,52,0,47,115,101,116,51,55,47,53,0,47,115,101,116,51,55,47,54,0,47,115,101,116,51,55,47,55,0,47,115,101,116,51,56,47,49,0,47,115,101,116,51,56,47,50,0,47,115,101,116,51,56,47,51,0,47,115,101,116,51,56,47,52,0,47,115,101,116,51,56,47,53,0,47,115,101,116,51,56,47,54,0,47,115,101,116,51,56,47,55,0,47,115,101,116,51,56,47,56,0,47,115,101,116,51,57,47,49,0,47,115,101,116,51,57,47,50,0,47,115,101,116,51,57,47,51,0,47,115,101,116,51,57,47,52,0,47,115,101,116,51,57,47,53,0,47,115,101,116,51,57,47,54,0,47,115,101,116,51,57,47,55,0,47,115,101,116,51,57,47,56,0,47,115,101,116,51,57,47,57,0,47,115,112,101,99,116,114,97,108,49,48,47,49,0,47,115,112,101,99,116,114,97,108,49,48,47,49,48,0,47,115,112,101,99,116,114,97,108,49,48,47,50,0,47,115,112,101,99,116,114,97,108,49,48,47,51,0,47,115,112,101,99,116,114,97,108,49,48,47,52,0,47,115,112,101,99,116,114,97,108,49,48,47,53,0,47,115,112,101,99,116,114,97,108,49,48,47,54,0,47,115,112,101,99,116,114,97,108,49,48,47,55,0,47,115,112,101,99,116,114,97,108,49,48,47,56,0,47,115,112,101,99,116,114,97,108,49,48,47,57,0,47,115,112,101,99,116,114,97,108,49,49,47,49,0,47,115,112,101,99,116,114,97,108,49,49,47,49,48,0,47,115,112,101,99,116,114,97,108,49,49,47,49,49,0,47,115,112,101,99,116,114,97,108,49,49,47,50,0,47,115,112,101,99,116,114,97,108,49,49,47,51,0,47,115,112,101,99,116,114,97,108,49,49,47,52,0,47,115,112,101,99,116,114,97,108,49,49,47,53,0,47,115,112,101,99,116,114,97,108,49,49,47,54,0,47,115,112,101,99,116,114,97,108,49,49,47,55,0,47,115,112,101,99,116,114,97,108,49,49,47,56,0,47,115,112,101,99,116,114,97,108,49,49,47,57,0,47,115,112,101,99,116,114,97,108,51,47,49,0,47,115,112,101,99,116,114,97,108,51,47,50,0,47,115,112,101,99,116,114,97,108,51,47,51,0,47,115,112,101,99,116,114,97,108,52,47,49,0,47,115,112,101,99,116,114,97,108,52,47,50,0,47,115,112,101,99,116,114,97,108,52,47,51,0,47,115,112,101,99,116,114,97,108,52,47,52,0,47,115,112,101,99,116,114,97,108,53,47,49,0,47,115,112,101,99,116,114,97,108,53,47,50,0,47,115,112,101,99,116,114,97,108,53,47,51,0,47,115,112,101,99,116,114,97,108,53,47,52,0,47,115,112,101,99,116,114,97,108,53,47,53,0,47,115,112,101,99,116,114,97,108,54,47,49,0,47,115,112,101,99,116,114,97,108,54,47,50,0,47,115,112,101,99,116,114,97,108,54,47,51,0,47,115,112,101,99,116,114,97,108,54,47,52,0,47,115,112,101,99,116,114,97,108,54,47,53,0,47,115,112,101,99,116,114,97,108,54,47,54,0,47,115,112,101,99,116,114,97,108,55,47,49,0,47,115,112,101,99,116,114,97,108,55,47,50,0,47,115,112,101,99,116,114,97,108,55,47,51,0,47,115,112,101,99,116,114,97,108,55,47,52,0,47,115,112,101,99,116,114,97,108,55,47,53,0,47,115,112,101,99,116,114,97,108,55,47,54,0,47,115,112,101,99,116,114,97,108,55,47,55,0,47,115,112,101,99,116,114,97,108,56,47,49,0,47,115,112,101,99,116,114,97,108,56,47,50,0,47,115,112,101,99,116,114,97,108,56,47,51,0,47,115,112,101,99,116,114,97,108,56,47,52,0,47,115,112,101,99,116,114,97,108,56,47,53,0,47,115,112,101,99,116,114,97,108,56,47,54,0,47,115,112,101,99,116,114,97,108,56,47,55,0,47,115,112,101,99,116,114,97,108,56,47,56,0,47,115,112,101,99,116,114,97,108,57,47,49,0,47,115,112,101,99,116,114,97,108,57,47,50,0,47,115,112,101,99,116,114,97,108,57,47,51,0,47,115,112,101,99,116,114,97,108,57,47,52,0,47,115,112,101,99,116,114,97,108,57,47,53,0,47,115,112,101,99,116,114,97,108,57,47,54,0,47,115,112,101,99,116,114,97,108,57,47,55,0,47,115,112,101,99,116,114,97,108,57,47,56,0,47,115,112,101,99,116,114,97,108,57,47,57,0,47,115,118,103,47,97,108,105,99,101,98,108,117,101,0,47,115,118,103,47,97,110,116,105,113,117,101,119,104,105,116,101,0,47,115,118,103,47,97,113,117,97,0,47,115,118,103,47,97,113,117,97,109,97,114,105,110,101,0,47,115,118,103,47,97,122,117,114,101,0,47,115,118,103,47,98,101,105,103,101,0,47,115,118,103,47,98,105,115,113,117,101,0,47,115,118,103,47,98,108,97,99,107,0,47,115,118,103,47,98,108,97,110,99,104,101,100,97,108,109,111,110,100,0,47,115,118,103,47,98,108,117,101,0,47,115,118,103,47,98,108,117,101,118,105,111,108,101,116,0,47,115,118,103,47,98,114,111,119,110,0,47,115,118,103,47,98,117,114,108,121,119,111,111,100,0,47,115,118,103,47,99,97,100,101,116,98,108,117,101,0,47,115,118,103,47,99,104,97,114,116,114,101,117,115,101,0,47,115,118,103,47,99,104,111,99,111,108,97,116,101,0,47,115,118,103,47,99,111,114,97,108,0,47,115,118,103,47,99,111,114,110,102,108,111,119,101,114,98,108,117,101,0,47,115,118,103,47,99,111,114,110,115,105,108,107,0,47,115,118,103,47,99,114,105,109,115,111,110,0,47,115,118,103,47,99,121,97,110,0,47,115,118,103,47,100,97,114,107,98,108,117,101,0,47,115,118,103,47,100,97,114,107,99,121,97,110,0,47,115,118,103,47,100,97,114,107,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,100,97,114,107,103,114,97,121,0,47,115,118,103,47,100,97,114,107,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,103,114,101,121,0,47,115,118,103,47,100,97,114,107,107,104,97,107,105,0,47,115,118,103,47,100,97,114,107,109,97,103,101,110,116,97,0,47,115,118,103,47,100,97,114,107,111,108,105,118,101,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,111,114,97,110,103,101,0,47,115,118,103,47,100,97,114,107,111,114,99,104,105,100,0,47,115,118,103,47,100,97,114,107,114,101,100,0,47,115,118,103,47,100,97,114,107,115,97,108,109,111,110,0,47,115,118,103,47,100,97,114,107,115,101,97,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,100,97,114,107,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,100,97,114,107,118,105,111,108,101,116,0,47,115,118,103,47,100,101,101,112,112,105,110,107,0,47,115,118,103,47,100,101,101,112,115,107,121,98,108,117,101,0,47,115,118,103,47,100,105,109,103,114,97,121,0,47,115,118,103,47,100,105,109,103,114,101,121,0,47,115,118,103,47,100,111,100,103,101,114,98,108,117,101,0,47,115,118,103,47,102,105,114,101,98,114,105,99,107,0,47,115,118,103,47,102,108,111,114,97,108,119,104,105,116,101,0,47,115,118,103,47,102,111,114,101,115,116,103,114,101,101,110,0,47,115,118,103,47,102,117,99,104,115,105,97,0,47,115,118,103,47,103,97,105,110,115,98,111,114,111,0,47,115,118,103,47,103,104,111,115,116,119,104,105,116,101,0,47,115,118,103,47,103,111,108,100,0,47,115,118,103,47,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,103,114,97,121,0,47,115,118,103,47,103,114,101,101,110,0,47,115,118,103,47,103,114,101,101,110,121,101,108,108,111,119,0,47,115,118,103,47,103,114,101,121,0,47,115,118,103,47,104,111,110,101,121,100,101,119,0,47,115,118,103,47,104,111,116,112,105,110,107,0,47,115,118,103,47,105,110,100,105,97,110,114,101,100,0,47,115,118,103,47,105,110,100,105,103,111,0,47,115,118,103,47,105,118,111,114,121,0,47,115,118,103,47,107,104,97,107,105,0,47,115,118,103,47,108,97,118,101,110,100,101,114,0,47,115,118,103,47,108,97,118,101,110,100,101,114,98,108,117,115,104,0,47,115,118,103,47,108,97,119,110,103,114,101,101,110,0,47,115,118,103,47,108,101,109,111,110,99,104,105,102,102,111,110,0,47,115,118,103,47,108,105,103,104,116,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,99,111,114,97,108,0,47,115,118,103,47,108,105,103,104,116,99,121,97,110,0,47,115,118,103,47,108,105,103,104,116,103,111,108,100,101,110,114,111,100,121,101,108,108,111,119,0,47,115,118,103,47,108,105,103,104,116,103,114,97,121,0,47,115,118,103,47,108,105,103,104,116,103,114,101,101,110,0,47,115,118,103,47,108,105,103,104,116,103,114,101,121,0,47,115,118,103,47,108,105,103,104,116,112,105,110,107,0,47,115,118,103,47,108,105,103,104,116,115,97,108,109,111,110,0,47,115,118,103,47,108,105,103,104,116,115,101,97,103,114,101,101,110,0,47,115,118,103,47,108,105,103,104,116,115,107,121,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,108,105,103,104,116,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,108,105,103,104,116,115,116,101,101,108,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,121,101,108,108,111,119,0,47,115,118,103,47,108,105,109,101,0,47,115,118,103,47,108,105,109,101,103,114,101,101,110,0,47,115,118,103,47,108,105,110,101,110,0,47,115,118,103,47,109,97,103,101,110,116,97,0,47,115,118,103,47,109,97,114,111,111,110,0,47,115,118,103,47,109,101,100,105,117,109,97,113,117,97,109,97,114,105,110,101,0,47,115,118,103,47,109,101,100,105,117,109,98,108,117,101,0,47,115,118,103,47,109,101,100,105,117,109,111,114,99,104,105,100,0,47,115,118,103,47,109,101,100,105,117,109,112,117,114,112,108,101,0,47,115,118,103,47,109,101,100,105,117,109,115,101,97,103,114,101,101,110,0,47,115,118,103,47,109,101,100,105,117,109,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,109,101,100,105,117,109,115,112,114,105,110,103,103,114,101,101,110,0,47,115,118,103,47,109,101,100,105,117,109,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,109,101,100,105,117,109,118,105,111,108,101,116,114,101,100,0,47,115,118,103,47,109,105,100,110,105,103,104,116,98,108,117,101,0,47,115,118,103,47,109,105,110,116,99,114,101,97,109,0,47,115,118,103,47,109,105,115,116,121,114,111,115,101,0,47,115,118,103,47,109,111,99,99,97,115,105,110,0,47,115,118,103,47,110,97,118,97,106,111,119,104,105,116,101,0,47,115,118,103,47,110,97,118,121,0,47,115,118,103,47,111,108,100,108,97,99,101,0,47,115,118,103,47,111,108,105,118,101,0,47,115,118,103,47,111,108,105,118,101,100,114,97,98,0,47,115,118,103,47,111,114,97,110,103,101,0,47,115,118,103,47,111,114,97,110,103,101,114,101,100,0,47,115,118,103,47,111,114,99,104,105,100,0,47,115,118,103,47,112,97,108,101,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,112,97,108,101,103,114,101,101,110,0,47,115,118,103,47,112,97,108,101,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,112,97,108,101,118,105,111,108,101,116,114,101,100,0,47,115,118,103,47,112,97,112,97,121,97,119,104,105,112,0,47,115,118,103,47,112,101,97,99,104,112,117,102,102,0,47,115,118,103,47,112,101,114,117,0,47,115,118,103,47,112,105,110,107,0,47,115,118,103,47,112,108,117,109,0,47,115,118,103,47,112,111,119,100,101,114,98,108,117,101,0,47,115,118,103,47,112,117,114,112,108,101,0,47,115,118,103,47,114,101,100,0,47,115,118,103,47,114,111,115,121,98,114,111,119,110,0,47,115,118,103,47,114,111,121,97,108,98,108,117,101,0,47,115,118,103,47,115,97,100,100,108,101,98,114,111,119,110,0,47,115,118,103,47,115,97,108,109,111,110,0,47,115,118,103,47,115,97,110,100,121,98,114,111,119,110,0,47,115,118,103,47,115,101,97,103,114,101,101,110,0,47,115,118,103,47,115,101,97,115,104,101,108,108,0,47,115,118,103,47,115,105,101,110,110,97,0,47,115,118,103,47,115,105,108,118,101,114,0,47,115,118,103,47,115,107,121,98,108,117,101,0,47,115,118,103,47,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,115,110,111,119,0,47,115,118,103,47,115,112,114,105,110,103,103,114,101,101,110,0,47,115,118,103,47,115,116,101,101,108,98,108,117,101,0,47,115,118,103,47,116,97,110,0,47,115,118,103,47,116,101,97,108,0,47,115,118,103,47,116,104,105,115,116,108,101,0,47,115,118,103,47,116,111,109,97,116,111,0,47,115,118,103,47,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,118,105,111,108,101,116,0,47,115,118,103,47,119,104,101,97,116,0,47,115,118,103,47,119,104,105,116,101,0,47,115,118,103,47,119,104,105,116,101,115,109,111,107,101,0,47,115,118,103,47,121,101,108,108,111,119,0,47,115,118,103,47,121,101,108,108,111,119,103,114,101,101,110,0,47,121,108,103,110,51,47,49,0,47,121,108,103,110,51,47,50,0,47,121,108,103,110,51,47,51,0,47,121,108,103,110,52,47,49,0,47,121,108,103,110,52,47,50,0,47,121,108,103,110,52,47,51,0,47,121,108,103,110,52,47,52,0,47,121,108,103,110,53,47,49,0,47,121,108,103,110,53,47,50,0,47,121,108,103,110,53,47,51,0,47,121,108,103,110,53,47,52,0,47,121,108,103,110,53,47,53,0,47,121,108,103,110,54,47,49,0,47,121,108,103,110,54,47,50,0,47,121,108,103,110,54,47,51,0,47,121,108,103,110,54,47,52,0,47,121,108,103,110,54,47,53,0,47,121,108,103,110,54,47,54,0,47,121,108,103,110,55,47,49,0,47,121,108,103,110,55,47,50,0,47,121,108,103,110,55,47,51,0,47,121,108,103,110,55,47,52,0,47,121,108,103,110,55,47,53,0,47,121,108,103,110,55,47,54,0,47,121,108,103,110,55,47,55,0,47,121,108,103,110,56,47,49,0,47,121,108,103,110,56,47,50,0,47,121,108,103,110,56,47,51,0,47,121,108,103,110,56,47,52,0,47,121,108,103,110,56,47,53,0,47,121,108,103,110,56,47,54,0,47,121,108,103,110,56,47,55,0,47,121,108,103,110,56,47,56,0,47,121,108,103,110,57,47,49,0,47,121,108,103,110,57,47,50,0,47,121,108,103,110,57,47,51,0,47,121,108,103,110,57,47,52,0,47,121,108,103,110,57,47,53,0,47,121,108,103,110,57,47,54,0,47,121,108,103,110,57,47,55,0,47,121,108,103,110,57,47,56,0,47,121,108,103,110,57,47,57,0,47,121,108,103,110,98,117,51,47,49,0,47,121,108,103,110,98,117,51,47,50,0,47,121,108,103,110,98,117,51,47,51,0,47,121,108,103,110,98,117,52,47,49,0,47,121,108,103,110,98,117,52,47,50,0,47,121,108,103,110,98,117,52,47,51,0,47,121,108,103,110,98,117,52,47,52,0,47,121,108,103,110,98,117,53,47,49,0,47,121,108,103,110,98,117,53,47,50,0,47,121,108,103,110,98,117,53,47,51,0,47,121,108,103,110,98,117,53,47,52,0,47,121,108,103,110,98,117,53,47,53,0,47,121,108,103,110,98,117,54,47,49,0,47,121,108,103,110,98,117,54,47,50,0,47,121,108,103,110,98,117,54,47,51,0,47,121,108,103,110,98,117,54,47,52,0,47,121,108,103,110,98,117,54,47,53,0,47,121,108,103,110,98,117,54,47,54,0,47,121,108,103,110,98,117,55,47,49,0,47,121,108,103,110,98,117,55,47,50,0,47,121,108,103,110,98,117,55,47,51,0,47,121,108,103,110,98,117,55,47,52,0,47,121,108,103,110,98,117,55,47,53,0,47,121,108,103,110,98,117,55,47,54,0,47,121,108,103,110,98,117,55,47,55,0,47,121,108,103,110,98,117,56,47,49,0,47,121,108,103,110,98,117,56,47,50,0,47,121,108,103,110,98,117,56,47,51,0,47,121,108,103,110,98,117,56,47,52,0,47,121,108,103,110,98,117,56,47,53,0,47,121,108,103,110,98,117,56,47,54,0,47,121,108,103,110,98,117,56,47,55,0,47,121,108,103,110,98,117,56,47,56,0,47,121,108,103,110,98,117,57,47,49,0,47,121,108,103,110,98,117,57,47,50,0,47,121,108,103,110,98,117,57,47,51,0,47,121,108,103,110,98,117,57,47,52,0,47,121,108,103,110,98,117,57,47,53,0,47,121,108,103,110,98,117,57,47,54,0,47,121,108,103,110,98,117,57,47,55,0,47,121,108,103,110,98,117,57,47,56,0,47,121,108,103,110,98,117,57,47,57,0,47,121,108,111,114,98,114,51,47,49,0,47,121,108,111,114,98,114,51,47,50,0,47,121,108,111,114,98,114,51,47,51,0,47,121,108,111,114,98,114,52,47,49,0,47,121,108,111,114,98,114,52,47,50,0,47,121,108,111,114,98,114,52,47,51,0,47,121,108,111,114,98,114,52,47,52,0,47,121,108,111,114,98,114,53,47,49,0,47,121,108,111,114,98,114,53,47,50,0,47,121,108,111,114,98,114,53,47,51,0,47,121,108,111,114,98,114,53,47,52,0,47,121,108,111,114,98,114,53,47,53,0,47,121,108,111,114,98,114,54,47,49,0,47,121,108,111,114,98,114,54,47,50,0,47,121,108,111,114,98,114,54,47,51,0,47,121,108,111,114,98,114,54,47,52,0,47,121,108,111,114,98,114,54,47,53,0,47,121,108,111,114,98,114,54,47,54,0,47,121,108,111,114,98,114,55,47,49,0,47,121,108,111,114,98,114,55,47,50,0,47,121,108,111,114,98,114,55,47,51,0,47,121,108,111,114,98,114,55,47,52,0,47,121,108,111,114,98,114,55,47,53,0,47,121,108,111,114,98,114,55,47,54,0,47,121,108,111,114,98,114,55,47,55,0,47,121,108,111,114,98,114,56,47,49,0,47,121,108,111,114,98,114,56,47,50,0,47,121,108,111,114,98,114,56,47,51,0,47,121,108,111,114,98,114,56,47,52,0,47,121,108,111,114,98,114,56,47,53,0,47,121,108,111,114,98,114,56,47,54,0,47,121,108,111,114,98,114,56,47,55,0,47,121,108,111,114,98,114,56,47,56,0,47,121,108,111,114,98,114,57,47,49,0,47,121,108,111,114,98,114,57,47,50,0,47,121,108,111,114,98,114,57,47,51,0,47,121,108,111,114,98,114,57,47,52,0,47,121,108,111,114,98,114,57,47,53,0,47,121,108,111,114,98,114,57,47,54,0,47,121,108,111,114,98,114,57,47,55,0,47,121,108,111,114,98,114,57,47,56,0,47,121,108,111,114,98,114,57,47,57,0,47,121,108,111,114,114,100,51,47,49,0,47,121,108,111,114,114,100,51,47,50,0,47,121,108,111,114,114,100,51,47,51,0,47,121,108,111,114,114,100,52,47,49,0,47,121,108,111,114,114,100,52,47,50,0,47,121,108,111,114,114,100,52,47,51,0,47,121,108,111,114,114,100,52,47,52,0,47,121,108,111,114,114,100,53,47,49,0,47,121,108,111,114,114,100,53,47,50,0,47,121,108,111,114,114,100,53,47,51,0,47,121,108,111,114,114,100,53,47,52,0,47,121,108,111,114,114,100,53,47,53,0,47,121,108,111,114,114,100,54,47,49,0,47,121,108,111,114,114,100,54,47,50,0,47,121,108,111,114,114,100,54,47,51,0,47,121,108,111,114,114,100,54,47,52,0,47,121,108,111,114,114,100,54,47,53,0,47,121,108,111,114,114,100,54,47,54,0,47,121,108,111,114,114,100,55,47,49,0,47,121,108,111,114,114,100,55,47,50,0,47,121,108,111,114,114,100,55,47,51,0,47,121,108,111,114,114,100,55,47,52,0,47,121,108,111,114,114,100,55,47,53,0,47,121,108,111,114,114,100,55,47,54,0,47,121,108,111,114,114,100,55,47,55,0,47,121,108,111,114,114,100,56,47,49,0,47,121,108,111,114,114,100,56,47,50,0,47,121,108,111,114,114,100,56,47,51,0,47,121,108,111,114,114,100,56,47,52,0,47,121,108,111,114,114,100,56,47,53,0,47,121,108,111,114,114,100,56,47,54,0,47,121,108,111,114,114,100,56,47,55,0,47,121,108,111,114,114,100,56,47,56,0,47,121,108,111,114,114,100,57,47,49,0,47,121,108,111,114,114,100,57,47,50,0,47,121,108,111,114,114,100,57,47,51,0,47,121,108,111,114,114,100,57,47,52,0,47,121,108,111,114,114,100,57,47,53,0,47,121,108,111,114,114,100,57,47,54,0,47,121,108,111,114,114,100,57,47,55,0,47,121,108,111,114,114,100,57,47,56,0,47,121,108,111,114,114,100,57,47,57,0,97,108,105,99,101,98,108,117,101,0,97,110,116,105,113,117,101,119,104,105,116,101,0,97,110,116,105,113,117,101,119,104,105,116,101,49,0,97,110,116,105,113,117,101,119,104,105,116,101,50,0,97,110,116,105,113,117,101,119,104,105,116,101,51,0,97,110,116,105,113,117,101,119,104,105,116,101,52,0,97,113,117,97,109,97,114,105,110,101,0,97,113,117,97,109,97,114,105,110,101,49,0,97,113,117,97,109,97,114,105,110,101,50,0,97,113,117,97,109,97,114,105,110,101,51,0,97,113,117,97,109,97,114,105,110,101,52,0,97,122,117,114,101,0,97,122,117,114,101,49,0,97,122,117,114,101,50,0,97,122,117,114,101,51,0,97,122,117,114,101,52,0,98,101,105,103,101,0,98,105,115,113,117,101,0,98,105,115,113,117,101,49,0,98,105,115,113,117,101,50,0,98,105,115,113,117,101,51,0,98,105,115,113,117,101,52,0,98,108,97,110,99,104,101,100,97,108,109,111,110,100,0,98,108,117,101,0,98,108,117,101,49,0,98,108,117,101,50,0,98,108,117,101,51,0,98,108,117,101,52,0,98,108,117,101,118,105,111,108,101,116,0,98,114,111,119,110,0,98,114,111,119,110,49,0,98,114,111,119,110,50,0,98,114,111,119,110,51,0,98,114,111,119,110,52,0,98,117,114,108,121,119,111,111,100,0,98,117,114,108,121,119,111,111,100,49,0,98,117,114,108,121,119,111,111,100,50,0,98,117,114,108,121,119,111,111,100,51,0,98,117,114,108,121,119,111,111,100,52,0,99,97,100,101,116,98,108,117,101,0,99,97,100,101,116,98,108,117,101,49,0,99,97,100,101,116,98,108,117,101,50,0,99,97,100,101,116,98,108,117,101,51,0,99,97,100,101,116,98,108,117,101,52,0,99,104,97,114,116,114,101,117,115,101,0,99,104,97,114,116,114,101,117,115,101,49,0,99,104,97,114,116,114,101,117,115,101,50,0,99,104,97,114,116,114,101,117,115,101,51,0,99,104,97,114,116,114,101,117,115,101,52,0,99,104,111,99,111,108,97,116,101,0,99,104,111,99,111,108,97,116,101,49,0,99,104,111,99,111,108,97,116,101,50,0,99,104,111,99,111,108,97,116,101,51,0,99,104,111,99,111,108,97,116,101,52,0,99,111,114,97,108,0,99,111,114,97,108,49,0,99,111,114,97,108,50,0,99,111,114,97,108,51,0,99,111,114,97,108,52,0,99,111,114,110,102,108,111,119,101,114,98,108,117,101,0,99,111,114,110,115,105,108,107,0,99,111,114,110,115,105,108,107,49,0,99,111,114,110,115,105,108,107,50,0,99,111,114,110,115,105,108,107,51,0,99,111,114,110,115,105,108,107,52,0,99,114,105,109,115,111,110,0,99,121,97,110,0,99,121,97,110,49,0,99,121,97,110,50,0,99,121,97,110,51,0,99,121,97,110,52,0,100,97,114,107,103,111,108,100,101,110,114,111,100,0,100,97,114,107,103,111,108,100,101,110,114,111,100,49,0,100,97,114,107,103,111,108,100,101,110,114,111,100,50,0,100,97,114,107,103,111,108,100,101,110,114,111,100,51,0,100,97,114,107,103,111,108,100,101,110,114,111,100,52,0,100,97,114,107,103,114,101,101,110,0,100,97,114,107,107,104,97,107,105,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,49,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,50,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,51,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,52,0,100,97,114,107,111,114,97,110,103,101,0,100,97,114,107,111,114,97,110,103,101,49,0,100,97,114,107,111,114,97,110,103,101,50,0,100,97,114,107,111,114,97,110,103,101,51,0,100,97,114,107,111,114,97,110,103,101,52,0,100,97,114,107,111,114,99,104,105,100,0,100,97,114,107,111,114,99,104,105,100,49,0,100,97,114,107,111,114,99,104,105,100,50,0,100,97,114,107,111,114,99,104,105,100,51,0,100,97,114,107,111,114,99,104,105,100,52,0,100,97,114,107,115,97,108,109,111,110,0,100,97,114,107,115,101,97,103,114,101,101,110,0,100,97,114,107,115,101,97,103,114,101,101,110,49,0,100,97,114,107,115,101,97,103,114,101,101,110,50,0,100,97,114,107,115,101,97,103,114,101,101,110,51,0,100,97,114,107,115,101,97,103,114,101,101,110,52,0,100,97,114,107,115,108,97,116,101,98,108,117,101,0,100,97,114,107,115,108,97,116,101,103,114,97,121,0,100,97,114,107,115,108,97,116,101,103,114,97,121,49,0,100,97,114,107,115,108,97,116,101,103,114,97,121,50,0,100,97,114,107,115,108,97,116,101,103,114,97,121,51,0,100,97,114,107,115,108,97,116,101,103,114,97,121,52,0,100,97,114,107,115,108,97,116,101,103,114,101,121,0,100,97,114,107,116,117,114,113,117,111,105,115,101,0,100,97,114,107,118,105,111,108,101,116,0,100,101,101,112,112,105,110,107,0,100,101,101,112,112,105,110,107,49,0,100,101,101,112,112,105,110,107,50,0,100,101,101,112,112,105,110,107,51,0,100,101,101,112,112,105,110,107,52,0,100,101,101,112,115,107,121,98,108,117,101,0,100,101,101,112,115,107,121,98,108,117,101,49,0,100,101,101,112,115,107,121,98,108,117,101,50,0,100,101,101,112,115,107,121,98,108,117,101,51,0,100,101,101,112,115,107,121,98,108,117,101,52,0,100,105,109,103,114,97,121,0,100,105,109,103,114,101,121,0,100,111,100,103,101,114,98,108,117,101,0,100,111,100,103,101,114,98,108,117,101,49,0,100,111,100,103,101,114,98,108,117,101,50,0,100,111,100,103,101,114,98,108,117,101,51,0,100,111,100,103,101,114,98,108,117,101,52,0,102,105,114,101,98,114,105,99,107,0,102,105,114,101,98,114,105,99,107,49,0,102,105,114,101,98,114,105,99,107,50,0,102,105,114,101,98,114,105,99,107,51,0,102,105,114,101,98,114,105,99,107,52,0,102,108,111,114,97,108,119,104,105,116,101,0,102,111,114,101,115,116,103,114,101,101,110,0,103,97,105,110,115,98,111,114,111,0,103,104,111,115,116,119,104,105,116,101,0,103,111,108,100,0,103,111,108,100,49,0,103,111,108,100,50,0,103,111,108,100,51,0,103,111,108,100,52,0,103,111,108,100,101,110,114,111,100,0,103,111,108,100,101,110,114,111,100,49,0,103,111,108,100,101,110,114,111,100,50,0,103,111,108,100,101,110,114,111,100,51,0,103,111,108,100,101,110,114,111,100,52,0,103,114,97,121,0,103,114,97,121,48,0,103,114,97,121,49,0,103,114,97,121,49,48,0,103,114,97,121,49,48,48,0,103,114,97,121,49,49,0,103,114,97,121,49,50,0,103,114,97,121,49,51,0,103,114,97,121,49,52,0,103,114,97,121,49,53,0,103,114,97,121,49,54,0,103,114,97,121,49,55,0,103,114,97,121,49,56,0,103,114,97,121,49,57,0,103,114,97,121,50,0,103,114,97,121,50,48,0,103,114,97,121,50,49,0,103,114,97,121,50,50,0,103,114,97,121,50,51,0,103,114,97,121,50,52,0,103,114,97,121,50,53,0,103,114,97,121,50,54,0,103,114,97,121,50,55,0,103,114,97,121,50,56,0,103,114,97,121,50,57,0,103,114,97,121,51,0,103,114,97,121,51,48,0,103,114,97,121,51,49,0,103,114,97,121,51,50,0,103,114,97,121,51,51,0,103,114,97,121,51,52,0,103,114,97,121,51,53,0,103,114,97,121,51,54,0,103,114,97,121,51,55,0,103,114,97,121,51,56,0,103,114,97,121,51,57,0,103,114,97,121,52,0,103,114,97,121,52,48,0,103,114,97,121,52,49,0,103,114,97,121,52,50,0,103,114,97,121,52,51,0,103,114,97,121,52,52,0,103,114,97,121,52,53,0,103,114,97,121,52,54,0,103,114,97,121,52,55,0,103,114,97,121,52,56,0,103,114,97,121,52,57,0,103,114,97,121,53,0,103,114,97,121,53,48,0,103,114,97,121,53,49,0,103,114,97,121,53,50,0,103,114,97,121,53,51,0,103,114,97,121,53,52,0,103,114,97,121,53,53,0,103,114,97,121,53,54,0,103,114,97,121,53,55,0,103,114,97,121,53,56,0,103,114,97,121,53,57,0,103,114,97,121,54,0,103,114,97,121,54,48,0,103,114,97,121,54,49,0,103,114,97,121,54,50,0,103,114,97,121,54,51,0,103,114,97,121,54,52,0,103,114,97,121,54,53,0,103,114,97,121,54,54,0,103,114,97,121,54,55,0,103,114,97,121,54,56,0,103,114,97,121,54,57,0,103,114,97,121,55,0,103,114,97,121,55,48,0,103,114,97,121,55,49,0,103,114,97,121,55,50,0,103,114,97,121,55,51,0,103,114,97,121,55,52,0,103,114,97,121,55,53,0,103,114,97,121,55,54,0,103,114,97,121,55,55,0,103,114,97,121,55,56,0,103,114,97,121,55,57,0,103,114,97,121,56,0,103,114,97,121,56,48,0,103,114,97,121,56,49,0,103,114,97,121,56,50,0,103,114,97,121,56,51,0,103,114,97,121,56,52,0,103,114,97,121,56,53,0,103,114,97,121,56,54,0,103,114,97,121,56,55,0,103,114,97,121,56,56,0,103,114,97,121,56,57,0,103,114,97,121,57,0,103,114,97,121,57,48,0,103,114,97,121,57,49,0,103,114,97,121,57,50,0,103,114,97,121,57,51,0,103,114,97,121,57,52,0,103,114,97,121,57,53,0,103,114,97,121,57,54,0,103,114,97,121,57,55,0,103,114,97,121,57,56,0,103,114,97,121,57,57,0,103,114,101,101,110,0,103,114,101,101,110,49,0,103,114,101,101,110,50,0,103,114,101,101,110,51,0,103,114,101,101,110,52,0,103,114,101,101,110,121,101,108,108,111,119,0,103,114,101,121,0,103,114,101,121,48,0,103,114,101,121,49,0,103,114,101,121,49,48,0,103,114,101,121,49,48,48,0,103,114,101,121,49,49,0,103,114,101,121,49,50,0,103,114,101,121,49,51,0,103,114,101,121,49,52,0,103,114,101,121,49,53,0,103,114,101,121,49,54,0,103,114,101,121,49,55,0,103,114,101,121,49,56,0,103,114,101,121,49,57,0,103,114,101,121,50,0,103,114,101,121,50,48,0,103,114,101,121,50,49,0,103,114,101,121,50,50,0,103,114,101,121,50,51,0,103,114,101,121,50,52,0,103,114,101,121,50,53,0,103,114,101,121,50,54,0,103,114,101,121,50,55,0,103,114,101,121,50,56,0,103,114,101,121,50,57,0,103,114,101,121,51,0,103,114,101,121,51,48,0,103,114,101,121,51,49,0,103,114,101,121,51,50,0,103,114,101,121,51,51,0,103,114,101,121,51,52,0,103,114,101,121,51,53,0,103,114,101,121,51,54,0,103,114,101,121,51,55,0,103,114,101,121,51,56,0,103,114,101,121,51,57,0,103,114,101,121,52,0,103,114,101,121,52,48,0,103,114,101,121,52,49,0,103,114,101,121,52,50,0,103,114,101,121,52,51,0,103,114,101,121,52,52,0,103,114,101,121,52,53,0,103,114,101,121,52,54,0,103,114,101,121,52,55,0,103,114,101,121,52,56,0,103,114,101,121,52,57,0,103,114,101,121,53,0,103,114,101,121,53,48,0,103,114,101,121,53,49,0,103,114,101,121,53,50,0,103,114,101,121,53,51,0,103,114,101,121,53,52,0,103,114,101,121,53,53,0,103,114,101,121,53,54,0,103,114,101,121,53,55,0,103,114,101,121,53,56,0,103,114,101,121,53,57,0,103,114,101,121,54,0,103,114,101,121,54,48,0,103,114,101,121,54,49,0,103,114,101,121,54,50,0,103,114,101,121,54,51,0,103,114,101,121,54,52,0,103,114,101,121,54,53,0,103,114,101,121,54,54,0,103,114,101,121,54,55,0,103,114,101,121,54,56,0,103,114,101,121,54,57,0,103,114,101,121,55,0,103,114,101,121,55,48,0,103,114,101,121,55,49,0,103,114,101,121,55,50,0,103,114,101,121,55,51,0,103,114,101,121,55,52,0,103,114,101,121,55,53,0,103,114,101,121,55,54,0,103,114,101,121,55,55,0,103,114,101,121,55,56,0,103,114,101,121,55,57,0,103,114,101,121,56,0,103,114,101,121,56,48,0,103,114,101,121,56,49,0,103,114,101,121,56,50,0,103,114,101,121,56,51,0,103,114,101,121,56,52,0,103,114,101,121,56,53,0,103,114,101,121,56,54,0,103,114,101,121,56,55,0,103,114,101,121,56,56,0,103,114,101,121,56,57,0,103,114,101,121,57,0,103,114,101,121,57,48,0,103,114,101,121,57,49,0,103,114,101,121,57,50,0,103,114,101,121,57,51,0,103,114,101,121,57,52,0,103,114,101,121,57,53,0,103,114,101,121,57,54,0,103,114,101,121,57,55,0,103,114,101,121,57,56,0,103,114,101,121,57,57,0,104,111,110,101,121,100,101,119,0,104,111,110,101,121,100,101,119,49,0,104,111,110,101,121,100,101,119,50,0,104,111,110,101,121,100,101,119,51,0,104,111,110,101,121,100,101,119,52,0,104,111,116,112,105,110,107,0,104,111,116,112,105,110,107,49,0,104,111,116,112,105,110,107,50,0,104,111,116,112,105,110,107,51,0,104,111,116,112,105,110,107,52,0,105,110,100,105,97,110,114,101,100,0,105,110,100,105,97,110,114,101,100,49,0,105,110,100,105,97,110,114,101,100,50,0,105,110,100,105,97,110,114,101,100,51,0,105,110,100,105,97,110,114,101,100,52,0,105,110,100,105,103,111,0,105,110,118,105,115,0,105,118,111,114,121,0,105,118,111,114,121,49,0,105,118,111,114,121,50,0,105,118,111,114,121,51,0,105,118,111,114,121,52,0,107,104,97,107,105,0,107,104,97,107,105,49,0,107,104,97,107,105,50,0,107,104,97,107,105,51,0,107,104,97,107,105,52,0,108,97,118,101,110,100,101,114,0,108,97,118,101,110,100,101,114,98,108,117,115,104,0,108,97,118,101,110,100,101,114,98,108,117,115,104,49,0,108,97,118,101,110,100,101,114,98,108,117,115,104,50,0,108,97,118,101,110,100,101,114,98,108,117,115,104,51,0,108,97,118,101,110,100,101,114,98,108,117,115,104,52,0,108,97,119,110,103,114,101,101,110,0,108,101,109,111,110,99,104,105,102,102,111,110,0,108,101,109,111,110,99,104,105,102,102,111,110,49,0,108,101,109,111,110,99,104,105,102,102,111,110,50,0,108,101,109,111,110,99,104,105,102,102,111,110,51,0,108,101,109,111,110,99,104,105,102,102,111,110,52,0,108,105,103,104,116,98,108,117,101,0,108,105,103,104,116,98,108,117,101,49,0,108,105,103,104,116,98,108,117,101,50,0,108,105,103,104,116,98,108,117,101,51,0,108,105,103,104,116,98,108,117,101,52,0,108,105,103,104,116,99,111,114,97,108,0,108,105,103,104,116,99,121,97,110,0,108,105,103,104,116,99,121,97,110,49,0,108,105,103,104,116,99,121,97,110,50,0,108,105,103,104,116,99,121,97,110,51,0,108,105,103,104,116,99,121,97,110,52,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,49,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,50,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,51,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,52,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,121,101,108,108,111,119,0,108,105,103,104,116,103,114,97,121,0,108,105,103,104,116,103,114,101,121,0,108,105,103,104,116,112,105,110,107,0,108,105,103,104,116,112,105,110,107,49,0,108,105,103,104,116,112,105,110,107,50,0,108,105,103,104,116,112,105,110,107,51,0,108,105,103,104,116,112,105,110,107,52,0,108,105,103,104,116,115,97,108,109,111,110,0,108,105,103,104,116,115,97,108,109,111,110,49,0,108,105,103,104,116,115,97,108,109,111,110,50,0,108,105,103,104,116,115,97,108,109,111,110,51,0,108,105,103,104,116,115,97,108,109,111,110,52,0,108,105,103,104,116,115,101,97,103,114,101,101,110,0,108,105,103,104,116,115,107,121,98,108,117,101,0,108,105,103,104,116,115,107,121,98,108,117,101,49,0,108,105,103,104,116,115,107,121,98,108,117,101,50,0,108,105,103,104,116,115,107,121,98,108,117,101,51,0,108,105,103,104,116,115,107,121,98,108,117,101,52,0,108,105,103,104,116,115,108,97,116,101,98,108,117,101,0,108,105,103,104,116,115,108,97,116,101,103,114,97,121,0,108,105,103,104,116,115,108,97,116,101,103,114,101,121,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,49,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,50,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,51,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,52,0,108,105,103,104,116,121,101,108,108,111,119,0,108,105,103,104,116,121,101,108,108,111,119,49,0,108,105,103,104,116,121,101,108,108,111,119,50,0,108,105,103,104,116,121,101,108,108,111,119,51,0,108,105,103,104,116,121,101,108,108,111,119,52,0,108,105,109,101,103,114,101,101,110,0,108,105,110,101,110,0,109,97,103,101,110,116,97,0,109,97,103,101,110,116,97,49,0,109,97,103,101,110,116,97,50,0,109,97,103,101,110,116,97,51,0,109,97,103,101,110,116,97,52,0,109,97,114,111,111,110,0,109,97,114,111,111,110,49,0,109,97,114,111,111,110,50,0,109,97,114,111,111,110,51,0,109,97,114,111,111,110,52,0,109,101,100,105,117,109,97,113,117,97,109,97,114,105,110,101,0,109,101,100,105,117,109,98,108,117,101,0,109,101,100,105,117,109,111,114,99,104,105,100,0,109,101,100,105,117,109,111,114,99,104,105,100,49,0,109,101,100,105,117,109,111,114,99,104,105,100,50,0,109,101,100,105,117,109,111,114,99,104,105,100,51,0,109,101,100,105,117,109,111,114,99,104,105,100,52,0,109,101,100,105,117,109,112,117,114,112,108,101,0,109,101,100,105,117,109,112,117,114,112,108,101,49,0,109,101,100,105,117,109,112,117,114,112,108,101,50,0,109,101,100,105,117,109,112,117,114,112,108,101,51,0,109,101,100,105,117,109,112,117,114,112,108,101,52,0,109,101,100,105,117,109,115,101,97,103,114,101,101,110,0,109,101,100,105,117,109,115,108,97,116,101,98,108,117,101,0,109,101,100,105,117,109,115,112,114,105,110,103,103,114,101,101,110,0,109,101,100,105,117,109,116,117,114,113,117,111,105,115,101,0,109,101,100,105,117,109,118,105,111,108,101,116,114,101,100,0,109,105,100,110,105,103,104,116,98,108,117,101,0,109,105,110,116,99,114,101,97,109,0,109,105,115,116,121,114,111,115,101,0,109,105,115,116,121,114,111,115,101,49,0,109,105,115,116,121,114,111,115,101,50,0,109,105,115,116,121,114,111,115,101,51,0,109,105,115,116,121,114,111,115,101,52,0,109,111,99,99,97,115,105,110,0,110,97,118,97,106,111,119,104,105,116,101,0,110,97,118,97,106,111,119,104,105,116,101,49,0,110,97,118,97,106,111,119,104,105,116,101,50,0,110,97,118,97,106,111,119,104,105,116,101,51,0,110,97,118,97,106,111,119,104,105,116,101,52,0,110,97,118,121,0,110,97,118,121,98,108,117,101,0,110,111,110,101,0,111,108,100,108,97,99,101,0,111,108,105,118,101,100,114,97,98,0,111,108,105,118,101,100,114,97,98,49,0,111,108,105,118,101,100,114,97,98,50,0,111,108,105,118,101,100,114,97,98,51,0,111,108,105,118,101,100,114,97,98,52,0,111,114,97,110,103,101,0,111,114,97,110,103,101,49,0,111,114,97,110,103,101,50,0,111,114,97,110,103,101,51,0,111,114,97,110,103,101,52,0,111,114,97,110,103,101,114,101,100,0,111,114,97,110,103,101,114,101,100,49,0,111,114,97,110,103,101,114,101,100,50,0,111,114,97,110,103,101,114,101,100,51,0,111,114,97,110,103,101,114,101,100,52,0,111,114,99,104,105,100,0,111,114,99,104,105,100,49,0,111,114,99,104,105,100,50,0,111,114,99,104,105,100,51,0,111,114,99,104,105,100,52,0,112,97,108,101,103,111,108,100,101,110,114,111,100,0,112,97,108,101,103,114,101,101,110,0,112,97,108,101,103,114,101,101,110,49,0,112,97,108,101,103,114,101,101,110,50,0,112,97,108,101,103,114,101,101,110,51,0,112,97,108,101,103,114,101,101,110,52,0,112,97,108,101,116,117,114,113,117,111,105],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+163422);allocate([115,101,0,112,97,108,101,116,117,114,113,117,111,105,115,101,49,0,112,97,108,101,116,117,114,113,117,111,105,115,101,50,0,112,97,108,101,116,117,114,113,117,111,105,115,101,51,0,112,97,108,101,116,117,114,113,117,111,105,115,101,52,0,112,97,108,101,118,105,111,108,101,116,114,101,100,0,112,97,108,101,118,105,111,108,101,116,114,101,100,49,0,112,97,108,101,118,105,111,108,101,116,114,101,100,50,0,112,97,108,101,118,105,111,108,101,116,114,101,100,51,0,112,97,108,101,118,105,111,108,101,116,114,101,100,52,0,112,97,112,97,121,97,119,104,105,112,0,112,101,97,99,104,112,117,102,102,0,112,101,97,99,104,112,117,102,102,49,0,112,101,97,99,104,112,117,102,102,50,0,112,101,97,99,104,112,117,102,102,51,0,112,101,97,99,104,112,117,102,102,52,0,112,101,114,117,0,112,105,110,107,0,112,105,110,107,49,0,112,105,110,107,50,0,112,105,110,107,51,0,112,105,110,107,52,0,112,108,117,109,0,112,108,117,109,49,0,112,108,117,109,50,0,112,108,117,109,51,0,112,108,117,109,52,0,112,111,119,100,101,114,98,108,117,101,0,112,117,114,112,108,101,0,112,117,114,112,108,101,49,0,112,117,114,112,108,101,50,0,112,117,114,112,108,101,51,0,112,117,114,112,108,101,52,0,114,101,100,0,114,101,100,49,0,114,101,100,50,0,114,101,100,51,0,114,101,100,52,0,114,111,115,121,98,114,111,119,110,0,114,111,115,121,98,114,111,119,110,49,0,114,111,115,121,98,114,111,119,110,50,0,114,111,115,121,98,114,111,119,110,51,0,114,111,115,121,98,114,111,119,110,52,0,114,111,121,97,108,98,108,117,101,0,114,111,121,97,108,98,108,117,101,49,0,114,111,121,97,108,98,108,117,101,50,0,114,111,121,97,108,98,108,117,101,51,0,114,111,121,97,108,98,108,117,101,52,0,115,97,100,100,108,101,98,114,111,119,110,0,115,97,108,109,111,110,0,115,97,108,109,111,110,49,0,115,97,108,109,111,110,50,0,115,97,108,109,111,110,51,0,115,97,108,109,111,110,52,0,115,97,110,100,121,98,114,111,119,110,0,115,101,97,103,114,101,101,110,0,115,101,97,103,114,101,101,110,49,0,115,101,97,103,114,101,101,110,50,0,115,101,97,103,114,101,101,110,51,0,115,101,97,103,114,101,101,110,52,0,115,101,97,115,104,101,108,108,0,115,101,97,115,104,101,108,108,49,0,115,101,97,115,104,101,108,108,50,0,115,101,97,115,104,101,108,108,51,0,115,101,97,115,104,101,108,108,52,0,115,105,101,110,110,97,0,115,105,101,110,110,97,49,0,115,105,101,110,110,97,50,0,115,105,101,110,110,97,51,0,115,105,101,110,110,97,52,0,115,107,121,98,108,117,101,0,115,107,121,98,108,117,101,49,0,115,107,121,98,108,117,101,50,0,115,107,121,98,108,117,101,51,0,115,107,121,98,108,117,101,52,0,115,108,97,116,101,98,108,117,101,0,115,108,97,116,101,98,108,117,101,49,0,115,108,97,116,101,98,108,117,101,50,0,115,108,97,116,101,98,108,117,101,51,0,115,108,97,116,101,98,108,117,101,52,0,115,108,97,116,101,103,114,97,121,0,115,108,97,116,101,103,114,97,121,49,0,115,108,97,116,101,103,114,97,121,50,0,115,108,97,116,101,103,114,97,121,51,0,115,108,97,116,101,103,114,97,121,52,0,115,108,97,116,101,103,114,101,121,0,115,110,111,119,0,115,110,111,119,49,0,115,110,111,119,50,0,115,110,111,119,51,0,115,110,111,119,52,0,115,112,114,105,110,103,103,114,101,101,110,0,115,112,114,105,110,103,103,114,101,101,110,49,0,115,112,114,105,110,103,103,114,101,101,110,50,0,115,112,114,105,110,103,103,114,101,101,110,51,0,115,112,114,105,110,103,103,114,101,101,110,52,0,115,116,101,101,108,98,108,117,101,0,115,116,101,101,108,98,108,117,101,49,0,115,116,101,101,108,98,108,117,101,50,0,115,116,101,101,108,98,108,117,101,51,0,115,116,101,101,108,98,108,117,101,52,0,116,97,110,0,116,97,110,49,0,116,97,110,50,0,116,97,110,51,0,116,97,110,52,0,116,104,105,115,116,108,101,0,116,104,105,115,116,108,101,49,0,116,104,105,115,116,108,101,50,0,116,104,105,115,116,108,101,51,0,116,104,105,115,116,108,101,52,0,116,111,109,97,116,111,0,116,111,109,97,116,111,49,0,116,111,109,97,116,111,50,0,116,111,109,97,116,111,51,0,116,111,109,97,116,111,52,0,116,117,114,113,117,111,105,115,101,0,116,117,114,113,117,111,105,115,101,49,0,116,117,114,113,117,111,105,115,101,50,0,116,117,114,113,117,111,105,115,101,51,0,116,117,114,113,117,111,105,115,101,52,0,118,105,111,108,101,116,0,118,105,111,108,101,116,114,101,100,0,118,105,111,108,101,116,114,101,100,49,0,118,105,111,108,101,116,114,101,100,50,0,118,105,111,108,101,116,114,101,100,51,0,118,105,111,108,101,116,114,101,100,52,0,119,104,101,97,116,0,119,104,101,97,116,49,0,119,104,101,97,116,50,0,119,104,101,97,116,51,0,119,104,101,97,116,52,0,119,104,105,116,101,0,119,104,105,116,101,115,109,111,107,101,0,121,101,108,108,111,119,0,121,101,108,108,111,119,49,0,121,101,108,108,111,119,50,0,121,101,108,108,111,119,51,0,121,101,108,108,111,119,52,0,121,101,108,108,111,119,103,114,101,101,110,0,108,97,99,107,0,104,105,116,101,0,105,103,104,116,103,114,101,121,0,88,49,49,47,0,47,37,115,47,37,115,0,105,109,97,103,101,115,99,97,108,101,0,102,97,108,115,101,0,98,108,97,99,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,100,0,65,103,110,111,100,101,105,110,102,111,95,116,0,114,111,119,103,0,99,111,108,103,0,65,103,114,97,112,104,105,110,102,111,95,116,0,100,101,108,120,32,62,61,32,48,0,104,116,109,108,116,97,98,108,101,46,99,0,112,111,115,95,104,116,109,108,95,116,98,108,0,100,101,108,121,32,62,61,32,48,0,116,97,98,108,101,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,99,111,110,116,101,110,116,10,0,102,105,120,101,100,32,116,97,98,108,101,32,115,105,122,101,32,119,105,116,104,32,117,110,115,112,101,99,105,102,105,101,100,32,119,105,100,116,104,32,111,114,32,104,101,105,103,104,116,10,0,99,101,108,108,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,99,111,110,116,101,110,116,10,0,102,105,120,101,100,32,99,101,108,108,32,115,105,122,101,32,119,105,116,104,32,117,110,115,112,101,99,105,102,105,101,100,32,119,105,100,116,104,32,111,114,32,104,101,105,103,104,116,10,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,105,109,97,103,101,32,102,105,108,101,61,34,37,115,34,10,0,112,101,110,99,111,108,111,114,0,45,62,0,65,103,101,100,103,101,105,110,102,111,95,116,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,57,0,49,48,0,49,49,0,49,50,0,49,51,0,49,52,0,49,53,0,49,54,0,49,55,0,49,56,0,49,57,0,50,48,0,100,97,115,104,101,100,0,100,111,116,116,101,100,0,99,112,45,62,115,114,99,0,101,109,105,116,95,104,116,109,108,95,105,109,103,0,99,112,45,62,115,114,99,91,48,93,0,116,114,97,110,115,112,97,114,101,110,116,0,95,37,100,0,102,80,81,46,99,0,80,81,99,104,101,99,107,0,72,101,97,112,32,111,118,101,114,102,108,111,119,10,0,37,33,80,83,45,65,100,111,98,101,45,50,46,48,10,47,110,111,100,101,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,125,32,100,101,102,10,47,99,101,108,108,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,0,115,104,111,119,112,97,103,101,10,0,102,97,105,108,101,100,32,97,116,32,110,111,100,101,32,37,100,91,48,93,10,0,110,112,45,62,99,101,108,108,115,91,48,93,0,109,97,122,101,46,99,0,99,104,107,83,103,114,97,112,104,0,102,97,105,108,101,100,32,97,116,32,110,111,100,101,32,37,100,91,49,93,10,0,110,112,45,62,99,101,108,108,115,91,49,93,0,100,105,116,101,109,115,0,102,105,110,100,83,86,101,114,116,0,37,37,37,37,80,97,103,101,58,32,49,32,49,10,37,37,37,37,80,97,103,101,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,102,32,37,102,32,116,114,97,110,115,108,97,116,101,10,0,48,32,48,32,49,32,115,101,116,114,103,98,99,111,108,111,114,10,0,37,102,32,37,102,32,37,102,32,37,102,32,110,111,100,101,10,0,48,32,48,32,48,32,115,101,116,114,103,98,99,111,108,111,114,10,0,37,102,32,37,102,32,37,102,32,37,102,32,99,101,108,108,10,0,49,32,48,32,48,32,115,101,116,114,103,98,99,111,108,111,114,10,0,117,110,101,120,112,101,99,116,101,100,32,99,97,115,101,32,105,110,32,108,111,99,97,116,101,95,101,110,100,112,111,105,110,116,10,0,48,0,116,114,97,112,101,122,111,105,100,46,99,0,108,111,99,97,116,101,95,101,110,100,112,111,105,110,116,0,97,100,100,95,115,101,103,109,101,110,116,58,32,101,114,114,111,114,10,0,110,101,119,110,111,100,101,58,32,81,117,101,114,121,45,116,97,98,108,101,32,111,118,101,114,102,108,111,119,10,0,110,101,119,110,111,100,101,0,110,101,119,116,114,97,112,58,32,84,114,97,112,101,122,111,105,100,45,116,97,98,108,101,32,111,118,101,114,102,108,111,119,32,37,100,10,0,110,101,119,116,114,97,112,0,105,110,100,101,120,46,99,0,82,84,114,101,101,83,101,97,114,99,104,0,110,45,62,108,101,118,101,108,32,62,61,32,48,0,82,84,114,101,101,73,110,115,101,114,116,0,108,101,118,101,108,32,62,61,32,48,32,38,38,32,108,101,118,101,108,32,60,61,32,40,42,110,41,45,62,108,101,118,101,108,0,114,45,62,98,111,117,110,100,97,114,121,91,105,93,32,60,61,32,114,45,62,98,111,117,110,100,97,114,121,91,78,85,77,68,73,77,83,32,43,32,105,93,0,114,32,38,38,32,110,32,38,38,32,110,101,119,0,82,84,114,101,101,73,110,115,101,114,116,50,0,108,101,118,101,108,32,62,61,32,48,32,38,38,32,108,101,118,101,108,32,60,61,32,110,45,62,108,101,118,101,108,0,70,65,76,83,69,0,110,111,100,101,46,99,0,78,111,100,101,67,111,118,101,114,0,114,32,38,38,32,110,0,80,105,99,107,66,114,97,110,99,104,0,65,100,100,66,114,97,110,99,104,0,105,32,60,32,78,79,68,69,67,65,82,68,0,110,101,119,0,110,32,38,38,32,105,32,62,61,32,48,32,38,38,32,105,32,60,32,78,79,68,69,67,65,82,68,0,68,105,115,99,111,110,66,114,97,110,99,104,0,114,0,114,101,99,116,97,110,103,108,101,46,99,0,82,101,99,116,65,114,101,97,0,108,97,98,101,108,58,32,97,114,101,97,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,114,116,114,101,101,10,0,114,32,38,38,32,114,114,0,67,111,109,98,105,110,101,82,101,99,116,0,114,32,38,38,32,115,0,79,118,101,114,108,97,112,0,110,0,115,112,108,105,116,46,113,46,99,0,83,112,108,105,116,78,111,100,101,0,98,0,110,45,62,99,111,117,110,116,32,43,32,40,42,110,110,41,45,62,99,111,117,110,116,32,61,61,32,78,79,68,69,67,65,82,68,32,43,32,49,0,76,111,97,100,78,111,100,101,115,0,113,0,112,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,112,97,114,116,105,116,105,111,110,91,105,93,32,61,61,32,48,32,124,124,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,112,97,114,116,105,116,105,111,110,91,105,93,32,61,61,32,49,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,48,93,32,43,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,49,93,32,61,61,32,78,79,68,69,67,65,82,68,32,43,32,49,0,77,101,116,104,111,100,90,101,114,111,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,48,93,32,62,61,32,114,116,112,45,62,77,105,110,70,105,108,108,32,38,38,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,49,93,32,62,61,32,114,116,112,45,62,77,105,110,70,105,108,108,0,33,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,116,97,107,101,110,91,105,93,0,67,108,97,115,115,105,102,121,0,71,101,116,66,114,97,110,99,104,101,115,0,110,45,62,98,114,97,110,99,104,91,105,93,46,99,104,105,108,100,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,2,2,2,2,2,2,16,12,89,1,0,31,80,8,3,7,18,19,20,87,22,23,8,11,105,12,31,10,5,12,14,41,17,43,15,45,16,47,48,32,50,6,52,53,27,28,29,30,11,12,33,34,35,36,37,38,39,40,12,24,25,23,4,10,27,28,26,32,42,10,33,34,35,36,37,38,39,40,12,10,14,83,10,44,88,49,88,88,88,88,88,88,12,27,28,15,46,88,51,33,34,35,36,37,38,39,40,27,28,255,83,255,255,33,34,35,36,37,38,39,40,12,255,255,5,255,255,255,9,20,255,255,255,255,255,12,27,28,255,16,21,22,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,12,255,18,19,20,17,22,23,255,255,255,255,255,255,12,27,28,255,255,255,18,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,12,255,255,255,255,255,255,19,255,255,255,255,255,255,12,27,28,255,255,255,255,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,18,19,20,21,22,23,24,25,255,255,255,255,255,255,255,255,255,35,36,37,38,39,27,18,19,20,22,23,34,54,104,1,31,56,86,33,32,2,27,27,27,94,27,27,55,57,112,54,210,194,79,4,60,34,71,34,63,34,68,34,34,88,34,101,34,34,5,6,95,96,57,4,7,8,9,10,11,12,13,14,4,102,103,93,106,109,5,6,111,88,59,113,7,8,9,10,11,12,13,14,4,114,60,91,115,62,97,70,27,18,19,20,22,23,4,5,6,63,65,98,73,7,8,9,10,11,12,13,14,5,6,0,92,0,0,7,8,9,10,11,12,13,14,4,0,0,79,0,0,0,83,66,0,0,0,0,0,4,5,6,0,68,84,85,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,4,0,42,44,46,71,49,51,0,0,0,0,0,0,4,5,6,0,0,0,74,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,4,0,0,0,0,0,0,76,0,0,0,0,0,0,4,5,6,0,0,0,0,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,41,43,45,47,48,50,52,53,0,0,0,0,0,0,0,0,0,41,43,45,48,50,0,4,47,0,36,35,0,18,20,22,26,28,30,32,24,0,5,7,47,47,47,0,47,47,0,0,9,8,40,0,0,1,34,2,6,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,37,3,38,19,10,41,21,11,42,23,14,45,25,17,27,12,43,29,13,44,31,15,33,16,0,51,0,48,0,47,67,0,49,0,47,0,53,46,39,66,50,65,0,58,56,0,60,52,69,0,54,0,64,0,0,63,0,68,55,59,57,61,0,2,3,3,1,1,2,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,0,6,1,3,3,3,3,3,1,0,1,2,3,0,4,1,2,3,0,4,0,4,0,4,0,3,2,1,2,1,2,1,83,121,110,116,97,120,32,101,114,114,111,114,58,32,110,111,110,45,115,112,97,99,101,32,115,116,114,105,110,103,32,117,115,101,100,32,98,101,102,111,114,101,32,60,84,65,66,76,69,62,0,83,121,110,116,97,120,32,101,114,114,111,114,58,32,110,111,110,45,115,112,97,99,101,32,115,116,114,105,110,103,32,117,115,101,100,32,97,102,116,101,114,32,60,47,84,65,66,76,69,62,0,0,41,42,42,42,43,44,44,45,45,45,45,45,45,45,45,45,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,62,63,63,65,64,66,66,66,66,66,66,67,67,68,68,68,70,69,71,71,71,73,72,74,72,75,72,76,72,77,77,78,78,79,79,255,3,15,16,17,35,58,36,61,37,64,21,67,38,69,39,72,24,75,25,77,26,40,28,78,29,30,80,81,82,89,90,108,107,110,99,100,87,105,69,114,114,111,114,58,32,100,105,115,99,97,114,100,105,110,103,0,0,1,7,42,12,27,28,33,34,35,36,37,38,39,40,43,44,45,46,48,50,52,54,56,58,60,62,63,64,66,67,0,3,8,45,46,48,50,54,56,63,44,64,44,64,44,64,44,44,64,44,64,44,44,12,8,31,11,47,47,14,49,49,15,51,51,20,53,16,55,55,17,57,57,18,59,19,61,65,5,68,69,70,9,21,22,69,78,32,71,72,63,67,23,69,29,30,43,66,76,77,6,24,25,72,79,4,74,73,10,75,26,72,10,10,10,69,114,114,111,114,58,32,112,111,112,112,105,110,103,0,109,101,109,111,114,121,32,101,120,104,97,117,115,116,101,100,0,67,108,101,97,110,117,112,58,32,100,105,115,99,97,114,100,105,110,103,32,108,111,111,107,97,104,101,97,100,0,67,108,101,97,110,117,112,58,32,112,111,112,112,105,110,103,0,68,101,108,101,116,105,110,103,0,0,37,115,32,105,110,32,108,105,110,101,32,37,100,32,10,0,45,45,0,76,97,98,101,108,32,99,108,111,115,101,100,32,98,101,102,111,114,101,32,101,110,100,32,111,102,32,72,84,77,76,32,101,108,101,109,101,110,116,10,0,85,110,99,108,111,115,101,100,32,99,111,109,109,101,110,116,10,0,60,47,72,84,77,76,62,0,60,72,84,77,76,62,0,84,65,66,76,69,0,84,82,0,84,72,0,84,68,0,72,84,77,76,0,70,79,78,84,0,66,0,85,0,79,0,73,0,83,85,80,0,83,85,66,0,83,0,66,82,0,72,82,0,86,82,0,73,77,71,0,85,110,107,110,111,119,110,32,72,84,77,76,32,101,108,101,109,101,110,116,32,60,37,115,62,32,111,110,32,108,105,110,101,32,37,100,32,10,0,60,73,77,71,62,0,73,108,108,101,103,97,108,32,97,116,116,114,105,98,117,116,101,32,37,115,32,105,110,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,115,99,97,108,101,0,115,114,99,0,60,66,82,62,0,97,108,105,103,110,0,73,71,72,84,0,69,70,84,0,69,78,84,69,82,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,65,76,73,71,78,32,45,32,105,103,110,111,114,101,100,10,0,60,70,79,78,84,62,0,99,111,108,111,114,0,102,97,99,101,0,112,111,105,110,116,45,115,105,122,101,0,80,79,73,78,84,45,83,73,90,69,0,73,109,112,114,111,112,101,114,32,37,115,32,118,97,108,117,101,32,37,115,32,45,32,105,103,110,111,114,101,100,0,37,115,32,118,97,108,117,101,32,37,115,32,62,32,37,100,32,45,32,116,111,111,32,108,97,114,103,101,32,45,32,105,103,110,111,114,101,100,0,37,115,32,118,97,108,117,101,32,37,115,32,60,32,37,100,32,45,32,116,111,111,32,115,109,97,108,108,32,45,32,105,103,110,111,114,101,100,0,60,84,68,62,0,98,97,108,105,103,110,0,98,103,99,111,108,111,114,0,98,111,114,100,101,114,0,99,101,108,108,112,97,100,100,105,110,103,0,99,101,108,108,115,112,97,99,105,110,103,0,99,111,108,115,112,97,110,0,102,105,120,101,100,115,105,122,101,0,103,114,97,100,105,101,110,116,97,110,103,108,101,0,104,101,105,103,104,116,0,104,114,101,102,0,105,100,0,112,111,114,116,0,114,111,119,115,112,97,110,0,115,105,100,101,115,0,115,116,121,108,101,0,116,97,114,103,101,116,0,116,105,116,108,101,0,116,111,111,108,116,105,112,0,118,97,108,105,103,110,0,119,105,100,116,104,0,87,73,68,84,72,0,79,84,84,79,77,0,79,80,0,73,68,68,76,69,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,86,65,76,73,71,78,32,45,32,105,103,110,111,114,101,100,10,0,32,44,0,79,85,78,68,69,68,0,65,68,73,65,76,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,83,84,89,76,69,32,45,32,105,103,110,111,114,101,100,10,0,83,79,76,73,68,0,73,78,86,73,83,73,66,76,69,0,73,78,86,73,83,0,68,79,84,84,69,68,0,68,65,83,72,69,68,0,85,110,114,101,99,111,103,110,105,122,101,100,32,99,104,97,114,97,99,116,101,114,32,39,37,99,39,32,40,37,100,41,32,105,110,32,115,105,100,101,115,32,97,116,116,114,105,98,117,116,101,10,0,82,79,87,83,80,65,78,0,82,79,87,83,80,65,78,32,118,97,108,117,101,32,99,97,110,110,111,116,32,98,101,32,48,32,45,32,105,103,110,111,114,101,100,10,0,72,69,73,71,72,84,0,71,82,65,68,73,69,78,84,65,78,71,76,69,0,82,85,69,0,65,76,83,69,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,70,73,88,69,68,83,73,90,69,32,45,32,105,103,110,111,114,101,100,10,0,67,79,76,83,80,65,78,0,67,79,76,83,80,65,78,32,118,97,108,117,101,32,99,97,110,110,111,116,32,98,101,32,48,32,45,32,105,103,110,111,114,101,100,10,0,67,69,76,76,83,80,65,67,73,78,71,0,67,69,76,76,80,65,68,68,73,78,71,0,66,79,82,68,69,82,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,66,65,76,73,71,78,32,105,110,32,84,68,32,45,32,105,103,110,111,114,101,100,10,0,69,88,84,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,65,76,73,71,78,32,105,110,32,84,68,32,45,32,105,103,110,111,114,101,100,10,0,60,84,65,66,76,69,62,0,99,101,108,108,98,111,114,100,101,114,0,99,111,108,117,109,110,115,0,114,111,119,115,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,82,79,87,83,32,45,32,105,103,110,111,114,101,100,10,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,67,79,76,85,77,78,83,32,45,32,105,103,110,111,114,101,100,10,0,67,69,76,76,83,66,79,82,68,69,82,0,46,46,46,32,37,115,32,46,46,46,10,0,106,32,61,61,32,48,0,99,118,116,46,99,0,80,111,98,115,112,97,116,104,0,114,111,117,116,101,46,99,0,108,105,98,112,97,116,104,47,37,115,58,37,100,58,32,37,115,10,0,115,104,111,114,116,101,115,116,46,99,0,115,111,117,114,99,101,32,112,111,105,110,116,32,110,111,116,32,105,110,32,97,110,121,32,116,114,105,97,110,103,108,101,0,100,101,115,116,105,110,97,116,105,111,110,32,112,111,105,110,116,32,110,111,116,32,105,110,32,97,110,121,32,116,114,105,97,110,103,108,101,0,99,97,110,110,111,116,32,102,105,110,100,32,116,114,105,97,110,103,108,101,32,112,97,116,104,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,111,112,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,111,112,115,0,116,114,105,97,110,103,117,108,97,116,105,111,110,32,102,97,105,108,101,100,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,116,114,105,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,116,114,105,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,100,113,46,112,110,108,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,100,113,46,112,110,108,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,112,110,108,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,112,110,108,112,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,112,110,108,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,112,110,108,112,115,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,115,121,110,116,97,120,32,101,114,114,111,114,0,110,111,32,101,108,101,109,101,110,116,32,102,111,117,110,100,0,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,32,40,105,110,118,97,108,105,100,32,116,111,107,101,110,41,0,117,110,99,108,111,115,101,100,32,116,111,107,101,110,0,112,97,114,116,105,97,108,32,99,104,97,114,97,99,116,101,114,0,109,105,115,109,97,116,99,104,101,100,32,116,97,103,0,100,117,112,108,105,99,97,116,101,32,97,116,116,114,105,98,117,116,101,0,106,117,110,107,32,97,102,116,101,114,32,100,111,99,117,109,101,110,116,32,101,108,101,109,101,110,116,0,105,108,108,101,103,97,108,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,117,110,100,101,102,105,110,101,100,32,101,110,116,105,116,121,0,114,101,99,117,114,115,105,118,101,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,97,115,121,110,99,104,114,111,110,111,117,115,32,101,110,116,105,116,121,0,114,101,102,101,114,101,110,99,101,32,116,111,32,105,110,118,97,108,105,100,32,99,104,97,114,97,99,116,101,114,32,110,117,109,98,101,114,0,114,101,102,101,114,101,110,99,101,32,116,111,32,98,105,110,97,114,121,32,101,110,116,105,116,121,0,114,101,102,101,114,101,110,99,101,32,116,111,32,101,120,116,101,114,110,97,108,32,101,110,116,105,116,121,32,105,110,32,97,116,116,114,105,98,117,116,101,0,88,77,76,32,111,114,32,116,101,120,116,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,97,116,32,115,116,97,114,116,32,111,102,32,101,110,116,105,116,121,0,117,110,107,110,111,119,110,32,101,110,99,111,100,105,110,103,0,101,110,99,111,100,105,110,103,32,115,112,101,99,105,102,105,101,100,32,105,110,32,88,77,76,32,100,101,99,108,97,114,97,116,105,111,110,32,105,115,32,105,110,99,111,114,114,101,99,116,0,117,110,99,108,111,115,101,100,32,67,68,65,84,65,32,115,101,99,116,105,111,110,0,101,114,114,111,114,32,105,110,32,112,114,111,99,101,115,115,105,110,103,32,101,120,116,101,114,110,97,108,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,100,111,99,117,109,101,110,116,32,105,115,32,110,111,116,32,115,116,97,110,100,97,108,111,110,101,0,117,110,101,120,112,101,99,116,101,100,32,112,97,114,115,101,114,32,115,116,97,116,101,32,45,32,112,108,101,97,115,101,32,115,101,110,100,32,97,32,98,117,103,32,114,101,112,111,114,116,0,101,110,116,105,116,121,32,100,101,99,108,97,114,101,100,32,105,110,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,114,101,113,117,101,115,116,101,100,32,102,101,97,116,117,114,101,32,114,101,113,117,105,114,101,115,32,88,77,76,95,68,84,68,32,115,117,112,112,111,114,116,32,105,110,32,69,120,112,97,116,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,115,101,116,116,105,110,103,32,111,110,99,101,32,112,97,114,115,105,110,103,32,104,97,115,32,98,101,103,117,110,0,117,110,98,111,117,110,100,32,112,114,101,102,105,120,0,109,117,115,116,32,110,111,116,32,117,110,100,101,99,108,97,114,101,32,112,114,101,102,105,120,0,105,110,99,111,109,112,108,101,116,101,32,109,97,114,107,117,112,32,105,110,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,88,77,76,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,0,116,101,120,116,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,0,105,108,108,101,103,97,108,32,99,104,97,114,97,99,116,101,114,40,115,41,32,105,110,32,112,117,98,108,105,99,32,105,100,0,112,97,114,115,101,114,32,115,117,115,112,101,110,100,101,100,0,112,97,114,115,101,114,32,110,111,116,32,115,117,115,112,101,110,100,101,100,0,112,97,114,115,105,110,103,32,97,98,111,114,116,101,100,0,112,97,114,115,105,110,103,32,102,105,110,105,115,104,101,100,0,99,97,110,110,111,116,32,115,117,115,112,101,110,100,32,105,110,32,101,120,116,101,114,110,97,108,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,114,101,115,101,114,118,101,100,32,112,114,101,102,105,120,32,40,120,109,108,41,32,109,117,115,116,32,110,111,116,32,98,101,32,117,110,100,101,99,108,97,114,101,100,32,111,114,32,98,111,117,110,100,32,116,111,32,97,110,111,116,104,101,114,32,110,97,109,101,115,112,97,99,101,32,110,97,109,101,0,114,101,115,101,114,118,101,100,32,112,114,101,102,105,120,32,40,120,109,108,110,115,41,32,109,117,115,116,32,110,111,116,32,98,101,32,100,101,99,108,97,114,101,100,32,111,114,32,117,110,100,101,99,108,97,114,101,100,0,112,114,101,102,105,120,32,109,117,115,116,32,110,111,116,32,98,101,32,98,111,117,110,100,32,116,111,32,111,110,101,32,111,102,32,116,104,101,32,114,101,115,101,114,118,101,100,32,110,97,109,101,115,112,97,99,101,32,110,97,109,101,115,0,120,109,108,61,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,88,77,76,47,49,57,57,56,47,110,97,109,101,115,112,97,99,101,0,67,68,65,84,65,0,73,68,0,73,68,82,69,70,0,73,68,82,69,70,83,0,69,78,84,73,84,89,0,69,78,84,73,84,73,69,83,0,78,77,84,79,75,69,78,0,78,77,84,79,75,69,78,83,0,124,0,78,79,84,65,84,73,79,78,40,0,40,0,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,88,77,76,47,49,57,57,56,47,110,97,109,101,115,112,97,99,101,0,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,50,48,48,48,47,120,109,108,110,115,47,0,2,3,4,5,6,7,8,0,0,9,10,11,12,13,14,15,16,17,0,0,0,0,0,0,0,0,0,0,0,0,18,19,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,23,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,3,26,27,28,29,30,0,0,31,32,33,34,35,36,37,16,17,0,0,0,0,0,0,0,0,0,0,0,0,18,19,38,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,23,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,84,70,45,49,54,0,67,68,65,84,65,91,67,68,65,84,65,91,67,68,65,84,65,91,118,101,114,115,105,111,110,0,101,110,99,111,100,105,110,103,0,115,116,97,110,100,97,108,111,110,101,0,85,83,45,65,83,67,73,73,0,85,84,70,45,49,54,66,69,0,85,84,70,45,49,54,76,69,0,69,78,84,73,84,89,0,65,84,84,76,73,83,84,0,69,76,69,77,69,78,84,0,78,79,84,65,84,73,79,78,0,83,89,83,84,69,77,0,80,85,66,76,73,67,0,69,77,80,84,89,0,65,78,89,0,80,67,68,65,84,65,0,73,77,80,76,73,69,68,0,82,69,81,85,73,82,69,68,0,70,73,88,69,68,0,67,68,65,84,65,0,73,68,0,73,68,82,69,70,0,73,68,82,69,70,83,0,69,78,84,73,84,73,69,83,0,78,77,84,79,75,69,78,0,78,77,84,79,75,69,78,83,0,78,68,65,84,65,0,73,78,67,76,85,68,69,0,73,71,78,79,82,69,0,68,79,67,84,89,80,69,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+173662);allocate([132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,31,0,255,255,255,255,255,127,0,0,248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,97,108,110,117,109,0,97,108,112,104,97,0,98,108,97,110,107,0,99,110,116,114,108,0,100,105,103,105,116,0,103,114,97,112,104,0,108,111,119,101,114,0,112,114,105,110,116,0,112,117,110,99,116,0,115,112,97,99,101,0,117,112,112,101,114,0,120,100,105,103,105,116,0,18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,255,0,255,255,255,33,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,175,66,0,12,31,188,255,255,0,0,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,252,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,255,15,30,255,255,255,1,252,193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,8,0,0,0,8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,255,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,191,255,255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0,67,46,85,84,70,45,56,0,114,119,97,0,119,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,116,109,112,0,47,116,109,112,47,116,37,120,45,37,120],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+183909);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,9,0,10,0,13,0,12,0,7,0,27,0,91,91,58,97,108,110,117,109,58,93,95,93,0,91,94,91,58,97,108,110,117,109,58,93,95,93,0,91,91,58,115,112,97,99,101,58,93,93,0,91,94,91,58,115,112,97,99,101,58,93,93,0,91,91,58,100,105,103,105,116,58,93,93,0,91,94,91,58,100,105,103,105,116,58,93,93,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+192928);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;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;else Module.printErr("failed to set errno from JS");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=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;i0){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;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=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;i0||position+lengthe2.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 errored=false;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&=~32768;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 nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=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})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);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,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;i40){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>>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((flags&2097155)!==0||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}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(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)}),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){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;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(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(!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)this.stack=demangleAll(this.stack)};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=""}))}),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;ithis.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 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]}));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.defineProperty(lazyArray,"length",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})});Object.defineProperty(lazyArray,"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.defineProperty(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>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.buffer,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);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),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>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>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 ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_malloc(len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}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}}var _emscripten_check_longjmp=true;var _emscripten_cleanup_setjmp=true;var _emscripten_postinvoke=true;function _realloc(){throw"bad"}Module["_realloc"]=_realloc;Module["_saveSetjmp"]=_saveSetjmp;var _environ=allocate(1,"i32*",ALLOC_STATIC);var ___environ=_environ;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";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);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>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{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)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;var _emscripten_prep_setjmp=true;function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}Module["_testSetjmp"]=_testSetjmp;function _longjmp(env,value){asm["setThrew"](env,value||1);throw"longjmp"}function _emscripten_longjmp(env,value){_longjmp(env,value)}var _ceil=Math_ceil;function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;var _llvm_pow_f64=Math_pow;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var _emscripten_preinvoke=true;var _BItoD=true;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var _BDtoILow=true;Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}var _tan=Math_tan;function ___lock(){}function ___unlock(){}var _asin=Math_asin;var _atanf=Math_atan;var _fabs=Math_abs;var _floor=Math_floor;var _sqrt=Math_sqrt;var _abs=Math_abs;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){console.error("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.");return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};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(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["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 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();setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}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((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId0)_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=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);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===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&&canvas.requestPointerLock){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}canvas.style.backgroundColor="black"}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["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.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);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);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),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;assert(typeof scrollX!=="undefined"&&typeof scrollY!=="undefined","Unable to retrieve scroll position, mouse positions likely broken.");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}}),xhrLoad:(function(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)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),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+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>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>2]=ret}return ret}function _pthread_self(){return 0}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;assert(offset_high===0);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 ___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 ___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 ___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}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__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()}___buildEnvironment(ENV);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)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=Nz()|0;c[e>>2]=pC(c[b>>2]|0)|0;while(1){a=c[d>>2]|0;if(!(c[e>>2]|0))break;Pz(a,c[e>>2]|0);c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}i=f;return a|0}function Mz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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=i;i=i+80|0;if((i|0)>=(j|0))ba();e=z+72|0;f=z+68|0;g=z+64|0;u=z+60|0;v=z+56|0;k=z+52|0;m=z+48|0;n=z+44|0;s=z+40|0;t=z+36|0;p=z+32|0;h=z+28|0;o=z+24|0;w=z+20|0;x=z+16|0;l=z+12|0;r=z+8|0;q=z+4|0;y=z;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[o>>2]=0;c[w>>2]=0;c[l>>2]=0;c[x>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2];c[u>>2]=rK(c[x>>2]<<2)|0;c[v>>2]=rK(c[x>>2]<<2)|0;c[k>>2]=hB(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;d=c[k>>2]|0;c[s>>2]=c[((c[c[k>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2];if((c[s>>2]|0)==(c[f>>2]|0)){d=c[k>>2]|0;c[s>>2]=c[((c[c[k>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]}c[p>>2]=0;c[m>>2]=hB(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;if((c[m>>2]|0)!=(c[k>>2]|0)){d=c[m>>2]|0;c[t>>2]=c[((c[c[m>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2];if((c[t>>2]|0)==(c[f>>2]|0)){d=c[m>>2]|0;c[t>>2]=c[((c[c[m>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]}c[n>>2]=jB(c[e>>2]|0,c[s>>2]|0,c[t>>2]|0,0,0)|0;if(((c[n>>2]|0)!=0?(c[p>>2]=1,(c[s>>2]|0)>>>0<(c[t>>2]|0)>>>0):0)?(c[l>>2]=(c[l>>2]|0)+1,(c[(c[(c[n>>2]|0)+8>>2]|0)+116>>2]|0)!=0):0){FC(c[g>>2]|0,c[(c[(c[n>>2]|0)+8>>2]|0)+116>>2]|0)|0;c[(c[(c[n>>2]|0)+8>>2]|0)+116>>2]=0}}c[m>>2]=iB(c[e>>2]|0,c[m>>2]|0,c[f>>2]|0)|0}a=c[s>>2]|0;if(c[p>>2]|0){c[(c[u>>2]|0)+(c[o>>2]<<2)>>2]=a;c[o>>2]=(c[o>>2]|0)+1}else{c[(c[v>>2]|0)+(c[w>>2]<<2)>>2]=a;c[w>>2]=(c[w>>2]|0)+1}c[k>>2]=iB(c[e>>2]|0,c[k>>2]|0,c[f>>2]|0)|0}c[h>>2]=(c[x>>2]|0)-1-(c[l>>2]|0);if((c[h>>2]|0)<=0){y=c[v>>2]|0;B1(y);y=c[u>>2]|0;B1(y);i=z;return}if((c[h>>2]|0)>=(c[w>>2]|0)){if((c[h>>2]|0)!=(c[w>>2]|0)){y=c[v>>2]|0;B1(y);y=c[u>>2]|0;B1(y);i=z;return}c[y>>2]=c[c[u>>2]>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[w>>2]|0))break;c[q>>2]=c[(c[v>>2]|0)+(c[r>>2]<<2)>>2];aD(jB(c[e>>2]|0,c[y>>2]|0,c[q>>2]|0,0,1)|0,175399,176,1)|0;x=(c[(c[y>>2]|0)+8>>2]|0)+236|0;c[x>>2]=(c[x>>2]|0)+1;x=(c[(c[q>>2]|0)+8>>2]|0)+236|0;c[x>>2]=(c[x>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}y=c[v>>2]|0;B1(y);y=c[u>>2]|0;B1(y);i=z;return}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[w>>2]|0))break;if(((c[r>>2]|0)+1|0)>=(c[w>>2]|0))break;c[y>>2]=c[(c[v>>2]|0)+(c[r>>2]<<2)>>2];c[q>>2]=c[(c[v>>2]|0)+((c[r>>2]|0)+1<<2)>>2];aD(jB(c[e>>2]|0,c[y>>2]|0,c[q>>2]|0,0,1)|0,175399,176,1)|0;x=(c[(c[y>>2]|0)+8>>2]|0)+236|0;c[x>>2]=(c[x>>2]|0)+1;x=(c[(c[q>>2]|0)+8>>2]|0)+236|0;c[x>>2]=(c[x>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+-1;c[r>>2]=(c[r>>2]|0)+2}c[r>>2]=2;while(1){if((c[h>>2]|0)<=0)break;c[y>>2]=c[c[v>>2]>>2];c[q>>2]=c[(c[v>>2]|0)+(c[r>>2]<<2)>>2];aD(jB(c[e>>2]|0,c[y>>2]|0,c[q>>2]|0,0,1)|0,175399,176,1)|0;x=(c[(c[y>>2]|0)+8>>2]|0)+236|0;c[x>>2]=(c[x>>2]|0)+1;x=(c[(c[q>>2]|0)+8>>2]|0)+236|0;c[x>>2]=(c[x>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+-1}y=c[v>>2]|0;B1(y);y=c[u>>2]|0;B1(y);i=z;return}function Nz(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=a;c[b>>2]=eA(51868,c[12989]|0)|0;i=a;return c[b>>2]|0}function Oz(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aA(c[d>>2]|0)|0;i=b;return}function Pz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();h=d+28|0;f=d+24|0;g=d+8|0;e=d;c[h>>2]=a;c[f>>2]=b;c[g+8>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2];c[e>>2]=$b[c[c[h>>2]>>2]&63](c[h>>2]|0,g,1)|0;c[(c[(c[f>>2]|0)+8>>2]|0)+164>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return}function Qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+48|0;if((i|0)>=(j|0))ba();e=k+36|0;f=k+32|0;l=k+16|0;d=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[l+8>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2];c[d>>2]=$b[c[c[e>>2]>>2]&63](c[e>>2]|0,l,4)|0;if(!(c[d>>2]|0))db(133949,133952,107,133962);if((c[(c[d>>2]|0)+12>>2]|0)==(c[f>>2]|0)){c[(c[d>>2]|0)+12>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+164>>2];if(c[(c[d>>2]|0)+12>>2]|0){i=k;return}$b[c[c[e>>2]>>2]&63](c[e>>2]|0,c[d>>2]|0,2)|0;i=k;return}c[h>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+164>>2];while(1){if(c[g>>2]|0)e=(c[g>>2]|0)!=(c[f>>2]|0);else e=0;d=c[g>>2]|0;if(!e)break;c[h>>2]=d;c[g>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+164>>2]}if(!d){i=k;return}c[(c[(c[h>>2]|0)+8>>2]|0)+164>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+164>>2];i=k;return}function Rz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=$b[c[c[d>>2]>>2]&63](c[d>>2]|0,0,128)|0;if(!(c[e>>2]|0)){c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+164>>2];if(!(c[(c[e>>2]|0)+12>>2]|0))$b[c[c[d>>2]>>2]&63](c[d>>2]|0,c[e>>2]|0,2)|0;c[b>>2]=c[f>>2];f=c[b>>2]|0;i=g;return f|0}function Sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;f=e;c[e+12>>2]=a;c[g>>2]=b;c[e+4>>2]=d;c[f>>2]=rK(16)|0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];i=e;return c[f>>2]|0}function Tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;B1(c[f>>2]|0);i=e;return}function Uz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+16|0;g=k+8|0;h=k+4|0;c[k+12>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;do if((c[c[g>>2]>>2]|0)>=(c[c[h>>2]>>2]|0))if((c[c[g>>2]>>2]|0)>(c[c[h>>2]>>2]|0)){c[f>>2]=1;break}else{c[f>>2]=0;break}else c[f>>2]=-1;while(0);i=k;return c[f>>2]|0}function Vz(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=a;c[b>>2]=eA(51904,c[12989]|0)|0;i=a;return c[b>>2]|0}function Wz(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aA(c[d>>2]|0)|0;i=b;return}function Xz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d+16|0;g=d+12|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e+8>>2]=c[g>>2];$b[c[c[f>>2]>>2]&63](c[f>>2]|0,e,1)|0;i=d;return}function Yz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d+16|0;g=d+12|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e+8>>2]=c[g>>2];$b[c[c[f>>2]>>2]&63](c[f>>2]|0,e,2)|0;i=d;return}function Zz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;f=e;c[e+12>>2]=a;c[g>>2]=b;c[e+4>>2]=d;c[f>>2]=rK(12)|0;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];i=e;return c[f>>2]|0}function _z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;B1(c[f>>2]|0);i=e;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,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+16|0;g=k+8|0;h=k+4|0;c[k+12>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;do if((c[c[g>>2]>>2]|0)>>>0<=(c[c[h>>2]>>2]|0)>>>0)if((c[c[g>>2]>>2]|0)>>>0<(c[c[h>>2]>>2]|0)>>>0){c[f>>2]=-1;break}else{c[f>>2]=0;break}else c[f>>2]=1;while(0);i=k;return c[f>>2]|0}function aA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+24>>2]|0)<=0:0){c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[e>>2]|0)+32>>2]|0)!=0?(a=kc[c[(c[e>>2]|0)+32>>2]&127](c[d>>2]|0,2,0,c[e>>2]|0)|0,c[f>>2]=a,(a|0)<0):0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}if(c[(c[d>>2]|0)+28>>2]|0)jA(c[d>>2]|0,0)|0;if(!(c[f>>2]|0)){$b[c[c[(c[d>>2]|0)+16>>2]>>2]&63](c[d>>2]|0,0,64)|0;if((gA(c[d>>2]|0)|0)>0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}if((c[(c[(c[d>>2]|0)+8>>2]|0)+12>>2]|0)>0)kc[c[(c[d>>2]|0)+12>>2]&127](c[d>>2]|0,c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]|0,0,c[e>>2]|0)|0;kc[c[(c[d>>2]|0)+12>>2]&127](c[d>>2]|0,c[(c[d>>2]|0)+8>>2]|0,0,c[e>>2]|0)|0}if(c[(c[d>>2]|0)+20>>2]|0){if((c[f>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==1:0)kc[c[(c[d>>2]|0)+12>>2]&127](c[d>>2]|0,c[d>>2]|0,0,c[e>>2]|0)|0}else B1(c[d>>2]|0);if(c[(c[e>>2]|0)+32>>2]|0)kc[c[(c[e>>2]|0)+32>>2]&127](c[d>>2]|0,6,0,c[e>>2]|0)|0;c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}function bA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;b=c[(c[d>>2]|0)+8>>2]|0;a:do if(c[c[(c[d>>2]|0)+8>>2]>>2]&12)c[f>>2]=c[b+4>>2];else{a=c[d>>2]|0;if(!(c[b>>2]&3)){c[f>>2]=c[(c[a+8>>2]|0)+8>>2];c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]=0;break}c[f>>2]=cA(a)|0;b=c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]|0;c[g>>2]=b;c[e>>2]=b+(c[(c[(c[d>>2]|0)+8>>2]|0)+12>>2]<<2);while(1){if((c[g>>2]|0)>>>0>=(c[e>>2]|0)>>>0)break a;c[c[g>>2]>>2]=0;c[g>>2]=(c[g>>2]|0)+4}}while(0);g=c[(c[d>>2]|0)+8>>2]|0;c[g>>2]=c[g>>2]&-4097;c[(c[(c[d>>2]|0)+8>>2]|0)+16>>2]=0;c[(c[(c[d>>2]|0)+8>>2]|0)+4>>2]=0;i=h;return c[f>>2]|0}function cA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();g=n+28|0;h=n+24|0;m=n+20|0;d=n+16|0;l=n+12|0;k=n+8|0;f=n+4|0;e=n;c[h>>2]=a;if(c[c[(c[h>>2]|0)+8>>2]>>2]&4096){c[g>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2];m=c[g>>2]|0;i=n;return m|0}c[k>>2]=0;c[l>>2]=0;b=c[(c[h>>2]|0)+8>>2]|0;a:do if(!(c[c[(c[h>>2]|0)+8>>2]>>2]&3)){a=c[(c[h>>2]|0)+8>>2]|0;if(c[b>>2]&112){c[l>>2]=c[a+8>>2];break}f=c[a+4>>2]|0;c[d>>2]=f;if(f){while(1){f=c[(c[d>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[(c[d>>2]|0)+4>>2]=c[c[m>>2]>>2];c[c[m>>2]>>2]=c[d>>2];c[d>>2]=c[m>>2]}f=c[d>>2]|0;c[k>>2]=f;c[l>>2]=f;c[d>>2]=c[c[d>>2]>>2];while(1){if(!(c[d>>2]|0))break a;f=c[(c[d>>2]|0)+4>>2]|0;c[m>>2]=f;if(f){do{c[(c[d>>2]|0)+4>>2]=c[c[m>>2]>>2];c[c[m>>2]>>2]=c[d>>2];c[d>>2]=c[m>>2];f=c[(c[d>>2]|0)+4>>2]|0;c[m>>2]=f}while((f|0)!=0);c[c[k>>2]>>2]=c[d>>2]}c[k>>2]=c[d>>2];c[d>>2]=c[c[d>>2]>>2]}}}else{d=c[b+8>>2]|0;c[f>>2]=d;c[e>>2]=d+(c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2]<<2);while(1){if((c[f>>2]|0)>>>0>=(c[e>>2]|0)>>>0)break a;d=c[c[f>>2]>>2]|0;c[m>>2]=d;if(d){a=c[m>>2]|0;if(c[k>>2]|0)c[c[k>>2]>>2]=a;else{c[k>>2]=a;c[l>>2]=a}while(1){a=c[k>>2]|0;if(!(c[c[k>>2]>>2]|0))break;c[k>>2]=c[a>>2]}c[c[f>>2]>>2]=a}c[f>>2]=(c[f>>2]|0)+4}}while(0);c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]=c[l>>2];m=c[(c[h>>2]|0)+8>>2]|0;c[m>>2]=c[m>>2]|4096;c[g>>2]=c[l>>2];m=c[g>>2]|0;i=n;return m|0}function dA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;if((i|0)>=(j|0))ba();t=u+48|0;q=u+44|0;m=u+40|0;n=u+36|0;s=u+32|0;l=u+28|0;k=u+24|0;f=u+20|0;p=u+16|0;r=u+12|0;o=u+8|0;h=u+4|0;g=u;c[q>>2]=a;c[m>>2]=b;c[n>>2]=d;if(c[c[(c[q>>2]|0)+8>>2]>>2]&4096)fA(c[q>>2]|0,0)|0;c[p>>2]=c[(c[q>>2]|0)+4>>2];c[k>>2]=c[c[p>>2]>>2];c[l>>2]=c[(c[p>>2]|0)+4>>2];c[s>>2]=c[(c[p>>2]|0)+8>>2];c[f>>2]=c[(c[p>>2]|0)+20>>2];b=(c[q>>2]|0)+20|0;c[b>>2]=c[b>>2]&-32769;b=c[n>>2]|0;do if(c[m>>2]|0){if(!(b&2049)){if((c[n>>2]&512|0)==0?(d=c[(c[(c[q>>2]|0)+8>>2]|0)+4>>2]|0,c[r>>2]=d,(d|0)!=0):0){b=c[r>>2]|0;if((c[s>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[s>>2]|0))|0;if((b|0)!=(c[m>>2]|0))e=78}else e=78;a:do if((e|0)==78){if(!(c[n>>2]&512)){b=(c[m>>2]|0)+(c[k>>2]|0)|0;if((c[l>>2]|0)<0)b=c[b>>2]|0}else b=c[m>>2]|0;c[h>>2]=b;c[r>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0))break a;b=c[r>>2]|0;if((c[s>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[s>>2]|0))|0;c[g>>2]=b;b=(c[g>>2]|0)+(c[k>>2]|0)|0;if((c[l>>2]|0)<0)b=c[b>>2]|0;c[g>>2]=b;do if(!(c[f>>2]|0)){b=c[h>>2]|0;a=c[g>>2]|0;if((c[l>>2]|0)<=0){b=a4(b,a)|0;break}else{b=U3(b,a,c[l>>2]|0)|0;break}}else b=kc[c[f>>2]&127](c[q>>2]|0,c[h>>2]|0,c[g>>2]|0,c[p>>2]|0)|0;while(0);if(!b)break a;c[r>>2]=c[c[r>>2]>>2]}}while(0);if(!(c[r>>2]|0)){c[t>>2]=0;t=c[t>>2]|0;i=u;return t|0}l=(c[q>>2]|0)+20|0;c[l>>2]=c[l>>2]|32768;if(c[n>>2]&4098)break;if(!(c[n>>2]&8)){if(c[n>>2]&16){if((c[r>>2]|0)==(c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0))b=0;else b=c[(c[r>>2]|0)+4>>2]|0;c[r>>2]=b}}else c[r>>2]=c[c[r>>2]>>2];c[(c[(c[q>>2]|0)+8>>2]|0)+4>>2]=c[r>>2];do if(c[r>>2]|0){b=c[r>>2]|0;if((c[s>>2]|0)<0){b=c[b+8>>2]|0;break}else{b=b+(0-(c[s>>2]|0))|0;break}}else b=0;while(0);c[t>>2]=b;t=c[t>>2]|0;i=u;return t|0}if(((c[(c[p>>2]|0)+12>>2]|0)!=0?(c[n>>2]&1|0)!=0:0)?(l=$b[c[(c[p>>2]|0)+12>>2]&63](c[q>>2]|0,c[m>>2]|0,c[p>>2]|0)|0,c[m>>2]=l,(l|0)==0):0){c[t>>2]=0;t=c[t>>2]|0;i=u;return t|0}do if((c[s>>2]|0)>=0)c[r>>2]=(c[m>>2]|0)+(c[s>>2]|0);else{c[r>>2]=kc[c[(c[q>>2]|0)+12>>2]&127](c[q>>2]|0,0,12,c[p>>2]|0)|0;if(c[r>>2]|0){c[(c[r>>2]|0)+8>>2]=c[m>>2];break}if(((c[(c[p>>2]|0)+12>>2]|0)!=0?(c[(c[p>>2]|0)+16>>2]|0)!=0:0)?(c[n>>2]&1|0)!=0:0)lc[c[(c[p>>2]|0)+16>>2]&127](c[q>>2]|0,c[m>>2]|0,c[p>>2]|0);c[t>>2]=0;t=c[t>>2]|0;i=u;return t|0}while(0);do if(c[c[(c[q>>2]|0)+8>>2]>>2]&128)if(c[n>>2]&8192)e=62;else e=58;else{if(!(c[c[(c[q>>2]|0)+8>>2]>>2]&16))if(c[c[(c[q>>2]|0)+8>>2]>>2]&32){e=58;break}else{e=62;break}p=(c[n>>2]&8192|0)!=0;b=c[(c[(c[q>>2]|0)+8>>2]|0)+4>>2]|0;c[o>>2]=b;b=(b|0)!=0;if(p){if(!b){e=62;break}if(!(c[c[o>>2]>>2]|0)){e=62;break}c[c[r>>2]>>2]=c[c[o>>2]>>2];c[(c[c[r>>2]>>2]|0)+4>>2]=c[r>>2];c[(c[r>>2]|0)+4>>2]=c[o>>2];c[c[(c[r>>2]|0)+4>>2]>>2]=c[r>>2];break}else{if(!b){e=58;break}if((c[o>>2]|0)==(c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0)){e=58;break}c[(c[r>>2]|0)+4>>2]=c[(c[o>>2]|0)+4>>2];c[c[(c[r>>2]|0)+4>>2]>>2]=c[r>>2];c[c[r>>2]>>2]=c[o>>2];c[(c[c[r>>2]>>2]|0)+4>>2]=c[r>>2];break}}while(0);if((e|0)==58){p=c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0;c[o>>2]=p;c[c[r>>2]>>2]=p;if(c[o>>2]|0){c[(c[r>>2]|0)+4>>2]=c[(c[o>>2]|0)+4>>2];c[(c[o>>2]|0)+4>>2]=c[r>>2]}else c[(c[r>>2]|0)+4>>2]=c[r>>2];c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]=c[r>>2]}else if((e|0)==62){p=c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0;c[o>>2]=p;b=c[r>>2]|0;if(p){c[c[(c[o>>2]|0)+4>>2]>>2]=b;c[(c[r>>2]|0)+4>>2]=c[(c[o>>2]|0)+4>>2];c[(c[o>>2]|0)+4>>2]=c[r>>2]}else{c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]=b;c[(c[r>>2]|0)+4>>2]=c[r>>2]}c[c[r>>2]>>2]=0}if((c[(c[(c[q>>2]|0)+8>>2]|0)+16>>2]|0)>=0){p=(c[(c[q>>2]|0)+8>>2]|0)+16|0;c[p>>2]=(c[p>>2]|0)+1}c[(c[(c[q>>2]|0)+8>>2]|0)+4>>2]=c[r>>2];b=c[r>>2]|0;if((c[s>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[s>>2]|0))|0;c[t>>2]=b;t=c[t>>2]|0;i=u;return t|0}else{if(b&384){p=c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0;c[r>>2]=p;if(p){if(c[n>>2]&256)c[r>>2]=c[(c[r>>2]|0)+4>>2];c[(c[(c[q>>2]|0)+8>>2]|0)+4>>2]=c[r>>2]}do if(c[r>>2]|0){b=c[r>>2]|0;if((c[s>>2]|0)<0){b=c[b+8>>2]|0;break}else{b=b+(0-(c[s>>2]|0))|0;break}}else b=0;while(0);c[t>>2]=b;t=c[t>>2]|0;i=u;return t|0}if(c[n>>2]&4098){if((c[c[(c[q>>2]|0)+8>>2]>>2]&144|0)==0?(l=c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0,c[r>>2]=l,(l|0)!=0):0)break;c[t>>2]=0;t=c[t>>2]|0;i=u;return t|0}if(!(c[n>>2]&64)){c[t>>2]=0;t=c[t>>2]|0;i=u;return t|0}if(!((c[(c[p>>2]|0)+16>>2]|0)==0?(c[(c[p>>2]|0)+8>>2]|0)>=0:0))e=21;b:do if((e|0)==21){c[r>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0))break b;c[o>>2]=c[c[r>>2]>>2];if(c[(c[p>>2]|0)+16>>2]|0){b=c[r>>2]|0;if((c[s>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[s>>2]|0))|0;lc[c[(c[p>>2]|0)+16>>2]&127](c[q>>2]|0,b,c[p>>2]|0)}if((c[(c[p>>2]|0)+8>>2]|0)<0)kc[c[(c[q>>2]|0)+12>>2]&127](c[q>>2]|0,c[r>>2]|0,0,c[p>>2]|0)|0;c[r>>2]=c[o>>2]}}while(0);c[(c[(c[q>>2]|0)+8>>2]|0)+4>>2]=0;c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]=0;c[(c[(c[q>>2]|0)+8>>2]|0)+16>>2]=0;c[t>>2]=0;t=c[t>>2]|0;i=u;return t|0}while(0);if(c[c[r>>2]>>2]|0)c[(c[c[r>>2]>>2]|0)+4>>2]=c[(c[r>>2]|0)+4>>2];k=c[r>>2]|0;l=c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0;c[o>>2]=l;b=c[c[r>>2]>>2]|0;if((k|0)==(l|0)){c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]=b;if(c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0)c[(c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]=c[(c[o>>2]|0)+4>>2]}else{c[c[(c[r>>2]|0)+4>>2]>>2]=b;if((c[r>>2]|0)==(c[(c[o>>2]|0)+4>>2]|0))c[(c[o>>2]|0)+4>>2]=c[(c[r>>2]|0)+4>>2]}if((c[r>>2]|0)==(c[(c[(c[q>>2]|0)+8>>2]|0)+4>>2]|0))b=c[c[r>>2]>>2]|0;else b=0;c[(c[(c[q>>2]|0)+8>>2]|0)+4>>2]=b;b=(c[(c[q>>2]|0)+8>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)-1;b=c[r>>2]|0;if((c[s>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[s>>2]|0))|0;c[m>>2]=b;if((c[(c[p>>2]|0)+16>>2]|0)!=0?(c[n>>2]&2|0)!=0:0)lc[c[(c[p>>2]|0)+16>>2]&127](c[q>>2]|0,c[m>>2]|0,c[p>>2]|0);if((c[(c[p>>2]|0)+8>>2]|0)<0)kc[c[(c[q>>2]|0)+12>>2]&127](c[q>>2]|0,c[r>>2]|0,0,c[p>>2]|0)|0;c[t>>2]=c[m>>2];t=c[t>>2]|0;i=u;return t|0}function eA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();d=m+20|0;e=m+16|0;f=m+12|0;h=m+8|0;k=m+4|0;g=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=c[12988];if(!((c[e>>2]|0)!=0&(c[f>>2]|0)!=0)){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}b=A1(40)|0;c[h>>2]=b;if(!b){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[c[h>>2]>>2]=0;c[(c[h>>2]|0)+16>>2]=0;c[(c[h>>2]|0)+4>>2]=0;mA(c[h>>2]|0,c[e>>2]|0,0)|0;c[(c[h>>2]|0)+20>>2]=0;c[(c[h>>2]|0)+24>>2]=0;c[(c[h>>2]|0)+32>>2]=0;c[(c[h>>2]|0)+28>>2]=0;c[(c[h>>2]|0)+36>>2]=0;do if(c[(c[e>>2]|0)+32>>2]|0){c[g>>2]=0;b=kc[c[(c[e>>2]|0)+32>>2]&127](c[h>>2]|0,1,g,c[e>>2]|0)|0;c[k>>2]=b;if((b|0)>=0)if((c[k>>2]|0)>0){if(c[g>>2]|0)if(c[c[g>>2]>>2]&c[(c[f>>2]|0)+4>>2])break;else{l=15;break}if(c[(c[e>>2]|0)+28>>2]|0){B1(c[h>>2]|0);l=kc[c[(c[e>>2]|0)+28>>2]&127](0,0,40,c[e>>2]|0)|0;c[h>>2]=l;if(l){c[c[h>>2]>>2]=0;c[(c[h>>2]|0)+16>>2]=0;c[(c[h>>2]|0)+4>>2]=0;mA(c[h>>2]|0,c[e>>2]|0,0)|0;c[(c[h>>2]|0)+20>>2]=1;c[(c[h>>2]|0)+24>>2]=0;c[(c[h>>2]|0)+32>>2]=0;c[(c[h>>2]|0)+28>>2]=0;l=14;break}c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}else l=15}else l=14;else l=15}else l=14;while(0);if((l|0)==14){b=kc[c[(c[h>>2]|0)+12>>2]&127](c[h>>2]|0,0,28,c[e>>2]|0)|0;c[g>>2]=b;if(b){c[c[g>>2]>>2]=c[(c[f>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+20>>2]=0;c[(c[g>>2]|0)+16>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+24>>2]=0}else l=15}if((l|0)==15){B1(c[h>>2]|0);c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[(c[h>>2]|0)+8>>2]=c[g>>2];c[c[h>>2]>>2]=c[c[f>>2]>>2];c[(c[h>>2]|0)+16>>2]=c[f>>2];if(c[(c[e>>2]|0)+32>>2]|0)kc[c[(c[e>>2]|0)+32>>2]&127](c[h>>2]|0,5,c[h>>2]|0,c[e>>2]|0)|0;c[d>>2]=c[h>>2];l=c[d>>2]|0;i=m;return l|0}function fA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();d=n+28|0;e=n+24|0;f=n+20|0;l=n+16|0;h=n+12|0;g=n+8|0;m=n+4|0;k=n;c[e>>2]=a;c[f>>2]=b;c[k>>2]=c[c[(c[e>>2]|0)+16>>2]>>2];c[m>>2]=c[c[(c[e>>2]|0)+8>>2]>>2]&4096;do if(c[f>>2]|0){if(!(c[(c[(c[e>>2]|0)+8>>2]|0)+16>>2]|0)){c[m>>2]=0;break}c[d>>2]=-1;m=c[d>>2]|0;i=n;return m|0}else{if(c[m>>2]|0){c[f>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];break}c[d>>2]=-1;m=c[d>>2]|0;i=n;return m|0}while(0);a=c[(c[e>>2]|0)+8>>2]|0;c[a>>2]=c[a>>2]&-4097;a=c[(c[e>>2]|0)+8>>2]|0;a:do if(!(c[c[(c[e>>2]|0)+8>>2]>>2]&3)){if(c[a>>2]&12)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[f>>2];else{c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]=c[f>>2]}if(!(c[m>>2]|0))c[(c[(c[e>>2]|0)+8>>2]|0)+16>>2]=-1}else{c[a+4>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;if(!(c[m>>2]|0)){c[a+16>>2]=0;while(1){if(!(c[f>>2]|0))break a;c[l>>2]=c[c[f>>2]>>2];$b[c[k>>2]&63](c[e>>2]|0,c[f>>2]|0,32)|0;c[f>>2]=c[l>>2]}}m=c[a+8>>2]|0;c[h>>2]=m;c[g>>2]=m+(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]<<2);while(1){if((c[h>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break a;m=c[c[h>>2]>>2]|0;c[l>>2]=m;if(m){c[c[h>>2]>>2]=c[f>>2];c[f>>2]=c[c[l>>2]>>2];c[c[l>>2]>>2]=0}c[h>>2]=(c[h>>2]|0)+4}}while(0);c[d>>2]=0;m=c[d>>2]|0;i=n;return m|0}function gA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(c[c[(c[b>>2]|0)+8>>2]>>2]&4096)fA(c[b>>2]|0,0)|0;do if((c[(c[(c[b>>2]|0)+8>>2]|0)+16>>2]|0)<0){a=c[(c[b>>2]|0)+8>>2]|0;if(c[c[(c[b>>2]|0)+8>>2]>>2]&12){e=hA(c[a+4>>2]|0)|0;c[(c[(c[b>>2]|0)+8>>2]|0)+16>>2]=e;break}if(c[a>>2]&112){c[d>>2]=0;c[e>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2];while(1){a=c[d>>2]|0;if(!(c[e>>2]|0))break;c[d>>2]=a+1;c[e>>2]=c[c[e>>2]>>2]}c[(c[(c[b>>2]|0)+8>>2]|0)+16>>2]=a}}while(0);i=f;return c[(c[(c[b>>2]|0)+8>>2]|0)+16>>2]|0}function hA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;i=d;return a|0}a=hA(c[(c[b>>2]|0)+4>>2]|0)|0;a=a+(hA(c[c[b>>2]>>2]|0)|0)+1|0;i=d;return a|0}function iA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;D=i;i=i+208|0;if((i|0)>=(j|0))ba();C=D+204|0;x=D+200|0;o=D+196|0;p=D+192|0;z=D+188|0;A=D+184|0;l=D+180|0;B=D+176|0;v=D+172|0;u=D+168|0;e=D+164|0;s=D+160|0;t=D+156|0;m=D+152|0;w=D+148|0;n=D+144|0;q=D+136|0;g=D+132|0;f=D+128|0;h=D+8|0;r=D+4|0;y=D;c[x>>2]=a;c[o>>2]=b;c[p>>2]=d;if(c[c[(c[x>>2]|0)+8>>2]>>2]&4096)fA(c[x>>2]|0,0)|0;c[y>>2]=c[(c[x>>2]|0)+4>>2];c[u>>2]=c[c[y>>2]>>2];c[v>>2]=c[(c[y>>2]|0)+4>>2];c[B>>2]=c[(c[y>>2]|0)+8>>2];c[r>>2]=c[(c[y>>2]|0)+20>>2];d=(c[x>>2]|0)+20|0;c[d>>2]=c[d>>2]&-32769;c[z>>2]=c[(c[(c[x>>2]|0)+8>>2]|0)+4>>2];if(!(c[o>>2]|0)){if((c[z>>2]|0)!=0?(c[p>>2]&448|0)!=0:0){if(!(c[p>>2]&64)){a:do if(c[p>>2]&256)while(1){y=c[c[z>>2]>>2]|0;c[A>>2]=y;if(!y)break a;c[c[z>>2]>>2]=c[(c[A>>2]|0)+4>>2];c[(c[A>>2]|0)+4>>2]=c[z>>2];c[z>>2]=c[A>>2]}else while(1){y=c[(c[z>>2]|0)+4>>2]|0;c[A>>2]=y;if(!y)break a;c[(c[z>>2]|0)+4>>2]=c[c[A>>2]>>2];c[c[A>>2]>>2]=c[z>>2];c[z>>2]=c[A>>2]}while(0);c[(c[(c[x>>2]|0)+8>>2]|0)+4>>2]=c[z>>2];b=c[z>>2]|0;if((c[B>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[B>>2]|0))|0;c[C>>2]=b;C=c[C>>2]|0;i=D;return C|0}if(!((c[(c[y>>2]|0)+16>>2]|0)==0?(c[(c[y>>2]|0)+8>>2]|0)>=0:0))k=10;if((k|0)==10)while(1){w=c[(c[z>>2]|0)+4>>2]|0;c[A>>2]=w;if(w){c[(c[z>>2]|0)+4>>2]=c[c[A>>2]>>2];c[c[A>>2]>>2]=c[z>>2];c[z>>2]=c[A>>2];k=10;continue}c[A>>2]=c[c[z>>2]>>2];if(c[(c[y>>2]|0)+16>>2]|0){b=c[z>>2]|0;if((c[B>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[B>>2]|0))|0;lc[c[(c[y>>2]|0)+16>>2]&127](c[x>>2]|0,b,c[y>>2]|0)}if((c[(c[y>>2]|0)+8>>2]|0)<0)kc[c[(c[x>>2]|0)+12>>2]&127](c[x>>2]|0,c[z>>2]|0,0,c[y>>2]|0)|0;w=c[A>>2]|0;c[z>>2]=w;if(w)k=10;else break}c[(c[(c[x>>2]|0)+8>>2]|0)+16>>2]=0;c[(c[(c[x>>2]|0)+8>>2]|0)+4>>2]=0;c[C>>2]=0;C=c[C>>2]|0;i=D;return C|0}c[C>>2]=0;C=c[C>>2]|0;i=D;return C|0}c[w>>2]=q;c[m>>2]=q;b:do if((c[(c[(c[x>>2]|0)+16>>2]|0)+4>>2]|0)==8?(c[p>>2]&4098|0)!=0:0){a=(c[o>>2]|0)+(c[u>>2]|0)|0;if((c[v>>2]|0)<0)a=c[a>>2]|0;c[t>>2]=a;c[e>>2]=$b[c[c[x>>2]>>2]&63](c[x>>2]|0,c[o>>2]|0,4)|0;while(1){if(!(c[e>>2]|0)){k=47;break b}a=(c[e>>2]|0)+(c[u>>2]|0)|0;if((c[v>>2]|0)<0)a=c[a>>2]|0;c[s>>2]=a;do if(!(c[r>>2]|0)){a=c[t>>2]|0;b=c[s>>2]|0;if((c[v>>2]|0)<=0){a=a4(a,b)|0;break}else{a=U3(a,b,c[v>>2]|0)|0;break}}else a=kc[c[r>>2]&127](c[x>>2]|0,c[t>>2]|0,c[s>>2]|0,c[y>>2]|0)|0;while(0);if(a){k=47;break b}a=c[x>>2]|0;if((c[e>>2]|0)==(c[o>>2]|0))break;c[e>>2]=$b[c[a>>2]&63](c[x>>2]|0,c[e>>2]|0,8)|0}c[z>>2]=c[(c[a+8>>2]|0)+4>>2];c[c[m>>2]>>2]=c[(c[z>>2]|0)+4>>2];c[(c[w>>2]|0)+4>>2]=c[c[z>>2]>>2];k=192}else k=47;while(0);c:do if((k|0)==47){a=c[p>>2]|0;do if(c[p>>2]&2565){if(!(a&512)){a=(c[o>>2]|0)+(c[u>>2]|0)|0;if((c[v>>2]|0)<0)a=c[a>>2]|0}else a=c[o>>2]|0;c[t>>2]=a;if(c[z>>2]|0)k=68}else{if(a&32){c[n>>2]=c[o>>2];a=c[n>>2]|0;if((c[B>>2]|0)<0)a=c[a+8>>2]|0;else a=a+(0-(c[B>>2]|0))|0;c[o>>2]=a;a=(c[o>>2]|0)+(c[u>>2]|0)|0;if((c[v>>2]|0)<0)a=c[a>>2]|0;c[t>>2]=a;if(c[z>>2]|0){k=68;break}else break}if(c[z>>2]|0){a=c[z>>2]|0;if((c[B>>2]|0)<0)a=c[a+8>>2]|0;else a=a+(0-(c[B>>2]|0))|0;if((a|0)!=(c[o>>2]|0)){a=(c[o>>2]|0)+(c[u>>2]|0)|0;if((c[v>>2]|0)<0)a=c[a>>2]|0;c[t>>2]=a;k=68}}}while(0);d:do if((k|0)==68){e:do if(((c[(c[(c[x>>2]|0)+16>>2]|0)+4>>2]|0)==4?(e=c[(c[(c[x>>2]|0)+8>>2]|0)+24>>2]|0,c[f>>2]=e,(e|0)!=0):0)?(c[p>>2]&516|0)!=0:0){c[A>>2]=c[z>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){k=94;break}a=c[A>>2]|0;if((c[B>>2]|0)<0)a=c[a+8>>2]|0;else a=a+(0-(c[B>>2]|0))|0;c[s>>2]=a;a=(c[s>>2]|0)+(c[u>>2]|0)|0;if((c[v>>2]|0)<0)a=c[a>>2]|0;c[s>>2]=a;do if(!(c[r>>2]|0)){a=c[t>>2]|0;b=c[s>>2]|0;if((c[v>>2]|0)<=0){a=a4(a,b)|0;break}else{a=U3(a,b,c[v>>2]|0)|0;break}}else a=kc[c[r>>2]&127](c[x>>2]|0,c[t>>2]|0,c[s>>2]|0,c[y>>2]|0)|0;while(0);c[l>>2]=a;if(!a){k=84;break}c[h+(c[g>>2]<<2)>>2]=c[l>>2];a=c[A>>2]|0;if((c[l>>2]|0)<0)a=c[a+4>>2]|0;else a=c[a>>2]|0;c[A>>2]=a;if(!a){k=92;break}c[g>>2]=(c[g>>2]|0)+1}if((k|0)==84){b=c[A>>2]|0;if((c[B>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[B>>2]|0))|0;c[C>>2]=b;C=c[C>>2]|0;i=D;return C|0}else if((k|0)==92){c[C>>2]=0;C=c[C>>2]|0;i=D;return C|0}else if((k|0)==94){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0))break e;a=c[z>>2]|0;do if((c[h+(c[g>>2]<<2)>>2]|0)<0){c[A>>2]=c[a+4>>2];a=c[A>>2]|0;if((c[h+((c[g>>2]|0)+1<<2)>>2]|0)<0){c[(c[z>>2]|0)+4>>2]=c[a>>2];c[c[A>>2]>>2]=c[z>>2];e=c[A>>2]|0;c[(c[w>>2]|0)+4>>2]=e;c[w>>2]=e;c[z>>2]=c[(c[A>>2]|0)+4>>2];break}else{c[c[m>>2]>>2]=a;c[m>>2]=a;e=c[z>>2]|0;c[(c[w>>2]|0)+4>>2]=e;c[w>>2]=e;c[z>>2]=c[c[A>>2]>>2];break}}else{c[A>>2]=c[a>>2];a=c[A>>2]|0;if((c[h+((c[g>>2]|0)+1<<2)>>2]|0)>0){c[c[z>>2]>>2]=c[a+4>>2];c[(c[A>>2]|0)+4>>2]=c[z>>2];e=c[A>>2]|0;c[c[m>>2]>>2]=e;c[m>>2]=e;c[z>>2]=c[c[A>>2]>>2];break}else{c[(c[w>>2]|0)+4>>2]=a;c[w>>2]=a;e=c[z>>2]|0;c[c[m>>2]>>2]=e;c[m>>2]=e;c[z>>2]=c[(c[A>>2]|0)+4>>2];break}}while(0);c[g>>2]=(c[g>>2]|0)+2}}}while(0);while(1){a=c[z>>2]|0;if((c[B>>2]|0)<0)a=c[a+8>>2]|0;else a=a+(0-(c[B>>2]|0))|0;c[s>>2]=a;a=(c[s>>2]|0)+(c[u>>2]|0)|0;if((c[v>>2]|0)<0)a=c[a>>2]|0;c[s>>2]=a;do if(!(c[r>>2]|0)){a=c[t>>2]|0;b=c[s>>2]|0;if((c[v>>2]|0)<=0){a=a4(a,b)|0;break}else{a=U3(a,b,c[v>>2]|0)|0;break}}else a=kc[c[r>>2]&127](c[x>>2]|0,c[t>>2]|0,c[s>>2]|0,c[y>>2]|0)|0;while(0);c[l>>2]=a;if(!a)break d;a=c[z>>2]|0;if((c[l>>2]|0)<0){h=c[a+4>>2]|0;c[A>>2]=h;if(!h){k=132;break}a=c[A>>2]|0;if((c[B>>2]|0)<0)a=c[a+8>>2]|0;else a=a+(0-(c[B>>2]|0))|0;c[s>>2]=a;a=(c[s>>2]|0)+(c[u>>2]|0)|0;if((c[v>>2]|0)<0)a=c[a>>2]|0;c[s>>2]=a;do if(!(c[r>>2]|0)){a=c[t>>2]|0;b=c[s>>2]|0;if((c[v>>2]|0)<=0){a=a4(a,b)|0;break}else{a=U3(a,b,c[v>>2]|0)|0;break}}else a=kc[c[r>>2]&127](c[x>>2]|0,c[t>>2]|0,c[s>>2]|0,c[y>>2]|0)|0;while(0);c[l>>2]=a;if((a|0)<0){c[(c[z>>2]|0)+4>>2]=c[c[A>>2]>>2];c[c[A>>2]>>2]=c[z>>2];h=c[A>>2]|0;c[(c[w>>2]|0)+4>>2]=h;c[w>>2]=h;h=c[(c[A>>2]|0)+4>>2]|0;c[z>>2]=h;if(h)continue;else break d}if(!(c[l>>2]|0)){k=130;break}h=c[A>>2]|0;c[c[m>>2]>>2]=h;c[m>>2]=h;h=c[z>>2]|0;c[(c[w>>2]|0)+4>>2]=h;c[w>>2]=h;h=c[c[A>>2]>>2]|0;c[z>>2]=h;if(h)continue;else break d}else{h=c[a>>2]|0;c[A>>2]=h;if(!h){k=149;break}a=c[A>>2]|0;if((c[B>>2]|0)<0)a=c[a+8>>2]|0;else a=a+(0-(c[B>>2]|0))|0;c[s>>2]=a;a=(c[s>>2]|0)+(c[u>>2]|0)|0;if((c[v>>2]|0)<0)a=c[a>>2]|0;c[s>>2]=a;do if(!(c[r>>2]|0)){a=c[t>>2]|0;b=c[s>>2]|0;if((c[v>>2]|0)<=0){a=a4(a,b)|0;break}else{a=U3(a,b,c[v>>2]|0)|0;break}}else a=kc[c[r>>2]&127](c[x>>2]|0,c[t>>2]|0,c[s>>2]|0,c[y>>2]|0)|0;while(0);c[l>>2]=a;if((a|0)>0){c[c[z>>2]>>2]=c[(c[A>>2]|0)+4>>2];c[(c[A>>2]|0)+4>>2]=c[z>>2];h=c[A>>2]|0;c[c[m>>2]>>2]=h;c[m>>2]=h;h=c[c[A>>2]>>2]|0;c[z>>2]=h;if(h)continue;else break d}if(!(c[l>>2]|0)){k=147;break}h=c[A>>2]|0;c[(c[w>>2]|0)+4>>2]=h;c[w>>2]=h;h=c[z>>2]|0;c[c[m>>2]>>2]=h;c[m>>2]=h;h=c[(c[A>>2]|0)+4>>2]|0;c[z>>2]=h;if(h)continue;else break d}}if((k|0)==130){l=c[z>>2]|0;c[(c[w>>2]|0)+4>>2]=l;c[w>>2]=l;c[z>>2]=c[A>>2];break}else if((k|0)==132){l=c[z>>2]|0;c[(c[w>>2]|0)+4>>2]=l;c[w>>2]=l;c[z>>2]=0;break}else if((k|0)==147){l=c[z>>2]|0;c[c[m>>2]>>2]=l;c[m>>2]=l;c[z>>2]=c[A>>2];break}else if((k|0)==149){l=c[z>>2]|0;c[c[m>>2]>>2]=l;c[m>>2]=l;c[z>>2]=0;break}}while(0);do if(c[z>>2]|0){l=(c[x>>2]|0)+20|0;c[l>>2]=c[l>>2]|32768;c[c[m>>2]>>2]=c[(c[z>>2]|0)+4>>2];c[(c[w>>2]|0)+4>>2]=c[c[z>>2]>>2];if(!(c[p>>2]&516)){if(c[p>>2]&8){c[(c[z>>2]|0)+4>>2]=c[q>>2];c[c[z>>2]>>2]=0;c[q>>2]=c[z>>2];k=181;break}if(c[p>>2]&16){c[c[z>>2]>>2]=c[q+4>>2];c[(c[z>>2]|0)+4>>2]=0;c[q+4>>2]=c[z>>2];k=187;break}if(c[p>>2]&4098){k=192;break c}if(c[p>>2]&2049){if(c[(c[(c[x>>2]|0)+16>>2]|0)+4>>2]&4)break;c[(c[z>>2]|0)+4>>2]=0;c[c[z>>2]>>2]=c[q+4>>2];c[q+4>>2]=c[z>>2];k=219;break}if(!(c[p>>2]&32)){c[C>>2]=0;C=c[C>>2]|0;i=D;return C|0}if(!(c[(c[(c[x>>2]|0)+16>>2]|0)+4>>2]&4)){c[(c[n>>2]|0)+4>>2]=0;c[c[n>>2]>>2]=c[q+4>>2];c[q+4>>2]=c[n>>2];o=(c[(c[x>>2]|0)+8>>2]|0)+16|0;c[o>>2]=(c[o>>2]|0)+1;break}if(c[(c[y>>2]|0)+16>>2]|0)lc[c[(c[y>>2]|0)+16>>2]&127](c[x>>2]|0,c[o>>2]|0,c[y>>2]|0);if((c[(c[y>>2]|0)+8>>2]|0)<0)kc[c[(c[x>>2]|0)+12>>2]&127](c[x>>2]|0,c[n>>2]|0,0,c[y>>2]|0)|0}}else{c[(c[w>>2]|0)+4>>2]=0;c[c[m>>2]>>2]=0;if(!(c[p>>2]&8))if(!(c[p>>2]&16)){if(c[p>>2]&516)break c;if(!(c[p>>2]&2049))if(c[p>>2]&32){c[z>>2]=c[n>>2];o=(c[(c[x>>2]|0)+8>>2]|0)+16|0;c[o>>2]=(c[o>>2]|0)+1;break}else{c[o>>2]=0;break c}else k=219}else k=187;else k=181}while(0);if((k|0)==181){n=c[q+4>>2]|0;c[z>>2]=n;if(!n)break;while(1){o=c[(c[z>>2]|0)+4>>2]|0;c[A>>2]=o;if(!o)break;c[(c[z>>2]|0)+4>>2]=c[c[A>>2]>>2];c[c[A>>2]>>2]=c[z>>2];c[z>>2]=c[A>>2]}c[q+4>>2]=c[c[z>>2]>>2]}else if((k|0)==187){n=c[q>>2]|0;c[z>>2]=n;if(!n)break;while(1){o=c[c[z>>2]>>2]|0;c[A>>2]=o;if(!o)break;c[c[z>>2]>>2]=c[(c[A>>2]|0)+4>>2];c[(c[A>>2]|0)+4>>2]=c[z>>2];c[z>>2]=c[A>>2]}c[q>>2]=c[(c[z>>2]|0)+4>>2]}else if((k|0)==219){if((c[(c[y>>2]|0)+12>>2]|0)!=0?(c[p>>2]&1|0)!=0:0)c[o>>2]=$b[c[(c[y>>2]|0)+12>>2]&63](c[x>>2]|0,c[o>>2]|0,c[y>>2]|0)|0;do if(c[o>>2]|0){if((c[B>>2]|0)>=0){c[z>>2]=(c[o>>2]|0)+(c[B>>2]|0);break}c[z>>2]=kc[c[(c[x>>2]|0)+12>>2]&127](c[x>>2]|0,0,12,c[y>>2]|0)|0;if(c[z>>2]|0){c[(c[z>>2]|0)+8>>2]=c[o>>2];break}if(((c[(c[y>>2]|0)+12>>2]|0)!=0?(c[(c[y>>2]|0)+16>>2]|0)!=0:0)?(c[p>>2]&1|0)!=0:0)lc[c[(c[y>>2]|0)+16>>2]&127](c[x>>2]|0,c[o>>2]|0,c[y>>2]|0)}while(0);if(!(c[z>>2]|0))break;if((c[(c[(c[x>>2]|0)+8>>2]|0)+16>>2]|0)>=0){o=(c[(c[x>>2]|0)+8>>2]|0)+16|0;c[o>>2]=(c[o>>2]|0)+1}}c[(c[z>>2]|0)+4>>2]=c[q>>2];c[c[z>>2]>>2]=c[q+4>>2];f:do if((c[(c[(c[x>>2]|0)+16>>2]|0)+4>>2]&8|0)!=0?(c[p>>2]&516|0)!=0:0){b=c[z>>2]|0;if((c[B>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[B>>2]|0))|0;c[t>>2]=b;b=(c[t>>2]|0)+(c[u>>2]|0)|0;if((c[v>>2]|0)<0)b=c[b>>2]|0;c[t>>2]=b;while(1){q=c[(c[z>>2]|0)+4>>2]|0;c[A>>2]=q;if(!q)break f;while(1){q=c[c[A>>2]>>2]|0;c[w>>2]=q;if(!q)break;c[c[A>>2]>>2]=c[(c[w>>2]|0)+4>>2];c[(c[w>>2]|0)+4>>2]=c[A>>2];c[A>>2]=c[w>>2]}c[(c[z>>2]|0)+4>>2]=c[A>>2];b=c[A>>2]|0;if((c[B>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[B>>2]|0))|0;c[s>>2]=b;b=(c[s>>2]|0)+(c[u>>2]|0)|0;if((c[v>>2]|0)<0)b=c[b>>2]|0;c[s>>2]=b;do if(!(c[r>>2]|0)){b=c[t>>2]|0;a=c[s>>2]|0;if((c[v>>2]|0)<=0){b=a4(b,a)|0;break}else{b=U3(b,a,c[v>>2]|0)|0;break}}else b=kc[c[r>>2]&127](c[x>>2]|0,c[t>>2]|0,c[s>>2]|0,c[y>>2]|0)|0;while(0);if(b)break f;c[(c[z>>2]|0)+4>>2]=c[c[A>>2]>>2];c[c[A>>2]>>2]=c[z>>2];c[z>>2]=c[A>>2]}}while(0);c[(c[(c[x>>2]|0)+8>>2]|0)+4>>2]=c[z>>2];b=c[z>>2]|0;if((c[B>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[B>>2]|0))|0;c[C>>2]=b;C=c[C>>2]|0;i=D;return C|0}while(0);if((k|0)==192){b=c[z>>2]|0;if((c[B>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[B>>2]|0))|0;c[o>>2]=b;if((c[(c[y>>2]|0)+16>>2]|0)!=0?(c[p>>2]&2|0)!=0:0)lc[c[(c[y>>2]|0)+16>>2]&127](c[x>>2]|0,c[o>>2]|0,c[y>>2]|0);if((c[(c[y>>2]|0)+8>>2]|0)<0)kc[c[(c[x>>2]|0)+12>>2]&127](c[x>>2]|0,c[z>>2]|0,0,c[y>>2]|0)|0;z=(c[(c[x>>2]|0)+8>>2]|0)+16|0;B=(c[z>>2]|0)-1|0;c[z>>2]=B;if((B|0)<0)c[(c[(c[x>>2]|0)+8>>2]|0)+16>>2]=-1}while(1){B=c[(c[w>>2]|0)+4>>2]|0;c[A>>2]=B;if(!B)break;c[w>>2]=c[A>>2]}c[(c[w>>2]|0)+4>>2]=c[q>>2];c[(c[(c[x>>2]|0)+8>>2]|0)+4>>2]=c[q+4>>2];c[C>>2]=(c[p>>2]&2|0)!=0?c[o>>2]|0:0;C=c[C>>2]|0;i=D;return C|0}function jA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();d=k+12|0;e=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;if(c[c[(c[e>>2]|0)+8>>2]>>2]&4096)fA(c[e>>2]|0,0)|0;if(c[f>>2]|0){if(c[c[(c[f>>2]|0)+8>>2]>>2]&4096)fA(c[f>>2]|0,0)|0;if((c[(c[f>>2]|0)+16>>2]|0)!=(c[(c[e>>2]|0)+16>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=k;return h|0}}c[g>>2]=c[f>>2];while(1){if(!(c[g>>2]|0))break;if((c[g>>2]|0)==(c[e>>2]|0)){h=11;break}c[g>>2]=c[(c[g>>2]|0)+28>>2]}if((h|0)==11){c[d>>2]=0;h=c[d>>2]|0;i=k;return h|0}h=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=h;if(h){h=(c[g>>2]|0)+24|0;c[h>>2]=(c[h>>2]|0)-1}c[(c[e>>2]|0)+32>>2]=0;c[(c[e>>2]|0)+28>>2]=0;if(c[f>>2]|0){c[(c[e>>2]|0)+28>>2]=c[f>>2];c[c[e>>2]>>2]=33;h=(c[f>>2]|0)+24|0;c[h>>2]=(c[h>>2]|0)+1;c[d>>2]=c[f>>2];h=c[d>>2]|0;i=k;return h|0}else{c[c[e>>2]>>2]=c[c[(c[e>>2]|0)+16>>2]>>2];c[d>>2]=c[g>>2];h=c[d>>2]|0;i=k;return h|0}return 0}function kA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;w=i;i=i+64|0;if((i|0)>=(j|0))ba();q=w+56|0;r=w+52|0;s=w+48|0;t=w+44|0;u=w+40|0;v=w+36|0;p=w+32|0;l=w+28|0;n=w+24|0;m=w+20|0;f=w+16|0;k=w+12|0;o=w+8|0;h=w+4|0;g=w;c[r>>2]=a;c[s>>2]=b;c[t>>2]=d;if(c[t>>2]&99){c[q>>2]=$b[c[c[(c[r>>2]|0)+16>>2]>>2]&63](c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;v=c[q>>2]|0;i=w;return v|0}do if(!(c[t>>2]&516)){if((c[t>>2]&384|0)!=0?(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]&12|0)==0:0)break;a=c[t>>2]|0;if(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]&12){if(!(a&408)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}c[m>>2]=0;c[l>>2]=0;c[v>>2]=0;c[u>>2]=c[r>>2];while(1){if(!(c[u>>2]|0))break;e=$b[c[c[(c[u>>2]|0)+16>>2]>>2]&63](c[u>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;c[p>>2]=e;do if(e){c[h>>2]=c[c[(c[u>>2]|0)+4>>2]>>2];c[o>>2]=c[(c[(c[u>>2]|0)+4>>2]|0)+4>>2];c[k>>2]=c[(c[(c[u>>2]|0)+4>>2]|0)+8>>2];c[g>>2]=c[(c[(c[u>>2]|0)+4>>2]|0)+20>>2];a=(c[p>>2]|0)+(c[h>>2]|0)|0;if((c[o>>2]|0)<0)a=c[a>>2]|0;c[n>>2]=a;if(c[l>>2]|0){do if(!(c[g>>2]|0)){a=c[n>>2]|0;b=c[m>>2]|0;if((c[o>>2]|0)<=0){a=a4(a,b)|0;break}else{a=U3(a,b,c[o>>2]|0)|0;break}}else a=kc[c[g>>2]&127](c[u>>2]|0,c[n>>2]|0,c[m>>2]|0,c[(c[u>>2]|0)+4>>2]|0)|0;while(0);c[f>>2]=a;if(!((c[t>>2]&136|0)!=0&(c[f>>2]|0)<0)?!((c[t>>2]&272|0)!=0&(c[f>>2]|0)>0):0)break}c[v>>2]=c[u>>2];c[l>>2]=c[p>>2];c[m>>2]=c[n>>2]}while(0);c[u>>2]=c[(c[u>>2]|0)+28>>2]}c[(c[r>>2]|0)+32>>2]=c[v>>2];c[q>>2]=c[l>>2];v=c[q>>2]|0;i=w;return v|0}if(!(a&24)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}if(c[(c[r>>2]|0)+32>>2]|0){a=c[(c[(c[(c[r>>2]|0)+32>>2]|0)+8>>2]|0)+4>>2]|0;if((c[(c[(c[(c[r>>2]|0)+32>>2]|0)+4>>2]|0)+8>>2]|0)<0)a=c[a+8>>2]|0;else a=a+(0-(c[(c[(c[(c[r>>2]|0)+32>>2]|0)+4>>2]|0)+8>>2]|0))|0;if((c[s>>2]|0)!=(a|0))e=37}else e=37;if((e|0)==37){c[u>>2]=c[r>>2];while(1){if(!(c[u>>2]|0))break;o=$b[c[c[(c[u>>2]|0)+16>>2]>>2]&63](c[u>>2]|0,c[s>>2]|0,4)|0;c[p>>2]=o;if(o)break;c[u>>2]=c[(c[u>>2]|0)+28>>2]}c[(c[r>>2]|0)+32>>2]=c[u>>2];p=c[p>>2]|0;c[s>>2]=p;if(!p){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}c[u>>2]=c[(c[r>>2]|0)+32>>2];c[s>>2]=$b[c[c[(c[u>>2]|0)+16>>2]>>2]&63](c[u>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;a:while(1){if(!(c[s>>2]|0)){p=c[(c[u>>2]|0)+28>>2]|0;c[(c[r>>2]|0)+32>>2]=p;c[u>>2]=p;if(!p){e=52;break}b=c[c[(c[u>>2]|0)+16>>2]>>2]|0;a=c[u>>2]|0;if(c[t>>2]&8){c[s>>2]=$b[b&63](a,0,128)|0;continue}else{c[s>>2]=$b[b&63](a,0,256)|0;continue}}c[v>>2]=c[r>>2];while(1){if((c[v>>2]|0)==(c[u>>2]|0)){e=47;break a}if($b[c[c[(c[v>>2]|0)+16>>2]>>2]&63](c[v>>2]|0,c[s>>2]|0,4)|0)break;c[v>>2]=c[(c[v>>2]|0)+28>>2]}c[s>>2]=$b[c[c[(c[u>>2]|0)+16>>2]>>2]&63](c[u>>2]|0,c[s>>2]|0,c[t>>2]|0)|0}if((e|0)==47){c[q>>2]=c[s>>2];v=c[q>>2]|0;i=w;return v|0}else if((e|0)==52){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}while(0);c[u>>2]=c[r>>2];while(1){if(!(c[u>>2]|0))break;v=$b[c[c[(c[u>>2]|0)+16>>2]>>2]&63](c[u>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;c[p>>2]=v;if(v)break;c[u>>2]=c[(c[u>>2]|0)+28>>2]}c[(c[r>>2]|0)+32>>2]=c[u>>2];c[q>>2]=c[p>>2];v=c[q>>2]|0;i=w;return v|0}function lA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();m=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;k=o+12|0;h=o+8|0;l=o+4|0;n=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=$b[c[c[e>>2]>>2]&63](c[e>>2]|0,0,128)|0;while(1){if(!(c[k>>2]|0)){e=8;break}b=c[(c[e>>2]|0)+32>>2]|0;c[l>>2]=b;if(!b)c[l>>2]=c[e>>2];c[h>>2]=$b[c[c[e>>2]>>2]&63](c[e>>2]|0,c[k>>2]|0,8)|0;b=$b[c[f>>2]&63](c[l>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;c[n>>2]=b;if((b|0)<0){e=6;break}c[k>>2]=c[h>>2]}if((e|0)==6){c[m>>2]=c[n>>2];n=c[m>>2]|0;i=o;return n|0}else if((e|0)==8){c[m>>2]=0;n=c[m>>2]|0;i=o;return n|0}return 0}function mA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();g=r+40|0;h=r+36|0;k=r+32|0;l=r+28|0;p=r+24|0;o=r+20|0;q=r+16|0;m=r+12|0;n=r+8|0;f=r+4|0;e=r;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;d=c[(c[h>>2]|0)+4>>2]|0;c[n>>2]=d;b=c[k>>2]|0;if(!d){c[(c[h>>2]|0)+4>>2]=b;q=c[(c[k>>2]|0)+28>>2]|0;c[(c[h>>2]|0)+12>>2]=q;if(!q)c[(c[h>>2]|0)+12>>2]=51;c[g>>2]=c[k>>2];q=c[g>>2]|0;i=r;return q|0}if(!b){c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}c[p>>2]=c[c[(c[h>>2]|0)+16>>2]>>2];if(c[c[(c[h>>2]|0)+8>>2]>>2]&4096)fA(c[h>>2]|0,0)|0;if((c[(c[n>>2]|0)+32>>2]|0)!=0?(kc[c[(c[n>>2]|0)+32>>2]&127](c[h>>2]|0,3,c[k>>2]|0,c[n>>2]|0)|0)<0:0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[(c[h>>2]|0)+4>>2]=c[k>>2];d=c[(c[k>>2]|0)+28>>2]|0;c[(c[h>>2]|0)+12>>2]=d;if(!d)c[(c[h>>2]|0)+12>>2]=51;a:do if(!(c[c[(c[h>>2]|0)+8>>2]>>2]&112)){do if(c[c[(c[h>>2]|0)+8>>2]>>2]&2){if(c[l>>2]&2)break a}else{b=c[l>>2]|0;if(!(c[c[(c[h>>2]|0)+8>>2]>>2]&3))if(b&1)break a;else break;if((b&2|0)!=0?(c[l>>2]&1|0)!=0:0)break a}while(0);c[o>>2]=cA(c[h>>2]|0)|0;d=c[(c[h>>2]|0)+8>>2]|0;c[d>>2]=c[d>>2]&-4097;c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]=0;c[(c[(c[h>>2]|0)+8>>2]|0)+16>>2]=0;b:do if(c[c[(c[h>>2]|0)+8>>2]>>2]&3){d=c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]|0;c[f>>2]=d;c[e>>2]=d+(c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2]<<2);while(1){if((c[f>>2]|0)>>>0>=(c[e>>2]|0)>>>0)break b;d=c[f>>2]|0;c[f>>2]=d+4;c[d>>2]=0}}while(0);while(1){if(!(c[o>>2]|0))break a;c[q>>2]=c[c[o>>2]>>2];if(!(c[l>>2]&2)){b=c[o>>2]|0;if((c[(c[k>>2]|0)+8>>2]|0)<0)b=c[b+8>>2]|0;else b=b+(0-(c[(c[k>>2]|0)+8>>2]|0))|0;c[m>>2]=b;b=(c[m>>2]|0)+(c[c[k>>2]>>2]|0)|0;if((c[(c[k>>2]|0)+4>>2]|0)<0)b=c[b>>2]|0;c[m>>2]=b;if(c[(c[k>>2]|0)+24>>2]|0)b=$b[c[(c[k>>2]|0)+24>>2]&63](c[h>>2]|0,c[m>>2]|0,c[k>>2]|0)|0;else b=oA(0,c[m>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=b}$b[c[p>>2]&63](c[h>>2]|0,c[o>>2]|0,32)|0;c[o>>2]=c[q>>2]}}while(0);c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function nA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();h=k+16|0;f=k+8|0;g=k+4|0;c[k+12>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;b=c[g>>2]|0;do if(c[f>>2]|0){e=c[f>>2]|0;if(!b){B1(e);c[h>>2]=0;break}else{c[h>>2]=D1(e,c[g>>2]|0)|0;break}}else{if(b>>>0>0)e=A1(c[g>>2]|0)|0;else e=0;c[h>>2]=e}while(0);i=k;return c[h>>2]|0}function oA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[l>>2]=c[g>>2];if((c[h>>2]|0)<=0){while(1){if(!(d[c[l>>2]>>0]|0))break;c[f>>2]=_((c[f>>2]|0)+((d[c[l>>2]>>0]|0)<<8)+(d[(c[l>>2]|0)+1>>0]|0)|0,17109811)|0;c[l>>2]=(c[l>>2]|0)+((d[(c[l>>2]|0)+1>>0]|0|0)!=0?2:1)}c[h>>2]=(c[l>>2]|0)-(c[g>>2]|0);e=c[f>>2]|0;l=c[h>>2]|0;l=e+l|0;l=_(l,17109811)|0;i=m;return l|0}c[k>>2]=(c[l>>2]|0)+(c[h>>2]|0)+-1;while(1){if((c[l>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;c[f>>2]=_((c[f>>2]|0)+((d[c[l>>2]>>0]|0)<<8)+(d[(c[l>>2]|0)+1>>0]|0)|0,17109811)|0;c[l>>2]=(c[l>>2]|0)+2}if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){e=c[f>>2]|0;l=c[h>>2]|0;l=e+l|0;l=_(l,17109811)|0;i=m;return l|0}c[f>>2]=_((c[f>>2]|0)+((d[c[l>>2]>>0]|0)<<8)|0,17109811)|0;e=c[f>>2]|0;l=c[h>>2]|0;l=e+l|0;l=_(l,17109811)|0;i=m;return l|0}function pA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=rA(c[h>>2]|0,c[g>>2]|0,f)|0;i=e;return d|0}function qA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d+16|0;e=d;c[f>>2]=a;c[e>>2]=b;rA(1,c[f>>2]|0,e)|0;i=d;return}function rA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;e=m+4|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;if((c[g>>2]|0)==3)d=c[13003]|0;else d=(c[g>>2]|0)==2?1:c[g>>2]|0;c[e>>2]=d;c[13003]=c[e>>2];c[13002]=(c[13002]|0)>>>0>(c[13003]|0)>>>0?c[13002]|0:c[13003]|0;if((c[e>>2]|0)>>>0>=(c[12999]|0)>>>0){d=c[g>>2]|0;if(c[12998]|0)sA(d,c[h>>2]|0,c[k>>2]|0);else{if((d|0)!=3){e=c[24742]|0;c[l>>2]=(c[g>>2]|0)==1?133988:133994;p3(e,134002,l)|0}H3(c[24742]|0,c[h>>2]|0,c[k>>2]|0)|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}if((c[13e3]|0)==0?(c[13e3]=F3()|0,(c[13e3]|0)==0):0){c[f>>2]=1;l=c[f>>2]|0;i=m;return l|0}if((c[g>>2]|0)!=3)c[13001]=y3(c[13e3]|0)|0;H3(c[13e3]|0,c[h>>2]|0,c[k>>2]|0)|0;c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function sA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[13004]|0)==0?(c[13004]=A1(c[13005]|0)|0,(c[13004]|0)==0):0){r3(134007,c[24742]|0)|0;i=l;return}if((c[e>>2]|0)!=3){Zb[c[51992>>2]&63]((c[e>>2]|0)==1?133988:133994)|0;Zb[c[51992>>2]&63](135429)|0}while(1){c[h>>2]=J3(c[13004]|0,c[13005]|0,c[f>>2]|0,c[g>>2]|0)|0;if((c[h>>2]|0)>-1?(c[h>>2]|0)<(c[13005]|0):0){e=8;break}c[13005]=(c[13005]<<1|0)>((c[h>>2]|0)+1|0)?c[13005]<<1:(c[h>>2]|0)+1|0;a=D1(c[13004]|0,c[13005]|0)|0;c[k>>2]=a;if(!a){e=10;break}}if((e|0)==8){Zb[c[51992>>2]&63](c[13004]|0)|0;i=l;return}else if((e|0)==10){r3(134007,c[24742]|0)|0;i=l;return}}function tA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[h>>2]|0){c[c[f>>2]>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=0}else{if(!(c[g>>2]|0))c[g>>2]=1024;c[(c[f>>2]|0)+12>>2]=1;b=A1(c[g>>2]|0)|0;c[c[f>>2]>>2]=b}c[(c[f>>2]|0)+8>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]|0);c[(c[f>>2]|0)+4>>2]=c[c[f>>2]>>2];a[c[(c[f>>2]|0)+4>>2]>>0]=0;i=k;return}function uA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+20|0;e=l+16|0;f=l+12|0;k=l+8|0;h=l+4|0;g=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=(c[(c[d>>2]|0)+8>>2]|0)-(c[c[d>>2]>>2]|0);c[h>>2]=c[k>>2]<<1;if(((c[k>>2]|0)+(c[e>>2]|0)|0)>(c[h>>2]|0))c[h>>2]=(c[k>>2]|0)+(c[e>>2]|0);c[f>>2]=(c[(c[d>>2]|0)+4>>2]|0)-(c[c[d>>2]>>2]|0);if(c[(c[d>>2]|0)+12>>2]|0)c[g>>2]=D1(c[c[d>>2]>>2]|0,c[h>>2]|0)|0;else{c[g>>2]=A1(c[h>>2]|0)|0;n5(c[g>>2]|0,c[c[d>>2]>>2]|0,c[f>>2]|0)|0;c[(c[d>>2]|0)+12>>2]=1}c[c[d>>2]>>2]=c[g>>2];c[(c[d>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[f>>2]|0);c[(c[d>>2]|0)+8>>2]=(c[c[d>>2]>>2]|0)+(c[h>>2]|0);i=l;return 0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]|0)|0)>>>0>(c[(c[e>>2]|0)+8>>2]|0)>>>0)uA(c[e>>2]|0,c[g>>2]|0)|0;n5(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+(c[g>>2]|0);i=h;return c[g>>2]|0}function wA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=e4(c[f>>2]|0)|0;a=vA(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function xA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+12>>2]|0)){i=d;return}B1(c[c[b>>2]>>2]|0);i=d;return}function yA(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+8|0;e=g+4|0;f=g;c[e>>2]=a;if((c[(c[e>>2]|0)+4>>2]|0)>>>0>(c[c[e>>2]>>2]|0)>>>0){e=(c[e>>2]|0)+4|0;a=c[e>>2]|0;c[e>>2]=a+-1;c[f>>2]=d[a>>0];c[b>>2]=c[f>>2];a=c[b>>2]|0;i=g;return a|0}else{c[b>>2]=-1;a=c[b>>2]|0;i=g;return a|0}return 0}function zA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=$C(c[e>>2]|0,134043,0)|0;if((c[f>>2]|0)==0&(c[h>>2]|0)!=0){UA(c[e>>2]|0);c[f>>2]=$C(c[e>>2]|0,134043,0)|0;c[d>>2]=c[f>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[f>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function AA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();g=h;k=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;c[k>>2]=a;c[d>>2]=b;c[e>>2]=zA(c[k>>2]|0,0)|0;a:do if(c[e>>2]|0)switch(c[d>>2]|0){case 0:{c[f>>2]=c[(c[e>>2]|0)+8+8>>2];break a}case 1:{c[f>>2]=c[(c[e>>2]|0)+8>>2];break a}case 2:case 3:{c[f>>2]=c[(c[e>>2]|0)+8+4>>2];break a}default:{c[g>>2]=c[d>>2];pA(1,134056,g)|0;c[f>>2]=0;break a}}else c[f>>2]=0;while(0);i=h;return c[f>>2]|0}function BA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();n=h+20|0;o=h+16|0;m=h+12|0;l=h+8|0;p=h+4|0;k=h;c[n>>2]=b;c[o>>2]=d;c[m>>2]=e;c[l>>2]=f;c[p>>2]=g;c[k>>2]=iC(c[n>>2]|0,24)|0;a[(c[k>>2]|0)+20>>0]=c[p>>2];e=mD(c[n>>2]|0,c[o>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;e=mD(c[n>>2]|0,c[m>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=e;c[(c[k>>2]|0)+16>>2]=c[l>>2];i=h;return c[k>>2]|0}function CA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d+28|0;g=d+24|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e+8>>2]=c[g>>2];b=$b[c[c[f>>2]>>2]&63](c[f>>2]|0,e,4)|0;i=d;return b|0}function DA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+12|0;h=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[h>>2]=b;c[f>>2]=jA(c[g>>2]|0,0)|0;c[e>>2]=CA(c[g>>2]|0,c[h>>2]|0)|0;jA(c[g>>2]|0,c[f>>2]|0)|0;i=d;return c[e>>2]|0}function EA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();h=g+16|0;k=g+12|0;e=g+8|0;f=g+4|0;d=g;c[h>>2]=a;c[k>>2]=b;c[d>>2]=c[k>>2];c[e>>2]=FA(c[h>>2]|0)|0;if(c[e>>2]|0){c[f>>2]=CA(c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0)|0;k=c[f>>2]|0;i=g;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=g;return k|0}return 0}function FA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=$C(c[d>>2]|0,c[13015]|0,0)|0;i=b;return a|0}function GA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[g>>2]|0)){if(!(c[13016]|0)){c[f>>2]=c[13017];c[13016]=wB(0,f,0)|0}c[g>>2]=c[13016]}g=c[g>>2]|0;f=c[h>>2]|0;a=c[k>>2]|0;if(c[l>>2]|0){c[m>>2]=VA(g,f,a,c[l>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=WA(g,f,a)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function HA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();l=h+16|0;k=h+12|0;f=h+8|0;e=h+4|0;g=h;c[l>>2]=a;c[k>>2]=b;c[f>>2]=d;b=AA(c[l>>2]|0,c[k>>2]|0)|0;c[e>>2]=b;if(!b){c[g>>2]=0;l=c[g>>2]|0;i=h;return l|0}d=c[c[e>>2]>>2]|0;a=c[e>>2]|0;if(c[f>>2]|0){c[g>>2]=$b[d&63](a,c[f>>2]|0,8)|0;l=c[g>>2]|0;i=h;return l|0}else{c[g>>2]=$b[d&63](a,0,128)|0;l=c[g>>2]|0;i=h;return l|0}return 0}function IA(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=b;b=(c[d>>2]|0)+12|0;a[b>>0]=a[b>>0]&-65|64;XA(c[d>>2]|0)|0;b=xD(c[d>>2]|0)|0;c[e>>2]=b;if(!b)c[e>>2]=c[d>>2];YA(c[e>>2]|0,c[d>>2]|0)|0;i=f;return}function JA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[13072]=c[d>>2];a=FA(c[d>>2]|0)|0;c[e>>2]=a;if(a){ZA(c[d>>2]|0,c[e>>2]|0);bD(c[d>>2]|0,c[c[e>>2]>>2]|0)|0}a=zA(c[d>>2]|0,0)|0;c[f>>2]=a;do if(a){if(FD(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0){c[b>>2]=1;a=c[b>>2]|0;i=g;return a|0}if(FD(c[d>>2]|0,c[(c[f>>2]|0)+8+4>>2]|0)|0){c[b>>2]=1;a=c[b>>2]|0;i=g;return a|0}if(!(FD(c[d>>2]|0,c[(c[f>>2]|0)+8+8>>2]|0)|0)){bD(c[d>>2]|0,c[c[f>>2]>>2]|0)|0;break}c[b>>2]=1;a=c[b>>2]|0;i=g;return a|0}while(0);c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}function KA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=b;c[g>>2]=FA(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+8>>2]|0)!=0:0){i=f;return}YA(c[d>>2]|0,c[e>>2]|0)|0;i=f;return}function LA(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;a=FA(c[b>>2]|0)|0;c[d>>2]=a;if(!a){i=e;return}ZA(c[b>>2]|0,c[d>>2]|0);bD(c[b>>2]|0,c[13015]|0)|0;i=e;return}function MA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=b;c[g>>2]=FA(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+8>>2]|0)!=0:0){i=f;return}YA(c[d>>2]|0,c[e>>2]|0)|0;i=f;return}function NA(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;a=FA(c[b>>2]|0)|0;c[d>>2]=a;if(!a){i=e;return}ZA(c[b>>2]|0,c[d>>2]|0);bD(c[b>>2]|0,c[13015]|0)|0;i=e;return}function OA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();d=h+16|0;k=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[k>>2]=b;c[g>>2]=EA(c[d>>2]|0,c[k>>2]|0)|0;if(!(c[g>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}else{c[e>>2]=FA(c[d>>2]|0)|0;c[f>>2]=c[(c[(c[e>>2]|0)+12>>2]|0)+(c[(c[g>>2]|0)+16>>2]<<2)>>2];k=c[f>>2]|0;i=h;return k|0}return 0}function PA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();h=d+12|0;f=d+8|0;g=d+4|0;e=d;c[h>>2]=a;c[f>>2]=b;c[g>>2]=FA(c[h>>2]|0)|0;c[e>>2]=c[(c[(c[g>>2]|0)+12>>2]|0)+(c[(c[f>>2]|0)+16>>2]<<2)>>2];i=d;return c[e>>2]|0}function QA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+16|0;l=k+12|0;f=k+8|0;h=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;c[h>>2]=EA(c[e>>2]|0,c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[g>>2]=-1;l=c[g>>2]|0;i=k;return l|0}else{c[g>>2]=RA(c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;l=c[g>>2]|0;i=k;return l|0}return 0}function RA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;l=n+12|0;o=n+8|0;m=n+4|0;h=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=GC(c[e>>2]|0)|0;c[l>>2]=c[e>>2];c[o>>2]=FA(c[l>>2]|0)|0;oD(c[k>>2]|0,c[(c[(c[o>>2]|0)+12>>2]|0)+(c[(c[f>>2]|0)+16>>2]<<2)>>2]|0)|0;d=mD(c[k>>2]|0,c[g>>2]|0)|0;c[(c[(c[o>>2]|0)+12>>2]|0)+(c[(c[f>>2]|0)+16>>2]<<2)>>2]=d;if(c[c[l>>2]>>2]&3){l=c[k>>2]|0;m=c[e>>2]|0;o=c[f>>2]|0;KC(l,m,o);i=n;return 0}c[h>>2]=c[(zA(c[k>>2]|0,0)|0)+8+8>>2];o=DA(c[h>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;c[m>>2]=o;a=c[k>>2]|0;if(o){oD(a,c[(c[m>>2]|0)+12>>2]|0)|0;l=mD(c[k>>2]|0,c[g>>2]|0)|0;c[(c[m>>2]|0)+12>>2]=l;l=c[k>>2]|0;m=c[e>>2]|0;o=c[f>>2]|0;KC(l,m,o);i=n;return 0}else{c[m>>2]=BA(a,c[(c[f>>2]|0)+8>>2]|0,c[g>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[c[l>>2]>>2]&3)|0;$b[c[c[h>>2]>>2]&63](c[h>>2]|0,c[m>>2]|0,1)|0;l=c[k>>2]|0;m=c[e>>2]|0;o=c[f>>2]|0;KC(l,m,o);i=n;return 0}return 0}function SA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;d=GC(c[f>>2]|0)|0;c[l>>2]=GA(d,c[c[f>>2]>>2]&3,c[g>>2]|0,0)|0;if(c[l>>2]|0){b=c[f>>2]|0;a=c[l>>2]|0;d=c[h>>2]|0;d=RA(b,a,d)|0;i=m;return d|0}b=GC(c[f>>2]|0)|0;c[l>>2]=GA(b,c[c[f>>2]>>2]&3,c[g>>2]|0,c[k>>2]|0)|0;b=c[f>>2]|0;a=c[l>>2]|0;d=c[h>>2]|0;d=RA(b,a,d)|0;i=m;return d|0}function TA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();m=o+32|0;d=o+28|0;e=o+24|0;f=o+20|0;k=o+16|0;g=o+12|0;l=o+8|0;h=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;c[n>>2]=1;c[f>>2]=GC(c[d>>2]|0)|0;if((c[c[d>>2]>>2]&3|0)!=(c[c[e>>2]>>2]&3|0)){c[m>>2]=1;n=c[m>>2]|0;i=o;return n|0}c[k>>2]=0;while(1){a=HA(c[f>>2]|0,c[c[d>>2]>>2]&3,c[k>>2]|0)|0;c[k>>2]=a;if(!a){d=9;break}c[g>>2]=EA(c[e>>2]|0,c[(c[k>>2]|0)+8>>2]|0)|0;if(!(c[g>>2]|0)){d=6;break}c[l>>2]=PA(c[d>>2]|0,c[k>>2]|0)|0;c[n>>2]=RA(c[e>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;if(!(pD(c[l>>2]|0)|0))continue;c[h>>2]=PA(c[e>>2]|0,c[g>>2]|0)|0;qD(c[h>>2]|0)}if((d|0)==6){c[m>>2]=1;n=c[m>>2]|0;i=o;return n|0}else if((d|0)==9){c[m>>2]=c[n>>2];n=c[m>>2]|0;i=o;return n|0}return 0}function UA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[f>>2]=HC(c[b>>2]|0)|0;kE(c[f>>2]|0,c[f>>2]|0,98,0,1)|0;c[e>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;KA(c[b>>2]|0,c[e>>2]|0);c[d>>2]=cB(c[f>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;MA(c[b>>2]|0,c[d>>2]|0);c[d>>2]=eB(c[f>>2]|0,c[d>>2]|0)|0}c[e>>2]=qC(c[f>>2]|0,c[e>>2]|0)|0}i=g;return}function VA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;if((i|0)>=(j|0))ba();f=u+52|0;g=u+48|0;h=u+44|0;k=u+40|0;m=u+32|0;q=u+28|0;n=u+24|0;p=u+20|0;s=u+16|0;t=u+12|0;r=u+8|0;o=u+4|0;l=u;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[r>>2]=HC(c[f>>2]|0)|0;c[u+36>>2]=zA(c[f>>2]|0,1)|0;c[m>>2]=AA(c[f>>2]|0,c[g>>2]|0)|0;c[n>>2]=DA(c[m>>2]|0,c[h>>2]|0)|0;do if(c[n>>2]|0){oD(c[f>>2]|0,c[(c[n>>2]|0)+12>>2]|0)|0;e=mD(c[f>>2]|0,c[k>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;c[t>>2]=c[n>>2]}else{c[p>>2]=CA(c[m>>2]|0,c[h>>2]|0)|0;if(c[p>>2]|0){c[n>>2]=BA(c[f>>2]|0,c[h>>2]|0,c[k>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[g>>2]|0)|0;$b[c[c[m>>2]>>2]&63](c[m>>2]|0,c[n>>2]|0,1)|0;c[t>>2]=c[n>>2];break}c[q>>2]=AA(c[r>>2]|0,c[g>>2]|0)|0;n=c[f>>2]|0;d=c[h>>2]|0;p=c[k>>2]|0;e=gA(c[q>>2]|0)|0;c[s>>2]=BA(n,d,p,e,c[g>>2]|0)|0;$b[c[c[q>>2]>>2]&63](c[q>>2]|0,c[s>>2]|0,1)|0;a:do switch(c[g>>2]|0){case 0:{kE(c[r>>2]|0,c[r>>2]|0,54,c[s>>2]|0,1)|0;break}case 1:{c[o>>2]=pC(c[r>>2]|0)|0;while(1){if(!(c[o>>2]|0))break a;bB(c[f>>2]|0,c[o>>2]|0,c[s>>2]|0);c[o>>2]=qC(c[r>>2]|0,c[o>>2]|0)|0}}case 2:case 3:{c[o>>2]=pC(c[r>>2]|0)|0;while(1){if(!(c[o>>2]|0))break a;c[l>>2]=cB(c[r>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;bB(c[f>>2]|0,c[l>>2]|0,c[s>>2]|0);c[l>>2]=eB(c[r>>2]|0,c[l>>2]|0)|0}c[o>>2]=qC(c[r>>2]|0,c[o>>2]|0)|0}}default:{}}while(0);c[t>>2]=c[s>>2]}while(0);if(!((c[t>>2]|0)!=0&(c[g>>2]|0)==0)){r=c[f>>2]|0;s=c[f>>2]|0;e=c[t>>2]|0;KC(r,s,e);e=c[t>>2]|0;i=u;return e|0}RA(c[f>>2]|0,c[t>>2]|0,c[k>>2]|0)|0;r=c[f>>2]|0;s=c[f>>2]|0;e=c[t>>2]|0;KC(r,s,e);e=c[t>>2]|0;i=u;return e|0}function WA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();l=h+16|0;k=h+12|0;e=h+8|0;g=h+4|0;f=h;c[l>>2]=a;c[k>>2]=b;c[e>>2]=d;c[g>>2]=0;c[f>>2]=AA(c[l>>2]|0,c[k>>2]|0)|0;if(!(c[f>>2]|0)){l=c[g>>2]|0;i=h;return l|0}c[g>>2]=CA(c[f>>2]|0,c[e>>2]|0)|0;l=c[g>>2]|0;i=h;return l|0}function XA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;c[d>>2]=aD(c[b>>2]|0,134043,20,0)|0;a=DD(c[b>>2]|0,52024,c[12993]|0)|0;c[(c[d>>2]|0)+8>>2]=a;a=DD(c[b>>2]|0,52024,c[12993]|0)|0;c[(c[d>>2]|0)+8+4>>2]=a;a=DD(c[b>>2]|0,52024,c[12993]|0)|0;c[(c[d>>2]|0)+8+8>>2]=a;a=xD(c[b>>2]|0)|0;c[e>>2]=a;if(a){c[f>>2]=zA(c[e>>2]|0,0)|0;jA(c[(c[d>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;jA(c[(c[d>>2]|0)+8+4>>2]|0,c[(c[f>>2]|0)+8+4>>2]|0)|0;jA(c[(c[d>>2]|0)+8+8>>2]|0,c[(c[f>>2]|0)+8+8>>2]|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(c[13016]|0)){f=c[d>>2]|0;i=g;return f|0}if((c[b>>2]|0)==(c[13016]|0)){f=c[d>>2]|0;i=g;return f|0}c[f>>2]=zA(c[13016]|0,0)|0;aB(c[(c[f>>2]|0)+8>>2]|0,c[(c[d>>2]|0)+8>>2]|0,c[b>>2]|0,1);aB(c[(c[f>>2]|0)+8+4>>2]|0,c[(c[d>>2]|0)+8+4>>2]|0,c[b>>2]|0,2);aB(c[(c[f>>2]|0)+8+8>>2]|0,c[(c[d>>2]|0)+8+8>>2]|0,c[b>>2]|0,0);f=c[d>>2]|0;i=g;return f|0}function YA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+20|0;e=l+16|0;k=l+12|0;g=l+8|0;h=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[g>>2]=aD(c[e>>2]|0,c[13015]|0,16,0)|0;c[f>>2]=AA(c[d>>2]|0,c[c[e>>2]>>2]&3)|0;if(c[(c[g>>2]|0)+8>>2]|0){k=c[g>>2]|0;i=l;return k|0}b=HC(c[d>>2]|0)|0;b=AA(b,c[c[e>>2]>>2]&3)|0;c[(c[g>>2]|0)+8>>2]=b;b=$A(c[e>>2]|0)|0;c[k>>2]=b;c[k>>2]=(c[k>>2]|0)<4?4:b;b=GC(c[e>>2]|0)|0;k=iC(b,c[k>>2]<<2)|0;c[(c[g>>2]|0)+12>>2]=k;c[h>>2]=$b[c[c[f>>2]>>2]&63](c[f>>2]|0,0,128)|0;while(1){if(!(c[h>>2]|0))break;k=GC(c[e>>2]|0)|0;k=mD(k,c[(c[h>>2]|0)+12>>2]|0)|0;c[(c[(c[g>>2]|0)+12>>2]|0)+(c[(c[h>>2]|0)+16>>2]<<2)>>2]=k;c[h>>2]=$b[c[c[f>>2]>>2]&63](c[f>>2]|0,c[h>>2]|0,8)|0}k=c[g>>2]|0;i=l;return k|0}function ZA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();k=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[d>>2]=b;c[e>>2]=GC(c[k>>2]|0)|0;c[g>>2]=$A(c[k>>2]|0)|0;c[f>>2]=0;while(1){b=c[e>>2]|0;if((c[f>>2]|0)>=(c[g>>2]|0))break;oD(b,c[(c[(c[d>>2]|0)+12>>2]|0)+(c[f>>2]<<2)>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}jC(b,c[(c[d>>2]|0)+12>>2]|0);i=h;return}function _A(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;f=e;c[e+12>>2]=a;c[g>>2]=b;c[e+4>>2]=d;c[f>>2]=c[g>>2];oD(c[13072]|0,c[(c[f>>2]|0)+8>>2]|0)|0;oD(c[13072]|0,c[(c[f>>2]|0)+12>>2]|0)|0;jC(c[13072]|0,c[f>>2]|0);i=e;return}function $A(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;b=d;c[e>>2]=a;a=HC(GC(c[e>>2]|0)|0)|0;c[b>>2]=AA(a,c[c[e>>2]>>2]&3)|0;if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=gA(c[b>>2]|0)|0;i=d;return e|0}function aB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=$b[c[c[g>>2]>>2]&63](c[g>>2]|0,0,128)|0;while(1){if(!(c[n>>2]|0))break;c[m>>2]=BA(c[k>>2]|0,c[(c[n>>2]|0)+8>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[l>>2]|0)|0;a[(c[m>>2]|0)+22>>0]=a[(c[n>>2]|0)+22>>0]|0;a[(c[m>>2]|0)+21>>0]=a[(c[n>>2]|0)+21>>0]|0;$b[c[c[h>>2]>>2]&63](c[h>>2]|0,c[m>>2]|0,1)|0;c[n>>2]=$b[c[c[g>>2]>>2]&63](c[g>>2]|0,c[n>>2]|0,8)|0}i=o;return}function bB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+12|0;k=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[g>>2]=FA(c[k>>2]|0)|0;if((c[(c[f>>2]|0)+16>>2]|0)>=4){k=kc[c[(c[c[(c[e>>2]|0)+52>>2]>>2]|0)+8>>2]&127](c[(c[(c[e>>2]|0)+52>>2]|0)+12>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[(c[f>>2]|0)+16>>2]<<2,(c[(c[f>>2]|0)+16>>2]|0)+1<<2)|0;c[(c[g>>2]|0)+12>>2]=k}k=mD(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0;c[(c[(c[g>>2]|0)+12>>2]|0)+(c[(c[f>>2]|0)+16>>2]<<2)>>2]=k;i=h;return}function cB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=0;c[f>>2]=dB(c[d>>2]|0,c[h>>2]|0)|0;if(!(c[f>>2]|0)){h=c[e>>2]|0;i=g;return h|0}fA(c[(c[d>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0;c[e>>2]=$b[c[c[(c[d>>2]|0)+32>>2]>>2]&63](c[(c[d>>2]|0)+32>>2]|0,0,128)|0;h=bA(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[f>>2]|0)+32>>2]=h;h=c[e>>2]|0;i=g;return h|0}function dB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+48|0;if((i|0)>=(j|0))ba();d=g+44|0;h=g+40|0;e=g+36|0;f=g;c[d>>2]=a;c[h>>2]=b;a=c[h>>2]|0;if((c[d>>2]|0)==(c[(c[h>>2]|0)+12>>2]|0)){c[e>>2]=a+16;h=c[e>>2]|0;i=g;return h|0}else{c[f+16>>2]=a;c[e>>2]=$b[c[c[(c[d>>2]|0)+28>>2]>>2]&63](c[(c[d>>2]|0)+28>>2]|0,f,4)|0;h=c[e>>2]|0;i=g;return h|0}return 0}function eB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();d=h+16|0;e=h+12|0;k=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;a=c[e>>2]|0;c[k>>2]=c[((c[c[e>>2]>>2]&3|0)==3?a:a+32|0)+28>>2];c[g>>2]=dB(c[d>>2]|0,c[k>>2]|0)|0;if(!(c[g>>2]|0)){k=c[f>>2]|0;i=h;return k|0}fA(c[(c[d>>2]|0)+32>>2]|0,c[(c[g>>2]|0)+32>>2]|0)|0;c[f>>2]=$b[c[c[(c[d>>2]|0)+32>>2]>>2]&63](c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0,8)|0;k=bA(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[g>>2]|0)+32>>2]=k;k=c[f>>2]|0;i=h;return k|0}function fB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=0;c[f>>2]=dB(c[d>>2]|0,c[h>>2]|0)|0;if(!(c[f>>2]|0)){h=c[e>>2]|0;i=g;return h|0}fA(c[(c[d>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+28>>2]|0)|0;c[e>>2]=$b[c[c[(c[d>>2]|0)+32>>2]>>2]&63](c[(c[d>>2]|0)+32>>2]|0,0,128)|0;h=bA(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[f>>2]|0)+28>>2]=h;h=c[e>>2]|0;i=g;return h|0}function gB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();d=h+16|0;e=h+12|0;k=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;a=c[e>>2]|0;c[k>>2]=c[((c[c[e>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2];c[g>>2]=dB(c[d>>2]|0,c[k>>2]|0)|0;if(!(c[g>>2]|0)){k=c[f>>2]|0;i=h;return k|0}fA(c[(c[d>>2]|0)+32>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;c[f>>2]=$b[c[c[(c[d>>2]|0)+32>>2]>>2]&63](c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0,8)|0;k=bA(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[g>>2]|0)+28>>2]=k;k=c[f>>2]|0;i=h;return k|0}function hB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=cB(c[d>>2]|0,c[e>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=fB(c[d>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function iB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k+12|0;e=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;a:do if((c[c[e>>2]>>2]&3|0)==2){c[h>>2]=eB(c[f>>2]|0,c[e>>2]|0)|0;if(!(c[h>>2]|0))do{e=c[f>>2]|0;if(c[h>>2]|0)e=gB(e,c[h>>2]|0)|0;else e=fB(e,c[g>>2]|0)|0;c[h>>2]=e;if(!(c[h>>2]|0))break a}while((c[(c[h>>2]|0)+28>>2]|0)==(c[g>>2]|0))}else do{c[h>>2]=gB(c[f>>2]|0,c[e>>2]|0)|0;c[e>>2]=c[h>>2];if(!(c[h>>2]|0))break a}while((c[(c[h>>2]|0)+28>>2]|0)==(c[g>>2]|0));while(0);i=k;return c[h>>2]|0}function jB(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;if((i|0)>=(j|0))ba();s=u+48|0;g=u+40|0;h=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;q=u+12|0;p=u+8|0;r=u;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=JB(c[h>>2]|0,2,c[m>>2]|0,q,0)|0;if(!(c[p>>2]|0)){if(!(c[m>>2]|0))if(!((c[n>>2]|0)!=0?(FB(c[h>>2]|0)|0)==0:0))t=5}else t=5;if((t|0)==5){c[r>>2]=c[13054];c[r+4>>2]=c[13055];if(c[p>>2]|0){c[r+4>>2]=c[q>>2];c[r>>2]=c[r>>2]&-4|2}else{c[r>>2]=c[r>>2]&-4;c[r+4>>2]=0}e=c[h>>2]|0;b=c[k>>2]|0;t=c[l>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[o>>2]=sB(e,b,t,s)|0;if((c[o>>2]|0)==0?(EB(c[h>>2]|0)|0)!=0:0){e=c[h>>2]|0;b=c[l>>2]|0;t=c[k>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[o>>2]=sB(e,b,t,s)|0}if(c[o>>2]|0){c[g>>2]=c[o>>2];t=c[g>>2]|0;i=u;return t|0}if(c[n>>2]|0){e=HC(c[h>>2]|0)|0;b=c[k>>2]|0;t=c[l>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[o>>2]=sB(e,b,t,s)|0;if((c[o>>2]|0)==0?(EB(c[h>>2]|0)|0)!=0:0){e=HC(c[h>>2]|0)|0;b=c[l>>2]|0;t=c[k>>2]|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[o>>2]=sB(e,b,t,s)|0}if(c[o>>2]|0){qB(c[h>>2]|0,c[o>>2]|0);c[g>>2]=c[o>>2];t=c[g>>2]|0;i=u;return t|0}}}if(((c[n>>2]|0)!=0?(pB(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)!=0:0)?(JB(c[h>>2]|0,2,c[m>>2]|0,q,1)|0)!=0:0){c[o>>2]=rB(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[q>>2]|0)|0;NB(c[h>>2]|0,2,c[o>>2]|0)}else c[o>>2]=0;c[g>>2]=c[o>>2];t=c[g>>2]|0;i=u;return t|0}function kB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+28|0;f=n+24|0;h=n+16|0;k=n+12|0;m=n+8|0;g=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[n+20>>2]=d;b=c[f>>2]|0;if((c[c[f>>2]>>2]&3|0)==3){c[h>>2]=b;c[k>>2]=(c[f>>2]|0)+-32}else{c[k>>2]=b;c[h>>2]=(c[f>>2]|0)+32}c[m>>2]=c[(c[h>>2]|0)+28>>2];c[g>>2]=c[(c[k>>2]|0)+28>>2];c[l>>2]=dB(c[e>>2]|0,c[m>>2]|0)|0;tB(c[(c[e>>2]|0)+32>>2]|0,(c[l>>2]|0)+32|0,c[k>>2]|0);tB(c[(c[e>>2]|0)+36>>2]|0,(c[l>>2]|0)+24|0,c[k>>2]|0);c[l>>2]=dB(c[e>>2]|0,c[g>>2]|0)|0;tB(c[(c[e>>2]|0)+32>>2]|0,(c[l>>2]|0)+28|0,c[h>>2]|0);tB(c[(c[e>>2]|0)+36>>2]|0,(c[l>>2]|0)+20|0,c[h>>2]|0);i=n;return}function lB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();k=h+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;l=c[g>>2]|0;c[g>>2]=(c[c[g>>2]>>2]&3|0)==2?l:l+-32|0;l=c[f>>2]|0;b=c[g>>2]|0;b=c[((c[c[g>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0;a=c[g>>2]|0;a=c[((c[c[g>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0;m=c[g>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];if(!(sB(l,b,a,k)|0)){c[e>>2]=-1;m=c[e>>2]|0;i=h;return m|0}m=c[f>>2]|0;if((m|0)==(HC(c[f>>2]|0)|0)){if((d[(c[f>>2]|0)+12>>0]|0)>>>6&1)NA(c[g>>2]|0);MC(c[f>>2]|0,c[g>>2]|0);eD(c[g>>2]|0);LB(c[f>>2]|0,2,c[(c[g>>2]|0)+4>>2]|0)}if(kE(c[f>>2]|0,c[g>>2]|0,55,0,0)|0){c[e>>2]=-1;m=c[e>>2]|0;i=h;return m|0}m=c[f>>2]|0;if((m|0)==(HC(c[f>>2]|0)|0))jC(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;m=c[e>>2]|0;i=h;return m|0}function mB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;m=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=0;a=c[g>>2]|0;c[m>>2]=uC(c[f>>2]|0,c[((c[c[g>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0,c[h>>2]|0)|0;a=c[g>>2]|0;c[k>>2]=uC(c[f>>2]|0,c[((c[c[g>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0,c[h>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[k>>2]|0)!=0)){m=c[l>>2]|0;i=n;return m|0}b=c[f>>2]|0;a=c[m>>2]|0;m=c[k>>2]|0;k=c[g>>2]|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[l>>2]=sB(b,a,m,e)|0;if((c[h>>2]|0)!=0&(c[l>>2]|0)==0){uB(c[f>>2]|0,c[g>>2]|0);c[l>>2]=c[g>>2]}if(!(c[l>>2]|0)){m=c[l>>2]|0;i=n;return m|0}if((c[c[l>>2]>>2]&3|0)==(c[c[g>>2]>>2]&3|0)){m=c[l>>2]|0;i=n;return m|0}m=c[l>>2]|0;c[l>>2]=(c[c[l>>2]>>2]&3|0)==3?m+-32|0:m+32|0;m=c[l>>2]|0;i=n;return m|0}function nB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();m=k+20|0;l=k+16|0;h=k+8|0;f=k+4|0;g=k;c[k+24>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k+12>>2]=e;c[f>>2]=c[m>>2];c[g>>2]=c[l>>2];c[h>>2]=(c[(c[(c[f>>2]|0)+28>>2]|0)+4>>2]|0)-(c[(c[(c[g>>2]|0)+28>>2]|0)+4>>2]|0);do if(!(c[h>>2]|0)){if((c[c[f>>2]>>2]&3|0)!=0?(c[c[g>>2]>>2]&3|0)!=0:0){c[h>>2]=(c[(c[f>>2]|0)+4>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0);break}c[h>>2]=0}while(0);if(!(c[h>>2]|0)){m=0;i=k;return m|0}m=(c[h>>2]|0)<0?-1:1;i=k;return m|0}function oB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();m=h+20|0;l=h+16|0;g=h+8|0;k=h+4|0;f=h;c[h+24>>2]=a;c[m>>2]=b;c[l>>2]=d;c[h+12>>2]=e;c[k>>2]=c[m>>2];c[f>>2]=c[l>>2];b=c[k>>2]|0;if((c[(c[k>>2]|0)+28>>2]|0)!=(c[(c[f>>2]|0)+28>>2]|0))c[g>>2]=((c[c[b+28>>2]>>2]|0)>>>4)-((c[c[(c[f>>2]|0)+28>>2]>>2]|0)>>>4);else c[g>>2]=((c[b>>2]|0)>>>4)-((c[c[f>>2]>>2]|0)>>>4);if(!(c[g>>2]|0)){m=0;i=h;return m|0}m=(c[g>>2]|0)<0?-1:1;i=h;return m|0}function pB(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;l=n;c[g>>2]=a;c[h>>2]=b;c[k>>2]=e;if(FB(c[g>>2]|0)|0){if(((d[(c[g>>2]|0)+12>>0]|0)>>>2&1|0)!=0?(c[h>>2]|0)==(c[k>>2]|0):0){c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0};c[l>>2]=c[13054];c[l+4>>2]=c[13055];c[l>>2]=c[l>>2]&-4;a=c[g>>2]|0;e=c[h>>2]|0;b=c[k>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];if(sB(a,e,b,m)|0){c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0}}c[f>>2]=1;b=c[f>>2]|0;i=n;return b|0}function qB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;uB(c[f>>2]|0,c[e>>2]|0);i=d;return}function rB(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();g=k+28|0;n=k+24|0;l=k+20|0;p=k+16|0;q=k+12|0;m=k+8|0;h=k+4|0;o=k;c[g>>2]=a;c[n>>2]=b;c[l>>2]=e;c[p>>2]=f;uC(c[g>>2]|0,c[n>>2]|0,1)|0;uC(c[g>>2]|0,c[l>>2]|0,1)|0;c[q>>2]=iC(c[g>>2]|0,64)|0;c[m>>2]=(c[q>>2]|0)+32;c[h>>2]=c[q>>2];c[o>>2]=yB(c[g>>2]|0,2)|0;b=c[m>>2]|0;c[b>>2]=c[b>>2]&-4|3;b=c[h>>2]|0;c[b>>2]=c[b>>2]&-4|2;b=c[p>>2]|0;c[(c[h>>2]|0)+4>>2]=b;c[(c[m>>2]|0)+4>>2]=b;b=c[h>>2]|0;f=c[o>>2]&268435455;c[b>>2]=c[b>>2]&15|f<<4;b=c[m>>2]|0;c[b>>2]=c[b>>2]&15|(f&268435455)<<4;c[(c[m>>2]|0)+28>>2]=c[n>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];uB(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[g>>2]|0)+12>>0]|0)>>>6&1)){p=c[g>>2]|0;q=c[h>>2]|0;IC(p,q);q=c[h>>2]|0;i=k;return q|0}aD(c[h>>2]|0,c[13015]|0,16,0)|0;MA(c[g>>2]|0,c[h>>2]|0);p=c[g>>2]|0;q=c[h>>2]|0;IC(p,q);q=c[h>>2]|0;i=k;return q|0}function sB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();f=o+56|0;g=o+52|0;h=o+48|0;k=o+44|0;l=o+40|0;n=o+8|0;m=o;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;if((c[h>>2]|0)==0|(c[k>>2]|0)==0){c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0};c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+28>>2]=c[h>>2];c[m>>2]=dB(c[g>>2]|0,c[k>>2]|0)|0;if(c[m>>2]|0){fA(c[(c[g>>2]|0)+36>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;c[l>>2]=$b[c[c[(c[g>>2]|0)+36>>2]>>2]&63](c[(c[g>>2]|0)+36>>2]|0,n,4)|0;n=bA(c[(c[g>>2]|0)+36>>2]|0)|0;c[(c[m>>2]|0)+20>>2]=n}else c[l>>2]=0;c[f>>2]=c[l>>2];n=c[f>>2]|0;i=o;return n|0}function tB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+12|0;f=e+8|0;h=e+4|0;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;fA(c[g>>2]|0,c[c[f>>2]>>2]|0)|0;c[e>>2]=$b[c[c[g>>2]>>2]&63](c[g>>2]|0,c[h>>2]|0,2)|0;b=bA(c[g>>2]|0)|0;c[c[f>>2]>>2]=b;i=e;return}function uB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();d=n+32|0;e=n+24|0;f=n+20|0;m=n+16|0;g=n+12|0;k=n+8|0;h=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;c[k>>2]=(c[c[f>>2]>>2]&3|0)==2?a:a+-32|0;a=c[f>>2]|0;c[h>>2]=(c[c[f>>2]>>2]&3|0)==3?a:a+32|0;a=c[f>>2]|0;c[m>>2]=c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2];a=c[f>>2]|0;c[g>>2]=c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2];while(1){if(!(c[e>>2]|0)){d=5;break}o=c[e>>2]|0;b=c[m>>2]|0;a=c[g>>2]|0;p=c[f>>2]|0;c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];if(sB(o,b,a,d)|0){d=5;break}c[l>>2]=dB(c[e>>2]|0,c[m>>2]|0)|0;vB(c[(c[e>>2]|0)+32>>2]|0,(c[l>>2]|0)+32|0,c[k>>2]|0);vB(c[(c[e>>2]|0)+36>>2]|0,(c[l>>2]|0)+24|0,c[k>>2]|0);c[l>>2]=dB(c[e>>2]|0,c[g>>2]|0)|0;vB(c[(c[e>>2]|0)+32>>2]|0,(c[l>>2]|0)+28|0,c[h>>2]|0);vB(c[(c[e>>2]|0)+36>>2]|0,(c[l>>2]|0)+20|0,c[h>>2]|0);c[e>>2]=xD(c[e>>2]|0)|0}if((d|0)==5){i=n;return}}function vB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;fA(c[g>>2]|0,c[c[f>>2]>>2]|0)|0;$b[c[c[g>>2]>>2]&63](c[g>>2]|0,c[h>>2]|0,1)|0;b=bA(c[g>>2]|0)|0;c[c[f>>2]>>2]=b;i=e;return}function wB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();k=h+16|0;l=h+12|0;f=h+8|0;m=h+4|0;g=h;c[k>>2]=b;c[l>>2]=e;c[m>>2]=HB(c[l>>2]|0)|0;c[f>>2]=gc[c[(c[c[m>>2]>>2]|0)+4>>2]&127](c[(c[m>>2]|0)+12>>2]|0,56)|0;b=c[f>>2]|0;c[b>>2]=c[b>>2]&-4;c[(c[f>>2]|0)+52>>2]=c[m>>2];c[(c[f>>2]|0)+12>>2]=c[d>>2];b=(c[f>>2]|0)+12|0;a[b>>0]=a[b>>0]&-9|8;c[(c[f>>2]|0)+48>>2]=c[f>>2];b=gc[c[c[(c[(c[f>>2]|0)+52>>2]|0)+4>>2]>>2]&127](c[f>>2]|0,c[l>>2]|0)|0;c[(c[(c[f>>2]|0)+52>>2]|0)+12+4>>2]=b;if(!(JB(c[f>>2]|0,0,c[k>>2]|0,g,1)|0)){l=c[f>>2]|0;l=xB(l)|0;c[f>>2]=l;l=c[f>>2]|0;m=c[f>>2]|0;NB(l,0,m);m=c[f>>2]|0;i=h;return m|0}c[(c[f>>2]|0)+4>>2]=c[g>>2];l=c[f>>2]|0;l=xB(l)|0;c[f>>2]=l;l=c[f>>2]|0;m=c[f>>2]|0;NB(l,0,m);m=c[f>>2]|0;i=h;return m|0}function xB(a){a=a|0;var b=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+4|0;e=f;c[b>>2]=a;a=DD(c[b>>2]|0,52476,c[12993]|0)|0;c[(c[b>>2]|0)+24>>2]=a;a=DD(c[b>>2]|0,52440,c[12993]|0)|0;c[(c[b>>2]|0)+28>>2]=a;a=c[b>>2]|0;g=c[b>>2]|0;g=(g|0)==(HC(c[b>>2]|0)|0);g=DD(a,g?52072:52108,c[12993]|0)|0;c[(c[b>>2]|0)+32>>2]=g;g=c[b>>2]|0;a=c[b>>2]|0;a=(a|0)==(HC(c[b>>2]|0)|0);a=DD(g,a?52144:52180,c[12993]|0)|0;c[(c[b>>2]|0)+36>>2]=a;a=DD(c[b>>2]|0,52224,c[12993]|0)|0;c[(c[b>>2]|0)+40>>2]=a;c[e>>2]=xD(c[b>>2]|0)|0;if(c[e>>2]|0){a=yB(c[e>>2]|0,0)|0;g=c[b>>2]|0;c[g>>2]=c[g>>2]&15|(a&268435455)<<4;$b[c[c[(c[e>>2]|0)+40>>2]>>2]&63](c[(c[e>>2]|0)+40>>2]|0,c[b>>2]|0,1)|0}if((c[e>>2]|0)!=0?((d[(c[e>>2]|0)+12>>0]|0)>>>6&1|0)==0:0){e=c[b>>2]|0;g=c[b>>2]|0;IC(e,g);g=c[b>>2]|0;i=f;return g|0}IA(c[b>>2]|0);e=c[b>>2]|0;g=c[b>>2]|0;IC(e,g);g=c[b>>2]|0;i=f;return g|0}function yB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=(c[(c[f>>2]|0)+52>>2]|0)+24+(c[e>>2]<<2)|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;i=d;return b|0}function zB(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();k=p+36|0;l=p+32|0;e=p+28|0;b=p+24|0;h=p+20|0;f=p+16|0;g=p+12|0;o=p+8|0;n=p+4|0;m=p;c[l>>2]=a;c[h>>2]=xD(c[l>>2]|0)|0;if((c[h>>2]|0)==0?(c[(c[c[(c[l>>2]|0)+52>>2]>>2]|0)+16>>2]|0)!=0:0){MC(c[l>>2]|0,c[l>>2]|0);LB(c[l>>2]|0,0,c[(c[l>>2]|0)+4>>2]|0);Vb[c[(c[c[(c[l>>2]|0)+52>>2]>>2]|0)+16>>2]&127](c[(c[(c[l>>2]|0)+52>>2]|0)+12>>2]|0);c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}c[e>>2]=vD(c[l>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[b>>2]=wD(c[e>>2]|0)|0;zB(c[e>>2]|0)|0;c[e>>2]=c[b>>2]}c[f>>2]=pC(c[l>>2]|0)|0;while(1){a=c[l>>2]|0;if(!(c[f>>2]|0))break;c[g>>2]=qC(a,c[f>>2]|0)|0;xC(c[l>>2]|0,c[f>>2]|0)|0;c[f>>2]=c[g>>2]}_B(a);MC(c[l>>2]|0,c[l>>2]|0);if(FD(c[l>>2]|0,c[(c[l>>2]|0)+28>>2]|0)|0){c[k>>2]=-1;o=c[k>>2]|0;i=p;return o|0}if(FD(c[l>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0){c[k>>2]=-1;o=c[k>>2]|0;i=p;return o|0}if(FD(c[l>>2]|0,c[(c[l>>2]|0)+36>>2]|0)|0){c[k>>2]=-1;o=c[k>>2]|0;i=p;return o|0}if(FD(c[l>>2]|0,c[(c[l>>2]|0)+32>>2]|0)|0){c[k>>2]=-1;o=c[k>>2]|0;i=p;return o|0}if(FD(c[l>>2]|0,c[(c[l>>2]|0)+40>>2]|0)|0){c[k>>2]=-1;o=c[k>>2]|0;i=p;return o|0}if(((d[(c[l>>2]|0)+12>>0]|0)>>>6&1|0)!=0?(JA(c[l>>2]|0)|0)!=0:0){c[k>>2]=-1;o=c[k>>2]|0;i=p;return o|0}eD(c[l>>2]|0);LB(c[l>>2]|0,0,c[(c[l>>2]|0)+4>>2]|0);do if(c[h>>2]|0){yD(c[h>>2]|0,c[l>>2]|0)|0;jC(c[h>>2]|0,c[l>>2]|0)}else{while(1){a=c[l>>2]|0;if(!(c[(c[(c[l>>2]|0)+52>>2]|0)+36>>2]|0))break;PC(a,c[c[(c[(c[l>>2]|0)+52>>2]|0)+36>>2]>>2]|0)|0}Vb[c[(c[(c[a+52>>2]|0)+4>>2]|0)+20>>2]&127](c[(c[(c[l>>2]|0)+52>>2]|0)+12+4>>2]|0);if(!(kD(c[l>>2]|0)|0)){c[o>>2]=c[c[(c[l>>2]|0)+52>>2]>>2];c[n>>2]=c[(c[(c[l>>2]|0)+52>>2]|0)+12>>2];c[m>>2]=c[(c[l>>2]|0)+52>>2];Xb[c[(c[o>>2]|0)+12>>2]&31](c[n>>2]|0,c[l>>2]|0);Xb[c[(c[o>>2]|0)+12>>2]&31](c[n>>2]|0,c[m>>2]|0);break}c[k>>2]=-1;o=c[k>>2]|0;i=p;return o|0}while(0);c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}function AB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=gA(c[(c[d>>2]|0)+28>>2]|0)|0;i=b;return a|0}function BB(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;a=CB(c[b>>2]|0,c[d>>2]|0,0,1)|0;c[e>>2]=(c[e>>2]|0)+a;c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}i=f;return c[e>>2]|0}function CB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+20|0;n=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[n>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=0;c[l>>2]=dB(c[f>>2]|0,c[n>>2]|0)|0;if(!(c[l>>2]|0)){n=c[k>>2]|0;i=m;return n|0}if(c[h>>2]|0){n=IB(c[(c[f>>2]|0)+32>>2]|0,(c[l>>2]|0)+32|0)|0;c[k>>2]=(c[k>>2]|0)+n}if(!(c[g>>2]|0)){n=c[k>>2]|0;i=m;return n|0}n=IB(c[(c[f>>2]|0)+32>>2]|0,(c[l>>2]|0)+28|0)|0;c[k>>2]=(c[k>>2]|0)+n;n=c[k>>2]|0;i=m;return n|0}function DB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=b;i=d;return a[(c[e>>2]|0)+12>>0]&1|0}function EB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=((DB(c[d>>2]|0)|0)!=0^1)&1;i=b;return a|0}function FB(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b;c[e>>2]=a;i=b;return (d[(c[e>>2]|0)+12>>0]|0)>>>1&1|0}function GB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();m=g+20|0;l=g+16|0;f=g+8|0;k=g+4|0;h=g;c[g+24>>2]=a;c[m>>2]=b;c[l>>2]=d;c[g+12>>2]=e;c[k>>2]=c[m>>2];c[h>>2]=c[l>>2];c[f>>2]=(c[(c[k>>2]|0)+4>>2]|0)-(c[(c[h>>2]|0)+4>>2]|0);if(!(c[f>>2]|0)){m=0;i=g;return m|0}m=(c[f>>2]|0)<0?-1:1;i=g;return m|0}function HB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+12|0;e=h+8|0;d=h+4|0;g=h;c[f>>2]=b;if((c[f>>2]|0)!=0?(c[c[f>>2]>>2]|0)!=0:0)b=c[c[f>>2]>>2]|0;else b=52420;c[e>>2]=b;c[d>>2]=Zb[c[c[e>>2]>>2]&63](c[f>>2]|0)|0;c[g>>2]=gc[c[(c[e>>2]|0)+4>>2]&127](c[d>>2]|0,68)|0;c[c[g>>2]>>2]=c[e>>2];c[(c[g>>2]|0)+12>>2]=c[d>>2];if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)b=c[(c[f>>2]|0)+4>>2]|0;else b=52292;c[(c[g>>2]|0)+4>>2]=b;if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+8>>2]|0)!=0:0)b=c[(c[f>>2]|0)+8>>2]|0;else b=52396;c[(c[g>>2]|0)+8>>2]=b;a[(c[g>>2]|0)+40>>0]=1;i=h;return c[g>>2]|0}function IB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;fA(c[g>>2]|0,c[c[f>>2]>>2]|0)|0;c[e>>2]=gA(c[g>>2]|0)|0;b=bA(c[g>>2]|0)|0;c[c[f>>2]>>2]=b;i=d;return c[e>>2]|0}function JB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();h=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if(((c[m>>2]|0)!=0?(a[c[m>>2]>>0]|0)!=37:0)?(c[p>>2]=_b[c[(c[(c[(c[k>>2]|0)+52>>2]|0)+4>>2]|0)+4>>2]&63](c[(c[(c[k>>2]|0)+52>>2]|0)+12+4>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[p>>2]|0)!=0):0){c[h>>2]=c[p>>2];e=c[h>>2]|0;i=q;return e|0}if(c[m>>2]|0){c[p>>2]=VB(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[p>>2]|0){c[h>>2]=c[p>>2];e=c[h>>2]|0;i=q;return e|0}}else c[p>>2]=0;if((c[o>>2]|0)!=0?(c[p>>2]=_b[c[(c[(c[(c[k>>2]|0)+52>>2]|0)+4>>2]|0)+4>>2]&63](c[(c[(c[k>>2]|0)+52>>2]|0)+12+4>>2]|0,c[l>>2]|0,0,c[n>>2]|0,c[o>>2]|0)|0,(c[p>>2]|0)!=0&(c[m>>2]|0)!=0):0)WB(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[c[n>>2]>>2]|0);c[h>>2]=c[p>>2];e=c[h>>2]|0;i=q;return e|0}function KB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=$b[c[(c[(c[(c[h>>2]|0)+52>>2]|0)+4>>2]|0)+8>>2]&63](c[(c[(c[h>>2]|0)+52>>2]|0)+12+4>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function LB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;YB(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;lc[c[(c[(c[(c[h>>2]|0)+52>>2]|0)+4>>2]|0)+12>>2]&127](c[(c[(c[h>>2]|0)+52>>2]|0)+12+4>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function MB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();g=h;b=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=GC(c[d>>2]|0)|0;a=XB(c[e>>2]|0,c[c[d>>2]>>2]&3,c[(c[d>>2]|0)+4>>2]|0)|0;c[f>>2]=a;if(a){c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}if((c[(c[(c[(c[e>>2]|0)+52>>2]|0)+4>>2]|0)+16>>2]|0)!=0?(a=$b[c[(c[(c[(c[e>>2]|0)+52>>2]|0)+4>>2]|0)+16>>2]&63](c[(c[(c[e>>2]|0)+52>>2]|0)+12+4>>2]|0,c[c[d>>2]>>2]&3,c[(c[d>>2]|0)+4>>2]|0)|0,c[f>>2]=a,(a|0)!=0):0){c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}if((c[c[d>>2]>>2]&3|0)!=2){a=c[(c[d>>2]|0)+4>>2]|0;c[g>>2]=37;c[g+4>>2]=a;D3(134095,134127,g)|0;c[f>>2]=134095}else c[f>>2]=0;c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function NB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;lc[c[(c[(c[(c[h>>2]|0)+52>>2]|0)+4>>2]|0)+24>>2]&127](c[(c[(c[h>>2]|0)+52>>2]|0)+12+4>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function OB(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;c[e>>2]=a;c[d>>2]=b;i=d;return c[e>>2]|0}function PB(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,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+24|0;k=o+16|0;l=o+12|0;m=o+8|0;n=o+4|0;h=o;c[g>>2]=a;c[o+20>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(!(c[k>>2]|0)){c[c[l>>2]>>2]=c[13080];c[13080]=(c[13080]|0)+2;i=o;return 1}c[h>>2]=c[g>>2];g=c[h>>2]|0;f=c[k>>2]|0;if(c[m>>2]|0)c[n>>2]=mD(g,f)|0;else c[n>>2]=lD(g,f)|0;c[c[l>>2]>>2]=c[n>>2];i=o;return 1}function QB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;i=e;return 0}function RB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=d;if(((c[f>>2]|0)>>>0)%2|0){i=g;return}oD(c[e>>2]|0,c[f>>2]|0)|0;i=g;return}function SB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+12|0;f=g;c[g+8>>2]=a;c[g+4>>2]=b;c[f>>2]=d;if(!(((c[f>>2]|0)>>>0)%2|0)){c[e>>2]=c[f>>2];a=c[e>>2]|0;i=g;return a|0}else{c[e>>2]=0;a=c[e>>2]|0;i=g;return a|0}return 0}function TB(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;i=b;return}function UB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;i=e;return}function VB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();f=q+56|0;g=q+52|0;h=q+48|0;k=q+44|0;l=q+40|0;m=q+36|0;o=q+32|0;p=q+8|0;n=q;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[h>>2]|0)==3)c[h>>2]=2;d=c[(c[(c[g>>2]|0)+52>>2]|0)+44+(c[h>>2]<<2)>>2]|0;c[m>>2]=d;if(((d|0)!=0?(d=lD(c[g>>2]|0,c[k>>2]|0)|0,c[n>>2]=d,(d|0)!=0):0)?(c[p+20>>2]=c[n>>2],c[o>>2]=$b[c[c[m>>2]>>2]&63](c[m>>2]|0,p,4)|0,(c[o>>2]|0)!=0):0){c[c[l>>2]>>2]=c[(c[o>>2]|0)+16>>2];c[f>>2]=1;p=c[f>>2]|0;i=q;return p|0}c[f>>2]=0;p=c[f>>2]|0;i=q;return p|0}function WB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+24|0;g=m+20|0;n=m+16|0;o=m+12|0;l=m+8|0;k=m+4|0;h=m;c[f>>2]=a;c[g>>2]=b;c[n>>2]=d;c[o>>2]=e;c[l>>2]=iC(c[f>>2]|0,24)|0;c[(c[l>>2]|0)+16>>2]=c[o>>2];d=mD(c[f>>2]|0,c[n>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=d;if((c[g>>2]|0)==3)c[g>>2]=2;o=c[(c[(c[f>>2]|0)+52>>2]|0)+44+(c[g>>2]<<2)>>2]|0;c[k>>2]=o;if(!o){o=DD(c[f>>2]|0,52324,c[12993]|0)|0;c[(c[(c[f>>2]|0)+52>>2]|0)+44+(c[g>>2]<<2)>>2]=o;c[k>>2]=o}o=c[(c[(c[f>>2]|0)+52>>2]|0)+56+(c[g>>2]<<2)>>2]|0;c[h>>2]=o;if(o){o=c[k>>2]|0;o=c[o>>2]|0;n=c[k>>2]|0;d=c[l>>2]|0;$b[o&63](n,d,1)|0;d=c[h>>2]|0;d=c[d>>2]|0;n=c[h>>2]|0;o=c[l>>2]|0;$b[d&63](n,o,1)|0;i=m;return}o=DD(c[f>>2]|0,52360,c[12993]|0)|0;c[(c[(c[f>>2]|0)+52>>2]|0)+56+(c[g>>2]<<2)>>2]=o;c[h>>2]=o;o=c[k>>2]|0;o=c[o>>2]|0;n=c[k>>2]|0;d=c[l>>2]|0;$b[o&63](n,d,1)|0;d=c[h>>2]|0;d=c[d>>2]|0;n=c[h>>2]|0;o=c[l>>2]|0;$b[d&63](n,o,1)|0;i=m;return}function XB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();e=g+16|0;l=g+12|0;k=g+8|0;h=g+4|0;f=g;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;b=$B(c[l>>2]|0,c[k>>2]|0,c[h>>2]|0)|0;c[f>>2]=b;if(b){c[e>>2]=c[(c[f>>2]|0)+20>>2];l=c[e>>2]|0;i=g;return l|0}else{c[e>>2]=0;l=c[e>>2]|0;i=g;return l|0}return 0}function YB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==3)c[g>>2]=2;b=$B(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[k>>2]=b;if(b){$b[c[c[(c[(c[f>>2]|0)+52>>2]|0)+44+(c[g>>2]<<2)>>2]>>2]&63](c[(c[(c[f>>2]|0)+52>>2]|0)+44+(c[g>>2]<<2)>>2]|0,c[k>>2]|0,2)|0;$b[c[c[(c[(c[f>>2]|0)+52>>2]|0)+56+(c[g>>2]<<2)>>2]>>2]&63](c[(c[(c[f>>2]|0)+52>>2]|0)+56+(c[g>>2]<<2)>>2]|0,c[k>>2]|0,2)|0;oD(c[f>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;jC(c[f>>2]|0,c[k>>2]|0);c[e>>2]=1;b=c[e>>2]|0;i=l;return b|0}else{c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}return 0}function ZB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;e=k;c[d>>2]=b;c[13072]=c[d>>2];c[e>>2]=(c[(c[d>>2]|0)+52>>2]|0)+44;c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;a:do if(c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0){c[h>>2]=$b[c[c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]>>2]&63](c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0,0,128)|0;while(1){if(!(c[h>>2]|0))break a;c[g>>2]=$b[c[c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]>>2]&63](c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,8)|0;if((a[c[(c[h>>2]|0)+20>>2]>>0]|0)==37)YB(c[d>>2]|0,c[f>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;c[h>>2]=c[g>>2]}}while(0);c[f>>2]=(c[f>>2]|0)+1}i=k;return}function _B(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[13072]=c[d>>2];aC((c[(c[d>>2]|0)+52>>2]|0)+44|0);aC((c[(c[d>>2]|0)+52>>2]|0)+56|0);i=b;return}function $B(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();e=m+40|0;f=m+36|0;g=m+32|0;h=m+28|0;k=m+24|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)==3)c[f>>2]=2;b=c[(c[(c[e>>2]|0)+52>>2]|0)+56+(c[f>>2]<<2)>>2]|0;c[h>>2]=b;if(b){c[l+16>>2]=c[g>>2];c[k>>2]=$b[c[c[h>>2]>>2]&63](c[h>>2]|0,l,4)|0;b=c[k>>2]|0;i=m;return b|0}else{c[k>>2]=0;b=c[k>>2]|0;i=m;return b|0}return 0}function aC(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=3)break;if(c[(c[b>>2]|0)+(c[d>>2]<<2)>>2]|0){aA(c[(c[b>>2]|0)+(c[d>>2]<<2)>>2]|0)|0;c[(c[b>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}i=e;return}function bC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();l=f+16|0;k=f+12|0;h=f+4|0;g=f;c[f+20>>2]=a;c[l>>2]=b;c[k>>2]=d;c[f+8>>2]=e;c[h>>2]=c[l>>2];c[g>>2]=c[k>>2];i=f;return (c[(c[h>>2]|0)+16>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0)|0}function cC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();l=f+16|0;k=f+12|0;h=f+4|0;g=f;c[f+20>>2]=a;c[l>>2]=b;c[k>>2]=d;c[f+8>>2]=e;c[h>>2]=c[l>>2];c[g>>2]=c[k>>2];i=f;return (c[(c[h>>2]|0)+20>>2]|0)-(c[(c[g>>2]|0)+20>>2]|0)|0}function dC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;if((i|0)>=(j|0))ba();g=b+28|0;d=b+24|0;f=b+12|0;e=b;c[g>>2]=a;c[13103]=c[13100];c[13104]=c[13101];c[f>>2]=c[g>>2];c[f+4>>2]=e4(c[g>>2]|0)|0;c[f+8>>2]=0;c[e>>2]=52420;c[e+4>>2]=52292;c[e+8>>2]=52408;c[d>>2]=rE(f,e)|0;i=b;return c[d>>2]|0}function eC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+12|0;h=g+8|0;f=g+4|0;k=g;c[h>>2]=a;c[f>>2]=b;c[k>>2]=d;if(m3(c[f>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){c[e>>2]=e4(c[f>>2]|0)|0;k=c[e>>2]|0;i=g;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=g;return k|0}return 0}function fC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=r3(c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function gC(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=k3(c[d>>2]|0)|0;i=b;return a|0}function hC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();f=q+28|0;g=q+24|0;h=q+20|0;k=q+16|0;o=q+12|0;n=q+8|0;l=q+32|0;m=q+4|0;p=q;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if(!(c[k>>2]|0)){c[f>>2]=0;p=c[f>>2]|0;i=q;return p|0}c[p>>2]=c[g>>2];if((c[(c[p>>2]|0)+8>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0)){c[f>>2]=0;p=c[f>>2]|0;i=q;return p|0}c[m>>2]=0;c[o>>2]=(c[c[p>>2]>>2]|0)+(c[(c[p>>2]|0)+8>>2]|0);c[n>>2]=c[h>>2];b=c[o>>2]|0;c[o>>2]=b+1;a[l>>0]=a[b>>0]|0;do{e=a[l>>0]|0;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=e;c[m>>2]=(c[m>>2]|0)+1;if((a[l>>0]|0)==10)break;if((c[m>>2]|0)>=(c[k>>2]|0))break;b=c[o>>2]|0;c[o>>2]=b+1;b=a[b>>0]|0;a[l>>0]=b}while((b<<24>>24|0)!=0);p=(c[p>>2]|0)+8|0;c[p>>2]=(c[p>>2]|0)+(c[m>>2]|0);c[f>>2]=c[m>>2];p=c[f>>2]|0;i=q;return p|0}function iC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=gc[c[(c[c[(c[g>>2]|0)+52>>2]>>2]|0)+4>>2]&127](c[(c[(c[g>>2]|0)+52>>2]|0)+12>>2]|0,c[f>>2]|0)|0;if(c[d>>2]|0){g=c[d>>2]|0;i=e;return g|0}pA(1,134133,e)|0;g=c[d>>2]|0;i=e;return g|0}function jC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}Xb[c[(c[c[(c[d>>2]|0)+52>>2]>>2]|0)+12>>2]&31](c[(c[(c[d>>2]|0)+52>>2]|0)+12>>2]|0,c[e>>2]|0);i=f;return}function kC(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;i=b;return 0}function lC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[d+8>>2]=a;c[f>>2]=b;c[e>>2]=A1(c[f>>2]|0)|0;p5(c[e>>2]|0,0,c[f>>2]|0)|0;i=d;return c[e>>2]|0}function mC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();l=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=D1(c[l>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)>>>0<=(c[f>>2]|0)>>>0){l=c[h>>2]|0;i=k;return l|0}p5((c[h>>2]|0)+(c[f>>2]|0)|0,0,(c[g>>2]|0)-(c[f>>2]|0)|0)|0;l=c[h>>2]|0;i=k;return l|0}function nC(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[d+4>>2]=a;c[e>>2]=b;B1(c[e>>2]|0);i=d;return}function oC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[13129]=c[g>>2];c[13145]=52512;c[d>>2]=$b[c[c[(c[f>>2]|0)+28>>2]>>2]&63](c[(c[f>>2]|0)+28>>2]|0,52564,4)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+16>>2]|0;i=e;return g|0}function pC(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=$b[c[c[(c[e>>2]|0)+24>>2]>>2]&63](c[(c[e>>2]|0)+24>>2]|0,0,128)|0;if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+16>>2]|0;i=d;return e|0}function qC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=dB(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0)c[e>>2]=$b[c[c[(c[d>>2]|0)+24>>2]>>2]&63](c[(c[d>>2]|0)+24>>2]|0,c[e>>2]|0,8)|0;if(!(c[e>>2]|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+16>>2]|0;i=f;return g|0}function rC(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=$b[c[c[(c[e>>2]|0)+24>>2]>>2]&63](c[(c[e>>2]|0)+24>>2]|0,0,256)|0;if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+16>>2]|0;i=d;return e|0}function sC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=dB(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0)c[e>>2]=$b[c[c[(c[d>>2]|0)+24>>2]>>2]&63](c[(c[d>>2]|0)+24>>2]|0,c[e>>2]|0,16)|0;if(!(c[e>>2]|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+16>>2]|0;i=f;return g|0}function tC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+16|0;f=k+12|0;l=k+8|0;h=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=oC(c[e>>2]|0,c[f>>2]|0)|0;if(!((c[g>>2]|0)==0&(c[l>>2]|0)!=0)){l=c[g>>2]|0;i=k;return l|0}c[h>>2]=HC(c[e>>2]|0)|0;if((c[e>>2]|0)!=(c[h>>2]|0)?(l=oC(c[h>>2]|0,c[f>>2]|0)|0,c[g>>2]=l,(l|0)!=0):0){uC(c[e>>2]|0,c[g>>2]|0,1)|0;l=c[g>>2]|0;i=k;return l|0}if(KB(c[e>>2]|0,1,c[f>>2]|0)|0){h=c[e>>2]|0;l=c[f>>2]|0;c[g>>2]=AC(h,l,yB(c[e>>2]|0,1)|0)|0;BC(c[e>>2]|0,c[g>>2]|0);CC(c[e>>2]|0,c[g>>2]|0);l=c[g>>2]|0;i=k;return l|0}else{c[g>>2]=0;l=c[g>>2]|0;i=k;return l|0}return 0}function uC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=HC(c[f>>2]|0)|0;if((b|0)!=(c[(c[g>>2]|0)+12>>2]|0)){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=oC(c[f>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;if((c[k>>2]|0)==0&(c[h>>2]|0)!=0?(b=xD(c[f>>2]|0)|0,c[l>>2]=b,(b|0)!=0):0){c[k>>2]=uC(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;DC(c[f>>2]|0,c[k>>2]|0)}c[e>>2]=c[k>>2];l=c[e>>2]|0;i=m;return l|0}function vC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;m=n+8|0;l=n+4|0;k=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=HC(c[f>>2]|0)|0;if(JB(c[f>>2]|0,1,c[g>>2]|0,k,0)|0){b=oC(c[f>>2]|0,c[k>>2]|0)|0;c[l>>2]=b;if(b){c[e>>2]=c[l>>2];m=c[e>>2]|0;i=n;return m|0}if(((c[h>>2]|0)!=0?(c[f>>2]|0)!=(c[m>>2]|0):0)?(m=oC(c[m>>2]|0,c[k>>2]|0)|0,c[l>>2]=m,(m|0)!=0):0){c[e>>2]=uC(c[f>>2]|0,c[l>>2]|0,1)|0;m=c[e>>2]|0;i=n;return m|0}}if((c[h>>2]|0)!=0?(JB(c[f>>2]|0,1,c[g>>2]|0,k,1)|0)!=0:0){b=c[f>>2]|0;m=c[k>>2]|0;c[l>>2]=AC(b,m,yB(c[f>>2]|0,1)|0)|0;BC(c[f>>2]|0,c[l>>2]|0);CC(c[f>>2]|0,c[l>>2]|0);NB(c[f>>2]|0,1,c[l>>2]|0);c[e>>2]=c[l>>2];m=c[e>>2]|0;i=n;return m|0}c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}function wC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+16|0;f=k+12|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[k+8>>2]=d;c[13154]=c[f>>2];c[g>>2]=hB(c[e>>2]|0,c[f>>2]|0)|0;while(1){a=c[e>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=iB(a,c[g>>2]|0,c[f>>2]|0)|0;kB(c[e>>2]|0,c[g>>2]|0,0);c[g>>2]=c[h>>2]}$b[c[c[a+28>>2]>>2]&63](c[(c[e>>2]|0)+28>>2]|0,52600,2)|0;$b[c[c[(c[e>>2]|0)+24>>2]>>2]&63](c[(c[e>>2]|0)+24>>2]|0,52600,2)|0;i=k;return}function xC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;if(!(oC(c[f>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0)){c[e>>2]=-1;k=c[e>>2]|0;i=l;return k|0}b=c[f>>2]|0;if((b|0)==(HC(c[f>>2]|0)|0)){c[h>>2]=hB(c[f>>2]|0,c[g>>2]|0)|0;while(1){a=c[f>>2]|0;if(!(c[h>>2]|0))break;c[k>>2]=iB(a,c[h>>2]|0,c[g>>2]|0)|0;lB(c[f>>2]|0,c[h>>2]|0)|0;c[h>>2]=c[k>>2]}if((d[a+12>>0]|0)>>>6&1)LA(c[g>>2]|0);MC(c[f>>2]|0,c[g>>2]|0);eD(c[g>>2]|0);LB(c[f>>2]|0,1,c[(c[g>>2]|0)+4>>2]|0)}if(kE(c[f>>2]|0,c[g>>2]|0,56,0,0)|0){c[e>>2]=-1;k=c[e>>2]|0;i=l;return k|0}k=c[f>>2]|0;if((k|0)==(HC(c[f>>2]|0)|0))jC(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function yC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();m=g+20|0;l=g+16|0;f=g+8|0;k=g+4|0;h=g;c[g+24>>2]=a;c[m>>2]=b;c[l>>2]=d;c[g+12>>2]=e;c[k>>2]=c[m>>2];c[h>>2]=c[l>>2];c[f>>2]=(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)-(c[(c[(c[h>>2]|0)+16>>2]|0)+4>>2]|0);if(!(c[f>>2]|0)){m=0;i=g;return m|0}m=(c[f>>2]|0)<0?-1:1;i=g;return m|0}function zC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();m=g+20|0;l=g+16|0;k=g+8|0;h=g+4|0;f=g;c[g+24>>2]=a;c[m>>2]=b;c[l>>2]=d;c[g+12>>2]=e;c[k>>2]=c[m>>2];c[h>>2]=c[l>>2];c[f>>2]=((c[c[(c[k>>2]|0)+16>>2]>>2]|0)>>>4)-((c[c[(c[h>>2]|0)+16>>2]>>2]|0)>>>4);if(!(c[f>>2]|0)){m=0;i=g;return m|0}m=(c[f>>2]|0)<0?-1:1;i=g;return m|0}function AC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();h=g+12|0;l=g+8|0;k=g+4|0;f=g;c[h>>2]=a;c[l>>2]=b;c[k>>2]=e;c[f>>2]=iC(c[h>>2]|0,52)|0;e=c[f>>2]|0;c[e>>2]=c[e>>2]&-4|1;c[(c[f>>2]|0)+4>>2]=c[l>>2];e=c[f>>2]|0;c[e>>2]=c[e>>2]&15|(c[k>>2]&268435455)<<4;e=HC(c[h>>2]|0)|0;c[(c[f>>2]|0)+12>>2]=e;if(!((d[(HC(c[h>>2]|0)|0)+12>>0]|0)>>>6&1)){l=c[f>>2]|0;i=g;return l|0}aD(c[f>>2]|0,c[13015]|0,16,0)|0;l=c[f>>2]|0;i=g;return l|0}function BC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;DC(c[g>>2]|0,c[d>>2]|0);b=xD(c[g>>2]|0)|0;c[e>>2]=b;if(!b){i=f;return}BC(c[e>>2]|0,c[d>>2]|0);i=f;return}function CC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if((d[(HC(c[e>>2]|0)|0)+12>>0]|0)>>>6&1)KA(c[e>>2]|0,c[f>>2]|0);IC(c[e>>2]|0,c[f>>2]|0);i=g;return}function DC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;e=g+8|0;f=g+4|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=gA(c[(c[d>>2]|0)+28>>2]|0)|0;b=c[d>>2]|0;if((b|0)==(HC(c[d>>2]|0)|0))c[f>>2]=(c[e>>2]|0)+16;else c[f>>2]=iC(c[d>>2]|0,36)|0;c[(c[f>>2]|0)+16>>2]=c[e>>2];$b[c[c[(c[d>>2]|0)+28>>2]>>2]&63](c[(c[d>>2]|0)+28>>2]|0,c[f>>2]|0,1)|0;$b[c[c[(c[d>>2]|0)+24>>2]>>2]&63](c[(c[d>>2]|0)+24>>2]|0,c[f>>2]|0,1)|0;i=g;return}function EC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+4|0;c[f+8>>2]=a;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==((c[(c[e>>2]|0)+16>>2]|0)+16|0)){i=f;return}jC(c[(c[(c[e>>2]|0)+16>>2]|0)+12>>2]|0,c[e>>2]|0);i=f;return}function FC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();h=l+8|0;g=l;d=l+20|0;e=l+16|0;f=l+12|0;c[e>>2]=a;c[f>>2]=b;if((c[c[f>>2]>>2]&3|0)==0?(b=c[e>>2]|0,(b|0)!=(xD(c[f>>2]|0)|0)):0){pA(1,134159,g)|0;c[d>>2]=-1}else k=4;a:do if((k|0)==4)switch(c[c[f>>2]>>2]&3|0){case 1:{c[d>>2]=xC(c[e>>2]|0,c[f>>2]|0)|0;break a}case 2:case 3:{c[d>>2]=lB(c[e>>2]|0,c[f>>2]|0)|0;break a}case 0:{c[d>>2]=zB(c[f>>2]|0)|0;break a}default:{pA(1,134183,h)|0;c[d>>2]=0;break a}}while(0);i=l;return c[d>>2]|0}function GC(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+8|0;d=e+4|0;c[d>>2]=a;switch(c[c[d>>2]>>2]&3|0){case 2:case 3:{c[b>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+12>>2];break}case 1:{c[b>>2]=c[(c[d>>2]|0)+12>>2];break}case 0:{c[b>>2]=c[d>>2];break}default:{pA(1,134206,e)|0;c[b>>2]=0}}i=e;return c[b>>2]|0}function HC(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+8|0;d=e+4|0;c[d>>2]=a;switch(c[c[d>>2]>>2]&3|0){case 2:case 3:{c[b>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+12>>2];break}case 1:{c[b>>2]=c[(c[d>>2]|0)+12>>2];break}case 0:{c[b>>2]=c[(c[d>>2]|0)+48>>2];break}default:{pA(1,134228,e)|0;c[b>>2]=0}}i=e;return c[b>>2]|0}function IC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+4|0;g=f;c[e>>2]=b;c[g>>2]=d;d=c[e>>2]|0;b=c[g>>2]|0;if(a[(c[(c[e>>2]|0)+52>>2]|0)+40>>0]|0){JC(d,b,c[(c[(c[e>>2]|0)+52>>2]|0)+36>>2]|0);i=f;return}else{SC(d,b,100,0);i=f;return}}function JC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=k;return}JC(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[h>>2]=0;switch(c[c[f>>2]>>2]&3|0){case 0:{c[h>>2]=c[c[c[g>>2]>>2]>>2];break}case 1:{c[h>>2]=c[(c[c[g>>2]>>2]|0)+12>>2];break}case 2:{c[h>>2]=c[(c[c[g>>2]>>2]|0)+24>>2];break}default:{}}if(!(c[h>>2]|0)){i=k;return}lc[c[h>>2]&127](c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=k;return}function KC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+8|0;k=h+4|0;g=h;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;b=c[f>>2]|0;d=c[k>>2]|0;if(a[(c[(c[f>>2]|0)+52>>2]|0)+40>>0]|0){LC(b,d,c[g>>2]|0,c[(c[(c[f>>2]|0)+52>>2]|0)+36>>2]|0);i=h;return}else{SC(b,d,101,c[g>>2]|0);i=h;return}}function LC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if(!(c[k>>2]|0)){i=m;return}LC(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[(c[k>>2]|0)+8>>2]|0);c[l>>2]=0;switch(c[c[g>>2]>>2]&3|0){case 0:{c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];break}case 1:{c[l>>2]=c[(c[c[k>>2]>>2]|0)+12+4>>2];break}case 2:{c[l>>2]=c[(c[c[k>>2]>>2]|0)+24+4>>2];break}default:{}}if(!(c[l>>2]|0)){i=m;return}nc[c[l>>2]&31](c[f>>2]|0,c[g>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[h>>2]|0);i=m;return}function MC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+4|0;g=f;c[e>>2]=b;c[g>>2]=d;d=c[e>>2]|0;b=c[g>>2]|0;if(a[(c[(c[e>>2]|0)+52>>2]|0)+40>>0]|0){NC(d,b,c[(c[(c[e>>2]|0)+52>>2]|0)+36>>2]|0);i=f;return}else{SC(d,b,102,0);i=f;return}}function NC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=k;return}NC(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[h>>2]=0;switch(c[c[f>>2]>>2]&3|0){case 0:{c[h>>2]=c[(c[c[g>>2]>>2]|0)+8>>2];break}case 1:{c[h>>2]=c[(c[c[g>>2]>>2]|0)+12+8>>2];break}case 2:{c[h>>2]=c[(c[c[g>>2]>>2]|0)+24+8>>2];break}default:{}}if(!(c[h>>2]|0)){i=k;return}lc[c[h>>2]&127](c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=k;return}function OC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+12|0;k=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[g>>2]=iC(c[f>>2]|0,12)|0;c[c[g>>2]>>2]=c[k>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];c[(c[g>>2]|0)+8>>2]=c[(c[(c[f>>2]|0)+52>>2]|0)+36>>2];c[(c[(c[f>>2]|0)+52>>2]|0)+36>>2]=c[g>>2];i=e;return}function PC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[(c[e>>2]|0)+52>>2]|0)+36>>2];if(c[g>>2]|0){if((c[c[g>>2]>>2]|0)!=(c[f>>2]|0)){while(1){if(c[g>>2]|0)b=(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=(c[f>>2]|0);else b=0;a=c[g>>2]|0;if(!b)break;c[g>>2]=c[a+8>>2]}if((a|0)!=0?(c[(c[g>>2]|0)+8>>2]|0)!=0:0)c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]}else c[(c[(c[e>>2]|0)+52>>2]|0)+36>>2]=c[(c[g>>2]|0)+8>>2];if(c[g>>2]|0){jC(c[e>>2]|0,c[g>>2]|0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=-1;g=c[d>>2]|0;i=h;return g|0}function QC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;b=HC(c[d>>2]|0)|0;a:do if((b|0)!=(HC(c[e>>2]|0)|0))c[g>>2]=0;else switch(c[c[e>>2]>>2]&3|0){case 0:{c[f>>2]=c[e>>2];while(1){if((c[f>>2]|0)==(c[d>>2]|0)){d=6;break}b=xD(c[f>>2]|0)|0;c[f>>2]=b;if(!b){d=8;break}}if((d|0)==6){c[g>>2]=1;break a}else if((d|0)==8){c[g>>2]=0;break a}break}case 1:{c[g>>2]=(tC(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0)!=0&1;break a}default:{c[g>>2]=(mB(c[d>>2]|0,c[e>>2]|0,0)|0)!=0&1;break a}}while(0);i=h;return c[g>>2]|0}function RC(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[c[d>>2]>>2]&3|0}function SC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+28|0;g=n+24|0;o=n+20|0;h=n+16|0;m=n+12|0;k=n+8|0;l=n+4|0;c[f>>2]=a;c[g>>2]=b;c[o>>2]=d;c[h>>2]=e;c[m>>2]=aD(c[f>>2]|0,134251,44,0)|0;switch(c[o>>2]|0){case 100:{c[k>>2]=TC(c[m>>2]|0,c[g>>2]|0,100)|0;c[l>>2]=UC(c[k>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){i=n;return}c[l>>2]=VC(c[k>>2]|0,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=n;return}case 101:{if(UC(TC(c[m>>2]|0,c[g>>2]|0,100)|0,c[g>>2]|0)|0){i=n;return}if(UC(TC(c[m>>2]|0,c[g>>2]|0,102)|0,c[g>>2]|0)|0){i=n;return}c[k>>2]=TC(c[m>>2]|0,c[g>>2]|0,101)|0;c[l>>2]=UC(c[k>>2]|0,c[g>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=VC(c[k>>2]|0,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;WC(c[g>>2]|0,c[l>>2]|0,c[h>>2]|0);i=n;return}case 102:{XC(TC(c[m>>2]|0,c[g>>2]|0,100)|0,c[g>>2]|0);XC(TC(c[m>>2]|0,c[g>>2]|0,101)|0,c[g>>2]|0);c[k>>2]=TC(c[m>>2]|0,c[g>>2]|0,102)|0;c[l>>2]=UC(c[k>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){i=n;return}c[l>>2]=VC(c[k>>2]|0,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=n;return}default:{pA(1,134263,n)|0;i=n;return}}}function TC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[h>>2]=0;a:do switch(c[c[f>>2]>>2]&3|0){case 0:switch(c[g>>2]|0){case 100:{c[h>>2]=(c[e>>2]|0)+8;break a}case 101:{c[h>>2]=(c[e>>2]|0)+20;break a}case 102:{c[h>>2]=(c[e>>2]|0)+32;break a}default:break a}case 1:switch(c[g>>2]|0){case 100:{c[h>>2]=(c[e>>2]|0)+8+4;break a}case 101:{c[h>>2]=(c[e>>2]|0)+20+4;break a}case 102:{c[h>>2]=(c[e>>2]|0)+32+4;break a}default:break a}case 2:switch(c[g>>2]|0){case 100:{c[h>>2]=(c[e>>2]|0)+8+8;break a}case 101:{c[h>>2]=(c[e>>2]|0)+20+8;break a}case 102:{c[h>>2]=(c[e>>2]|0)+32+8;break a}default:break a}default:{}}while(0);if(!(c[h>>2]|0))pA(1,134297,k)|0;if(c[c[h>>2]>>2]|0){k=c[h>>2]|0;k=c[k>>2]|0;i=l;return k|0}k=GC(c[f>>2]|0)|0;k=DD(k,52636,c[12993]|0)|0;c[c[h>>2]>>2]=k;k=c[h>>2]|0;k=c[k>>2]|0;i=l;return k|0}function UC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+48|0;if((i|0)>=(j|0))ba();g=d+36|0;h=d+32|0;f=d+8|0;e=d;c[g>>2]=a;c[h>>2]=b;c[f+8>>2]=YC(c[h>>2]|0)|0;c[e>>2]=$b[c[c[g>>2]>>2]&63](c[g>>2]|0,f,4)|0;i=d;return c[e>>2]|0}function VC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+16|0;l=k+12|0;m=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[g>>2]=e;c[h>>2]=iC(GC(c[m>>2]|0)|0,24)|0;c[(c[h>>2]|0)+16>>2]=c[m>>2];e=YC(c[m>>2]|0)|0;c[(c[h>>2]|0)+8>>2]=e;c[(c[h>>2]|0)+12>>2]=c[l>>2];if(!(c[g>>2]|0)){e=c[f>>2]|0;e=c[e>>2]|0;l=c[f>>2]|0;m=c[h>>2]|0;$b[e&63](l,m,1)|0;m=c[h>>2]|0;i=k;return m|0}e=iC(c[(c[h>>2]|0)+12>>2]|0,8)|0;c[(c[h>>2]|0)+20>>2]=e;c[c[(c[h>>2]|0)+20>>2]>>2]=c[g>>2];e=c[f>>2]|0;e=c[e>>2]|0;l=c[f>>2]|0;m=c[h>>2]|0;$b[e&63](l,m,1)|0;m=c[h>>2]|0;i=k;return m|0}function WC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;l=m+8|0;h=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[l>>2]=c[(c[f>>2]|0)+20>>2];while(1){if(!(c[l>>2]|0)){b=9;break}if((c[c[l>>2]>>2]|0)==(c[g>>2]|0)){b=9;break}do if(!(c[l>>2]|0)){c[h>>2]=iC(GC(c[e>>2]|0)|0,8)|0;c[c[h>>2]>>2]=c[g>>2];b=c[h>>2]|0;if(c[k>>2]|0){c[(c[k>>2]|0)+4>>2]=b;break}else{c[(c[f>>2]|0)+20>>2]=b;break}}while(0);c[k>>2]=c[l>>2];c[l>>2]=c[(c[l>>2]|0)+4>>2]}if((b|0)==9){i=m;return}}function XC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;b=UC(c[d>>2]|0,c[g>>2]|0)|0;c[e>>2]=b;if(!b){i=f;return}$b[c[c[d>>2]>>2]&63](c[d>>2]|0,c[e>>2]|0,2)|0;i=f;return}function YC(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[(c[d>>2]|0)+4>>2]|0}function ZC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;f=e;c[e+12>>2]=a;c[g>>2]=b;c[e+4>>2]=d;c[f>>2]=c[g>>2];_C(c[f>>2]|0);jC(c[(c[f>>2]|0)+12>>2]|0,c[f>>2]|0);i=e;return}function _C(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+20>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];jC(c[(c[b>>2]|0)+12>>2]|0,c[d>>2]|0);c[d>>2]=c[e>>2]}i=f;return}function $C(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();m=o;p=o+24|0;f=o+20|0;g=o+16|0;l=o+12|0;h=o+8|0;k=o+4|0;c[p>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=c[p>>2];b=c[(c[l>>2]|0)+8>>2]|0;c[h>>2]=b;c[k>>2]=b;while(1){if(!(c[h>>2]|0))break;if((c[c[h>>2]>>2]|0)==(c[f>>2]|0))break;if((a[c[f>>2]>>0]|0)==(a[c[c[h>>2]>>2]>>0]|0)?(a4(c[f>>2]|0,c[c[h>>2]>>2]|0)|0)==0:0)break;c[h>>2]=c[(c[h>>2]|0)+4>>2];if((c[h>>2]|0)==(c[k>>2]|0)){n=7;break}}if((n|0)==7)c[h>>2]=0;if(!(c[h>>2]|0)){p=c[h>>2]|0;i=o;return p|0}if(!((c[c[l>>2]>>2]|0)>>>2&1)){if((c[h>>2]|0)==(c[k>>2]|0)?(c[g>>2]|0)==((c[c[l>>2]>>2]|0)>>>2&1|0):0){p=c[h>>2]|0;i=o;return p|0}fD(c[l>>2]|0,c[h>>2]|0,c[g>>2]|0);p=c[h>>2]|0;i=o;return p|0}if(!(c[g>>2]|0)){p=c[h>>2]|0;i=o;return p|0}if((c[(c[l>>2]|0)+8>>2]|0)==(c[h>>2]|0)){p=c[h>>2]|0;i=o;return p|0}pA(1,134322,m)|0;p=c[h>>2]|0;i=o;return p|0}function aD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[m>>2]=c[f>>2];c[l>>2]=GC(c[m>>2]|0)|0;c[n>>2]=$C(c[m>>2]|0,c[g>>2]|0,0)|0;a:do if((c[n>>2]|0)==0&(c[h>>2]|0)>>>0>0){c[n>>2]=iC(c[l>>2]|0,c[h>>2]|0)|0;d=mD(c[l>>2]|0,c[g>>2]|0)|0;c[c[n>>2]>>2]=d;switch(c[c[m>>2]>>2]&3|0){case 0:{gD(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);break a}case 1:{gD(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);break a}case 2:case 3:{gD(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);break a}default:break a}}while(0);if(!(c[k>>2]|0)){d=c[n>>2]|0;i=o;return d|0}$C(c[f>>2]|0,c[g>>2]|0,1)|0;d=c[n>>2]|0;i=o;return d|0}function bD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();d=h+20|0;l=h+16|0;k=h+12|0;f=h+8|0;g=h+4|0;e=h;c[l>>2]=a;c[k>>2]=b;c[f>>2]=c[l>>2];c[e>>2]=GC(c[f>>2]|0)|0;c[g>>2]=$C(c[f>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=-1;l=c[d>>2]|0;i=h;return l|0}hD(c[f>>2]|0,c[g>>2]|0);switch(c[c[f>>2]>>2]&3|0){case 0:{iD(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);break}case 2:case 3:case 1:{kE(HC(c[e>>2]|0)|0,c[f>>2]|0,57,c[g>>2]|0,0)|0;break}default:{}}oD(c[e>>2]|0,c[c[g>>2]>>2]|0)|0;jC(c[e>>2]|0,c[g>>2]|0);c[d>>2]=0;l=c[d>>2]|0;i=h;return l|0}function cD(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();g=s+36|0;h=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;o=s+16|0;n=s+12|0;r=s+8|0;p=s+4|0;q=s;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if((c[l>>2]|0)<0){c[q>>2]=1;c[p>>2]=0-(c[l>>2]|0)}else{c[q>>2]=0;c[p>>2]=c[l>>2]}switch(c[h>>2]|0){case 0:{aD(c[g>>2]|0,c[k>>2]|0,c[p>>2]|0,c[m>>2]|0)|0;if(!(c[q>>2]|0)){i=s;return}c[r>>2]=vD(c[g>>2]|0)|0;while(1){if(!(c[r>>2]|0))break;cD(c[r>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0);c[r>>2]=wD(c[r>>2]|0)|0}i=s;return}case 3:case 2:case 1:{c[o>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[o>>2]|0))break;a:do if((c[h>>2]|0)==1)aD(c[o>>2]|0,c[k>>2]|0,c[p>>2]|0,c[m>>2]|0)|0;else{c[n>>2]=cB(c[g>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[n>>2]|0))break a;aD(c[n>>2]|0,c[k>>2]|0,c[p>>2]|0,c[m>>2]|0)|0;c[n>>2]=eB(c[g>>2]|0,c[n>>2]|0)|0}}while(0);c[o>>2]=qC(c[g>>2]|0,c[o>>2]|0)|0}i=s;return}default:{i=s;return}}}function dD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;switch(c[f>>2]|0){case 0:{kE(c[e>>2]|0,c[e>>2]|0,58,c[g>>2]|0,1)|0;i=l;return}case 3:case 2:case 1:{c[k>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;a:do if((c[f>>2]|0)==1)bD(c[k>>2]|0,c[g>>2]|0)|0;else{c[h>>2]=cB(c[e>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;bD(c[h>>2]|0,c[g>>2]|0)|0;c[h>>2]=eB(c[e>>2]|0,c[h>>2]|0)|0}}while(0);c[k>>2]=qC(c[e>>2]|0,c[k>>2]|0)|0}i=l;return}default:{i=l;return}}}function eD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[d>>2]=GC(c[b>>2]|0)|0;a=c[(c[b>>2]|0)+8>>2]|0;c[f>>2]=a;if(!a){f=c[b>>2]|0;f=f+8|0;c[f>>2]=0;i=g;return}do{c[e>>2]=c[(c[f>>2]|0)+4>>2];oD(c[d>>2]|0,c[c[f>>2]>>2]|0)|0;jC(c[d>>2]|0,c[f>>2]|0);c[f>>2]=c[e>>2]}while((c[f>>2]|0)!=(c[(c[b>>2]|0)+8>>2]|0));f=c[b>>2]|0;f=f+8|0;c[f>>2]=0;i=g;return}function fD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[(c[e>>2]|0)+8>>2]=c[f>>2];a=c[e>>2]|0;c[a>>2]=c[a>>2]&-5|(c[g>>2]&1)<<2;if((c[c[e>>2]>>2]&3|0)!=3?(c[c[e>>2]>>2]&3|0)!=2:0){i=k;return}a=c[e>>2]|0;c[h>>2]=(c[c[e>>2]>>2]&3|0)==3?a+-32|0:a+32|0;c[(c[h>>2]|0)+8>>2]=c[f>>2];a=c[h>>2]|0;c[a>>2]=c[a>>2]&-5|(c[g>>2]&1)<<2;i=k;return}function gD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();e=h+12|0;k=h+8|0;f=h+4|0;g=h;c[h+16>>2]=a;c[e>>2]=b;c[k>>2]=d;c[g>>2]=c[k>>2];c[f>>2]=c[(c[e>>2]|0)+8>>2];do if(c[f>>2]|0)if((c[(c[f>>2]|0)+4>>2]|0)==(c[f>>2]|0)){c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=c[f>>2];break}else{c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2];break}else c[(c[g>>2]|0)+4>>2]=c[g>>2];while(0);if((c[c[e>>2]>>2]|0)>>>2&1){i=h;return}fD(c[e>>2]|0,c[g>>2]|0,0);i=h;return}function hD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if((c[(c[e>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[e>>2]=c[(c[e>>2]|0)+4>>2]}c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}function iD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();e=h+12|0;k=h+8|0;g=h+4|0;f=h;c[h+16>>2]=a;c[e>>2]=b;c[k>>2]=d;c[g>>2]=c[k>>2];if((c[(c[e>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){i=h;return}if((c[(c[g>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[f>>2]=0;else c[f>>2]=c[(c[g>>2]|0)+4>>2];fD(c[e>>2]|0,c[f>>2]|0,0);i=h;return}function jD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+4|0;f=e;c[e+8>>2]=a;c[g>>2]=b;c[f>>2]=d;bD(c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function kD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=c[d>>2]|0;a=FD(a,rD(c[d>>2]|0)|0)|0;i=b;return a|0}function lD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=rD(c[f>>2]|0)|0;b=sD(b,c[e>>2]|0)|0;i=d;return b|0}function mD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=rD(c[e>>2]|0)|0;c[g>>2]=tD(c[h>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+1}else{c[k>>2]=20+(e4(c[f>>2]|0)|0);if(c[e>>2]|0)c[g>>2]=iC(c[e>>2]|0,c[k>>2]|0)|0;else c[g>>2]=A1(c[k>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=1;b4((c[g>>2]|0)+16|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+12>>2]=(c[g>>2]|0)+16;$b[c[c[h>>2]>>2]&63](c[h>>2]|0,c[g>>2]|0,1)|0}c[d>>2]=c[(c[g>>2]|0)+12>>2];k=c[d>>2]|0;i=l;return k|0}function nD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=rD(c[e>>2]|0)|0;c[g>>2]=tD(c[h>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+1}else{c[k>>2]=20+(e4(c[f>>2]|0)|0);if(c[e>>2]|0)c[g>>2]=iC(c[e>>2]|0,c[k>>2]|0)|0;else c[g>>2]=A1(c[k>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=1|c[13168];b4((c[g>>2]|0)+16|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+12>>2]=(c[g>>2]|0)+16;$b[c[c[h>>2]>>2]&63](c[h>>2]|0,c[g>>2]|0,1)|0}c[d>>2]=c[(c[g>>2]|0)+12>>2];k=c[d>>2]|0;i=l;return k|0}function oD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=-1;h=c[d>>2]|0;i=k;return h|0}c[h>>2]=rD(c[e>>2]|0)|0;c[g>>2]=tD(c[h>>2]|0,c[f>>2]|0)|0;if(((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)==(c[f>>2]|0):0)?(b=(c[g>>2]|0)+8|0,c[b>>2]=(c[b>>2]|0)+-1,(((c[(c[g>>2]|0)+8>>2]|0)!=0?(c[13169]|0)!=0:0)&1|0)==0):0)ED(c[e>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[g>>2]|0)){c[d>>2]=-1;h=c[d>>2]|0;i=k;return h|0}else{c[d>>2]=0;h=c[d>>2]|0;i=k;return h|0}return 0}function pD(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[e>>2]=(c[d>>2]|0)+(0-16);c[b>>2]=c[(c[e>>2]|0)+8>>2]&c[13168];a=c[b>>2]|0;i=f;return a|0}return 0}function qD(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=(c[b>>2]|0)+(0-16);a=(c[d>>2]|0)+8|0;c[a>>2]=c[a>>2]|c[13168];i=e;return}function rD(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;if(c[b>>2]|0)c[d>>2]=(c[(c[b>>2]|0)+52>>2]|0)+20;else c[d>>2]=52680;if(c[c[d>>2]>>2]|0){a=c[d>>2]|0;a=c[a>>2]|0;i=e;return a|0}a=DD(c[b>>2]|0,52684,c[12993]|0)|0;c[c[d>>2]>>2]=a;c[13168]=-2147483648;c[13169]=~c[13168];a=c[d>>2]|0;a=c[a>>2]|0;i=e;return a|0}function sD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+12|0;h=f+8|0;g=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[e>>2]=tD(c[h>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){c[d>>2]=c[(c[e>>2]|0)+12>>2];h=c[d>>2]|0;i=f;return h|0}else{c[d>>2]=0;h=c[d>>2]|0;i=f;return h|0}return 0}function tD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();g=d+28|0;h=d+24|0;f=d+4|0;e=d;c[g>>2]=a;c[h>>2]=b;c[f+12>>2]=c[h>>2];c[e>>2]=$b[c[c[g>>2]>>2]&63](c[g>>2]|0,f,4)|0;i=d;return c[e>>2]|0}function uD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(((c[g>>2]|0)!=0?(JB(c[f>>2]|0,0,c[g>>2]|0,k,0)|0)!=0:0)?(b=zD(c[f>>2]|0,c[k>>2]|0)|0,c[l>>2]=b,(b|0)!=0):0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}if((c[h>>2]|0)!=0?(JB(c[f>>2]|0,0,c[g>>2]|0,k,1)|0)!=0:0){c[l>>2]=AD(c[f>>2]|0,c[k>>2]|0)|0;NB(c[f>>2]|0,0,c[l>>2]|0);c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function vD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=$b[c[c[(c[d>>2]|0)+40>>2]>>2]&63](c[(c[d>>2]|0)+40>>2]|0,0,128)|0;i=b;return a|0}function wD(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xD(c[b>>2]|0)|0;if(!(c[d>>2]|0)){a=0;i=e;return a|0}a=$b[c[c[(c[d>>2]|0)+40>>2]>>2]&63](c[(c[d>>2]|0)+40>>2]|0,c[b>>2]|0,8)|0;i=e;return a|0}function xD(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[(c[d>>2]|0)+44>>2]|0}function yD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=$b[c[c[(c[f>>2]|0)+40>>2]>>2]&63](c[(c[f>>2]|0)+40>>2]|0,c[e>>2]|0,2)|0;i=d;return b|0}function zD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+64|0;if((i|0)>=(j|0))ba();f=d+60|0;g=d+56|0;e=d;c[f>>2]=a;c[g>>2]=b;GD(c[f>>2]|0,c[(c[f>>2]|0)+40>>2]|0,52224);c[e+4>>2]=c[g>>2];b=$b[c[c[(c[f>>2]|0)+40>>2]>>2]&63](c[(c[f>>2]|0)+40>>2]|0,e,4)|0;i=d;return b|0}function AD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=zD(c[f>>2]|0,c[g>>2]|0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];h=c[e>>2]|0;i=k;return h|0}else{c[h>>2]=iC(c[f>>2]|0,56)|0;c[(c[h>>2]|0)+52>>2]=c[(c[f>>2]|0)+52>>2];c[(c[h>>2]|0)+12>>2]=c[(c[f>>2]|0)+12>>2];d=(c[h>>2]|0)+12|0;a[d>>0]=a[d>>0]&-9;c[(c[h>>2]|0)+44>>2]=c[f>>2];c[(c[h>>2]|0)+48>>2]=c[(c[f>>2]|0)+48>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[e>>2]=xB(c[h>>2]|0)|0;h=c[e>>2]|0;i=k;return h|0}return 0}function BD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+12|0;k=l+8|0;f=l;c[l+16>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l+4>>2]=e;c[f>>2]=c[13180];a=(c[h>>2]|0)!=0;do if(c[f>>2]|0){e=c[f>>2]|0;if(a){jC(e,c[h>>2]|0);break}c[g>>2]=iC(e,c[k>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}else{if(a){B1(c[h>>2]|0);break}c[g>>2]=A1(c[k>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}while(0);c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}function CD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+8|0;f=g;c[g+12>>2]=a;c[e>>2]=b;c[g+4>>2]=d;c[f>>2]=c[13180];if(c[f>>2]|0){jC(c[f>>2]|0,c[e>>2]|0);i=g;return}else{B1(c[e>>2]|0);i=g;return}}function DD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();l=e+16|0;g=e+12|0;k=e+8|0;h=e+4|0;f=e;c[l>>2]=a;c[g>>2]=b;c[k>>2]=d;c[h>>2]=c[(c[g>>2]|0)+28>>2];c[(c[g>>2]|0)+28>>2]=7;c[13180]=c[l>>2];c[f>>2]=eA(c[g>>2]|0,c[k>>2]|0)|0;c[(c[g>>2]|0)+28>>2]=c[h>>2];c[13180]=0;i=e;return c[f>>2]|0}function ED(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[13180]=c[h>>2];d=$b[c[c[g>>2]>>2]&63](c[g>>2]|0,c[f>>2]|0,2)|0;i=e;return d|0}function FD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();d=g+16|0;k=g+12|0;h=g+8|0;f=g+4|0;e=g;c[k>>2]=a;c[h>>2]=b;c[e>>2]=mA(c[h>>2]|0,0,0)|0;c[f>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=7;c[13180]=c[k>>2];if(aA(c[h>>2]|0)|0){c[d>>2]=1;k=c[d>>2]|0;i=g;return k|0}else{c[(c[e>>2]|0)+28>>2]=c[f>>2];c[13180]=0;c[d>>2]=0;k=c[d>>2]|0;i=g;return k|0}return 0}function GD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=d;if(!(c[f>>2]|0)){i=g;return}a=mA(c[e>>2]|0,0,0)|0;if((a|0)==(c[f>>2]|0)){i=g;return}mA(c[e>>2]|0,c[f>>2]|0,0)|0;i=g;return}function HD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e+8|0;h=e+4|0;g=e;c[h>>2]=a;c[g>>2]=b;f=(pD(c[h>>2]|0)|0)!=0;b=c[h>>2]|0;a=c[g>>2]|0;if(f){c[d>>2]=LD(b,a)|0;h=c[d>>2]|0;i=e;return h|0}else{c[d>>2]=MD(b,a)|0;h=c[d>>2]|0;i=e;return h|0}return 0}function ID(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=c[d>>2]|0;a=HD(a,ND(c[d>>2]|0)|0)|0;i=b;return a|0}function JD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=vD(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0)){d=7;break}if((OD(c[e>>2]|0)|0)==0?(uC(c[e>>2]|0,c[d>>2]|0,0)|0)!=0:0){d=5;break}c[e>>2]=wD(c[e>>2]|0)|0}if((d|0)==5){c[f>>2]=1;h=c[f>>2]|0;i=g;return h|0}else if((d|0)==7){c[f>>2]=0;h=c[f>>2]|0;i=g;return h|0}return 0}function KD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[13181]=0;d=OA(c[f>>2]|0,134355)|0;c[k>>2]=d;if(((d|0)!=0?(I1(a[c[k>>2]>>0]|0)|0)!=0:0)?(c[h>>2]=S3(c[k>>2]|0,0,10)|0,(c[h>>2]|0)==0|(c[h>>2]|0)>=60):0)c[13182]=c[h>>2];PD(c[f>>2]|0,1,0);if((QD(c[f>>2]|0,c[g>>2]|0,1)|0)==-1){c[e>>2]=-1;k=c[e>>2]|0;i=l;return k|0}if((RD(c[f>>2]|0,c[g>>2]|0)|0)==-1){c[e>>2]=-1;k=c[e>>2]|0;i=l;return k|0}if((SD(c[f>>2]|0,c[g>>2]|0)|0)==-1){c[e>>2]=-1;k=c[e>>2]|0;i=l;return k|0}else{c[13182]=128;c[e>>2]=Zb[c[(c[(c[(c[f>>2]|0)+52>>2]|0)+8>>2]|0)+8>>2]&63](c[g>>2]|0)|0;k=c[e>>2]|0;i=l;return k|0}return 0}function LD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();k=h+12|0;e=h+8|0;g=h+4|0;f=h;c[k>>2]=b;c[e>>2]=d;c[g>>2]=c[k>>2];c[f>>2]=c[e>>2];d=c[f>>2]|0;c[f>>2]=d+1;a[d>>0]=60;while(1){if(!(a[c[g>>2]>>0]|0))break;d=c[g>>2]|0;c[g>>2]=d+1;d=a[d>>0]|0;k=c[f>>2]|0;c[f>>2]=k+1;a[k>>0]=d}k=c[f>>2]|0;c[f>>2]=k+1;a[k>>0]=62;a[c[f>>2]>>0]=0;i=h;return c[e>>2]|0}function MD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();q=t+40|0;r=t+36|0;s=t+32|0;n=t+28|0;m=t+24|0;p=t+44|0;g=t+20|0;h=t+16|0;l=t+12|0;k=t+8|0;f=t+4|0;o=t;c[r>>2]=b;c[s>>2]=e;c[g>>2]=0;c[h>>2]=0;c[l>>2]=0;c[f>>2]=0;if((c[r>>2]|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){c[n>>2]=c[r>>2];c[m>>2]=c[s>>2];e=c[m>>2]|0;c[m>>2]=e+1;a[e>>0]=34;e=c[n>>2]|0;c[n>>2]=e+1;a[p>>0]=a[e>>0]|0;if((I1(d[p>>0]|0)|0)==0?(d[p>>0]|0)!=46:0)b=(d[p>>0]|0)==45;else b=1;c[k>>2]=b&1;a:while(1){if(!(a[p>>0]|0))break;do if((d[p>>0]|0)!=34){b=d[p>>0]|0;if(!(c[k>>2]|0)){if(E1(b)|0)break;if((d[p>>0]|0)==95)break;if(!(G1(d[p>>0]|0)|0))break;c[l>>2]=1;break}if((b|0)==45){if(!(c[g>>2]|0))break;c[k>>2]=0;c[l>>2]=1;break}if((d[p>>0]|0)==46){e=c[h>>2]|0;c[h>>2]=e+1;if(!e)break;c[k>>2]=0;c[l>>2]=1;break}else{if(I1(d[p>>0]|0)|0)break;c[k>>2]=0;c[l>>2]=1;break}}else{e=c[m>>2]|0;c[m>>2]=e+1;a[e>>0]=92;c[l>>2]=1}while(0);b=a[p>>0]|0;e=c[m>>2]|0;c[m>>2]=e+1;a[e>>0]=b;e=c[n>>2]|0;c[n>>2]=e+1;a[p>>0]=a[e>>0]|0;c[g>>2]=(c[g>>2]|0)+1;if(!(c[13182]|0))continue;do if((((((d[p>>0]|0)!=0&(c[f>>2]|0)!=0?(E1(a[(c[m>>2]|0)+-1>>0]|0)|0)==0:0)?(a[(c[m>>2]|0)+-1>>0]|0)!=46:0)?(a[(c[m>>2]|0)+-1>>0]|0)!=45:0)?(G1(a[(c[m>>2]|0)+-1>>0]|0)|0)!=0:0)?(a[(c[m>>2]|0)+-1>>0]|0)!=92:0){if((((E1(d[p>>0]|0)|0)==0?(d[p>>0]|0)!=46:0)?(d[p>>0]|0)!=45:0)?(G1(d[p>>0]|0)|0)!=0:0)break;e=c[m>>2]|0;c[m>>2]=e+1;a[e>>0]=92;e=c[m>>2]|0;c[m>>2]=e+1;a[e>>0]=10;c[l>>2]=1;c[f>>2]=0;c[g>>2]=0;continue a}while(0);if(!(d[p>>0]|0))continue;if((c[g>>2]|0)<(c[13182]|0))continue;b:do if(((((E1(a[(c[m>>2]|0)+-1>>0]|0)|0)==0?(a[(c[m>>2]|0)+-1>>0]|0)!=46:0)?(a[(c[m>>2]|0)+-1>>0]|0)!=45:0)?(G1(a[(c[m>>2]|0)+-1>>0]|0)|0)!=0:0)?(a[(c[m>>2]|0)+-1>>0]|0)!=92:0){do if((E1(d[p>>0]|0)|0)==0?(d[p>>0]|0)!=46:0){if((d[p>>0]|0)==45)break;if(G1(d[p>>0]|0)|0)break b}while(0);e=c[m>>2]|0;c[m>>2]=e+1;a[e>>0]=92;e=c[m>>2]|0;c[m>>2]=e+1;a[e>>0]=10;c[l>>2]=1;c[g>>2]=0;continue a}while(0);c[f>>2]=1}p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=34;a[c[m>>2]>>0]=0;do if(!(c[l>>2]|0)){if((c[g>>2]|0)==1){if((a[c[r>>2]>>0]|0)==46)break;if((a[c[r>>2]>>0]|0)==45)break}c[o>>2]=52748;while(1){if(!(c[c[o>>2]>>2]|0)){b=59;break}if(!(Y3(c[c[o>>2]>>2]|0,c[r>>2]|0)|0)){b=57;break}c[o>>2]=(c[o>>2]|0)+4}if((b|0)==57){c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}else if((b|0)==59){c[q>>2]=c[r>>2];s=c[q>>2]|0;i=t;return s|0}}while(0);c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}c[q>>2]=134418;s=c[q>>2]|0;i=t;return s|0}function ND(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;if((((e4(c[b>>2]|0)|0)<<1)+2|0)>>>0>1024)b=((e4(c[b>>2]|0)|0)<<1)+2|0;else b=1024;c[d>>2]=b;if((c[d>>2]|0)<=(c[13185]|0)){d=c[13186]|0;i=e;return d|0}if(c[13186]|0)c[13186]=D1(c[13186]|0,c[d>>2]|0)|0;else c[13186]=A1(c[d>>2]|0)|0;c[13185]=c[d>>2];d=c[13186]|0;i=e;return d|0}function OD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();d=n+32|0;e=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;k=n+12|0;l=n+8|0;f=n+4|0;o=n;c[e>>2]=b;c[o>>2]=MB(c[e>>2]|0)|0;if((c[o>>2]|0)!=0?(a[c[o>>2]>>0]|0)!=37:0){c[d>>2]=0;o=c[d>>2]|0;i=n;return o|0}o=FA(c[e>>2]|0)|0;c[m>>2]=o;a:do if((o|0)!=0?(o=FA(xD(c[e>>2]|0)|0)|0,c[k>>2]=o,(o|0)!=0):0){c[l>>2]=FA(HC(c[e>>2]|0)|0)|0;c[h>>2]=gA(c[(c[l>>2]|0)+8>>2]|0)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[h>>2]|0))break a;if(((c[(c[(c[m>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]|0)!=0?(c[(c[(c[k>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]|0)!=0:0)?(a4(c[(c[(c[m>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]|0)|0)!=0:0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=0;o=c[d>>2]|0;i=n;return o|0}while(0);c[f>>2]=zA(c[e>>2]|0,0)|0;if(!(c[f>>2]|0)){c[d>>2]=1;o=c[d>>2]|0;i=n;return o|0}if((gA(c[(c[f>>2]|0)+8>>2]|0)|0)<=0?(gA(c[(c[f>>2]|0)+8+4>>2]|0)|0)<=0:0){c[d>>2]=1;o=c[d>>2]|0;i=n;return o|0}c[d>>2]=0;o=c[d>>2]|0;i=n;return o|0}function PD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;l=m+8|0;k=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;d=c[e>>2]|0;c[d>>2]=c[d>>2]&-9|(c[g>>2]&1)<<3;c[l>>2]=vD(c[e>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;PD(c[l>>2]|0,0,c[g>>2]|0);c[l>>2]=wD(c[l>>2]|0)|0}if(!(c[f>>2]|0)){i=m;return}c[k>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;d=c[k>>2]|0;c[d>>2]=c[d>>2]&-9|(c[g>>2]&1)<<3;c[h>>2]=cB(c[e>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;d=c[h>>2]|0;c[d>>2]=c[d>>2]&-9|(c[g>>2]&1)<<3;c[h>>2]=eB(c[e>>2]|0,c[h>>2]|0)|0}c[k>>2]=qC(c[e>>2]|0,c[k>>2]|0)|0}i=m;return}function QD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();f=q+32|0;g=q+28|0;h=q+24|0;k=q+20|0;m=q+16|0;o=q+12|0;l=q+8|0;p=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[n>>2]=0;a[134399]=(c[c[g>>2]>>2]|0)>>>3&1;c[p>>2]=178598;if((c[k>>2]|0)==0?(xD(c[g>>2]|0)|0)!=0:0)c[l>>2]=147291;else{c[n>>2]=1;if(a[(c[g>>2]|0)+12>>0]&1)c[l>>2]=134400;else c[l>>2]=178598;if(FB(c[g>>2]|0)|0)c[p>>2]=134403;c[13183]=GA(c[g>>2]|0,2,149150,0)|0;c[13184]=GA(c[g>>2]|0,2,149141,0)|0}c[m>>2]=MB(c[g>>2]|0)|0;c[o>>2]=140312;if(!((c[m>>2]|0)!=0?(a[c[m>>2]>>0]|0)!=37:0)){c[m>>2]=178598;c[o>>2]=178598}if((TD(c[g>>2]|0,c[h>>2]|0)|0)==-1){c[f>>2]=-1;e=c[f>>2]|0;i=q;return e|0}if((UD(c[g>>2]|0,c[h>>2]|0,c[p>>2]|0)|0)==-1){c[f>>2]=-1;e=c[f>>2]|0;i=q;return e|0}if((c[n>>2]|0)!=0?1:(a[c[m>>2]>>0]|0)!=0){if((UD(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0)|0)==-1){c[f>>2]=-1;e=c[f>>2]|0;i=q;return e|0}if((UD(c[g>>2]|0,c[h>>2]|0,140305)|0)==-1){c[f>>2]=-1;e=c[f>>2]|0;i=q;return e|0}}if((a[c[m>>2]>>0]|0)!=0?(dE(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0)|0)==-1:0){c[f>>2]=-1;e=c[f>>2]|0;i=q;return e|0}if((UD(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0)|0)==-1){c[f>>2]=-1;e=c[f>>2]|0;i=q;return e|0}if((UD(c[g>>2]|0,c[h>>2]|0,134411)|0)==-1){c[f>>2]=-1;e=c[f>>2]|0;i=q;return e|0}c[13181]=(c[13181]|0)+1;if((iE(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0)==-1){c[f>>2]=-1;e=c[f>>2]|0;i=q;return e|0}else{e=c[g>>2]|0;c[e>>2]=c[e>>2]&-9|8;c[f>>2]=0;e=c[f>>2]|0;i=q;return e|0}return 0}function RD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m+24|0;d=m+20|0;e=m+16|0;h=m+12|0;k=m+8|0;g=m+4|0;f=m;c[d>>2]=a;c[e>>2]=b;if((VD(c[d>>2]|0,c[e>>2]|0)|0)==-1){c[l>>2]=-1;l=c[l>>2]|0;i=m;return l|0}c[f>>2]=zA(HC(c[d>>2]|0)|0,0)|0;c[h>>2]=pC(c[d>>2]|0)|0;a:while(1){if(!(c[h>>2]|0)){b=26;break}if(WD(c[d>>2]|0,c[h>>2]|0,(c[c[h>>2]>>2]|0)>>>4)|0){if(c[f>>2]|0)b=c[(c[f>>2]|0)+8>>2]|0;else b=0;if((XD(c[h>>2]|0,c[e>>2]|0,b)|0)==-1){b=9;break}}c[k>>2]=c[h>>2];c[g>>2]=cB(c[d>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;a=c[g>>2]|0;if((c[k>>2]|0)!=(c[((c[c[g>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)?(a=c[g>>2]|0,(WD(c[d>>2]|0,c[((c[c[g>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0,(c[c[h>>2]>>2]|0)>>>4)|0)!=0):0){b=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[f>>2]|0)+8>>2]|0;else a=0;if((XD(c[((c[c[g>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,c[e>>2]|0,a)|0)==-1){b=17;break a}a=c[g>>2]|0;c[k>>2]=c[((c[c[g>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]}if(YD(c[d>>2]|0,c[g>>2]|0)|0){if(c[f>>2]|0)b=c[(c[f>>2]|0)+8+4>>2]|0;else b=0;if((ZD(c[g>>2]|0,c[e>>2]|0,b)|0)==-1){b=23;break a}}c[g>>2]=eB(c[d>>2]|0,c[g>>2]|0)|0}c[h>>2]=qC(c[d>>2]|0,c[h>>2]|0)|0}if((b|0)==9){c[l>>2]=-1;l=c[l>>2]|0;i=m;return l|0}else if((b|0)==17){c[l>>2]=-1;l=c[l>>2]|0;i=m;return l|0}else if((b|0)==23){c[l>>2]=-1;l=c[l>>2]|0;i=m;return l|0}else if((b|0)==26){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}return 0}function SD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;c[13181]=(c[13181]|0)+-1;do if((TD(c[e>>2]|0,c[f>>2]|0)|0)!=-1)if((UD(c[e>>2]|0,c[f>>2]|0,148706)|0)==-1){c[d>>2]=-1;break}else{c[d>>2]=0;break}else c[d>>2]=-1;while(0);i=g;return c[d>>2]|0}function TD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[13181];while(1){if((c[f>>2]|0)<=0){d=6;break}if((UD(c[d>>2]|0,c[e>>2]|0,193470)|0)==-1){d=4;break}c[f>>2]=(c[f>>2]|0)+-1}if((d|0)==4){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==6){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function UD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=gc[c[(c[(c[(c[h>>2]|0)+52>>2]|0)+8>>2]|0)+4>>2]&127](c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function VD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=vD(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0)){b=12;break}h=(OD(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;a=c[d>>2]|0;if(!h){if((QD(b,a,0)|0)==-1){b=6;break}if((RD(c[e>>2]|0,c[d>>2]|0)|0)==-1){b=8;break}if((SD(c[e>>2]|0,c[d>>2]|0)|0)==-1){b=10;break}}else VD(b,a)|0;c[e>>2]=wD(c[e>>2]|0)|0}if((b|0)==6){c[f>>2]=-1;h=c[f>>2]|0;i=g;return h|0}else if((b|0)==8){c[f>>2]=-1;h=c[f>>2]|0;i=g;return h|0}else if((b|0)==10){c[f>>2]=-1;h=c[f>>2]|0;i=g;return h|0}else if((b|0)==12){c[f>>2]=0;h=c[f>>2]|0;i=g;return h|0}return 0}function WD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((JD(c[f>>2]|0,c[g>>2]|0)|0)==0?(fE(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)!=0:0){if((gE(c[f>>2]|0,c[g>>2]|0)|0)==0?(hE(c[f>>2]|0,c[g>>2]|0)|0)==0:0)break;c[e>>2]=1;d=c[e>>2]|0;i=k;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=k;return d|0}function XD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=GC(c[f>>2]|0)|0;if((TD(c[k>>2]|0,c[g>>2]|0)|0)==-1){c[e>>2]=-1;b=c[e>>2]|0;i=l;return b|0}if((_D(c[f>>2]|0,c[g>>2]|0)|0)==-1){c[e>>2]=-1;b=c[e>>2]|0;i=l;return b|0}if((aE(c[f>>2]|0)|0)==0?(bE(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)==-1:0){c[e>>2]=-1;b=c[e>>2]|0;i=l;return b|0}c[e>>2]=UD(c[k>>2]|0,c[g>>2]|0,134366)|0;b=c[e>>2]|0;i=l;return b|0}function YD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=vD(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0)){d=7;break}if((OD(c[e>>2]|0)|0)==0?(mB(c[e>>2]|0,c[d>>2]|0,0)|0)!=0:0){d=5;break}c[e>>2]=wD(c[e>>2]|0)|0}if((d|0)==5){c[f>>2]=0;h=c[f>>2]|0;i=g;return h|0}else if((d|0)==7){c[f>>2]=1;h=c[f>>2]|0;i=g;return h|0}return 0}function ZD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();h=n+24|0;e=n+20|0;k=n+16|0;l=n+12|0;g=n+8|0;f=n+4|0;m=n;c[e>>2]=a;c[k>>2]=b;c[l>>2]=d;b=c[e>>2]|0;c[g>>2]=c[((c[c[e>>2]>>2]&3|0)==3?b:b+32|0)+28>>2];b=c[e>>2]|0;c[f>>2]=c[((c[c[e>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2];c[m>>2]=GC(c[g>>2]|0)|0;do if((TD(c[m>>2]|0,c[k>>2]|0)|0)==-1)c[h>>2]=-1;else{if((_D(c[g>>2]|0,c[k>>2]|0)|0)==-1){c[h>>2]=-1;break}if(($D(c[e>>2]|0,c[k>>2]|0,c[13183]|0)|0)==-1){c[h>>2]=-1;break}a=c[m>>2]|0;b=c[k>>2]|0;g=(DB(GC(c[g>>2]|0)|0)|0)!=0;if((UD(a,b,g?138675:138680)|0)==-1){c[h>>2]=-1;break}if((_D(c[f>>2]|0,c[k>>2]|0)|0)==-1){c[h>>2]=-1;break}if(($D(c[e>>2]|0,c[k>>2]|0,c[13184]|0)|0)==-1){c[h>>2]=-1;break}g=(aE(c[e>>2]|0)|0)!=0;e=c[e>>2]|0;if(g){if((cE(e,c[k>>2]|0,1)|0)==-1){c[h>>2]=-1;break}}else if((bE(e,c[k>>2]|0,c[l>>2]|0)|0)==-1){c[h>>2]=-1;break}c[h>>2]=UD(c[m>>2]|0,c[k>>2]|0,134366)|0}while(0);i=n;return c[h>>2]|0}function _D(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m;d=m+20|0;e=m+16|0;f=m+12|0;k=m+8|0;g=m+24|0;h=m+4|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=MB(c[e>>2]|0)|0;c[h>>2]=GC(c[e>>2]|0)|0;if(c[k>>2]|0){if((dE(c[h>>2]|0,c[f>>2]|0,c[k>>2]|0)|0)==-1){c[d>>2]=-1;l=c[d>>2]|0;i=m;return l|0}}else{c[l>>2]=c[(c[e>>2]|0)+4>>2];D3(g,134386,l)|0;if((UD(c[h>>2]|0,c[f>>2]|0,g)|0)==-1){c[d>>2]=-1;l=c[d>>2]|0;i=m;return l|0}}c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}function $D(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o+20|0;h=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;a:do if(c[k>>2]|0){c[l>>2]=GC(c[g>>2]|0)|0;c[n>>2]=PA(c[g>>2]|0,c[k>>2]|0)|0;if(!(a[c[n>>2]>>0]|0)){c[f>>2]=0;break}if((UD(c[l>>2]|0,c[h>>2]|0,148978)|0)==-1){c[f>>2]=-1;break}do if(pD(c[n>>2]|0)|0){if((dE(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0)|0)==-1){c[f>>2]=-1;break a}}else{c[m>>2]=_3(c[n>>2]|0,58)|0;if(!(c[m>>2]|0)){if((eE(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0,0)|0)!=-1)break;c[f>>2]=-1;break a}a[c[m>>2]>>0]=0;if((eE(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0,0)|0)==-1){c[f>>2]=-1;break a}if((UD(c[l>>2]|0,c[h>>2]|0,148978)|0)==-1){c[f>>2]=-1;break a}if((eE(c[l>>2]|0,c[h>>2]|0,(c[m>>2]|0)+1|0,0)|0)==-1){c[f>>2]=-1;break a}else{a[c[m>>2]>>0]=58;break}}while(0);c[f>>2]=0}else c[f>>2]=0;while(0);i=o;return c[f>>2]|0}function aE(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return (c[c[d>>2]>>2]|0)>>>3&1|0}function bE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();g=q+32|0;h=q+28|0;k=q+24|0;l=q+20|0;n=q+16|0;p=q+12|0;o=q+8|0;m=q+4|0;e=q;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=0;if(!((c[c[h>>2]>>2]&3|0)!=3?(c[c[h>>2]>>2]&3|0)!=2:0))f=3;do if((f|0)==3){f=cE(c[h>>2]|0,c[k>>2]|0,0)|0;c[e>>2]=f;if((f|0)==-1){c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else{if(!(c[e>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1;break}}while(0);c[n>>2]=FA(c[h>>2]|0)|0;c[o>>2]=GC(c[h>>2]|0)|0;a:do if(c[n>>2]|0){c[p>>2]=$b[c[c[l>>2]>>2]&63](c[l>>2]|0,0,128)|0;while(1){if(!(c[p>>2]|0))break a;if((c[c[h>>2]>>2]&3|0)!=3?(c[c[h>>2]>>2]&3|0)!=2:0)f=16;else f=12;do if((f|0)==12){f=0;if((c[13183]|0)!=0?(c[(c[p>>2]|0)+16>>2]|0)==(c[(c[13183]|0)+16>>2]|0):0)break;if(!((c[13184]|0)!=0?(c[(c[p>>2]|0)+16>>2]|0)==(c[(c[13184]|0)+16>>2]|0):0))f=16}while(0);if((f|0)==16?(0,(c[(c[(c[n>>2]|0)+12>>2]|0)+(c[(c[p>>2]|0)+16>>2]<<2)>>2]|0)!=(c[(c[p>>2]|0)+12>>2]|0)):0){f=c[m>>2]|0;c[m>>2]=f+1;a=c[o>>2]|0;d=c[k>>2]|0;if(f){if((UD(a,d,134381)|0)==-1){f=24;break}if((TD(c[o>>2]|0,c[k>>2]|0)|0)==-1){f=26;break}}else{if((TD(a,d)|0)==-1){f=19;break}if((UD(c[o>>2]|0,c[k>>2]|0,134378)|0)==-1){f=21;break}c[13181]=(c[13181]|0)+1}if((dE(c[o>>2]|0,c[k>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)==-1){f=28;break}if((UD(c[o>>2]|0,c[k>>2]|0,134384)|0)==-1){f=30;break}if((dE(c[o>>2]|0,c[k>>2]|0,c[(c[(c[n>>2]|0)+12>>2]|0)+(c[(c[p>>2]|0)+16>>2]<<2)>>2]|0)|0)==-1){f=32;break}}c[p>>2]=$b[c[c[l>>2]>>2]&63](c[l>>2]|0,c[p>>2]|0,8)|0}if((f|0)==19){c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((f|0)==21){c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((f|0)==24){c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((f|0)==26){c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((f|0)==28){c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((f|0)==30){c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((f|0)==32){c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}}while(0);do if((c[m>>2]|0)>0){if((UD(c[o>>2]|0,c[k>>2]|0,134376)|0)!=-1){c[13181]=(c[13181]|0)+-1;break}c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}while(0);p=c[h>>2]|0;c[p>>2]=c[p>>2]&-9|8;c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}function cE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+24|0;o=n+20|0;g=n+16|0;h=n+12|0;m=n+8|0;l=n+4|0;k=n;c[o>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=MB(c[o>>2]|0)|0;c[k>>2]=GC(c[o>>2]|0)|0;if((c[l>>2]|0)!=0?(a[c[l>>2]>>0]|0)!=0:0){if((UD(c[k>>2]|0,c[g>>2]|0,134369)|0)==-1){c[f>>2]=-1;o=c[f>>2]|0;i=n;return o|0}if((dE(c[k>>2]|0,c[g>>2]|0,c[l>>2]|0)|0)==-1){c[f>>2]=-1;o=c[f>>2]|0;i=n;return o|0}if((c[h>>2]|0)!=0?(UD(c[k>>2]|0,c[g>>2]|0,134376)|0)==-1:0){c[f>>2]=-1;o=c[f>>2]|0;i=n;return o|0}c[m>>2]=1}else c[m>>2]=0;c[f>>2]=c[m>>2];o=c[f>>2]|0;i=n;return o|0}function dE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=eE(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;i=e;return d|0}function eE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k+12|0;g=k+8|0;h=k+4|0;l=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=e;e=c[h>>2]|0;if(c[l>>2]|0)c[h>>2]=ID(e)|0;else c[h>>2]=MD(e,ND(c[h>>2]|0)|0)|0;l=UD(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=k;return l|0}function fE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[c[f>>2]>>2]|0)>>>4>>>0<(c[g>>2]|0)>>>0){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}c[h>>2]=fB(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[h>>2]|0)){e=8;break}if((c[c[(c[h>>2]|0)+28>>2]>>2]|0)>>>4>>>0<(c[g>>2]|0)>>>0){e=6;break}c[h>>2]=gB(c[e>>2]|0,c[h>>2]|0)|0}if((e|0)==6){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((e|0)==8){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function gE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(fB(c[d>>2]|0,c[e>>2]|0)|0){b=0;b=b&1;i=f;return b|0}b=(cB(c[d>>2]|0,c[e>>2]|0)|0)==0;b=b&1;i=f;return b|0}function hE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();d=g+16|0;h=g+8|0;e=g+4|0;f=g;c[g+12>>2]=a;c[h>>2]=b;b=FA(c[h>>2]|0)|0;c[e>>2]=b;a:do if(b){c[f>>2]=$b[c[c[(c[e>>2]|0)+8>>2]>>2]&63](c[(c[e>>2]|0)+8>>2]|0,0,128)|0;while(1){if(!(c[f>>2]|0))break a;if((c[(c[(c[e>>2]|0)+12>>2]|0)+(c[(c[f>>2]|0)+16>>2]<<2)>>2]|0)!=(c[(c[f>>2]|0)+12>>2]|0))break;c[f>>2]=$b[c[c[(c[e>>2]|0)+8>>2]>>2]&63](c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0,8)|0}c[d>>2]=1;h=c[d>>2]|0;i=g;return h|0}while(0);c[d>>2]=0;h=c[d>>2]|0;i=g;return h|0}function iE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=zA(c[f>>2]|0,0)|0;c[k>>2]=d;if(d){if((jE(c[f>>2]|0,c[g>>2]|0,149178,c[(c[k>>2]|0)+8+8>>2]|0,c[h>>2]|0)|0)==-1){c[e>>2]=-1;d=c[e>>2]|0;i=l;return d|0}if((jE(c[f>>2]|0,c[g>>2]|0,149164,c[(c[k>>2]|0)+8>>2]|0,c[h>>2]|0)|0)==-1){c[e>>2]=-1;d=c[e>>2]|0;i=l;return d|0}if((jE(c[f>>2]|0,c[g>>2]|0,149159,c[(c[k>>2]|0)+8+4>>2]|0,c[h>>2]|0)|0)==-1){c[e>>2]=-1;d=c[e>>2]|0;i=l;return d|0}}c[e>>2]=0;d=c[e>>2]|0;i=l;return d|0}function jE(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;if((i|0)>=(j|0))ba();k=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;t=u+8|0;s=u+4|0;r=u;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=0;if(c[p>>2]|0)c[t>>2]=0;else c[t>>2]=jA(c[o>>2]|0,0)|0;c[s>>2]=$b[c[c[o>>2]>>2]&63](c[o>>2]|0,0,128)|0;while(1){if(!(c[s>>2]|0)){b=32;break}if((c[(c[s>>2]|0)+12>>2]|0)!=0?(a[c[(c[s>>2]|0)+12>>2]>>0]|0)!=0:0)b=13;else b=8;do if((b|0)==8){b=0;if(!(a[(c[s>>2]|0)+22>>0]|0)){if(c[t>>2]|0){c[r>>2]=$b[c[c[t>>2]>>2]&63](c[t>>2]|0,c[s>>2]|0,4)|0;if((c[(c[r>>2]|0)+12>>2]|0)!=0?(a[c[(c[r>>2]|0)+12>>2]>>0]|0)!=0:0){b=13;break}if(!(d[(c[r>>2]|0)+22>>0]|0))b=13}}else b=13}while(0);if((b|0)==13){h=c[q>>2]|0;c[q>>2]=h+1;b=c[l>>2]|0;g=c[m>>2]|0;if(h){if((UD(b,g,134381)|0)==-1){b=22;break}if((TD(c[l>>2]|0,c[m>>2]|0)|0)==-1){b=24;break}}else{if((TD(b,g)|0)==-1){b=15;break}if((UD(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==-1){b=17;break}if((UD(c[l>>2]|0,c[m>>2]|0,134378)|0)==-1){b=19;break}c[13181]=(c[13181]|0)+1}if((dE(c[l>>2]|0,c[m>>2]|0,c[(c[s>>2]|0)+8>>2]|0)|0)==-1){b=26;break}if((UD(c[l>>2]|0,c[m>>2]|0,134384)|0)==-1){b=28;break}if((dE(c[l>>2]|0,c[m>>2]|0,c[(c[s>>2]|0)+12>>2]|0)|0)==-1){b=30;break}}c[s>>2]=$b[c[c[o>>2]>>2]&63](c[o>>2]|0,c[s>>2]|0,8)|0}if((b|0)==15){c[k>>2]=-1;t=c[k>>2]|0;i=u;return t|0}else if((b|0)==17){c[k>>2]=-1;t=c[k>>2]|0;i=u;return t|0}else if((b|0)==19){c[k>>2]=-1;t=c[k>>2]|0;i=u;return t|0}else if((b|0)==22){c[k>>2]=-1;t=c[k>>2]|0;i=u;return t|0}else if((b|0)==24){c[k>>2]=-1;t=c[k>>2]|0;i=u;return t|0}else if((b|0)==26){c[k>>2]=-1;t=c[k>>2]|0;i=u;return t|0}else if((b|0)==28){c[k>>2]=-1;t=c[k>>2]|0;i=u;return t|0}else if((b|0)==30){c[k>>2]=-1;t=c[k>>2]|0;i=u;return t|0}else if((b|0)==32){if((c[q>>2]|0)>0){c[13181]=(c[13181]|0)+-1;if((c[q>>2]|0)>1){if((UD(c[l>>2]|0,c[m>>2]|0,193472)|0)==-1){c[k>>2]=-1;t=c[k>>2]|0;i=u;return t|0}if((TD(c[l>>2]|0,c[m>>2]|0)|0)==-1){c[k>>2]=-1;t=c[k>>2]|0;i=u;return t|0}}if((UD(c[l>>2]|0,c[m>>2]|0,134414)|0)==-1){c[k>>2]=-1;t=c[k>>2]|0;i=u;return t|0}}if(!(c[p>>2]|0))jA(c[o>>2]|0,c[t>>2]|0)|0;c[k>>2]=0;t=c[k>>2]|0;i=u;return t|0}return 0}function kE(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();q=r;g=r+32|0;h=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;o=r+4|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[c[k>>2]>>2]&3|0){case 0:{c[o>>2]=82;break}case 1:{c[o>>2]=83;break}case 3:case 2:{c[o>>2]=84;break}default:{c[q>>2]=c[c[k>>2]>>2]&3;pA(1,134428,q)|0;c[g>>2]=-1;q=c[g>>2]|0;i=r;return q|0}}q=gc[c[o>>2]&127](c[h>>2]|0,c[k>>2]|0)|0;c[p>>2]=q;if(q){oE(c[h>>2]|0,c[p>>2]|0,c[l>>2]|0,c[m>>2]|0,c[o>>2]|0,c[n>>2]|0);c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}else{c[g>>2]=-1;q=c[g>>2]|0;i=r;return q|0}return 0}function lE(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;c[e>>2]=a;c[d>>2]=b;i=d;return c[e>>2]|0}function mE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=GC(c[f>>2]|0)|0;if((a|0)==(c[e>>2]|0)){c[d>>2]=c[f>>2];a=c[d>>2]|0;i=g;return a|0}else{c[d>>2]=uC(c[e>>2]|0,c[f>>2]|0,0)|0;a=c[d>>2]|0;i=g;return a|0}return 0}function nE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=GC(c[f>>2]|0)|0;if((a|0)==(c[e>>2]|0)){c[d>>2]=c[f>>2];a=c[d>>2]|0;i=g;return a|0}else{c[d>>2]=mB(c[e>>2]|0,c[f>>2]|0,0)|0;a=c[d>>2]|0;i=g;return a|0}return 0}function oE(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;if((i|0)>=(j|0))ba();h=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if(c[o>>2]|0)lc[c[l>>2]&127](c[h>>2]|0,c[k>>2]|0,c[m>>2]|0);c[p>>2]=vD(c[h>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;g=gc[c[n>>2]&127](c[p>>2]|0,c[k>>2]|0)|0;c[q>>2]=g;if(g)oE(c[p>>2]|0,c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);c[p>>2]=wD(c[p>>2]|0)|0}if(c[o>>2]|0){i=r;return}lc[c[l>>2]&127](c[h>>2]|0,c[k>>2]|0,c[m>>2]|0);i=r;return}function pE(){var e=0,f=0,g=0,h=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;A=i;i=i+1280|0;if((i|0)>=(j|0))ba();p=A+868|0;f=A+864|0;w=A+872|0;v=A+860|0;x=A+856|0;r=A+48|0;z=A+44|0;o=A+40|0;g=A+36|0;u=A+32|0;y=A+28|0;q=A+24|0;t=A+20|0;m=A+16|0;n=A+12|0;l=A+8|0;h=A+4|0;k=A;c[t>>2]=0;c[y>>2]=0;c[v>>2]=w;c[r>>2]=A+56;c[o>>2]=200;c[p>>2]=0;c[f>>2]=0;c[13194]=0;c[13195]=-2;c[x>>2]=c[v>>2];c[z>>2]=c[r>>2];a:while(1){b[c[x>>2]>>1]=c[p>>2];if(((c[v>>2]|0)+(c[o>>2]<<1)+-2|0)>>>0<=(c[x>>2]|0)>>>0){c[m>>2]=(((c[x>>2]|0)-(c[v>>2]|0)|0)/2|0)+1;if(1e4<=(c[o>>2]|0)>>>0){s=88;break}e=c[o>>2]<<1;c[o>>2]=e;c[o>>2]=1e4<(c[o>>2]|0)>>>0?1e4:e;c[n>>2]=c[v>>2];c[l>>2]=A1(((c[o>>2]|0)*6|0)+3|0)|0;if(!(c[l>>2]|0)){s=88;break}n5(c[l>>2]|0,c[v>>2]|0,c[m>>2]<<1|0)|0;c[v>>2]=c[l>>2];c[h>>2]=(c[o>>2]<<1)+3;c[l>>2]=(c[l>>2]|0)+((((c[h>>2]|0)>>>0)/4|0)<<2);n5(c[l>>2]|0,c[r>>2]|0,c[m>>2]<<2|0)|0;c[r>>2]=c[l>>2];c[k>>2]=(c[o>>2]<<2)+3;c[l>>2]=(c[l>>2]|0)+((((c[k>>2]|0)>>>0)/4|0)<<2);if((c[n>>2]|0)!=(w|0))B1(c[n>>2]|0);c[x>>2]=(c[v>>2]|0)+(c[m>>2]<<1)+-2;c[z>>2]=(c[r>>2]|0)+(c[m>>2]<<2)+-4;if(((c[v>>2]|0)+(c[o>>2]<<1)+-2|0)>>>0<=(c[x>>2]|0)>>>0){s=87;break}}if((c[p>>2]|0)==6){s=86;break}c[g>>2]=a[134461+(c[p>>2]|0)>>0];do if((c[g>>2]|0)!=-18){if((c[13195]|0)==-2)c[13195]=WE()|0;if((c[13195]|0)<=0){c[y>>2]=0;c[13195]=0}else{if((c[13195]|0)>>>0<=268)e=d[134541+(c[13195]|0)>>0]|0;else e=2;c[y>>2]=e}c[g>>2]=(c[g>>2]|0)+(c[y>>2]|0);if(!((c[g>>2]|0)<0|59<(c[g>>2]|0))?(d[134810+(c[g>>2]|0)>>0]|0)==(c[y>>2]|0):0){c[g>>2]=a[134870+(c[g>>2]|0)>>0];if((c[g>>2]|0)<=0){c[g>>2]=0-(c[g>>2]|0);s=26;break}if(c[f>>2]|0)c[f>>2]=(c[f>>2]|0)+-1;c[13195]=-2;c[p>>2]=c[g>>2];e=(c[z>>2]|0)+4|0;c[z>>2]=e;c[e>>2]=c[13196]}else s=25}else s=25;while(0);if((s|0)==25){s=0;c[g>>2]=d[134930+(c[p>>2]|0)>>0];if(!(c[g>>2]|0)){if((c[13195]|0)!=-2)if((c[13195]|0)>>>0<=268)e=d[134541+(c[13195]|0)>>0]|0;else e=2;else e=-2;c[y>>2]=e;if(!(c[f>>2]|0)){c[13194]=(c[13194]|0)+1;bF(180226)}do if((c[f>>2]|0)==3)if((c[13195]|0)<=0)if(!(c[13195]|0)){s=87;break a}else break;else{DE(178376,c[y>>2]|0,52784);c[13195]=-2;break}while(0);c[f>>2]=3;while(1){c[g>>2]=a[134461+(c[p>>2]|0)>>0];if((((c[g>>2]|0)!=-18?(c[g>>2]=(c[g>>2]|0)+1,0<=(c[g>>2]|0)&(c[g>>2]|0)<=59):0)?(d[134810+(c[g>>2]|0)>>0]|0)==1:0)?(c[g>>2]=a[134870+(c[g>>2]|0)>>0],0<(c[g>>2]|0)):0)break;if((c[x>>2]|0)==(c[v>>2]|0)){s=87;break a}DE(178510,d[135206+(c[p>>2]|0)>>0]|0,c[z>>2]|0);c[z>>2]=(c[z>>2]|0)+-4;c[x>>2]=(c[x>>2]|0)+-2;c[p>>2]=b[c[x>>2]>>1]}e=(c[z>>2]|0)+4|0;c[z>>2]=e;c[e>>2]=c[13196];c[p>>2]=c[g>>2]}else s=26}do if((s|0)==26){s=0;c[t>>2]=d[135010+(c[g>>2]|0)>>0];c[q>>2]=c[(c[z>>2]|0)+(1-(c[t>>2]|0)<<2)>>2];b:do switch(c[g>>2]|0){case 2:{sE();break}case 3:{if(c[13197]|0){zB(c[13197]|0)|0;c[13072]=0;c[13197]=0}break}case 6:{tE(c[c[z>>2]>>2]|0,c[(c[z>>2]|0)+-4>>2]|0,c[(c[z>>2]|0)+-8>>2]|0);break}case 7:{c[q>>2]=c[c[z>>2]>>2];break}case 8:{c[q>>2]=0;break}case 9:{c[q>>2]=1;break}case 10:{c[q>>2]=0;break}case 11:{c[q>>2]=0;break}case 12:{c[q>>2]=1;break}case 21:if(c[(c[z>>2]|0)+-4>>2]|0){uE();break b}else{vE();break b}case 24:{wE(1);break}case 25:{wE(2);break}case 26:{c[q>>2]=1;break}case 27:{c[q>>2]=0;break}case 30:{xE(c[c[z>>2]>>2]|0,0,0);break}case 31:{xE(c[(c[z>>2]|0)+-8>>2]|0,c[c[z>>2]>>2]|0,0);break}case 32:{xE(c[(c[z>>2]|0)+-16>>2]|0,c[(c[z>>2]|0)+-8>>2]|0,c[c[z>>2]>>2]|0);break}case 33:{yE(c[(c[z>>2]|0)+-8>>2]|0,c[(c[z>>2]|0)+-4>>2]|0);break}case 34:{yE(258,0);break}case 35:{c[q>>2]=258;break}case 36:{c[q>>2]=259;break}case 37:{c[q>>2]=260;break}case 38:{c[q>>2]=c[(c[z>>2]|0)+-4>>2];break}case 39:{c[q>>2]=0;break}case 48:{zE(c[(c[z>>2]|0)+-8>>2]|0,c[c[z>>2]>>2]|0);break}case 49:{zE(c[c[z>>2]>>2]|0,0);break}case 51:{AE(c[c[z>>2]>>2]|0);break}case 52:{BE();break}case 53:{c[q>>2]=c[c[z>>2]>>2];break}case 54:{c[q>>2]=0;break}case 55:{c[q>>2]=0;break}case 59:{c[q>>2]=c[c[z>>2]>>2];break}case 60:{c[q>>2]=c[c[z>>2]>>2];break}case 61:{c[q>>2]=c[c[z>>2]>>2];break}case 62:{c[q>>2]=CE(c[(c[z>>2]|0)+-8>>2]|0,c[c[z>>2]>>2]|0)|0;break}default:{}}while(0);c[z>>2]=(c[z>>2]|0)+(0-(c[t>>2]|0)<<2);c[x>>2]=(c[x>>2]|0)+(0-(c[t>>2]|0)<<1);c[t>>2]=0;e=(c[z>>2]|0)+4|0;c[z>>2]=e;c[e>>2]=c[q>>2];c[g>>2]=d[135073+(c[g>>2]|0)>>0];c[p>>2]=(a[135136+((c[g>>2]|0)-24)>>0]|0)+(b[c[x>>2]>>1]|0);if(0<=(c[p>>2]|0)&(c[p>>2]|0)<=59?(d[134810+(c[p>>2]|0)>>0]|0)==(b[c[x>>2]>>1]|0):0){c[p>>2]=a[134870+(c[p>>2]|0)>>0];break}c[p>>2]=a[135171+((c[g>>2]|0)-24)>>0]}while(0);c[x>>2]=(c[x>>2]|0)+2}if((s|0)==86)c[u>>2]=0;else if((s|0)==87)c[u>>2]=1;else if((s|0)==88){bF(178525);c[u>>2]=2}if((c[13195]|0)!=-2){if((c[13195]|0)>>>0<=268)e=d[134541+(c[13195]|0)>>0]|0;else e=2;c[y>>2]=e;DE(178542,c[y>>2]|0,52784)}c[z>>2]=(c[z>>2]|0)+(0-(c[t>>2]|0)<<2);c[x>>2]=(c[x>>2]|0)+(0-(c[t>>2]|0)<<1);while(1){if((c[x>>2]|0)==(c[v>>2]|0))break;DE(178572,d[135206+(b[c[x>>2]>>1]|0)>>0]|0,c[z>>2]|0);c[z>>2]=(c[z>>2]|0)+-4;c[x>>2]=(c[x>>2]|0)+-2}if((c[v>>2]|0)==(w|0)){z=c[u>>2]|0;i=A;return z|0}B1(c[v>>2]|0);z=c[u>>2]|0;i=A;return z|0}function qE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;f=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=d;c[13201]=c[f>>2];c[13197]=c[h>>2];c[13072]=0;c[13198]=(c[g>>2]|0)!=0?c[g>>2]|0:52276;VE(c[13198]|0,c[f>>2]|0);pE()|0;if(c[13072]|0){h=c[13072]|0;i=e;return h|0}dF();h=c[13072]|0;i=e;return h|0}function rE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=qE(0,c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function sE(){cF();ZB(c[13197]|0);return}function tE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();k=l+12|0;f=l+8|0;g=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[13197]|0)){a[52800]=a[52800]&-2|c[g>>2]&1;a[52800]=a[52800]&-3|(c[h>>2]&1)<<1&255;a[52800]=a[52800]&-9|8;b=c[f>>2]|0;e=c[13198]|0;c[k>>2]=c[13200];k=wB(b,k,e)|0;c[13197]=k;c[13072]=k;k=c[13199]|0;e=c[13197]|0;e=FE(k,e)|0;c[13199]=e;e=c[f>>2]|0;oD(0,e)|0;i=l;return}else{c[13072]=c[13197];k=c[13199]|0;e=c[13197]|0;e=FE(k,e)|0;c[13199]=e;e=c[f>>2]|0;oD(0,e)|0;i=l;return}}function uE(){var b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+20|0;b=k+16|0;h=k+12|0;e=k+8|0;g=k+4|0;f=k;KE(2);c[d>>2]=0;c[b>>2]=c[(c[13199]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;if(((c[c[b>>2]>>2]|0)==267?(a[c[(c[b>>2]|0)+4>>2]>>0]|0)==(a[135286]|0):0)?(a4(c[(c[b>>2]|0)+4>>2]|0,135286)|0)==0:0)c[d>>2]=c[(c[b>>2]|0)+8>>2];c[b>>2]=c[(c[b>>2]|0)+12>>2]}c[e>>2]=c[(c[13199]|0)+16>>2];while(1){if(!(c[(c[e>>2]|0)+12>>2]|0))break;b=(c[e>>2]|0)+4|0;a:do if((c[c[e>>2]>>2]|0)==262){c[f>>2]=c[b>>2];c[g>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[g>>2]|0))break a;b=uC(c[c[13199]>>2]|0,c[g>>2]|0,0)|0;SE(b,0,c[(c[e>>2]|0)+12>>2]|0,c[d>>2]|0);c[g>>2]=qC(c[f>>2]|0,c[g>>2]|0)|0}}else{c[h>>2]=c[b>>2];while(1){if(!(c[h>>2]|0))break a;SE(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[(c[e>>2]|0)+12>>2]|0,c[d>>2]|0);c[h>>2]=c[(c[h>>2]|0)+12>>2]}}while(0);c[e>>2]=c[(c[e>>2]|0)+12>>2]}LE((c[13199]|0)+8|0);LE((c[13199]|0)+16|0);LE((c[13199]|0)+24|0);c[(c[13199]|0)+4>>2]=0;i=k;return}function vE(){var a=0,b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();a=b;KE(1);c[a>>2]=c[(c[13199]|0)+8>>2];while(1){if(!(c[a>>2]|0))break;RE(c[(c[a>>2]|0)+4>>2]|0);c[a>>2]=c[(c[a>>2]|0)+12>>2]}LE((c[13199]|0)+8|0);LE((c[13199]|0)+24|0);LE((c[13199]|0)+16|0);c[(c[13199]|0)+4>>2]=0;i=b;return}function wE(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[d+4>>2]=a;c[b>>2]=0;a=c[13199]|0;if(c[(c[13199]|0)+8>>2]|0){c[b>>2]=PE(c[a+8>>2]|0)|0;c[(c[13199]|0)+8+4>>2]=0;c[(c[13199]|0)+8>>2]=0}else{if(c[a+4>>2]|0)c[b>>2]=QE(c[(c[13199]|0)+4>>2]|0)|0;c[(c[13199]|0)+4>>2]=0}if(!(c[b>>2]|0)){i=d;return}HE((c[13199]|0)+16|0,c[b>>2]|0);i=d;return}function xE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[g>>2]|0)c[f>>2]=NE(c[f>>2]|0,c[g>>2]|0)|0;d=vC(c[c[13199]>>2]|0,c[e>>2]|0,1)|0;c[h>>2]=OE(d,c[f>>2]|0)|0;HE((c[13199]|0)+8|0,c[h>>2]|0);oD(c[13197]|0,c[e>>2]|0)|0;i=k;return}function yE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+16|0;l=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=b;c[l>>2]=d;if(c[l>>2]|0)JE();c[f>>2]=c[(c[13199]|0)+24>>2];while(1){if(!(c[f>>2]|0))break;if(!(c[(c[f>>2]|0)+8>>2]|0))JE();c[f>>2]=c[(c[f>>2]|0)+12>>2]}switch(c[e>>2]|0){case 258:{c[g>>2]=0;break}case 259:{c[g>>2]=1;break}case 260:{c[g>>2]=2;break}default:{}}KE(c[g>>2]|0);c[f>>2]=c[(c[13199]|0)+24>>2];while(1){if(!(c[f>>2]|0))break;if((a[(c[(c[f>>2]|0)+4>>2]|0)+21>>0]|0)!=0?(c[c[13199]>>2]|0)==(c[13197]|0):0)c[h>>2]=c[(c[f>>2]|0)+4>>2];else c[h>>2]=GA(c[c[13199]>>2]|0,c[g>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;if((c[c[13199]>>2]|0)==(c[13197]|0))a[(c[h>>2]|0)+22>>0]=1;c[f>>2]=c[(c[f>>2]|0)+12>>2]}LE((c[13199]|0)+24|0);i=k;return}function zE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=GE(c[g>>2]|0,c[f>>2]|0)|0;HE((c[13199]|0)+24|0,c[e>>2]|0);i=d;return}function AE(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=c[13199]|0;c[13199]=FE(a,uD(c[c[13199]>>2]|0,c[d>>2]|0,1)|0)|0;oD(c[13197]|0,c[d>>2]|0)|0;i=b;return}function BE(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=a;c[b>>2]=c[c[13199]>>2];c[13199]=EE(c[13199]|0)|0;c[(c[13199]|0)+4>>2]=c[b>>2];i=a;return}function CE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+1056|0;if((i|0)>=(j|0))ba();d=l+16|0;e=l+12|0;h=l+8|0;f=l+24|0;k=l+4|0;g=l;c[d>>2]=a;c[e>>2]=b;b=e4(c[d>>2]|0)|0;c[g>>2]=b+(e4(c[e>>2]|0)|0)+1;if((c[g>>2]|0)<=1024)c[k>>2]=f;else c[k>>2]=A1(c[g>>2]|0)|0;b4(c[k>>2]|0,c[d>>2]|0)|0;Z3(c[k>>2]|0,c[e>>2]|0)|0;c[h>>2]=mD(c[13197]|0,c[k>>2]|0)|0;oD(c[13197]|0,c[d>>2]|0)|0;oD(c[13197]|0,c[e>>2]|0)|0;if((c[k>>2]|0)==(f|0)){k=c[h>>2]|0;i=l;return k|0}B1(c[k>>2]|0);k=c[h>>2]|0;i=l;return k|0}function DE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+8|0;c[e>>2]=a;c[f+4>>2]=b;c[f>>2]=d;if(c[e>>2]|0){i=f;return}c[e>>2]=178589;i=f;return}function EE(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[(c[13199]|0)+32>>2];jC(c[13197]|0,c[e>>2]|0);i=b;return c[d>>2]|0}function FE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=iC(c[13197]|0,36)|0;c[(c[e>>2]|0)+32>>2]=c[g>>2];c[c[e>>2]>>2]=c[f>>2];i=d;return c[e>>2]|0}function GE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=IE(267,c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function HE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+4>>2]|0)c[(c[(c[d>>2]|0)+4>>2]|0)+12>>2]=c[e>>2];c[(c[d>>2]|0)+4>>2]=c[e>>2];if(c[c[d>>2]>>2]|0){i=f;return}c[c[d>>2]>>2]=c[e>>2];i=f;return}function IE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();k=e+12|0;h=e+8|0;g=e+4|0;f=e;c[k>>2]=a;c[h>>2]=b;c[g>>2]=d;c[f>>2]=iC(c[13197]|0,16)|0;c[c[f>>2]>>2]=c[k>>2];c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+8>>2]=c[g>>2];i=e;return c[f>>2]|0}function JE(){var a=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();pA(0,135290,a)|0;i=a;return}function KE(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[13199]|0)+24>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];if(!(((c[d>>2]|0)==2?(a[c[f>>2]>>0]|0)==(a[135286]|0):0)?(a4(c[f>>2]|0,135286)|0)==0:0)){b=GA(c[c[13199]>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0;c[(c[e>>2]|0)+4>>2]=b;if(!b){b=GA(c[c[13199]>>2]|0,c[d>>2]|0,c[f>>2]|0,178598)|0;c[(c[e>>2]|0)+4>>2]=b}c[c[e>>2]>>2]=266;oD(c[13197]|0,c[f>>2]|0)|0}c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return}function LE(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;ME(c[c[d>>2]>>2]|0);c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;i=b;return}function ME(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];switch(c[c[b>>2]>>2]|0){case 265:{ME(c[(c[b>>2]|0)+4>>2]|0);break}case 266:case 267:{oD(c[13197]|0,c[(c[b>>2]|0)+8>>2]|0)|0;break}default:{}}jC(c[13197]|0,c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function NE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+1056|0;if((i|0)>=(j|0))ba();l=m;d=m+24|0;e=m+20|0;h=m+16|0;f=m+32|0;k=m+12|0;g=m+8|0;c[d>>2]=a;c[e>>2]=b;b=e4(c[d>>2]|0)|0;c[g>>2]=b+(e4(c[e>>2]|0)|0)+2;if((c[g>>2]|0)<=1024)c[k>>2]=f;else c[k>>2]=A1(c[g>>2]|0)|0;b=c[k>>2]|0;a=c[e>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=a;D3(b,135323,l)|0;c[h>>2]=mD(c[13197]|0,c[k>>2]|0)|0;oD(c[13197]|0,c[d>>2]|0)|0;oD(c[13197]|0,c[e>>2]|0)|0;if((c[k>>2]|0)==(f|0)){l=c[h>>2]|0;i=m;return l|0}B1(c[k>>2]|0);l=c[h>>2]|0;i=m;return l|0}function OE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=IE(259,c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function PE(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=IE(265,c[d>>2]|0,0)|0;i=b;return a|0}function QE(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=IE(262,c[d>>2]|0,0)|0;i=b;return a|0}function RE(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[13199]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;if((c[c[d>>2]>>2]|0)==266?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)RA(c[b>>2]|0,c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+8>>2]|0)|0;c[d>>2]=c[(c[d>>2]|0)+12>>2]}i=e;return}function SE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+24|0;g=n+20|0;o=n+16|0;h=n+12|0;k=n+8|0;m=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[o>>2]=d;c[h>>2]=e;d=(c[o>>2]|0)+4|0;if((c[c[o>>2]>>2]|0)==262){c[m>>2]=c[d>>2];c[k>>2]=pC(c[m>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;b=c[f>>2]|0;l=c[g>>2]|0;o=uC(c[c[13199]>>2]|0,c[k>>2]|0,0)|0;TE(b,l,o,0,c[h>>2]|0);c[k>>2]=qC(c[m>>2]|0,c[k>>2]|0)|0}i=n;return}else{c[l>>2]=c[d>>2];while(1){if(!(c[l>>2]|0))break;k=c[f>>2]|0;m=c[g>>2]|0;o=uC(c[c[13199]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0)|0;TE(k,m,o,c[(c[l>>2]|0)+8>>2]|0,c[h>>2]|0);c[l>>2]=c[(c[l>>2]|0)+12>>2]}i=n;return}}function TE(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();g=p+32|0;h=p+28|0;r=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;m=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=jB(c[c[13199]>>2]|0,c[g>>2]|0,c[r>>2]|0,c[q>>2]|0,1)|0;if(!(c[l>>2]|0)){i=p;return}c[o>>2]=c[h>>2];c[m>>2]=c[k>>2];q=c[l>>2]|0;r=c[l>>2]|0;if((c[((c[c[l>>2]>>2]&3|0)==3?q:q+32|0)+28>>2]|0)!=(c[((c[c[l>>2]>>2]&3|0)==2?r:r+-32|0)+28>>2]|0)?(r=c[l>>2]|0,(c[((c[c[l>>2]>>2]&3|0)==2?r:r+-32|0)+28>>2]|0)==(c[g>>2]|0)):0){c[n>>2]=c[o>>2];c[o>>2]=c[m>>2];c[m>>2]=c[n>>2]}UE(c[l>>2]|0,149150,c[o>>2]|0);UE(c[l>>2]|0,149141,c[m>>2]|0);RE(c[l>>2]|0);i=p;return}function UE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=k;return}d=GA(c[c[13199]>>2]|0,2,c[f>>2]|0,0)|0;c[h>>2]=d;if(!d)c[h>>2]=GA(c[c[13199]>>2]|0,2,c[f>>2]|0,178598)|0;RA(c[e>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=k;return}function VE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[13207]=c[f>>2];c[13208]=c[e>>2];c[13209]=0;i=d;return}function WE(){var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();g=r+28|0;o=r+24|0;n=r+20|0;l=r+16|0;h=r+12|0;m=r+32|0;q=r+8|0;k=r+4|0;p=r;if(!(c[13210]|0)){c[13210]=1;if(!(c[13211]|0))c[13211]=1;if(!(c[13201]|0))c[13201]=c[24743];if(!(c[13202]|0))c[13202]=c[24744];if(!((c[13212]|0)!=0?(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)!=0:0)){eF();f=XE(c[13201]|0,16384)|0;c[(c[13212]|0)+(c[13213]<<2)>>2]=f}fF()}a:while(1){c[n>>2]=c[13214];a[c[n>>2]>>0]=a[135329]|0;c[l>>2]=c[n>>2];c[o>>2]=c[13211];c[o>>2]=(c[o>>2]|0)+(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]|0);b:while(1){a[m>>0]=c[52860+(d[c[n>>2]>>0]<<2)>>2];if(b[101984+(c[o>>2]<<1)>>1]|0){c[13471]=c[o>>2];c[13472]=c[n>>2]}while(1){e=c[o>>2]|0;if((b[102380+((b[102170+(c[o>>2]<<1)>>1]|0)+(d[m>>0]|0)<<1)>>1]|0)==(c[o>>2]|0))break;c[o>>2]=b[102938+(e<<1)>>1];if((c[o>>2]|0)<93)continue;a[m>>0]=c[53892+(d[m>>0]<<2)>>2]}c[o>>2]=b[103148+((b[102170+(e<<1)>>1]|0)+(d[m>>0]|0)<<1)>>1];c[n>>2]=(c[n>>2]|0)+1;if((b[102170+(c[o>>2]<<1)>>1]|0)!=230)continue;c:while(1){c[h>>2]=b[101984+(c[o>>2]<<1)>>1];if(!(c[h>>2]|0)){c[n>>2]=c[13472];c[o>>2]=c[13471];c[h>>2]=b[101984+(c[o>>2]<<1)>>1]}c[13203]=c[l>>2];c[13204]=(c[n>>2]|0)-(c[l>>2]|0);a[135329]=a[c[n>>2]>>0]|0;a[c[n>>2]>>0]=0;c[13214]=c[n>>2];d:while(1){switch(c[h>>2]|0){case 1:{f=24;break a}case 12:{f=51;break a}case 13:{f=54;break a}case 14:{f=57;break a}case 15:{f=62;break a}case 16:{f=67;break a}case 17:{f=70;break a}case 18:{f=73;break a}case 19:{f=78;break a}case 20:{f=83;break a}case 21:{f=86;break a}case 23:{f=94;break a}case 33:{f=126;break a}case 39:case 38:case 37:case 36:{f=132;break a}case 2:{f=27;break b}case 3:{f=30;break b}case 4:{f=33;break b}case 5:{f=35;break b}case 6:{f=37;break b}case 7:{f=40;break b}case 8:{f=42;break b}case 9:{f=45;break b}case 10:{f=47;break b}case 11:{f=49;break b}case 22:{f=91;break b}case 24:{f=97;break b}case 25:{f=100;break b}case 26:{f=103;break b}case 27:{f=106;break b}case 28:{f=109;break b}case 29:{f=112;break b}case 30:{f=117;break b}case 31:{f=120;break b}case 32:{f=123;break b}case 34:{f=129;break b}case 0:{f=23;break d}case 35:break;default:{f=146;break b}}c[k>>2]=(c[n>>2]|0)-(c[13203]|0)-1;a[c[n>>2]>>0]=a[135329]|0;if(!(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+44>>2]|0)){c[13523]=c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+16>>2];c[c[(c[13212]|0)+(c[13213]<<2)>>2]>>2]=c[13201];c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+44>>2]=1}if((c[13214]|0)>>>0<=((c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)+(c[13523]|0)|0)>>>0){f=136;break}switch(oF()|0){case 0:{f=144;break c}case 2:{f=145;break d}case 1:break;default:continue a}c[13524]=0;if(!(YE()|0)){f=142;break b}c[13214]=c[13203];c[h>>2]=35+(((c[13211]|0)-1|0)/2|0)+1}if((f|0)==23){a[c[n>>2]>>0]=a[135329]|0;c[n>>2]=c[13472];c[o>>2]=c[13471];continue}else if((f|0)==136){c[13214]=(c[13203]|0)+(c[k>>2]|0);c[o>>2]=mF()|0;c[p>>2]=nF(c[o>>2]|0)|0;c[l>>2]=c[13203];e=c[13214]|0;if(c[p>>2]|0){f=137;break}c[n>>2]=e;continue}else if((f|0)==145){c[13214]=(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)+(c[13523]|0);c[o>>2]=mF()|0;c[n>>2]=c[13214];c[l>>2]=c[13203];continue}}if((f|0)==137){f=e+1|0;c[13214]=f;c[n>>2]=f;c[o>>2]=c[p>>2];continue}else if((f|0)==144){c[13214]=(c[13203]|0)+(c[k>>2]|0);c[o>>2]=mF()|0;c[n>>2]=c[13214];c[l>>2]=c[13203];continue}}switch(f|0){case 27:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[13205]=(c[13205]|0)+1;continue a}case 30:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[13211]=3;continue a}case 33:{if((c[13204]|0)>>>0<=0)continue a;c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;continue a}case 35:{if((c[13204]|0)>>>0<=0)continue a;c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;continue a}case 37:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[13211]=1;continue a}case 40:{if((c[13204]|0)>>>0<=0)continue a;c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;continue a}case 42:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;gF();continue a}case 45:{if((c[13204]|0)>>>0<=0)continue a;c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;continue a}case 47:{if((c[13204]|0)>>>0<=0)continue a;c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;continue a}case 49:{if((c[13204]|0)>>>0<=0)continue a;c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;continue a}case 91:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[13211]=5;iF();continue a}case 97:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;kF(136409);continue a}case 100:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;kF(135330);continue a}case 103:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[13205]=(c[13205]|0)+1;continue a}case 106:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;kF(c[13203]|0);continue a}case 109:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[13211]=7;c[13522]=1;iF();continue a}case 112:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[13522]=(c[13522]|0)+-1;if(!(c[13522]|0)){f=116;break a}kF(c[13203]|0);continue a}case 117:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[13522]=(c[13522]|0)+1;kF(c[13203]|0);continue a}case 120:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;kF(c[13203]|0);c[13205]=(c[13205]|0)+1;continue a}case 123:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;kF(c[13203]|0);continue a}case 129:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;A3(c[13203]|0,c[13204]|0,1,c[13202]|0)|0;continue a}case 142:{if(c[13524]|0)continue a;ZE(c[13201]|0);continue a}case 146:{pF(135333);continue a}}}switch(f|0){case 24:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[g>>2]=-1;q=c[g>>2]|0;i=r;return q|0}case 51:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[g>>2]=259;q=c[g>>2]|0;i=r;return q|0}case 54:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[g>>2]=260;q=c[g>>2]|0;i=r;return q|0}case 57:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;if(!(c[13209]|0))c[13209]=258;c[g>>2]=258;q=c[g>>2]|0;i=r;return q|0}case 62:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;if(!(c[13209]|0))c[13209]=261;c[g>>2]=261;q=c[g>>2]|0;i=r;return q|0}case 67:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[g>>2]=263;q=c[g>>2]|0;i=r;return q|0}case 70:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[g>>2]=262;q=c[g>>2]|0;i=r;return q|0}case 73:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;if((c[13209]|0)==261){c[g>>2]=264;q=c[g>>2]|0;i=r;return q|0}else{c[g>>2]=45;q=c[g>>2]|0;i=r;return q|0}}case 78:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;if((c[13209]|0)==258){c[g>>2]=264;q=c[g>>2]|0;i=r;return q|0}else{c[g>>2]=45;q=c[g>>2]|0;i=r;return q|0}}case 83:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[13196]=mD(c[13072]|0,c[13203]|0)|0;c[g>>2]=267;q=c[g>>2]|0;i=r;return q|0}case 86:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;if(hF()|0){c[q>>2]=(c[13204]|0)-1;a[c[n>>2]>>0]=a[135329]|0;q=(c[l>>2]|0)+(c[q>>2]|0)|0;c[n>>2]=q;c[13214]=q;c[13203]=c[l>>2];c[13204]=(c[n>>2]|0)-(c[l>>2]|0);a[135329]=a[c[n>>2]>>0]|0;a[c[n>>2]>>0]=0;c[13214]=c[n>>2]}c[13196]=mD(c[13072]|0,c[13203]|0)|0;c[g>>2]=267;q=c[g>>2]|0;i=r;return q|0}case 94:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[13211]=1;jF();c[g>>2]=268;q=c[g>>2]|0;i=r;return q|0}case 116:{c[13211]=1;lF();c[g>>2]=268;q=c[g>>2]|0;i=r;return q|0}case 126:{if((c[13204]|0)>>>0>0)c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]=(a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0)==10&1;c[g>>2]=a[c[13203]>>0];q=c[g>>2]|0;i=r;return q|0}case 132:{c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}}return 0}function XE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=_E(48)|0;if(!(c[f>>2]|0))pF(135384);c[(c[f>>2]|0)+12>>2]=c[e>>2];b=_E((c[(c[f>>2]|0)+12>>2]|0)+2|0)|0;c[(c[f>>2]|0)+4>>2]=b;if(!(c[(c[f>>2]|0)+4>>2]|0))pF(135384);c[(c[f>>2]|0)+20>>2]=1;qF(c[f>>2]|0,c[d>>2]|0);i=g;return c[f>>2]|0}function YE(){return 1}function ZE(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!((c[13212]|0)!=0?(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)!=0:0)){eF();a=XE(c[13201]|0,16384)|0;c[(c[13212]|0)+(c[13213]<<2)>>2]=a}if(!(c[13212]|0)){e=0;a=c[b>>2]|0;qF(e,a);fF();i=d;return}a=c[(c[13212]|0)+(c[13213]<<2)>>2]|0;e=c[b>>2]|0;qF(a,e);fF();i=d;return}function _E(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=A1(c[d>>2]|0)|0;i=b;return a|0}function $E(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;if(!(c[d>>2]|0)){i=e;return}c[(c[d>>2]|0)+16>>2]=0;a[c[(c[d>>2]|0)+4>>2]>>0]=0;a[(c[(c[d>>2]|0)+4>>2]|0)+1>>0]=0;c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+28>>2]=1;c[(c[d>>2]|0)+44>>2]=0;if(c[13212]|0)b=c[(c[13212]|0)+(c[13213]<<2)>>2]|0;else b=0;if((c[d>>2]|0)!=(b|0)){i=e;return}fF();i=e;return}function aF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=D1(c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function bF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+2096|0;if((i|0)>=(j|0))ba();f=h;d=h+32|0;e=h+40|0;g=h+16|0;c[d>>2]=b;tA(g,1024,h+1064|0);if(c[13206]|0){wA(g,c[13206]|0)|0;wA(g,135429)|0}wA(g,c[d>>2]|0)|0;c[f>>2]=c[13205];D3(e,135432,f)|0;wA(g,e)|0;wA(g,c[13203]|0)|0;wA(g,135451)|0;if((c[g+4>>2]|0)>>>0>=(c[g+8>>2]|0)>>>0)uA(g,1)|0;b=g+4|0;f=c[b>>2]|0;c[b>>2]=f+1;a[f>>0]=0;f=c[g>>2]|0;c[g+4>>2]=f;pA(1,f,h+8|0)|0;xA(g);i=h;return}function cF(){rF(64,c[13203]|0);return}function dF(){var a=0;if(!(c[13212]|0)){a=0;$E(a);return}a=c[(c[13212]|0)+(c[13213]<<2)>>2]|0;$E(a);return}function eF(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d+4|0;a=d;if(!(c[13212]|0)){c[b>>2]=1;c[13212]=_E(c[b>>2]<<2)|0;if(!(c[13212]|0))pF(135774);p5(c[13212]|0,0,c[b>>2]<<2|0)|0;c[13525]=c[b>>2];c[13213]=0;i=d;return}if((c[13213]|0)>>>0<((c[13525]|0)-1|0)>>>0){i=d;return}c[a>>2]=8;c[b>>2]=(c[13525]|0)+(c[a>>2]|0);c[13212]=aF(c[13212]|0,c[b>>2]<<2)|0;if(!(c[13212]|0))pF(135774);p5((c[13212]|0)+(c[13525]<<2)|0,0,c[a>>2]<<2|0)|0;c[13525]=c[b>>2];i=d;return}function fF(){var b=0;c[13523]=c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+16>>2];b=c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+8>>2]|0;c[13214]=b;c[13203]=b;c[13201]=c[c[(c[13212]|0)+(c[13213]<<2)>>2]>>2];a[135329]=a[c[13214]>>0]|0;return}function gF(){var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+48|0;if((i|0)>=(j|0))ba();g=l;e=l+32|0;d=l+28|0;b=l+24|0;f=l+20|0;k=l+16|0;h=l+12|0;c[f>>2]=(c[13203]|0)+1;if(!(g4(c[f>>2]|0,135758,4)|0))c[f>>2]=(c[f>>2]|0)+4;m=c[f>>2]|0;c[g>>2]=b;c[g+4>>2]=l+36;c[g+8>>2]=d;c[e>>2]=E3(m,135763,g)|0;if((c[e>>2]|0)<=0){i=l;return}c[13205]=(c[b>>2]|0)-1;if((c[e>>2]|0)<=1){i=l;return}c[k>>2]=(c[f>>2]|0)+(c[d>>2]|0);c[h>>2]=c[k>>2];while(1){if(a[c[h>>2]>>0]|0)d=(a[c[h>>2]>>0]|0)!=34;else d=0;b=c[h>>2]|0;if(!d)break;c[h>>2]=b+1}if((b|0)==(c[k>>2]|0)){i=l;return}a[c[h>>2]>>0]=0;sF(c[k>>2]|0,(c[h>>2]|0)-(c[k>>2]|0)|0);i=l;return}function hF(){var b=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+2096|0;if((i|0)>=(j|0))ba();k=n+8|0;h=n;b=n+32|0;f=n+2088|0;m=n+1064|0;e=n+40|0;l=n+16|0;g=n+12|0;a[f>>0]=a[(c[13203]|0)+((c[13204]|0)-1)>>0]|0;if((I1(d[f>>0]|0)|0)==0?(d[f>>0]|0|0)!=46:0){if(c[13206]|0)c[g>>2]=c[13206];else c[g>>2]=135666;tA(l,1024,m);wA(l,135672)|0;wA(l,c[13203]|0)|0;c[h>>2]=c[13205];D3(e,135716,h)|0;wA(l,e)|0;wA(l,c[g>>2]|0)|0;wA(l,135733)|0;if((c[l+4>>2]|0)>>>0>=(c[l+8>>2]|0)>>>0)uA(l,1)|0;h=l+4|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=0;m=c[l>>2]|0;c[l+4>>2]=m;pA(0,m,k)|0;xA(l);c[b>>2]=1;m=c[b>>2]|0;i=n;return m|0}c[b>>2]=0;m=c[b>>2]|0;i=n;return m|0}function iF(){if(!(c[13526]|0)){c[13526]=A1(1024)|0;c[13528]=(c[13526]|0)+1024}c[13527]=c[13526];a[c[13527]>>0]=0;return}function jF(){c[13196]=mD(c[13072]|0,c[13526]|0)|0;return}function kF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+8|0;e=h+12|0;g=h+4|0;f=h;c[d>>2]=b;if((c[13527]|0)>>>0>(c[13526]|0)>>>0)c[13527]=(c[13527]|0)+-1;while(1){b=c[d>>2]|0;c[d>>2]=b+1;b=a[b>>0]|0;k=c[13527]|0;c[13527]=k+1;a[k>>0]=b;a[e>>0]=b;if((a[e>>0]|0)!=0?(c[13527]|0)>>>0<(c[13528]|0)>>>0:0)continue;if(a[e>>0]|0){c[g>>2]=(c[13528]|0)-(c[13526]|0);c[f>>2]=(c[13527]|0)-(c[13526]|0);c[g>>2]=c[g>>2]<<1;c[13526]=D1(c[13526]|0,c[g>>2]|0)|0;c[13528]=(c[13526]|0)+(c[g>>2]|0);c[13527]=(c[13526]|0)+(c[f>>2]|0)}if(!(a[e>>0]|0))break}i=h;return}function lF(){c[13196]=nD(c[13072]|0,c[13526]|0)|0;return}function mF(){var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();h=k+4|0;g=k;f=k+8|0;c[h>>2]=c[13211];c[h>>2]=(c[h>>2]|0)+(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+28>>2]|0);c[g>>2]=c[13203];while(1){if((c[g>>2]|0)>>>0>=(c[13214]|0)>>>0)break;if(a[c[g>>2]>>0]|0)e=c[52860+(d[c[g>>2]>>0]<<2)>>2]|0;else e=1;a[f>>0]=e;if(b[101984+(c[h>>2]<<1)>>1]|0){c[13471]=c[h>>2];c[13472]=c[g>>2]}while(1){e=c[h>>2]|0;if((b[102380+((b[102170+(c[h>>2]<<1)>>1]|0)+(d[f>>0]|0)<<1)>>1]|0)==(c[h>>2]|0))break;c[h>>2]=b[102938+(e<<1)>>1];if((c[h>>2]|0)<93)continue;a[f>>0]=c[53892+(d[f>>0]<<2)>>2]}c[h>>2]=b[103148+((b[102170+(e<<1)>>1]|0)+(d[f>>0]|0)<<1)>>1];c[g>>2]=(c[g>>2]|0)+1}i=k;return c[h>>2]|0}function nF(e){e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();g=l+8|0;k=l+4|0;f=l;h=l+12|0;c[g>>2]=e;c[f>>2]=c[13214];a[h>>0]=1;if(b[101984+(c[g>>2]<<1)>>1]|0){c[13471]=c[g>>2];c[13472]=c[f>>2]}while(1){f=c[g>>2]|0;if((b[102380+((b[102170+(c[g>>2]<<1)>>1]|0)+(d[h>>0]|0)<<1)>>1]|0)==(c[g>>2]|0))break;c[g>>2]=b[102938+(f<<1)>>1];if((c[g>>2]|0)<93)continue;a[h>>0]=c[53892+(d[h>>0]<<2)>>2]}c[g>>2]=b[103148+((b[102170+(f<<1)>>1]|0)+(d[h>>0]|0)<<1)>>1];c[k>>2]=(c[g>>2]|0)==92&1;i=l;return ((c[k>>2]|0)!=0?0:c[g>>2]|0)|0}function oF(){var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();g=q+40|0;b=q+36|0;f=q+32|0;o=q+28|0;e=q+24|0;p=q+20|0;n=q+16|0;k=q+12|0;h=q+8|0;l=q+4|0;m=q;c[b>>2]=c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2];c[f>>2]=c[13203];if((c[13214]|0)>>>0>((c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)+((c[13523]|0)+1)|0)>>>0)pF(135490);d=(c[13214]|0)-(c[13203]|0)|0;if(!(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+40>>2]|0))if((d-0|0)==1){c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}else{c[g>>2]=2;p=c[g>>2]|0;i=q;return p|0}c[o>>2]=d-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[o>>2]|0))break;r=c[f>>2]|0;c[f>>2]=r+1;r=a[r>>0]|0;d=c[b>>2]|0;c[b>>2]=d+1;a[d>>0]=r;c[e>>2]=(c[e>>2]|0)+1}if((c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+44>>2]|0)==2){c[13523]=0;c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+16>>2]=0}else{c[n>>2]=(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+12>>2]|0)-(c[o>>2]|0)-1;while(1){if((c[n>>2]|0)>>>0>0)break;c[k>>2]=c[(c[13212]|0)+(c[13213]<<2)>>2];c[h>>2]=(c[13214]|0)-(c[(c[k>>2]|0)+4>>2]|0);b=c[k>>2]|0;if(c[(c[k>>2]|0)+20>>2]|0){c[l>>2]=c[b+12>>2]<<1;b=(c[k>>2]|0)+12|0;d=c[b>>2]|0;if((c[l>>2]|0)>>>0<=0){r=(c[k>>2]|0)+12|0;c[r>>2]=(c[r>>2]|0)+((d>>>0)/8|0)}else c[b>>2]=d<<1;r=aF(c[(c[k>>2]|0)+4>>2]|0,(c[(c[k>>2]|0)+12>>2]|0)+2|0)|0;c[(c[k>>2]|0)+4>>2]=r}else c[b+4>>2]=0;if(!(c[(c[k>>2]|0)+4>>2]|0))pF(135546);c[13214]=(c[(c[k>>2]|0)+4>>2]|0)+(c[h>>2]|0);c[n>>2]=(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+12>>2]|0)-(c[o>>2]|0)-1}if((c[n>>2]|0)>>>0>8192)c[n>>2]=8192;r=$b[c[c[(c[52828>>2]|0)+8>>2]>>2]&63](c[13208]|0,(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)+(c[o>>2]|0)|0,c[n>>2]|0)|0;c[13523]=r;if(r>>>0<0)pF(135590);c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+16>>2]=c[13523]}do if(!(c[13523]|0))if(!(c[o>>2]|0)){c[p>>2]=1;ZE(c[13201]|0);break}else{c[p>>2]=2;c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+44>>2]=2;break}else c[p>>2]=0;while(0);if(((c[13523]|0)+(c[o>>2]|0)|0)>>>0>(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+12>>2]|0)>>>0?(c[m>>2]=(c[13523]|0)+(c[o>>2]|0)+((c[13523]|0)>>>1),r=aF(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0,c[m>>2]|0)|0,c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]=r,(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)==0):0)pF(135619);c[13523]=(c[13523]|0)+(c[o>>2]|0);a[(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)+(c[13523]|0)>>0]=0;a[(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)+((c[13523]|0)+1)>>0]=0;c[13203]=c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2];c[g>>2]=c[p>>2];r=c[g>>2]|0;i=q;return r|0}function pF(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;e=b+4|0;c[e>>2]=a;b=c[24742]|0;c[d>>2]=c[e>>2];p3(b,135486,d)|0;Qb(2)}function qF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c2()|0)>>2];$E(c[d>>2]|0);c[c[d>>2]>>2]=c[e>>2];c[(c[d>>2]|0)+40>>2]=1;if(c[13212]|0)a=c[(c[13212]|0)+(c[13213]<<2)>>2]|0;else a=0;if((c[d>>2]|0)!=(a|0)){c[(c[d>>2]|0)+32>>2]=1;c[(c[d>>2]|0)+36>>2]=0}c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)!=0?0:0;f=c[f>>2]|0;c[(c2()|0)>>2]=f;i=g;return}function rF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;l=m;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[13214];a[c[g>>2]>>0]=a[135329]|0;if((c[g>>2]|0)>>>0<((c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)+2|0)>>>0){c[k>>2]=(c[13523]|0)+2;c[h>>2]=(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)+((c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+12>>2]|0)+2);c[l>>2]=(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)+(c[k>>2]|0);while(1){if((c[l>>2]|0)>>>0<=(c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)>>>0)break;b=(c[l>>2]|0)+-1|0;c[l>>2]=b;b=a[b>>0]|0;k=(c[h>>2]|0)+-1|0;c[h>>2]=k;a[k>>0]=b}c[g>>2]=(c[g>>2]|0)+((c[h>>2]|0)-(c[l>>2]|0));c[f>>2]=(c[f>>2]|0)+((c[h>>2]|0)-(c[l>>2]|0));l=c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+12>>2]|0;c[13523]=l;c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+16>>2]=l;if((c[g>>2]|0)>>>0<((c[(c[(c[13212]|0)+(c[13213]<<2)>>2]|0)+4>>2]|0)+2|0)>>>0)pF(135454)}k=c[e>>2]&255;l=(c[g>>2]|0)+-1|0;c[g>>2]=l;a[l>>0]=k;c[13203]=c[f>>2];a[135329]=a[c[g>>2]>>0]|0;c[13214]=c[g>>2];i=m;return}function sF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>(c[13529]|0)){if(c[13529]|0)c[13530]=D1(c[13530]|0,(c[e>>2]|0)+1|0)|0;else c[13530]=A1((c[e>>2]|0)+1|0)|0;c[13529]=c[e>>2]}b4(c[13530]|0,c[d>>2]|0)|0;c[13206]=c[13530];i=f;return}function tF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();d=h+16|0;e=h+12|0;k=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[k>>2]=b;c[f>>2]=NF(c[e>>2]|0,1,c[k>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[(c[f>>2]|0)+16>>2];c[(c[e>>2]|0)+172+12>>2]=c[(c[g>>2]|0)+4>>2];c[(c[e>>2]|0)+172>>2]=c[(c[g>>2]|0)+12>>2];c[(c[e>>2]|0)+172+4>>2]=c[c[g>>2]>>2];c[(c[e>>2]|0)+172+8>>2]=c[(c[g>>2]|0)+16>>2];c[d>>2]=300;k=c[d>>2]|0;i=h;return k|0}else{c[d>>2]=999;k=c[d>>2]|0;i=h;return k|0}return 0}function uF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;aD(c[f>>2]|0,175129,280,1)|0;c[(c[(c[f>>2]|0)+8>>2]|0)+144>>2]=c[e>>2];a=c[f>>2]|0;if((a|0)!=(HC(c[f>>2]|0)|0)){a=c[e>>2]|0;c[(c[(HC(c[f>>2]|0)|0)+8>>2]|0)+144>>2]=a}a=OA(c[f>>2]|0,136112)|0;c[h>>2]=a;if((a|0)!=0?(c[(c[e>>2]|0)+172>>2]=0,c[k>>2]=tF(c[e>>2]|0,c[h>>2]|0)|0,(c[k>>2]|0)==999):0){g=c[h>>2]|0;k=OF(c[e>>2]|0,1,c[h>>2]|0)|0;c[l>>2]=g;c[l+4>>2]=k;pA(1,136591,l)|0;c[d>>2]=-1;l=c[d>>2]|0;i=m;return l|0}c[g>>2]=c[(c[e>>2]|0)+172>>2];if(!(c[g>>2]|0)){c[d>>2]=-1;l=c[d>>2]|0;i=m;return l|0}ZH(1);ZJ(c[f>>2]|0,c[c[(c[e>>2]|0)+172+8>>2]>>2]&1);l=c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0;c[(c[(HC(c[f>>2]|0)|0)+8>>2]|0)+8>>2]=l;if(((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0)?(Vb[c[c[g>>2]>>2]&127](c[f>>2]|0),(c[(c[g>>2]|0)+4>>2]|0)!=0):0)c[(c[(c[f>>2]|0)+8>>2]|0)+148>>2]=c[(c[g>>2]|0)+4>>2];ZH(0);c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}function vF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f;c[f+4>>2]=a;c[e>>2]=b;if(!(aD(c[e>>2]|0,175129,0,1)|0)){c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}if(c[(c[(c[e>>2]|0)+8>>2]|0)+148>>2]|0){Vb[c[(c[(c[e>>2]|0)+8>>2]|0)+148>>2]&127](c[e>>2]|0);c[(c[(c[e>>2]|0)+8>>2]|0)+148>>2]=0}if(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)$J(c[e>>2]|0);c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function wF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();k=m+8|0;h=m;d=m+24|0;e=m+20|0;g=m+16|0;f=m+12|0;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+76>>2];c[f>>2]=c[c[e>>2]>>2];if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0)Vb[c[c[g>>2]>>2]&127](c[e>>2]|0);else l=4;do if(((l|0)==4?(c[(c[e>>2]|0)+40>>2]|0)==0:0)?(c[(c[e>>2]|0)+36>>2]|0)==0:0){if(a[(c[f>>2]|0)+13>>0]|0)HF(c[e>>2]|0);if(!(c[(c[e>>2]|0)+32>>2]|0)){c[(c[e>>2]|0)+36>>2]=c[24744];break}l=o3(c[(c[e>>2]|0)+32>>2]|0,143209)|0;c[(c[e>>2]|0)+36>>2]=l;if(!(c[(c[e>>2]|0)+36>>2]|0)){l=c[(c[(c[e>>2]|0)+12>>2]|0)+16>>2]|0;b=c[(c[e>>2]|0)+32>>2]|0;k=d2(c[(c2()|0)>>2]|0)|0;c[h>>2]=b;c[h+4>>2]=k;Xb[l&31](135824,h);c[d>>2]=1;l=c[d>>2]|0;i=m;return l|0}}while(0);if(c[(c[e>>2]|0)+152>>2]&1024){Xb[c[(c[(c[e>>2]|0)+12>>2]|0)+16>>2]&31](135862,k);c[d>>2]=1;l=c[d>>2]|0;i=m;return l|0}else{c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}return 0}function xF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m+8|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;k=m+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=c[f>>2]|0;if(c[(c[f>>2]|0)+152>>2]&1024){Xb[c[(c[a+12>>2]|0)+16>>2]&31](135862,m);Qb(1)}c[k>>2]=IF(a,c[g>>2]|0,c[h>>2]|0)|0;if((c[k>>2]|0)!=(c[h>>2]|0)){k=c[(c[(c[f>>2]|0)+12>>2]|0)+16>>2]|0;c[l>>2]=c[h>>2];Xb[k&31](135880,l);Qb(1)}c[e>>2]=c[h>>2];l=c[e>>2]|0;i=m;return l|0}function yF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e+12|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=e4(c[g>>2]|0)|0;b=xF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((b|0)!=(c[f>>2]|0)){c[d>>2]=-1;h=c[d>>2]|0;i=e;return h|0}else{c[d>>2]=1;h=c[d>>2]|0;i=e;return h|0}return 0}function zF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+8|0;k=g+4|0;f=g;h=g+12|0;c[k>>2]=b;c[f>>2]=d;a[h>>0]=c[f>>2];if((xF(c[k>>2]|0,h,1)|0)!=1){c[e>>2]=-1;k=c[e>>2]|0;i=g;return k|0}else{c[e>>2]=c[f>>2];k=c[e>>2]|0;i=g;return k|0}return 0}function AF(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[e>>2]=b;if(((c[(c[e>>2]|0)+36>>2]|0)!=0?(a[(c[e>>2]|0)+144>>0]|0)==0:0)?(c[(c[c[e>>2]>>2]|0)+104>>2]|0)==0:0){c[d>>2]=k3(c[(c[e>>2]|0)+36>>2]|0)|0;b=c[d>>2]|0;i=f;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=f;return b|0}function BF(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+76>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)Vb[c[(c[d>>2]|0)+4>>2]&127](c[b>>2]|0);AF(c[b>>2]|0)|0;i=e;return}function CF(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;f=g+4|0;e=g+12|0;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+76>>2];a[e>>0]=0;if(c[(c[d>>2]|0)+152>>2]&1024){Xb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&31](135905,g);Qb(1)}if((c[f>>2]|0)!=0?(c[(c[f>>2]|0)+8>>2]|0)!=0:0){Vb[c[(c[f>>2]|0)+8>>2]&127](c[d>>2]|0);a[e>>0]=1}if(a[e>>0]|0){i=g;return}AF(c[d>>2]|0)|0;JF(c[d>>2]|0);i=g;return}function DF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+1072|0;if((i|0)>=(j|0))ba();m=n;e=n+32|0;f=n+28|0;k=n+40|0;l=n+24|0;g=n+8|0;h=n+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=k;c[g>>2]=d;c[l>>2]=J3(k,1024,c[f>>2]|0,g)|0;if((c[l>>2]|0)>>>0<0){c[m>>2]=d2(c[(c2()|0)>>2]|0)|0;pA(1,135922,m)|0;i=n;return}if((c[l>>2]|0)>>>0>=1024){c[h>>2]=rK((c[l>>2]|0)+1|0)|0;c[g>>2]=d;c[l>>2]=K3(c[h>>2]|0,c[f>>2]|0,g)|0}xF(c[e>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if((c[h>>2]|0)==(k|0)){i=n;return}B1(c[h>>2]|0);i=n;return}function EF(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();g=d+16|0;k=d;f=d+12|0;e=d+8|0;c[g>>2]=a;h[k>>3]=b;c[f>>2]=KF(e,+h[k>>3])|0;xF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;i=d;return}function FF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=KF(e,+h[b>>3])|0;xF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;xF(c[g>>2]|0,140312,1)|0;c[f>>2]=KF(e,+h[b+8>>3])|0;xF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;i=d;return}function GF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;while(1){b=c[f>>2]|0;d=(c[g>>2]|0)+(c[k>>2]<<4)|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];FF(b,e);b=(c[k>>2]|0)+1|0;c[k>>2]=b;if((b|0)>=(c[h>>2]|0))break;xF(c[f>>2]|0,140312,1)|0}i=l;return}function HF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+128|0;if((i|0)>=(j|0))ba();g=m;h=m+20|0;e=m+24|0;d=m+16|0;k=m+12|0;l=m+8|0;f=m+4|0;c[h>>2]=b;if(c[(c[h>>2]|0)+24>>2]|0){c[g>>2]=(c[(c[h>>2]|0)+24>>2]|0)+1;D3(e,136003,g)|0}else a[e>>0]=0;g=c[(c[h>>2]|0)+20>>2]|0;c[d>>2]=g;c[d>>2]=(g|0)!=0?g:136007;g=e4(c[d>>2]|0)|0;g=g+(e4(e)|0)+1|0;c[f>>2]=g+(e4(c[(c[h>>2]|0)+52>>2]|0)|0)+1;if((c[13531]|0)>>>0<(c[f>>2]|0)>>>0){c[13531]=(c[f>>2]|0)+10;c[13532]=D1(c[13532]|0,c[13531]|0)|0}b4(c[13532]|0,c[d>>2]|0)|0;Z3(c[13532]|0,e)|0;Z3(c[13532]|0,193468)|0;c[k>>2]=d4(c[(c[h>>2]|0)+52>>2]|0)|0;while(1){g=j4(c[k>>2]|0,58)|0;c[l>>2]=g;d=c[13532]|0;if(!g)break;Z3(d,(c[l>>2]|0)+1|0)|0;Z3(c[13532]|0,193468)|0;a[c[l>>2]>>0]=0}Z3(d,c[k>>2]|0)|0;B1(c[k>>2]|0);c[(c[h>>2]|0)+32>>2]=c[13532];i=m;return}function IF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;b=c[g>>2]|0;if(c[(c[c[g>>2]>>2]|0)+104>>2]|0){c[f>>2]=$b[c[(c[b>>2]|0)+104>>2]&63](c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;l=c[f>>2]|0;i=m;return l|0}if(!(c[b+40>>2]|0)){c[f>>2]=A3(c[h>>2]|0,1,c[k>>2]|0,c[(c[g>>2]|0)+36>>2]|0)|0;l=c[f>>2]|0;i=m;return l|0}if((c[k>>2]|0)>>>0>((c[(c[g>>2]|0)+44>>2]|0)-((c[(c[g>>2]|0)+48>>2]|0)+1)|0)>>>0?(c[(c[g>>2]|0)+44>>2]=(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]|0)+1+4095&-4096,d=D1(c[(c[g>>2]|0)+40>>2]|0,c[(c[g>>2]|0)+44>>2]|0)|0,c[(c[g>>2]|0)+40>>2]=d,(c[(c[g>>2]|0)+40>>2]|0)==0):0){Xb[c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]&31](135976,l);Qb(1)}n5((c[(c[g>>2]|0)+40>>2]|0)+(c[(c[g>>2]|0)+48>>2]|0)|0,c[h>>2]|0,c[k>>2]|0)|0;l=(c[g>>2]|0)+48|0;c[l>>2]=(c[l>>2]|0)+(c[k>>2]|0);a[(c[(c[g>>2]|0)+40>>2]|0)+(c[(c[g>>2]|0)+48>>2]|0)>>0]=0;c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}function JF(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;if(!(c[(c[d>>2]|0)+32>>2]|0)){i=e;return}if((c[(c[d>>2]|0)+36>>2]|0)==(c[24744]|0)){i=e;return}if(a[(c[d>>2]|0)+144>>0]|0){i=e;return}if(c[(c[d>>2]|0)+36>>2]|0){i3(c[(c[d>>2]|0)+36>>2]|0)|0;c[(c[d>>2]|0)+36>>2]=0}c[(c[d>>2]|0)+32>>2]=0;i=e;return}function KF(b,e){b=b|0;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();f=r+28|0;g=r+24|0;k=r;p=r+20|0;l=r+16|0;q=r+33|0;o=r+32|0;m=r+12|0;n=r+8|0;c[g>>2]=b;h[k>>3]=e;c[p>>2]=135956;if(+h[k>>3]<+h[4216]){c[c[g>>2]>>2]=19;c[f>>2]=135956;q=c[f>>2]|0;i=r;return q|0}if(+h[k>>3]>-+h[4216]){c[c[g>>2]>>2]=18;c[f>>2]=135957;q=c[f>>2]|0;i=r;return q|0}h[k>>3]=+h[k>>3]*100.0;e=+h[k>>3];if(+h[k>>3]<0.0)c[l>>2]=~~(e-.5);else c[l>>2]=~~(e+.5);if(!(c[l>>2]|0)){c[c[g>>2]>>2]=1;c[f>>2]=176179;q=c[f>>2]|0;i=r;return q|0}k=(c[l>>2]|0)<0&255;a[o>>0]=k;if(k<<24>>24)c[l>>2]=0-(c[l>>2]|0);a[q>>0]=0;c[n>>2]=2;while(1){if(!((c[l>>2]|0)!=0?1:(c[n>>2]|0)>0))break;c[m>>2]=(c[l>>2]|0)%10|0;c[l>>2]=(c[l>>2]|0)/10|0;if(!((c[m>>2]|0)==0?(d[q>>0]|0)==0:0)){b=(c[m>>2]|48)&255;k=(c[p>>2]|0)+-1|0;c[p>>2]=k;a[k>>0]=b;a[q>>0]=1}if((c[n>>2]|0)==1){if(a[q>>0]|0){k=(c[p>>2]|0)+-1|0;c[p>>2]=k;a[k>>0]=46}a[q>>0]=1}c[n>>2]=(c[n>>2]|0)+-1}if(a[o>>0]|0){q=(c[p>>2]|0)+-1|0;c[p>>2]=q;a[q>>0]=45}c[c[g>>2]>>2]=135956-(c[p>>2]|0);c[f>>2]=c[p>>2];q=c[f>>2]|0;i=r;return q|0}function LF(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 k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+176|0;if((i|0)>=(j|0))ba();k=v+32|0;l=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;s=v+8|0;t=v+4|0;q=v;r=v+104|0;u=v+40|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;h4(r,c[m>>2]|0,63)|0;e=_3(r,58)|0;c[q>>2]=e;if(e)a[c[q>>2]>>0]=0;c[t>>2]=(c[k>>2]|0)+60+(c[l>>2]<<2);while(1){if(!(c[c[t>>2]>>2]|0))break;h4(u,c[(c[c[t>>2]>>2]|0)+4>>2]|0,63)|0;e=_3(u,58)|0;c[q>>2]=e;if(e)a[c[q>>2]>>0]=0;if((a4(r,u)|0)<=0)break;c[t>>2]=c[c[t>>2]>>2]}while(1){if(!(c[c[t>>2]>>2]|0))break;h4(u,c[(c[c[t>>2]>>2]|0)+4>>2]|0,63)|0;e=_3(u,58)|0;c[q>>2]=e;if(e)a[c[q>>2]>>0]=0;if(a4(r,u)|0)break;if((c[n>>2]|0)>=(c[(c[c[t>>2]>>2]|0)+8>>2]|0))break;c[t>>2]=c[c[t>>2]>>2]}c[s>>2]=rK(20)|0;c[c[s>>2]>>2]=c[c[t>>2]>>2];c[c[t>>2]>>2]=c[s>>2];c[(c[s>>2]|0)+4>>2]=c[m>>2];c[(c[s>>2]|0)+8>>2]=c[n>>2];c[(c[s>>2]|0)+12>>2]=c[o>>2];c[(c[s>>2]|0)+16>>2]=c[p>>2];i=v;return 1}function MF(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();c[d+8>>2]=a;c[d+4>>2]=b;pA(1,136017,d)|0;i=d;return 0}function NF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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=i;i=i+208|0;if((i|0)>=(j|0))ba();x=y+8|0;w=y;t=y+68|0;u=y+64|0;f=y+60|0;n=y+56|0;v=y+52|0;m=y+48|0;h=y+44|0;s=y+40|0;q=y+136|0;r=y+72|0;o=y+36|0;k=y+32|0;p=y+28|0;l=y+24|0;g=y+20|0;c[t>>2]=b;c[u>>2]=d;c[f>>2]=e;c[k>>2]=0;if((c[u>>2]|0)==3|(c[u>>2]|0)==4)c[g>>2]=0;else c[g>>2]=c[u>>2];h4(q,c[f>>2]|0,63)|0;c[o>>2]=_3(q,58)|0;if(c[o>>2]|0){e=c[o>>2]|0;c[o>>2]=e+1;a[e>>0]=0;c[p>>2]=_3(c[o>>2]|0,58)|0;if(c[p>>2]|0){e=c[p>>2]|0;c[p>>2]=e+1;a[e>>0]=0}}else c[p>>2]=0;c[n>>2]=(c[t>>2]|0)+60+(c[u>>2]<<2);a:while(1){if(!(c[c[n>>2]>>2]|0))break;h4(r,c[(c[c[n>>2]>>2]|0)+4>>2]|0,63)|0;c[k>>2]=_3(r,58)|0;if(c[k>>2]|0){e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=0}do if(!(a4(r,q)|0)){if((c[k>>2]|0)!=0&(c[o>>2]|0)!=0?(a4(c[k>>2]|0,c[o>>2]|0)|0)!=0:0)break;if((c[p>>2]|0)!=0?(a4(c[p>>2]|0,c[(c[(c[c[n>>2]>>2]|0)+12>>2]|0)+8>>2]|0)|0)!=0:0)break;if(!(c[k>>2]|0))break a;if((c[g>>2]|0)==(c[u>>2]|0))break a;if(NF(c[t>>2]|0,c[g>>2]|0,c[k>>2]|0)|0)break a}while(0);c[n>>2]=c[c[n>>2]>>2]}c[v>>2]=c[c[n>>2]>>2];if(((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)==0:0)?(c[m>>2]=MF(c[t>>2]|0,c[(c[(c[v>>2]|0)+12>>2]|0)+4>>2]|0)|0,(c[m>>2]|0)!=0):0){c[h>>2]=c[(c[m>>2]|0)+4>>2];while(1){r=c[(c[h>>2]|0)+4>>2]|0;c[s>>2]=r;if(!r)break;c[l>>2]=0;while(1){if(!(c[(c[s>>2]|0)+((c[l>>2]|0)*20|0)+4>>2]|0))break;PF(c[t>>2]|0,c[c[h>>2]>>2]|0,c[(c[s>>2]|0)+((c[l>>2]|0)*20|0)+4>>2]|0,c[c[m>>2]>>2]|0,c[(c[(c[v>>2]|0)+12>>2]|0)+4>>2]|0,(c[s>>2]|0)+((c[l>>2]|0)*20|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+8}if((c[(c[t>>2]|0)+8>>2]|0)>=1){d=c[24742]|0;if(c[(c[(c[v>>2]|0)+12>>2]|0)+4>>2]|0)f=c[(c[(c[v>>2]|0)+12>>2]|0)+4>>2]|0;else f=136048;c[w>>2]=f;p3(d,136058,w)|0}}if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)==0:0)c[v>>2]=0;if(!(c[v>>2]|0)){w=c[v>>2]|0;x=c[u>>2]|0;u=c[t>>2]|0;u=u+80|0;x=u+(x<<2)|0;c[x>>2]=w;x=c[v>>2]|0;i=y;return x|0}if((c[(c[t>>2]|0)+8>>2]|0)<1){w=c[v>>2]|0;x=c[u>>2]|0;u=c[t>>2]|0;u=u+80|0;x=u+(x<<2)|0;c[x>>2]=w;x=c[v>>2]|0;i=y;return x|0}w=c[24742]|0;r=c[(c[v>>2]|0)+4>>2]|0;s=c[(c[(c[v>>2]|0)+12>>2]|0)+8>>2]|0;c[x>>2]=c[54132+(c[u>>2]<<2)>>2];c[x+4>>2]=r;c[x+8>>2]=s;p3(w,136088,x)|0;w=c[v>>2]|0;x=c[u>>2]|0;u=c[t>>2]|0;u=u+80|0;x=u+(x<<2)|0;c[x>>2]=w;x=c[v>>2]|0;i=y;return x|0}function OF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();f=t+40|0;g=t+36|0;h=t+32|0;k=t+28|0;p=t+24|0;o=t+20|0;l=t+16|0;r=t+12|0;n=t+8|0;q=t+4|0;s=t;m=t+44|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;a[m>>0]=1;if(!(c[k>>2]|0)){c[f>>2]=0;s=c[f>>2]|0;i=t;return s|0}if(c[13538]|0){tA(54156,0,0);c[13538]=0}c[r>>2]=d4(c[k>>2]|0)|0;c[n>>2]=_3(c[r>>2]|0,58)|0;if(c[n>>2]|0){e=c[n>>2]|0;c[n>>2]=e+1;a[e>>0]=0}c[o>>2]=(c[g>>2]|0)+60+(c[h>>2]<<2);a:do if(c[n>>2]|0){c[p>>2]=c[o>>2];while(1){if(!(c[c[p>>2]>>2]|0))break a;c[q>>2]=d4(c[(c[c[p>>2]>>2]|0)+4>>2]|0)|0;e=_3(c[q>>2]|0,58)|0;c[n>>2]=e;if(e){e=c[n>>2]|0;c[n>>2]=e+1;a[e>>0]=0}if(!((a[c[r>>2]>>0]|0)!=0?(Y3(c[r>>2]|0,c[q>>2]|0)|0)!=0:0)){if((c[13540]|0)>>>0>=(c[13541]|0)>>>0)uA(54156,1)|0;e=c[13540]|0;c[13540]=e+1;a[e>>0]=32;wA(54156,c[(c[c[p>>2]>>2]|0)+4>>2]|0)|0;if((c[13540]|0)>>>0>=(c[13541]|0)>>>0)uA(54156,1)|0;e=c[13540]|0;c[13540]=e+1;a[e>>0]=58;wA(54156,c[(c[(c[c[p>>2]>>2]|0)+12>>2]|0)+8>>2]|0)|0;a[m>>0]=0}B1(c[q>>2]|0);c[p>>2]=c[c[p>>2]>>2]}}while(0);B1(c[r>>2]|0);if(a[m>>0]|0){c[s>>2]=0;c[p>>2]=c[o>>2];while(1){if(!(c[c[p>>2]>>2]|0))break;c[q>>2]=d4(c[(c[c[p>>2]>>2]|0)+4>>2]|0)|0;e=_3(c[q>>2]|0,58)|0;c[n>>2]=e;if(e){e=c[n>>2]|0;c[n>>2]=e+1;a[e>>0]=0}if(!((c[s>>2]|0)!=0?(Y3(c[s>>2]|0,c[q>>2]|0)|0)==0:0)){if((c[13540]|0)>>>0>=(c[13541]|0)>>>0)uA(54156,1)|0;e=c[13540]|0;c[13540]=e+1;a[e>>0]=32;wA(54156,c[q>>2]|0)|0;a[m>>0]=0}if(!(c[s>>2]|0))B1(c[s>>2]|0);c[s>>2]=c[q>>2];c[p>>2]=c[c[p>>2]>>2]}if(!(c[s>>2]|0))B1(c[s>>2]|0)}if(a[m>>0]|0)c[l>>2]=178598;else{if((c[13540]|0)>>>0>=(c[13541]|0)>>>0)uA(54156,1)|0;s=c[13540]|0;c[13540]=s+1;a[s>>0]=0;s=c[13539]|0;c[13540]=s;c[l>>2]=s}c[f>>2]=c[l>>2];s=c[f>>2]|0;i=t;return s|0}function PF(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 k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();n=q+28|0;s=q+24|0;r=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;o=q+4|0;p=q;c[s>>2]=b;c[r>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=h;c[p>>2]=(c[s>>2]|0)+60+(c[r>>2]<<2);while(1){if(!(c[c[p>>2]>>2]|0)){k=9;break}if((((Y3(c[k>>2]|0,c[(c[c[p>>2]>>2]|0)+4>>2]|0)|0)==0?(Y3(c[l>>2]|0,c[(c[(c[c[p>>2]>>2]|0)+12>>2]|0)+8>>2]|0)|0)==0:0)?(c[(c[(c[c[p>>2]>>2]|0)+12>>2]|0)+4>>2]|0)!=0:0)?(Y3(c[m>>2]|0,c[(c[(c[c[p>>2]>>2]|0)+12>>2]|0)+4>>2]|0)|0)==0:0){k=7;break}c[p>>2]=c[c[p>>2]>>2]}if((k|0)==7){c[(c[c[p>>2]>>2]|0)+16>>2]=c[o>>2];a[n>>0]=1;s=a[n>>0]|0;i=q;return s|0}else if((k|0)==9){a[n>>0]=0;s=a[n>>0]|0;i=q;return s|0}return 0}function QF(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0))db(148850,136136,577,136150);if(!(a[c[e>>2]>>0]|0))db(148855,136136,578,136150);if(c[13543]|0){c[f>>2]=$b[c[c[54172>>2]>>2]&63](c[13543]|0,c[e>>2]|0,512)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function RF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();h=k+8|0;g=k;d=k+24|0;e=k+20|0;f=k+16|0;c[e>>2]=b;if(!(c[e>>2]|0))db(148954,136136,593,136167);if(!(c[(c[e>>2]|0)+8>>2]|0))db(148957,136136,594,136167);if(!(a[c[(c[e>>2]|0)+8>>2]>>0]|0))db(148966,136136,595,136167);b=c[e>>2]|0;do if(!(c[(c[e>>2]|0)+20>>2]|0)){b=HO(c[b+8>>2]|0)|0;c[f>>2]=b;if(!b){c[g>>2]=c[(c[e>>2]|0)+8>>2];pA(0,136191,g)|0;a[d>>0]=0;h=a[d>>0]|0;i=k;return h|0}g=o3(c[f>>2]|0,176606)|0;c[(c[e>>2]|0)+20>>2]=g;if(!(c[(c[e>>2]|0)+20>>2]|0)){e=d2(c[(c2()|0)>>2]|0)|0;g=c[f>>2]|0;c[h>>2]=e;c[h+4>>2]=g;pA(0,136216,h)|0;a[d>>0]=0;h=a[d>>0]|0;i=k;return h|0}if((c[13544]|0)>=50){a[(c[e>>2]|0)+17>>0]=1;break}else{c[13544]=(c[13544]|0)+1;break}}else v3(c[b+20>>2]|0,0,0)|0;while(0);if(!(c[(c[e>>2]|0)+20>>2]|0))db(136237,136136,618,136167);a[d>>0]=1;h=a[d>>0]|0;i=k;return h|0}function SF(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+17>>0]|0)){i=e;return}if(!(c[(c[d>>2]|0)+20>>2]|0)){i=e;return}i3(c[(c[d>>2]|0)+20>>2]|0)|0;c[(c[d>>2]|0)+20>>2]=0;i=e;return}function TF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0.0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+8|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[f+4>>2]=-1;c[f>>2]=-1;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];i=g;return}if(c[(c[e>>2]|0)+48>>2]|0){k=+(c[(c[e>>2]|0)+48>>2]|0);h[d+8>>3]=k;h[d>>3]=k}c[f>>2]=~~(+((c[(c[e>>2]|0)+40>>2]|0)*72|0)/+h[d>>3]);c[f+4>>2]=~~(+((c[(c[e>>2]|0)+44>>2]|0)*72|0)/+h[d+8>>3]);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];i=g;return}function UF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+64|0;if((i|0)>=(j|0))ba();m=p+16|0;f=p+60|0;g=p+56|0;n=p+48|0;l=p;o=p+40|0;k=p+32|0;c[f>>2]=d;c[g>>2]=e;if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){if(((c[13794]|0)==0?(c[13545]|0)!=(c[13793]|0):0)?(c[13545]=c[13793],(c[13543]|0)!=0):0){aA(c[13543]|0)|0;c[13543]=0}q=+h[(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0)+24>>3];h[l+8>>3]=q;f=l+8|0;if(q>=1.0)h[l>>3]=+h[f>>3];else{h[f>>3]=96.0;h[l>>3]=96.0}c[o>>2]=VF(c[g>>2]|0)|0;o=c[o>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];TF(k,o,m);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];i=p;return}c[n+4>>2]=-1;c[n>>2]=-1;c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];i=p;return}function VF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g;b=g+12|0;d=g+8|0;e=g+4|0;c[d>>2]=a;if(!(c[d>>2]|0))db(148850,136136,636,136243);if(!(c[13543]|0))c[13543]=eA(54184,c[12993]|0)|0;a=QF(c[d>>2]|0)|0;c[e>>2]=a;if(a){SF(c[e>>2]|0);c[b>>2]=c[e>>2];f=c[b>>2]|0;i=g;return f|0}a=qK(64)|0;c[e>>2]=a;if(!a){c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}a=mD(0,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;if(!((RF(c[e>>2]|0)|0)<<24>>24)){c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}if(!(c[(c[e>>2]|0)+20>>2]|0))db(136237,136136,649,136243);do switch(WF(c[e>>2]|0)|0){case 0:{a=uM(c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=a;if(!a){c[f>>2]=c[(c[e>>2]|0)+8>>2];pA(0,136260,f)|0}B1(c[e>>2]|0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}case 2:{XF(c[e>>2]|0);break}case 3:{YF(c[e>>2]|0);break}case 1:{ZF(c[e>>2]|0);break}case 4:{_F(c[e>>2]|0);break}case 6:{$F(c[e>>2]|0);break}case 11:{aG(c[e>>2]|0);break}case 8:{bG(c[e>>2]|0);break}case 5:{cG(c[e>>2]|0);break}case 12:{dG(c[e>>2]|0);break}default:{}}while(0);SF(c[e>>2]|0);$b[c[c[54172>>2]>>2]&63](c[13543]|0,c[e>>2]|0,1)|0;c[b>>2]=c[e>>2];f=c[b>>2]|0;i=g;return f|0}function WF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+240|0;if((i|0)>=(j|0))ba();b=h+8|0;d=h+4|0;e=h+216|0;g=h+16|0;f=h;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)!=0?(s3(e,1,20,c[(c[d>>2]|0)+20>>2]|0)|0)==20:0){c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=10)break a;k=(U3(e,c[54260+(c[f>>2]<<4)>>2]|0,c[54260+(c[f>>2]<<4)+4>>2]|0)|0)!=0;a=c[f>>2]|0;if(!k)break;c[f>>2]=a+1}c[(c[d>>2]|0)+28>>2]=c[54260+(a<<4)+12>>2];c[(c[d>>2]|0)+24>>2]=c[54260+(c[f>>2]<<4)+8>>2];b:do if((c[(c[d>>2]|0)+24>>2]|0)!=9){if((c[(c[d>>2]|0)+24>>2]|0)==10?(U3(e+8|0,136476,4)|0)==0:0){c[(c[d>>2]|0)+28>>2]=136481;c[(c[d>>2]|0)+24>>2]=11;c[b>>2]=11;k=c[b>>2]|0;i=h;return k|0}}else{do if(!(m3(g,200,c[(c[d>>2]|0)+20>>2]|0)|0))break b;while((U3(g,136471,4)|0)!=0);c[(c[d>>2]|0)+28>>2]=139728;c[(c[d>>2]|0)+24>>2]=8;c[b>>2]=8;k=c[b>>2]|0;i=h;return k|0}while(0);c[b>>2]=c[(c[d>>2]|0)+24>>2];k=c[b>>2]|0;i=h;return k|0}while(0);c[(c[d>>2]|0)+28>>2]=136486;c[(c[d>>2]|0)+24>>2]=0;c[b>>2]=0;k=c[b>>2]|0;i=h;return k|0}function XF(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[(c[b>>2]|0)+48>>2]=0;v3(c[(c[b>>2]|0)+20>>2]|0,6,0)|0;if(!((mG(c[(c[b>>2]|0)+20>>2]|0,2,e)|0)&255)){i=f;return}if(!((mG(c[(c[b>>2]|0)+20>>2]|0,2,d)|0)&255)){i=f;return}c[(c[b>>2]|0)+40>>2]=c[e>>2];c[(c[b>>2]|0)+44>>2]=c[d>>2];i=f;return}function YF(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[(c[b>>2]|0)+48>>2]=0;v3(c[(c[b>>2]|0)+20>>2]|0,16,0)|0;if(!((eG(c[(c[b>>2]|0)+20>>2]|0,4,e)|0)&255)){i=f;return}if(!((eG(c[(c[b>>2]|0)+20>>2]|0,4,d)|0)&255)){i=f;return}c[(c[b>>2]|0)+40>>2]=c[e>>2];c[(c[b>>2]|0)+44>>2]=c[d>>2];i=f;return}function ZF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();b=h+16|0;e=h+12|0;d=h+8|0;g=h+4|0;f=h;c[b>>2]=a;c[(c[b>>2]|0)+48>>2]=0;v3(c[(c[b>>2]|0)+20>>2]|0,16,0)|0;if(!((mG(c[(c[b>>2]|0)+20>>2]|0,2,e)|0)&255)){i=h;return}if(!((mG(c[(c[b>>2]|0)+20>>2]|0,2,d)|0)&255)){i=h;return}if(!((mG(c[(c[b>>2]|0)+20>>2]|0,2,g)|0)&255)){i=h;return}if(!((mG(c[(c[b>>2]|0)+20>>2]|0,2,f)|0)&255)){i=h;return}c[(c[b>>2]|0)+40>>2]=c[e>>2]<<16|c[d>>2];c[(c[b>>2]|0)+44>>2]=c[g>>2]<<16|c[f>>2];i=h;return}function _F(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+20|0;e=l+16|0;d=l+12|0;h=l+8|0;k=l+4|0;g=l;c[f>>2]=a;c[(c[f>>2]|0)+48>>2]=0;while(1){if(!((eG(c[(c[f>>2]|0)+20>>2]|0,1,e)|0)<<24>>24)){a=17;break}if((c[e>>2]|0)==255)continue;if(_3(136459,c[e>>2]|0)|0)continue;if((c[e>>2]|0)==192){a=6;break}b=c[(c[f>>2]|0)+20>>2]|0;if((c[e>>2]|0)==194){a=11;break}if(!((eG(b,2,d)|0)<<24>>24)){a=17;break}v3(c[(c[f>>2]|0)+20>>2]|0,(c[d>>2]|0)-2|0,1)|0}if((a|0)==6){if(!((eG(c[(c[f>>2]|0)+20>>2]|0,3,g)|0)&255)){i=l;return}if(!((eG(c[(c[f>>2]|0)+20>>2]|0,2,h)|0)&255)){i=l;return}if(!((eG(c[(c[f>>2]|0)+20>>2]|0,2,k)|0)&255)){i=l;return}c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+40>>2]=c[k>>2];i=l;return}else if((a|0)==11){if(!((eG(b,3,g)|0)<<24>>24)){i=l;return}if(!((eG(c[(c[f>>2]|0)+20>>2]|0,2,h)|0)&255)){i=l;return}if(!((eG(c[(c[f>>2]|0)+20>>2]|0,2,k)|0)&255)){i=l;return}c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+40>>2]=c[k>>2];i=l;return}else if((a|0)==17){i=l;return}}function $F(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+1072|0;if((i|0)>=(j|0))ba();n=p;d=p+36|0;e=p+48|0;k=p+40|0;g=p+32|0;h=p+28|0;l=p+24|0;m=p+20|0;f=p+16|0;c[d>>2]=b;c[(c[d>>2]|0)+48>>2]=72;v3(c[(c[d>>2]|0)+20>>2]|0,0,0)|0;a[k>>0]=0;while(1){if(!(m3(e,1024,c[(c[d>>2]|0)+20>>2]|0)|0))break;b=l4(e,136444)|0;c[f>>2]=b;if(!b)continue;b=c[f>>2]|0;c[n>>2]=g;c[n+4>>2]=h;c[n+8>>2]=l;c[n+12>>2]=m;if((E3(b,142253,n)|0)==4){o=5;break}}if((o|0)==5)a[k>>0]=1;if(!(a[k>>0]|0)){i=p;return}c[(c[d>>2]|0)+32>>2]=c[g>>2];c[(c[d>>2]|0)+36>>2]=c[h>>2];c[(c[d>>2]|0)+40>>2]=(c[l>>2]|0)-(c[g>>2]|0);c[(c[d>>2]|0)+44>>2]=(c[m>>2]|0)-(c[h>>2]|0);i=p;return}function aG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[(c[b>>2]|0)+48>>2]=0;v3(c[(c[b>>2]|0)+20>>2]|0,15,0)|0;g=(l3(c[(c[b>>2]|0)+20>>2]|0)|0)==88;a=c[(c[b>>2]|0)+20>>2]|0;if(g){v3(a,24,0)|0;if(!((mG(c[(c[b>>2]|0)+20>>2]|0,4,e)|0)&255)){i=f;return}if(!((mG(c[(c[b>>2]|0)+20>>2]|0,4,d)|0)&255)){i=f;return}c[(c[b>>2]|0)+40>>2]=c[e>>2];c[(c[b>>2]|0)+44>>2]=c[d>>2];i=f;return}else{v3(a,26,0)|0;if(!((mG(c[(c[b>>2]|0)+20>>2]|0,2,e)|0)&255)){i=f;return}if(!((mG(c[(c[b>>2]|0)+20>>2]|0,2,d)|0)&255)){i=f;return}c[(c[b>>2]|0)+40>>2]=c[e>>2];c[(c[b>>2]|0)+44>>2]=c[d>>2];i=f;return}}function bG(b){b=b|0;var d=0,e=0,f=0,g=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;C=i;i=i+384|0;if((i|0)>=(j|0))ba();q=C+80|0;p=C+72|0;t=C+64|0;s=C+56|0;r=C+48|0;o=C+40|0;z=C+148|0;B=C+144|0;A=C+140|0;g=C+32|0;v=C+24|0;x=C+16|0;w=C+8|0;y=C;m=C+360|0;d=C+136|0;n=C+132|0;l=C+128|0;f=C+160|0;u=C+153|0;e=C+152|0;k=C+96|0;c[z>>2]=b;c[B>>2]=0;c[A>>2]=0;a[u>>0]=0;a[e>>0]=0;if(!(c[13555]|0)){if(P2(54228,c[13556]|0,1)|0){c[o>>2]=c[13556];pA(1,136329,o)|0}c[13555]=54228}v3(c[(c[z>>2]|0)+20>>2]|0,0,0)|0;a:while(1){if(!(m3(f,200,c[(c[z>>2]|0)+20>>2]|0)|0)){d=26;break}if((a[u>>0]|0)!=0?!((a[e>>0]|0)!=0^1):0){d=26;break}c[l>>2]=f;while(1){if(R2(54228,c[l>>2]|0,4,k,0)|0)continue a;a[(c[l>>2]|0)+(c[k+8+4>>2]|0)>>0]=0;a[(c[l>>2]|0)+(c[k+16+4>>2]|0)>>0]=0;c[d>>2]=(c[l>>2]|0)+(c[k+8>>2]|0);c[n>>2]=(c[l>>2]|0)+(c[k+16>>2]|0);c[l>>2]=(c[l>>2]|0)+((c[k+4>>2]|0)+1);if(!(a4(c[d>>2]|0,179205)|0)){o=c[n>>2]|0;c[r>>2]=g;c[r+4>>2]=m;if((E3(o,136366,r)|0)!=2){o=c[n>>2]|0;c[s>>2]=g;if((E3(o,139081,s)|0)==1){c[B>>2]=lG(+h[g>>3],136373)|0;a[u>>0]=1}}else{c[B>>2]=lG(+h[g>>3],m)|0;a[u>>0]=1}if(a[e>>0]|0)continue a;else continue}if(a4(c[d>>2]|0,179137)|0){if(a4(c[d>>2]|0,136376)|0)continue;o=c[n>>2]|0;c[q>>2]=v;c[q+4>>2]=x;c[q+8>>2]=w;c[q+12>>2]=y;if((E3(o,136384,q)|0)==4)break;else continue}o=c[n>>2]|0;c[t>>2]=g;c[t+4>>2]=m;if((E3(o,136366,t)|0)!=2){o=c[n>>2]|0;c[p>>2]=g;if((E3(o,139081,p)|0)==1){c[A>>2]=lG(+h[g>>3],136373)|0;a[e>>0]=1}}else{c[A>>2]=lG(+h[g>>3],m)|0;a[e>>0]=1}if(a[u>>0]|0)continue a}c[B>>2]=~~(+h[w>>3]-+h[v>>3]+1.0)>>>0;c[A>>2]=~~(+h[y>>3]-+h[x>>3]+1.0)>>>0;a[u>>0]=1;a[e>>0]=1}if((d|0)==26){c[(c[z>>2]|0)+48>>2]=0;c[(c[z>>2]|0)+40>>2]=c[B>>2];c[(c[z>>2]|0)+44>>2]=c[A>>2];i=C;return}}function cG(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+48|0;if((i|0)>=(j|0))ba();b=e+32|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+48>>2]=0;v3(c[(c[b>>2]|0)+20>>2]|0,0,0)|0;if(fG(c[(c[b>>2]|0)+20>>2]|0,d)|0){i=e;return}c[(c[b>>2]|0)+32>>2]=~~+h[d>>3];c[(c[b>>2]|0)+36>>2]=~~+h[d+8>>3];c[(c[b>>2]|0)+40>>2]=~~(+h[d+16>>3]-+h[d>>3]);c[(c[b>>2]|0)+44>>2]=~~(+h[d+16+8>>3]-+h[d+8>>3]);i=e;return}function dG(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[(c[b>>2]|0)+48>>2]=0;v3(c[(c[b>>2]|0)+20>>2]|0,6,0)|0;if(!((eG(c[(c[b>>2]|0)+20>>2]|0,1,e)|0)&255)){i=f;return}if(!((eG(c[(c[b>>2]|0)+20>>2]|0,1,d)|0)&255)){i=f;return}c[(c[b>>2]|0)+40>>2]=c[e>>2];c[(c[b>>2]|0)+44>>2]=c[d>>2];i=f;return}function eG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;k=n+4|0;l=n;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[c[h>>2]>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0){f=6;break}c[k>>2]=l3(c[f>>2]|0)|0;if(j3(c[f>>2]|0)|0){f=4;break}e=c[h>>2]|0;c[e>>2]=c[e>>2]<<8;e=c[h>>2]|0;c[e>>2]=c[e>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)+1}if((f|0)==4){a[m>>0]=0;m=a[m>>0]|0;i=n;return m|0}else if((f|0)==6){a[m>>0]=1;m=a[m>>0]|0;i=n;return m|0}return 0}function fG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+1056|0;if((i|0)>=(j|0))ba();d=l+24|0;e=l+20|0;f=l+16|0;k=l+4|0;h=l;g=l+32|0;c[e>>2]=a;c[f>>2]=b;while(1){if(!(m3(g,1024,c[e>>2]|0)|0)){b=5;break}a=l4(g,136319)|0;c[h>>2]=a;if(a){b=4;break}}if((b|0)==4){c[k+4>>2]=g;c[k>>2]=(c[h>>2]|0)+9;c[k+8>>2]=c[e>>2];c[d>>2]=gG(k,c[f>>2]|0)|0;k=c[d>>2]|0;i=l;return k|0}else if((b|0)==5){c[d>>2]=1;k=c[d>>2]|0;i=l;return k|0}return 0}function gG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+1040|0;if((i|0)>=(j|0))ba();e=k+8|0;f=k+4|0;g=k;h=k+16|0;c[f>>2]=b;c[g>>2]=d;hG(c[f>>2]|0);d=c[f>>2]|0;if(a[c[c[f>>2]>>2]>>0]|0)d=a[c[d>>2]>>0]|0;else d=(iG(d)|0)&255;do if((d|0)==91){b=c[f>>2]|0;c[b>>2]=(c[b>>2]|0)+1;jG(c[f>>2]|0,h);if(kG(h,c[g>>2]|0)|0){c[e>>2]=1;break}jG(c[f>>2]|0,h);if(kG(h,(c[g>>2]|0)+8|0)|0){c[e>>2]=1;break}jG(c[f>>2]|0,h);if(kG(h,(c[g>>2]|0)+16|0)|0){c[e>>2]=1;break}jG(c[f>>2]|0,h);if(kG(h,(c[g>>2]|0)+16+8|0)|0){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);i=k;return c[e>>2]|0}function hG(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g;f=g+4|0;c[e>>2]=b;while(1){b=c[e>>2]|0;if(a[c[c[e>>2]>>2]>>0]|0)b=a[c[b>>2]>>0]|0;else b=(iG(b)|0)&255;b=b&255;a[f>>0]=b;if(!(b<<24>>24)){b=8;break}if(!(K1(d[f>>0]|0)|0)){b=8;break}b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((b|0)==8){i=g;return}}function iG(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[e>>2]=b;if(m3(c[(c[e>>2]|0)+4>>2]|0,1024,c[(c[e>>2]|0)+8>>2]|0)|0){c[c[e>>2]>>2]=c[(c[e>>2]|0)+4>>2];a[d>>0]=a[c[c[e>>2]>>2]>>0]|0;b=a[d>>0]|0;i=f;return b|0}else{a[d>>0]=0;b=a[d>>0]|0;i=f;return b|0}return 0}function jG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;hG(c[e>>2]|0);do{d=c[e>>2]|0;if(a[c[c[e>>2]>>2]>>0]|0)d=a[c[d>>2]>>0]|0;else d=(iG(d)|0)&255;b=d&255;a[g>>0]=b;if(!(b<<24>>24))break;if((I1(a[g>>0]|0)|0)==0?(a[g>>0]|0)!=46:0)break;d=a[g>>0]|0;b=c[h>>2]|0;c[h>>2]=b+1;a[(c[f>>2]|0)+b>>0]=d;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+1}while((c[h>>2]|0)!=1023);a[(c[f>>2]|0)+(c[h>>2]|0)>>0]=0;i=k;return}function kG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();d=g+20|0;l=g+16|0;e=g+12|0;k=g+8|0;f=g;c[l>>2]=a;c[e>>2]=b;h[f>>3]=+Q3(c[l>>2]|0,k);if((c[l>>2]|0)==(c[k>>2]|0)){c[d>>2]=1;l=c[d>>2]|0;i=g;return l|0}else{h[c[e>>2]>>3]=+h[f>>3];c[d>>2]=0;l=c[d>>2]|0;i=g;return l|0}return 0}function lG(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;e=g;f=g+8|0;h[e>>3]=a;c[f>>2]=b;if(!(a4(c[f>>2]|0,136400)|0)){a=+h[e>>3]*72.0;c[d>>2]=~~(+h[e>>3]*72.0>=0.0?a+.5:a-.5);b=c[d>>2]|0;i=g;return b|0}if(!(a4(c[f>>2]|0,136403)|0)){a=+h[e>>3]*72.0/96.0;c[d>>2]=~~(+h[e>>3]*72.0/96.0>=0.0?a+.5:a-.5);b=c[d>>2]|0;i=g;return b|0}if(!(a4(c[f>>2]|0,136406)|0)){a=+h[e>>3]*72.0/6.0;c[d>>2]=~~(+h[e>>3]*72.0/6.0>=0.0?a+.5:a-.5);b=c[d>>2]|0;i=g;return b|0}if((a4(c[f>>2]|0,136373)|0)!=0?(a4(c[f>>2]|0,136409)|0)!=0:0){if(!(a4(c[f>>2]|0,136411)|0)){a=+h[e>>3]*28.346456664;c[d>>2]=~~(+h[e>>3]*28.346456664>=0.0?a+.5:a-.5);b=c[d>>2]|0;i=g;return b|0}if(!(a4(c[f>>2]|0,136414)|0)){a=+h[e>>3]*2.8346456663999997;c[d>>2]=~~(+h[e>>3]*2.8346456663999997>=0.0?a+.5:a-.5);b=c[d>>2]|0;i=g;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=g;return b|0}}a=+h[e>>3];c[d>>2]=~~(+h[e>>3]>=0.0?a+.5:a-.5);b=c[d>>2]|0;i=g;return b|0}function mG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;k=n+4|0;l=n;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[c[h>>2]>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0){f=6;break}c[k>>2]=l3(c[f>>2]|0)|0;if(j3(c[f>>2]|0)|0){f=4;break}e=c[h>>2]|0;c[e>>2]=c[e>>2]|c[k>>2]<<(c[l>>2]<<3);c[l>>2]=(c[l>>2]|0)+1}if((f|0)==4){a[m>>0]=0;m=a[m>>0]|0;i=n;return m|0}else if((f|0)==6){a[m>>0]=1;m=a[m>>0]|0;i=n;return m|0}return 0}function nG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+8|0;e=f;c[f+12>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=c[g>>2];if(c[(c[e>>2]|0)+20>>2]|0)i3(c[(c[e>>2]|0)+20>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){g=c[e>>2]|0;B1(g);i=f;return}if(!(c[(c[e>>2]|0)+60>>2]|0)){g=c[e>>2]|0;B1(g);i=f;return}Vb[c[(c[e>>2]|0)+60>>2]&127](c[e>>2]|0);g=c[e>>2]|0;B1(g);i=f;return}function oG(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=a;GA(0,1,147736,144035)|0;c[b>>2]=UR(0,1)|0;CS(c[b>>2]|0,0);i=a;return c[b>>2]|0}function pG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;q=i;i=i+320|0;if((i|0)>=(j|0))ba();o=q+24|0;p=q+8|0;k=q;l=q+56|0;f=q+52|0;m=q+48|0;g=q+44|0;n=q+64|0;r=q+40|0;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[r>>2]=tF(c[f>>2]|0,c[g>>2]|0)|0;if((c[r>>2]|0)==999){p=c[g>>2]|0;r=OF(c[f>>2]|0,1,c[g>>2]|0)|0;c[k>>2]=p;c[k+4>>2]=r;pA(1,136591,k)|0;c[l>>2]=-1;r=c[l>>2]|0;i=q;return r|0}if((uF(c[f>>2]|0,c[m>>2]|0)|0)==-1){c[l>>2]=-1;r=c[l>>2]|0;i=q;return r|0}f=(c[(c[m>>2]|0)+8>>2]|0)+16|0;if(a[(c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]|0)+81>>0]|0){s=+h[(c[(c[m>>2]|0)+8>>2]|0)+16+8>>3];t=+h[(c[(c[m>>2]|0)+8>>2]|0)+16>>3];k=~~(+h[(c[(c[m>>2]|0)+8>>2]|0)+16>>3]>=0.0?t+.5:t-.5);t=+h[(c[(c[m>>2]|0)+8>>2]|0)+16+16+8>>3];o=~~(+h[(c[(c[m>>2]|0)+8>>2]|0)+16+16+8>>3]>=0.0?t+.5:t-.5);t=+h[(c[(c[m>>2]|0)+8>>2]|0)+16+16>>3];r=~~(+h[(c[(c[m>>2]|0)+8>>2]|0)+16+16>>3]>=0.0?t+.5:t-.5);c[p>>2]=~~(+h[f+8>>3]>=0.0?s+.5:s-.5);c[p+4>>2]=k;c[p+8>>2]=o;c[p+12>>2]=r;D3(n,136640,p)|0}else{t=+h[(c[(c[m>>2]|0)+8>>2]|0)+16>>3];s=+h[(c[(c[m>>2]|0)+8>>2]|0)+16+8>>3];k=~~(+h[(c[(c[m>>2]|0)+8>>2]|0)+16+8>>3]>=0.0?s+.5:s-.5);s=+h[(c[(c[m>>2]|0)+8>>2]|0)+16+16>>3];p=~~(+h[(c[(c[m>>2]|0)+8>>2]|0)+16+16>>3]>=0.0?s+.5:s-.5);s=+h[(c[(c[m>>2]|0)+8>>2]|0)+16+16+8>>3];r=~~(+h[(c[(c[m>>2]|0)+8>>2]|0)+16+16+8>>3]>=0.0?s+.5:s-.5);c[o>>2]=~~(+h[f>>3]>=0.0?t+.5:t-.5);c[o+4>>2]=k;c[o+8>>2]=p;c[o+12>>2]=r;D3(n,136640,o)|0}SA(c[m>>2]|0,140374,n,178598)|0;c[l>>2]=0;r=c[l>>2]|0;i=q;return r|0}function qG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();p=r+8|0;o=r;f=r+36|0;g=r+32|0;h=r+28|0;k=r+24|0;l=r+20|0;n=r+16|0;m=r+12|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[h>>2]=c[(c[h>>2]|0)+48>>2];c[n>>2]=(WR(c[g>>2]|0,c[k>>2]|0)|0)&255;c[m>>2]=c[(c[g>>2]|0)+164>>2];if((c[n>>2]|0)==999){p=c[k>>2]|0;q=OF(c[g>>2]|0,3,c[k>>2]|0)|0;c[o>>2]=p;c[o+4>>2]=q;pA(1,136652,o)|0;c[f>>2]=-1;q=c[f>>2]|0;i=r;return q|0}o=dR(c[m>>2]|0,c[(c[m>>2]|0)+52>>2]|0)|0;c[(c[m>>2]|0)+56>>2]=o;if(!((aD(c[h>>2]|0,175129,0,1)|0)!=0?(c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0))q=5;if((q|0)==5?(c[(c[m>>2]|0)+152>>2]&67108864|0)==0:0){qA(136696,p);c[f>>2]=-1;q=c[f>>2]|0;i=r;return q|0}VR(c[g>>2]|0,c[l>>2]|0);c[n>>2]=_H(c[g>>2]|0,c[h>>2]|0)|0;fR(c[m>>2]|0);CF(c[m>>2]|0);$R(c[g>>2]|0);c[f>>2]=c[n>>2];q=c[f>>2]|0;i=r;return q|0}function rG(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;if((i|0)>=(j|0))ba();s=u+16|0;r=u+8|0;q=u;g=u+48|0;h=u+44|0;k=u+40|0;l=u+36|0;m=u+32|0;n=u+28|0;p=u+24|0;o=u+20|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[k>>2]=c[(c[k>>2]|0)+48>>2];c[p>>2]=(WR(c[h>>2]|0,c[l>>2]|0)|0)&255;c[o>>2]=c[(c[h>>2]|0)+164>>2];if((c[p>>2]|0)==999){s=c[l>>2]|0;t=OF(c[h>>2]|0,3,c[l>>2]|0)|0;c[q>>2]=s;c[q+4>>2]=t;pA(1,136652,q)|0;c[g>>2]=-1;t=c[g>>2]|0;i=u;return t|0}q=dR(c[o>>2]|0,c[(c[o>>2]|0)+52>>2]|0)|0;c[(c[o>>2]|0)+56>>2]=q;if(!((aD(c[k>>2]|0,175129,0,1)|0)!=0?(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0))t=5;if((t|0)==5?(c[(c[o>>2]|0)+152>>2]&67108864|0)==0:0){qA(136696,r);c[g>>2]=-1;t=c[g>>2]|0;i=u;return t|0}if((c[m>>2]|0)!=0?(t=A1(4096)|0,c[c[m>>2]>>2]=t,(t|0)!=0):0){c[(c[o>>2]|0)+40>>2]=c[c[m>>2]>>2];c[(c[o>>2]|0)+44>>2]=4096;c[(c[o>>2]|0)+48>>2]=0;c[p>>2]=_H(c[h>>2]|0,c[k>>2]|0)|0;fR(c[o>>2]|0);if(!(c[p>>2]|0)){c[c[m>>2]>>2]=c[(c[o>>2]|0)+40>>2];c[c[n>>2]>>2]=c[(c[o>>2]|0)+48>>2]}$R(c[h>>2]|0);c[g>>2]=c[p>>2];t=c[g>>2]|0;i=u;return t|0}pA(1,136717,s)|0;c[g>>2]=-1;t=c[g>>2]|0;i=u;return t|0}function sG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;BS(c[f>>2]|0,0,c[e>>2]|0);i=d;return}function tG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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,A=0,B=0,D=0,E=0,F=0,G=0;F=i;i=i+4288|0;if((i|0)>=(j|0))ba();B=F+8|0;A=F;D=4;E=A1(40)|0;c[E>>2]=0;x=F+4152|0;y=F+4148|0;z=F+4128|0;p=F+4112|0;m=F+16|0;n=0;l=Ea(23,b|0)|0;k=n;n=0;if((k|0)!=0&(o|0)!=0){h=m5(c[k>>2]|0,E|0,D|0)|0;if(!h)hb(k|0,o|0);C=o}else h=-1;a:do if((h|0)!=1){if(!l){c[e>>2]=0;g=0;B1(E|0);i=F;return g|0}n=0;f=Ra(52,f|0,y|0,x|0,128)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,E|0,D|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)!=1){n=0;q=Ea(22,4*10|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,E|0,D|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)!=1){n=0;za(16,z|0,p|0,m|0,19,85);k=n;n=0;if((k|0)!=0&(o|0)!=0){h=m5(c[k>>2]|0,E|0,D|0)|0;if(!h)hb(k|0,o|0);C=o}else h=-1;if((h|0)!=1){n=0;k=Ea(24,b|0)|0;h=n;n=0;if((h|0)!=0&(o|0)!=0){l=m5(c[h>>2]|0,E|0,D|0)|0;if(!l)hb(h|0,o|0);C=o}else l=-1;if((l|0)!=1){while(1){if(!k)break;n=0;Na(c[z+16>>2]|0,k|0,0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){h=m5(c[l>>2]|0,E|0,D|0)|0;if(!h)hb(l|0,o|0);C=o}else h=-1;if((h|0)==1){l=C;u=10;p=0;s=0;w=f;m=0;h=0;break a}n=0;k=Na(86,b|0,k|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){h=m5(c[l>>2]|0,E|0,D|0)|0;if(!h)hb(l|0,o|0);C=o}else h=-1;if((h|0)==1){l=C;u=10;p=0;s=0;w=f;m=0;h=0;break a}}E=k5(54420,1,E|0,D|0)|0;D=C;n=0;k=n;n=0;if((k|0)!=0&(o|0)!=0){h=m5(c[k>>2]|0,E|0,D|0)|0;if(!h)hb(k|0,o|0);C=o}else h=-1;if((h|0)!=1){l=0;u=10;p=0;s=0;w=f;m=0;h=0}else{l=C;u=10;p=0;s=0;w=f;m=0;h=0}}else{l=C;u=10;p=0;s=0;w=f;m=0;h=0}}else{l=C;u=10;p=0;s=0;w=f;m=0;h=0}}else{l=C;u=10;p=0;q=0;s=0;w=f;m=0;h=0}}else{l=C;u=10;p=0;q=0;s=0;w=0;m=0;h=0}}else{l=C;u=10;p=0;q=0;s=0;w=0;m=0;h=0}while(0);b:while(1){c:do if(l){s=1;r=h}else{n=0;k=Ea(24,b|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){f=w;r=s;t=q;v=u;l=C;w=f;s=r;q=t;u=v;continue b}t=p;r=h;while(1){if(!k)break;n=0;f=Na(c[z+16>>2]|0,k|0,-1)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){h=m5(c[l>>2]|0,E|0,D|0)|0;if(!h)hb(l|0,o|0);C=o}else h=-1;if((h|0)==1){G=w;k=s;f=q;v=u;l=C;p=t;h=r;w=G;s=k;q=f;u=v;continue b}if((f|0)==0?(d[(c[k+8>>2]|0)+119>>0]|0|0)==3:0){if(m){p=t;h=r}else{f=w+(c[y>>2]|0)|0;n=0;c[A>>2]=t;Ga(34,f|0,175103,A|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){k=w;f=s;v=q;G=u;l=C;p=t;h=r;w=k;s=f;q=v;u=G;continue b}n=0;h=Ga(35,b|0,w|0,1)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){k=w;f=s;v=q;G=u;l=C;p=t;h=r;w=k;s=f;q=v;u=G;continue b}n=0;Ra(53,h|0,175129,280,1)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){k=w;f=s;v=q;G=u;l=C;p=t;m=h;h=r;w=k;s=f;q=v;u=G;continue b}c[q+(t<<2)>>2]=h;p=t+1|0;m=h;h=1}n=0;Ra(54,b|0,k|0,m|0,z|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){r=w;t=s;v=q;G=u;l=C;w=r;s=t;q=v;u=G;continue b}}else{p=t;h=r}n=0;k=Na(86,b|0,k|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){r=w;t=s;v=q;G=u;l=C;w=r;s=t;q=v;u=G;continue b}t=p;r=h}n=0;p=Ea(24,b|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){k=w;f=s;v=q;G=u;l=C;p=t;h=r;w=k;s=f;q=v;u=G;continue b}v=t;while(1){if(!p){p=v;break c}n=0;f=Na(c[z+16>>2]|0,p|0,-1)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,E|0,D|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){t=w;G=s;l=C;p=v;h=r;w=t;s=G;continue b}if(f){k=u;h=v}else{f=w+(c[y>>2]|0)|0;n=0;c[B>>2]=v;Ga(34,f|0,175103,B|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){t=w;G=s;l=C;p=v;h=r;w=t;s=G;continue b}n=0;t=Ga(35,b|0,w|0,1)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){t=w;G=s;l=C;p=v;h=r;w=t;s=G;continue b}n=0;Ra(53,t|0,175129,280,1)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){f=w;G=s;l=C;p=v;m=t;h=r;w=f;s=G;continue b}n=0;Ra(54,b|0,p|0,t|0,z|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){f=m5(c[l>>2]|0,E|0,D|0)|0;if(!f)hb(l|0,o|0);C=o}else f=-1;if((f|0)==1){f=w;G=s;l=C;p=v;m=t;h=r;w=f;s=G;continue b}if((v|0)==(u|0)){f=u<<1;n=0;l=Na(87,q|0,f<<2|0)|0;k=n;n=0;if((k|0)!=0&(o|0)!=0){h=m5(c[k>>2]|0,E|0,D|0)|0;if(!h)hb(k|0,o|0);C=o}else h=-1;if((h|0)==1){k=w;G=s;l=C;u=f;p=v;m=t;h=r;w=k;s=G;continue b}}else{f=u;l=q}c[l+(v<<2)>>2]=t;k=f;h=v+1|0;q=l;m=t}n=0;p=Na(86,b|0,p|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){v=w;G=s;l=C;u=k;p=h;h=r;w=v;s=G;continue b}u=k;v=h}}while(0);n=0;Aa(99,z|0);f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){G=w;l=C;h=r;w=G;continue}if((w|0)!=(x|0)){n=0;Aa(96,w|0);f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){G=w;l=C;h=r;w=G;continue}}if(!s){n=0;h=Na(87,q|0,p<<2|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){G=w;l=C;h=r;w=G;continue}else{k=59;break}}c[e>>2]=0;k=0;while(1){if((k|0)>=(p|0))break;n=0;Ea(25,c[q+(k<<2)>>2]|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){G=w;l=C;h=r;w=G;continue b}k=k+1|0}n=0;Aa(96,q|0);f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,E|0,D|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){G=w;l=C;h=r;w=G}else{k=57;break}}if((k|0)==57)h=0;else if((k|0)==59){c[e>>2]=p;a[g>>0]=r}G=h;B1(E|0);i=F;return G|0}function uG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;y=i;i=i+4272|0;if((i|0)>=(j|0))ba();v=y;w=4;x=A1(40)|0;c[x>>2]=0;s=y+4144|0;t=y+4140|0;u=y+4120|0;k=y+4104|0;h=y+8|0;n=0;g=Ea(23,a|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,x|0,w|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;a:do if((e|0)!=1){if(!g){c[b>>2]=0;b=0;B1(x|0);i=y;return b|0}n=0;d=Ra(52,d|0,t|0,s|0,128)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,x|0,w|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)!=1){n=0;l=Ea(22,4*10|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,x|0,w|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)!=1){n=0;za(16,u|0,k|0,h|0,19,85);e=n;n=0;if((e|0)!=0&(o|0)!=0){f=m5(c[e>>2]|0,x|0,w|0)|0;if(!f)hb(e|0,o|0);C=o}else f=-1;if((f|0)!=1){n=0;f=Ea(24,a|0)|0;e=n;n=0;if((e|0)!=0&(o|0)!=0){g=m5(c[e>>2]|0,x|0,w|0)|0;if(!g)hb(e|0,o|0);C=o}else g=-1;if((g|0)!=1){while(1){if(!f)break;n=0;Na(c[u+16>>2]|0,f|0,0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){e=m5(c[g>>2]|0,x|0,w|0)|0;if(!e)hb(g|0,o|0);C=o}else e=-1;if((e|0)==1){h=C;k=10;e=0;q=l;r=d;break a}n=0;f=Na(86,a|0,f|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){e=m5(c[g>>2]|0,x|0,w|0)|0;if(!e)hb(g|0,o|0);C=o}else e=-1;if((e|0)==1){h=C;k=10;e=0;q=l;r=d;break a}}x=k5(54420,1,x|0,w|0)|0;w=C;n=0;f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,x|0,w|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)!=1){h=0;k=10;e=0;q=l;r=d}else{h=C;k=10;e=0;q=l;r=d}}else{h=C;k=10;e=0;q=l;r=d}}else{h=C;k=10;e=0;q=l;r=d}}else{h=C;k=10;e=0;q=0;r=d}}else{h=C;k=10;e=0;q=0;r=0}}else{h=C;k=10;e=0;q=0;r=0}while(0);b:while(1){if(h){n=0;Aa(99,u|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,x|0,w|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){d=r;l=q;m=e;p=k;h=C;r=d;q=l;e=m;k=p;continue}n=0;Aa(96,q|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,x|0,w|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){d=r;l=q;m=e;p=k;h=C;r=d;q=l;e=m;k=p;continue}if((r|0)==(s|0)){e=21;break}n=0;Aa(96,r|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,x|0,w|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){d=r;l=q;m=e;p=k;h=C;r=d;q=l;e=m;k=p;continue}else{e=20;break}}n=0;f=Ea(24,a|0)|0;d=n;n=0;if((d|0)!=0&(o|0)!=0){g=m5(c[d>>2]|0,x|0,w|0)|0;if(!g)hb(d|0,o|0);C=o}else g=-1;if((g|0)==1){d=r;l=q;m=e;p=k;h=C;r=d;q=l;e=m;k=p;continue}p=e;l=q;m=f;while(1){if(!m)break;n=0;d=Na(c[u+16>>2]|0,m|0,-1)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,x|0,w|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){m=r;h=C;e=p;q=l;r=m;continue b}if(d)e=p;else{d=r+(c[t>>2]|0)|0;n=0;c[v>>2]=p;Ga(34,d|0,175103,v|0)|0;d=n;n=0;if((d|0)!=0&(o|0)!=0){g=m5(c[d>>2]|0,x|0,w|0)|0;if(!g)hb(d|0,o|0);C=o}else g=-1;if((g|0)==1){m=r;h=C;e=p;q=l;r=m;continue b}n=0;h=Ga(35,a|0,r|0,1)|0;d=n;n=0;if((d|0)!=0&(o|0)!=0){g=m5(c[d>>2]|0,x|0,w|0)|0;if(!g)hb(d|0,o|0);C=o}else g=-1;if((g|0)==1){m=r;h=C;e=p;q=l;r=m;continue b}n=0;Ra(53,h|0,175129,280,1)|0;d=n;n=0;if((d|0)!=0&(o|0)!=0){g=m5(c[d>>2]|0,x|0,w|0)|0;if(!g)hb(d|0,o|0);C=o}else g=-1;if((g|0)==1){m=r;h=C;e=p;q=l;r=m;continue b}n=0;Ra(54,a|0,m|0,h|0,u|0)|0;d=n;n=0;if((d|0)!=0&(o|0)!=0){g=m5(c[d>>2]|0,x|0,w|0)|0;if(!g)hb(d|0,o|0);C=o}else g=-1;if((g|0)==1){m=r;h=C;e=p;q=l;r=m;continue b}if((p|0)==(k|0)){d=k<<1;n=0;g=Na(87,l|0,d<<2|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,x|0,w|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){m=r;h=C;k=d;e=p;q=l;r=m;continue b}}else{d=k;g=l}c[g+(p<<2)>>2]=h;k=d;e=p+1|0;l=g}n=0;f=Na(86,a|0,m|0)|0;d=n;n=0;if((d|0)!=0&(o|0)!=0){g=m5(c[d>>2]|0,x|0,w|0)|0;if(!g)hb(d|0,o|0);C=o}else g=-1;if((g|0)==1){p=r;h=C;q=l;r=p;continue b}p=e;m=f}n=0;Aa(99,u|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,x|0,w|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){m=r;h=C;e=p;q=l;r=m;continue}n=0;q=Na(87,l|0,p<<2|0)|0;d=n;n=0;if((d|0)!=0&(o|0)!=0){g=m5(c[d>>2]|0,x|0,w|0)|0;if(!g)hb(d|0,o|0);C=o}else g=-1;if((g|0)==1){m=r;h=C;e=p;q=l;r=m;continue}if((r|0)==(s|0)){e=42;break}n=0;Aa(96,r|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,x|0,w|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)!=1){e=41;break}else{m=r;h=C;e=p;r=m}}if((e|0)==20)e=21;else if((e|0)==41)e=42;if((e|0)==21){c[b>>2]=0;b=0;B1(x|0);i=y;return b|0}else if((e|0)==42){c[b>>2]=p;b=q;B1(x|0);i=y;return b|0}return 0}function vG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;h=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;c[h>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;c[f>>2]=cB(c[e>>2]|0,c[h>>2]|0)|0;while(1){b=c[d>>2]|0;if(!(c[f>>2]|0))break;a=c[f>>2]|0;if(uC(b,c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0,0)|0){mB(c[d>>2]|0,c[f>>2]|0,1)|0;c[g>>2]=(c[g>>2]|0)+1}c[f>>2]=eB(c[e>>2]|0,c[f>>2]|0)|0}c[h>>2]=qC(b,c[h>>2]|0)|0}i=k;return c[g>>2]|0}function wG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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=i;i=i+4368|0;if((i|0)>=(j|0))ba();A=B+24|0;z=B+8|0;y=B;f=B+4228|0;g=B+4224|0;h=B+4220|0;k=B+4216|0;o=B+4212|0;t=B+4208|0;m=B+4204|0;r=B+4200|0;u=B+4196|0;v=B+4192|0;q=B+4188|0;p=B+4184|0;l=B+4232|0;n=B+4180|0;w=B+4160|0;s=B+44|0;x=B+40|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[x>>2]=12;if(!(AB(c[g>>2]|0)|0)){c[c[h>>2]>>2]=0;c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}cD(c[g>>2]|0,0,136754,0-(c[x>>2]|0)|0,0);cD(c[g>>2]|0,1,136766,16,0);c[u>>2]=yG(c[k>>2]|0,s,l,128)|0;c[o>>2]=EG(c[g>>2]|0)|0;c[n>>2]=rK((AB(c[o>>2]|0)|0)<<2)|0;BG(w,B+4144|0,B+48|0,19,88);c[m>>2]=0;c[p>>2]=pC(c[o>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!(gc[c[w+16>>2]&127](c[p>>2]|0,-1)|0)){x=(c[u>>2]|0)+(c[s>>2]|0)|0;c[y>>2]=c[m>>2];D3(x,137685,y)|0;c[q>>2]=uD(c[o>>2]|0,c[u>>2]|0,1)|0;c[v>>2]=uD(c[g>>2]|0,c[u>>2]|0,1)|0;aD(c[v>>2]|0,136754,12,0)|0;a[($C(c[v>>2]|0,136754,0)|0)+8>>0]=1;c[t>>2]=CG(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,w)|0;GG(c[q>>2]|0,c[v>>2]|0);c[r>>2]=xG(c[v>>2]|0)|0;HG(c[g>>2]|0,c[v>>2]|0);c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]=c[v>>2];FC(c[o>>2]|0,c[q>>2]|0)|0;if(a[139078]|0){x=c[24742]|0;d=c[t>>2]|0;e=c[r>>2]|0;c[z>>2]=c[m>>2];c[z+4>>2]=d;c[z+8>>2]=e;p3(x,136778,z)|0}c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=qC(c[o>>2]|0,c[p>>2]|0)|0}if(a[139078]|0){z=c[24742]|0;v=AB(c[g>>2]|0)|0;e=BB(c[g>>2]|0)|0;x=c[m>>2]|0;y=MB(c[g>>2]|0)|0;c[A>>2]=v;c[A+4>>2]=e;c[A+8>>2]=x;c[A+12>>2]=y;p3(z,136808,A)|0}zB(c[o>>2]|0)|0;dD(c[g>>2]|0,0,136754);dD(c[g>>2]|0,1,136766);DG(w);c[n>>2]=tK(c[n>>2]|0,c[m>>2]<<2)|0;if((c[u>>2]|0)!=(l|0))B1(c[u>>2]|0);c[c[h>>2]>>2]=c[m>>2];c[f>>2]=c[n>>2];A=c[f>>2]|0;i=B;return A|0}function xG(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=vG(c[d>>2]|0,c[(c[d>>2]|0)+48>>2]|0)|0;i=b;return a|0}function yG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!((c[g>>2]|0)!=0?(OG(c[g>>2]|0)|0)!=0:0))c[g>>2]=136944;c[m>>2]=e4(c[g>>2]|0)|0;if(((c[m>>2]|0)+25|0)>(c[l>>2]|0)){a=rK((c[m>>2]|0)+25|0)|0;c[n>>2]=a;if(!a){c[f>>2]=0;a=c[f>>2]|0;i=o;return a|0}}else c[n>>2]=c[k>>2];b4(c[n>>2]|0,c[g>>2]|0)|0;c[c[h>>2]>>2]=c[m>>2];c[f>>2]=c[n>>2];a=c[f>>2]|0;i=o;return a|0}function zG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;uC(c[f>>2]|0,c[e>>2]|0,1)|0;i=d;return}function AG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;b=a[(c[(c[f>>2]|0)+8>>2]|0)+157>>0]|0;if((c[g>>2]|0)<0){c[e>>2]=b;h=c[e>>2]|0;i=k;return h|0}else{c[h>>2]=b;a[(c[(c[f>>2]|0)+8>>2]|0)+157>>0]=c[g>>2];c[e>>2]=c[h>>2];h=c[e>>2]|0;i=k;return h|0}return 0}function BG(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,k=0,l=0,m=0,n=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();h=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;k=g;c[h>>2]=a;c[m>>2]=b;c[n>>2]=d;c[l>>2]=e;c[k>>2]=f;c[c[m>>2]>>2]=c[n>>2];c[(c[m>>2]|0)+4>>2]=(c[c[m>>2]>>2]|0)+4096;c[(c[m>>2]|0)+12>>2]=0;c[(c[m>>2]|0)+8>>2]=0;a=c[m>>2]|0;c[c[h>>2]>>2]=a;c[(c[h>>2]|0)+4>>2]=a;c[(c[h>>2]|0)+8>>2]=c[c[(c[h>>2]|0)+4>>2]>>2];c[(c[h>>2]|0)+12>>2]=c[l>>2];c[(c[h>>2]|0)+16>>2]=c[k>>2];i=g;return}function CG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o+20|0;h=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=0;MG(c[k>>2]|0,c[g>>2]|0);a:while(1){e=NG(c[k>>2]|0)|0;c[g>>2]=e;a=c[l>>2]|0;if(!e)break;c[l>>2]=a+1;if(c[(c[k>>2]|0)+12>>2]|0)Xb[c[(c[k>>2]|0)+12>>2]&31](c[g>>2]|0,c[h>>2]|0);c[m>>2]=hB(c[f>>2]|0,c[g>>2]|0)|0;while(1){if(!(c[m>>2]|0))continue a;e=c[m>>2]|0;e=c[((c[c[m>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0;c[n>>2]=e;if((e|0)==(c[g>>2]|0)){e=c[m>>2]|0;c[n>>2]=c[((c[c[m>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]}if(!(gc[c[(c[k>>2]|0)+16>>2]&127](c[n>>2]|0,-1)|0))MG(c[k>>2]|0,c[n>>2]|0);c[m>>2]=iB(c[f>>2]|0,c[m>>2]|0,c[g>>2]|0)|0}}i=o;return a|0}function DG(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];LG(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function EG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();m=l+28|0;d=l+24|0;e=l+20|0;b=l+16|0;h=l+12|0;f=l+8|0;g=l+4|0;k=l;c[d>>2]=a;c[m>>2]=c[13068];c[e>>2]=wB(136855,m,0)|0;KG(c[e>>2]|0,c[d>>2]|0);c[h>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;if(!(c[($C(c[h>>2]|0,136766,0)|0)+12>>2]|0)){m=c[e>>2]|0;c[b>>2]=vC(m,MB(c[h>>2]|0)|0,1)|0;aD(c[b>>2]|0,136766,16,1)|0;c[(c[(c[b>>2]|0)+8>>2]|0)+12>>2]=c[h>>2];m=c[b>>2]|0;c[($C(c[h>>2]|0,136766,0)|0)+12>>2]=m}c[h>>2]=qC(c[d>>2]|0,c[h>>2]|0)|0}c[h>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[($C(c[h>>2]|0,136766,0)|0)+12>>2];c[f>>2]=cB(c[d>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;m=c[f>>2]|0;c[g>>2]=c[((c[c[f>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2];c[g>>2]=c[($C(c[g>>2]|0,136766,0)|0)+12>>2];do if((c[g>>2]|0)!=(c[k>>2]|0)){b=c[e>>2]|0;if((c[g>>2]|0)>>>0>(c[k>>2]|0)>>>0){jB(b,c[k>>2]|0,c[g>>2]|0,0,1)|0;break}else{jB(b,c[g>>2]|0,c[k>>2]|0,0,1)|0;break}}while(0);c[f>>2]=eB(c[d>>2]|0,c[f>>2]|0)|0}c[h>>2]=qC(c[d>>2]|0,c[h>>2]|0)|0}i=l;return c[e>>2]|0}function FG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;b=a[(c[(c[f>>2]|0)+8>>2]|0)+8>>0]|0;if((c[g>>2]|0)<0){c[e>>2]=b;h=c[e>>2]|0;i=k;return h|0}else{c[h>>2]=b;a[(c[(c[f>>2]|0)+8>>2]|0)+8>>0]=c[g>>2];c[e>>2]=c[h>>2];h=c[e>>2]|0;i=k;return h|0}return 0}function GG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;h=k+8|0;g=k+4|0;f=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;a:do if((c[c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]>>2]&3|0)==1)uC(c[e>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]|0,1)|0;else{c[f>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2];c[h>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;uC(c[e>>2]|0,c[h>>2]|0,1)|0;c[h>>2]=qC(c[f>>2]|0,c[h>>2]|0)|0}}while(0);c[g>>2]=qC(c[d>>2]|0,c[g>>2]|0)|0}i=k;return}function HG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;IG(c[f>>2]|0,c[e>>2]|0,0);i=d;return}function IG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();n=m+20|0;f=m+16|0;g=m+12|0;l=m+8|0;k=m+4|0;h=m;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=vD(c[n>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;if((a[($C(c[l>>2]|0,136754,0)|0)+8>>0]|0)==0?(n=JG(c[l>>2]|0,c[f>>2]|0,c[g>>2]|0)|0,c[k>>2]=n,(n|0)!=0):0){if(c[g>>2]|0)d=1;else d=(g4(MB(c[l>>2]|0)|0,145693,7)|0)==0;c[h>>2]=d&1;IG(c[l>>2]|0,c[k>>2]|0,c[h>>2]|0)}c[l>>2]=wD(c[l>>2]|0)|0}i=m;return}function JG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;l=m+8|0;k=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=0;c[k>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;a=c[f>>2]|0;a=vC(a,MB(c[k>>2]|0)|0,0)|0;c[h>>2]=a;if(a){if(!(c[l>>2]|0)){a=c[f>>2]|0;c[l>>2]=uD(a,MB(c[e>>2]|0)|0,1)|0}uC(c[l>>2]|0,c[h>>2]|0,1)|0}c[k>>2]=qC(c[e>>2]|0,c[k>>2]|0)|0}if((c[l>>2]|0)==0&(c[g>>2]|0)!=0){a=c[f>>2]|0;c[l>>2]=uD(a,MB(c[e>>2]|0)|0,1)|0}if(!(c[l>>2]|0)){a=c[l>>2]|0;i=m;return a|0}vG(c[l>>2]|0,c[e>>2]|0)|0;TA(c[e>>2]|0,c[l>>2]|0)|0;a=c[l>>2]|0;i=m;return a|0}function KG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();h=k;d=k+28|0;l=k+24|0;g=k+20|0;e=k+16|0;f=k+12|0;c[d>>2]=a;c[l>>2]=b;c[g>>2]=vD(c[l>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;l=(g4(MB(c[g>>2]|0)|0,145693,7)|0)==0;b=c[d>>2]|0;a=c[g>>2]|0;a:do if(l){c[e>>2]=vC(b,MB(a)|0,1)|0;aD(c[e>>2]|0,136766,16,1)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]=c[g>>2];c[f>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[f>>2]|0))break a;if(c[($C(c[f>>2]|0,136766,0)|0)+12>>2]|0){l=c[24742]|0;m=MB(c[f>>2]|0)|0;b=MB(c[g>>2]|0)|0;a=MB(c[($C(c[f>>2]|0,136766,0)|0)+12>>2]|0)|0;c[h>>2]=m;c[h+4>>2]=b;c[h+8>>2]=a;p3(l,136858,h)|0}m=c[e>>2]|0;c[($C(c[f>>2]|0,136766,0)|0)+12>>2]=m;c[f>>2]=qC(c[g>>2]|0,c[f>>2]|0)|0}}else KG(b,a);while(0);c[g>>2]=wD(c[g>>2]|0)|0}i=k;return}function LG(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[c[d>>2]>>2]|0);B1(c[d>>2]|0);i=b;return}function MG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();h=k+8|0;g=k;d=k+20|0;e=k+16|0;f=k+12|0;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+8>>2]|0)!=(c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]|0)){a=c[d>>2]|0;a=a+16|0;a=c[a>>2]|0;g=c[e>>2]|0;gc[a&127](g,1)|0;g=c[e>>2]|0;a=c[d>>2]|0;a=a+8|0;h=c[a>>2]|0;b=h+4|0;c[a>>2]=b;c[h>>2]=g;i=k;return}do if(!(c[(c[(c[d>>2]|0)+4>>2]|0)+12>>2]|0)){c[f>>2]=rK(16)|0;if(!(c[f>>2]|0)){pA(1,136925,g)|0;hb(54420,1)}c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];c[(c[f>>2]|0)+12>>2]=0;g=rK(4e6)|0;c[c[f>>2]>>2]=g;if(!(c[c[f>>2]>>2]|0)){pA(1,136925,h)|0;hb(54420,1)}else{c[(c[f>>2]|0)+4>>2]=(c[c[f>>2]>>2]|0)+4e6;c[(c[(c[d>>2]|0)+4>>2]|0)+12>>2]=c[f>>2];break}}while(0);c[(c[d>>2]|0)+4>>2]=c[(c[(c[d>>2]|0)+4>>2]|0)+12>>2];c[(c[d>>2]|0)+8>>2]=c[c[(c[d>>2]|0)+4>>2]>>2];a=c[d>>2]|0;a=a+16|0;a=c[a>>2]|0;g=c[e>>2]|0;gc[a&127](g,1)|0;g=c[e>>2]|0;a=c[d>>2]|0;a=a+8|0;h=c[a>>2]|0;b=h+4|0;c[a>>2]=b;c[h>>2]=g;i=k;return}function NG(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[d>>2]=a;do if((c[(c[d>>2]|0)+8>>2]|0)==(c[c[(c[d>>2]|0)+4>>2]>>2]|0)){if((c[(c[d>>2]|0)+4>>2]|0)!=(c[c[d>>2]>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[(c[(c[d>>2]|0)+4>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2];break}c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}while(0);a=(c[d>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+-4;c[b>>2]=c[c[(c[d>>2]|0)+8>>2]>>2];a=c[b>>2]|0;i=e;return a|0}function OG(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();g=h+4|0;e=h;f=h+8|0;c[e>>2]=b;while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){e=6;break}if((d[f>>0]|0|0)==95)continue;if(!(E1(d[f>>0]|0)|0)){e=5;break}}if((e|0)==5){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}else if((e|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}return 0}function PG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=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.0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();e=r+52|0;t=r+48|0;s=r+44|0;o=r+40|0;q=r+36|0;k=r+32|0;n=r+28|0;p=r+24|0;f=r+20|0;g=r+16|0;l=r+12|0;m=r+8|0;v=r+4|0;u=r;c[e>>2]=d;w=+h[a>>3];c[t>>2]=~~(+h[a>>3]>=0.0?w+.5:w-.5);w=+h[a+8>>3];c[s>>2]=~~(+h[a+8>>3]>=0.0?w+.5:w-.5);w=+h[b>>3];c[o>>2]=~~(+h[b>>3]>=0.0?w+.5:w-.5);w=+h[b+8>>3];c[q>>2]=~~(+h[b+8>>3]>=0.0?w+.5:w-.5);c[v>>2]=(c[o>>2]|0)-(c[t>>2]|0);b=c[v>>2]|0;c[f>>2]=((c[v>>2]|0)>=0?b:0-b|0)<<1;c[l>>2]=(c[v>>2]|0)<0?-1:1;c[u>>2]=(c[q>>2]|0)-(c[s>>2]|0);b=c[u>>2]|0;c[g>>2]=((c[u>>2]|0)>=0?b:0-b|0)<<1;c[m>>2]=(c[u>>2]|0)<0?-1:1;c[n>>2]=c[t>>2];c[p>>2]=c[s>>2];if((c[f>>2]|0)>(c[g>>2]|0)){c[k>>2]=(c[g>>2]|0)-(c[f>>2]>>1);while(1){lL(c[e>>2]|0,c[n>>2]|0,c[p>>2]|0);if((c[n>>2]|0)==(c[o>>2]|0))break;if((c[k>>2]|0)>=0){c[p>>2]=(c[p>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)-(c[f>>2]|0)}c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[g>>2]|0)}i=r;return}else{c[k>>2]=(c[f>>2]|0)-(c[g>>2]>>1);while(1){lL(c[e>>2]|0,c[n>>2]|0,c[p>>2]|0);if((c[p>>2]|0)==(c[q>>2]|0))break;if((c[k>>2]|0)>=0){c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)-(c[g>>2]|0)}c[p>>2]=(c[p>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0)}i=r;return}}function QG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();s=t;f=t+44|0;g=t+40|0;h=t+36|0;k=t+32|0;l=t+28|0;o=t+24|0;r=t+20|0;m=t+16|0;n=t+12|0;p=t+8|0;q=t+4|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[g>>2]|0)<=0){c[f>>2]=0;s=c[f>>2]|0;i=t;return s|0}b=c[g>>2]|0;if((c[(c[l>>2]|0)+16>>2]|0)>>>0<=3){c[f>>2]=ZG(b,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;s=c[f>>2]|0;i=t;return s|0}c[m>>2]=rK(b<<5)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[g>>2]|0))break;c[n>>2]=c[(c[h>>2]|0)+(c[o>>2]<<2)>>2];QO(c[n>>2]|0);k=(c[m>>2]|0)+(c[o>>2]<<5)|0;d=(c[(c[n>>2]|0)+8>>2]|0)+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];c[k+16>>2]=c[d+16>>2];c[k+20>>2]=c[d+20>>2];c[k+24>>2]=c[d+24>>2];c[k+28>>2]=c[d+28>>2];c[o>>2]=(c[o>>2]|0)+1}if((c[(c[l>>2]|0)+16>>2]|0)==4){a:do if(c[(c[l>>2]|0)+28>>2]&2){n=qK(c[g>>2]<<2)|0;c[(c[l>>2]|0)+24>>2]=n;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[g>>2]|0))break a;c[q>>2]=OA(c[(c[h>>2]|0)+(c[o>>2]<<2)>>2]|0,136949)|0;if((c[q>>2]|0)!=0?(n=c[q>>2]|0,c[s>>2]=r,n=(E3(n,175103,s)|0)>0,n&(c[r>>2]|0)>=0):0)c[(c[(c[l>>2]|0)+24>>2]|0)+(c[o>>2]<<2)>>2]=c[r>>2];c[o>>2]=(c[o>>2]|0)+1}}while(0);c[p>>2]=_G(c[g>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;if(c[(c[l>>2]|0)+28>>2]&2)B1(c[(c[l>>2]|0)+24>>2]|0)}B1(c[m>>2]|0);c[f>>2]=c[p>>2];s=c[f>>2]|0;i=t;return s|0}function RG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[f>>2]|0)<=0)c[e>>2]=0;else{if((c[(c[h>>2]|0)+16>>2]|0)!=2?(c[(c[h>>2]|0)+16>>2]|0)!=1:0){if((c[(c[h>>2]|0)+16>>2]|0)==3){c[e>>2]=$G(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}if((c[(c[h>>2]|0)+16>>2]|0)==4){c[e>>2]=_G(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}else{c[e>>2]=0;break}}c[e>>2]=0}while(0);i=k;return c[e>>2]|0}function SG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=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=i;i=i+80|0;if((i|0)>=(j|0))ba();g=z+72|0;k=z+68|0;l=z+64|0;m=z+60|0;n=z+56|0;o=z+52|0;w=z+48|0;p=z+44|0;q=z+40|0;t=z+8|0;u=z;y=z+32|0;v=z+28|0;s=z+24|0;x=z+20|0;r=z+16|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;if((c[k>>2]|0)<=0){c[g>>2]=N(c[k>>2]|0)|0;e=c[g>>2]|0;i=z;return e|0}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[k>>2]|0))break;c[v>>2]=c[(c[l>>2]|0)+(c[w>>2]<<2)>>2];if(c[n>>2]|0)c[s>>2]=c[n>>2];else c[s>>2]=c[v>>2];e=(c[m>>2]|0)+(c[w>>2]<<3)|0;c[y>>2]=c[e>>2];c[y+4>>2]=c[e+4>>2];c[p>>2]=c[y>>2];c[q>>2]=c[y+4>>2];h[t>>3]=+(c[p>>2]|0)/72.0;h[u>>3]=+(c[q>>2]|0)/72.0;c[x>>2]=pC(c[v>>2]|0)|0;while(1){if(!(c[x>>2]|0))break;e=c[(c[(c[x>>2]|0)+8>>2]|0)+132>>2]|0;h[e>>3]=+h[e>>3]+ +h[t>>3];e=(c[(c[(c[x>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[e>>3]=+h[e>>3]+ +h[u>>3];e=(c[(c[x>>2]|0)+8>>2]|0)+16|0;h[e>>3]=+h[e>>3]+ +(c[p>>2]|0);e=(c[(c[x>>2]|0)+8>>2]|0)+16+8|0;h[e>>3]=+h[e>>3]+ +(c[q>>2]|0);if(c[(c[(c[x>>2]|0)+8>>2]|0)+108>>2]|0){e=(c[(c[(c[x>>2]|0)+8>>2]|0)+108>>2]|0)+56|0;h[e>>3]=+h[e>>3]+ +(c[p>>2]|0);e=(c[(c[(c[x>>2]|0)+8>>2]|0)+108>>2]|0)+56+8|0;h[e>>3]=+h[e>>3]+ +(c[q>>2]|0)}a:do if(c[o>>2]|0){c[r>>2]=cB(c[s>>2]|0,c[x>>2]|0)|0;while(1){if(!(c[r>>2]|0))break a;aH(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0);c[r>>2]=eB(c[s>>2]|0,c[r>>2]|0)|0}}while(0);c[x>>2]=qC(c[v>>2]|0,c[x>>2]|0)|0}bH(c[v>>2]|0,c[p>>2]|0,c[q>>2]|0);c[w>>2]=(c[w>>2]|0)+1}c[g>>2]=0;e=c[g>>2]|0;i=z;return e|0}function TG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=QG(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(c[m>>2]|0){c[n>>2]=SG(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[k>>2]|0,c[(c[l>>2]|0)+12>>2]|0)|0;B1(c[m>>2]|0);c[f>>2]=c[n>>2];d=c[f>>2]|0;i=o;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=o;return d|0}return 0}function UG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();g=r+60|0;k=r+56|0;l=r+52|0;s=r+48|0;q=r+44|0;o=r+40|0;p=r+36|0;m=r;n=r+32|0;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[s>>2]=e;c[q>>2]=TG(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0,c[s>>2]|0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=r;return s|0}QO(c[l>>2]|0);s=(c[(c[l>>2]|0)+8>>2]|0)+16|0;c[m>>2]=c[s>>2];c[m+4>>2]=c[s+4>>2];c[m+8>>2]=c[s+8>>2];c[m+12>>2]=c[s+12>>2];c[m+16>>2]=c[s+16>>2];c[m+20>>2]=c[s+20>>2];c[m+24>>2]=c[s+24>>2];c[m+28>>2]=c[s+28>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[g>>2]|0))break;c[n>>2]=c[(c[k>>2]|0)+(c[o>>2]<<2)>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>(c[(c[(c[n>>2]|0)+8>>2]|0)+180>>2]|0))break;if(+h[m>>3]<+h[(c[(c[(c[(c[(c[n>>2]|0)+8>>2]|0)+184>>2]|0)+(c[p>>2]<<2)>>2]|0)+8>>2]|0)+16>>3])f=+h[m>>3];else f=+h[(c[(c[(c[(c[(c[n>>2]|0)+8>>2]|0)+184>>2]|0)+(c[p>>2]<<2)>>2]|0)+8>>2]|0)+16>>3];h[m>>3]=f;if(+h[m+8>>3]<+h[(c[(c[(c[(c[(c[n>>2]|0)+8>>2]|0)+184>>2]|0)+(c[p>>2]<<2)>>2]|0)+8>>2]|0)+16+8>>3])f=+h[m+8>>3];else f=+h[(c[(c[(c[(c[(c[n>>2]|0)+8>>2]|0)+184>>2]|0)+(c[p>>2]<<2)>>2]|0)+8>>2]|0)+16+8>>3];h[m+8>>3]=f;if(+h[m+16>>3]>+h[(c[(c[(c[(c[(c[n>>2]|0)+8>>2]|0)+184>>2]|0)+(c[p>>2]<<2)>>2]|0)+8>>2]|0)+16+16>>3])f=+h[m+16>>3];else f=+h[(c[(c[(c[(c[(c[n>>2]|0)+8>>2]|0)+184>>2]|0)+(c[p>>2]<<2)>>2]|0)+8>>2]|0)+16+16>>3];h[m+16>>3]=f;if(+h[m+16+8>>3]>+h[(c[(c[(c[(c[(c[n>>2]|0)+8>>2]|0)+184>>2]|0)+(c[p>>2]<<2)>>2]|0)+8>>2]|0)+16+16+8>>3])f=+h[m+16+8>>3];else f=+h[(c[(c[(c[(c[(c[n>>2]|0)+8>>2]|0)+184>>2]|0)+(c[p>>2]<<2)>>2]|0)+8>>2]|0)+16+16+8>>3];h[m+16+8>>3]=f;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}s=(c[(c[l>>2]|0)+8>>2]|0)+16|0;c[s>>2]=c[m>>2];c[s+4>>2]=c[m+4>>2];c[s+8>>2]=c[m+8>>2];c[s+12>>2]=c[m+12>>2];c[s+16>>2]=c[m+16>>2];c[s+20>>2]=c[m+20>>2];c[s+24>>2]=c[m+24>>2];c[s+28>>2]=c[m+28>>2];s=c[q>>2]|0;i=r;return s|0}function VG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n;g=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;if(!(c[l>>2]|0))db(136955,136961,1400,136968);f=YG(c[g>>2]|0,c[k>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+8>>2]=f;if(a[139078]|0){f=c[24742]|0;c[m>>2]=c[(c[l>>2]|0)+8>>2];p3(f,136980,m)|0}c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+20>>2]=0;XG(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;i=n;return c[(c[l>>2]|0)+16>>2]|0}function WG(b,d,e){b=b|0;d=d|0;e=e|0;var f=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;v=i;i=i+80|0;if((i|0)>=(j|0))ba();r=v+48|0;q=v+40|0;p=v+32|0;u=v+24|0;t=v+16|0;s=v+8|0;o=v;f=v+68|0;k=v+64|0;l=v+60|0;n=v+56|0;m=v+52|0;c[f>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[l>>2]|0))db(136955,136961,1292,136993);c[(c[l>>2]|0)+28>>2]=0;c[(c[l>>2]|0)+16>>2]=c[k>>2];c[(c[l>>2]|0)+4>>2]=0;c[(c[l>>2]|0)+24>>2]=0;a:do if((c[f>>2]|0)!=0?(a[c[f>>2]>>0]|0)!=0:0)switch(a[c[f>>2]>>0]|0){case 97:{if(!(g4(c[f>>2]|0,137011,5)|0)){c[(c[l>>2]|0)+16>>2]=4;c[f>>2]=(c[f>>2]|0)+5;c[f>>2]=cH(c[f>>2]|0,c[l>>2]|0)|0;s=c[f>>2]|0;c[o>>2]=m;s=(E3(s,175103,o)|0)>0;if(!(s&(c[m>>2]|0)>0))break a;c[(c[l>>2]|0)+4>>2]=c[m>>2];break a}if(g4(c[f>>2]|0,137017,6)|0)break a;c[(c[l>>2]|0)+16>>2]=5;o=(c[f>>2]|0)+5|0;c[s>>2]=n;if((E3(o,137024,s)|0)>0&+g[n>>2]>0.0){g[c[l>>2]>>2]=+g[n>>2];break a}else{g[c[l>>2]>>2]=1.0;break a}}case 99:{if((a[c[f>>2]>>0]|0)!=(a[145693]|0))break a;if(a4(c[f>>2]|0,145693)|0)break a;c[(c[l>>2]|0)+16>>2]=1;break a}case 103:{if((a[c[f>>2]>>0]|0)!=(a[149178]|0))break a;if(a4(c[f>>2]|0,149178)|0)break a;c[(c[l>>2]|0)+16>>2]=3;break a}case 110:{if((a[c[f>>2]>>0]|0)!=(a[149164]|0))break a;if(a4(c[f>>2]|0,149164)|0)break a;c[(c[l>>2]|0)+16>>2]=2;break a}default:break a}while(0);if(!(a[139078]|0)){u=c[l>>2]|0;u=u+16|0;u=c[u>>2]|0;i=v;return u|0}p3(c[24742]|0,137027,t)|0;t=c[24742]|0;c[u>>2]=dH(c[(c[l>>2]|0)+16>>2]|0)|0;p3(t,137039,u)|0;if((c[(c[l>>2]|0)+16>>2]|0)==5){u=c[24742]|0;h[p>>3]=+g[c[l>>2]>>2];p3(u,137052,p)|0}u=c[24742]|0;c[q>>2]=c[(c[l>>2]|0)+4>>2];p3(u,137065,q)|0;u=c[24742]|0;c[r>>2]=c[(c[l>>2]|0)+28>>2];p3(u,137078,r)|0;u=c[l>>2]|0;u=u+16|0;u=c[u>>2]|0;i=v;return u|0}function XG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=OA(c[h>>2]|0,137091)|0;d=WG(d,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function YG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m;n=m+24|0;o=m+20|0;f=m+16|0;h=m+12|0;g=m+8|0;k=m+4|0;c[n>>2]=b;c[o>>2]=d;c[f>>2]=e;c[k>>2]=c[o>>2];d=OA(c[n>>2]|0,137100)|0;c[h>>2]=d;if(!d){o=c[k>>2]|0;i=m;return o|0}o=c[h>>2]|0;c[l>>2]=g;o=(E3(o,175103,l)|0)==1;if(o&(c[g>>2]|0)>=0){c[k>>2]=c[g>>2];o=c[k>>2]|0;i=m;return o|0}if((a[c[h>>2]>>0]|0)!=116?(a[c[h>>2]>>0]|0)!=84:0){o=c[k>>2]|0;i=m;return o|0}c[k>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function ZG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|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,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.0,L=0.0,M=0.0,N=0.0;J=i;i=i+224|0;if((i|0)>=(j|0))ba();t=J+208|0;k=J+64|0;G=J+48|0;H=J+40|0;F=J;l=J+200|0;m=J+196|0;n=J+192|0;o=J+188|0;p=J+184|0;E=J+180|0;A=J+176|0;D=J+172|0;B=J+168|0;C=J+164|0;z=J+160|0;u=J+156|0;w=J+152|0;q=J+136|0;v=J+120|0;s=J+112|0;r=J+104|0;x=J+100|0;y=J+96|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[u>>2]=c[(c[p>>2]|0)+20>>2];c[w>>2]=0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;if((c[m>>2]|0)<=0){c[l>>2]=0;I=c[l>>2]|0;i=J;return I|0}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[m>>2]|0))break;c[x>>2]=c[(c[n>>2]|0)+(c[z>>2]<<2)>>2];QO(c[x>>2]|0);if((c[u>>2]|0)!=0?(d[(c[u>>2]|0)+(c[z>>2]|0)>>0]|0)!=0:0){K=+h[(c[(c[x>>2]|0)+8>>2]|0)+16>>3];c[q>>2]=~~(+h[(c[(c[x>>2]|0)+8>>2]|0)+16>>3]>=0.0?K+.5:K-.5);K=+h[(c[(c[x>>2]|0)+8>>2]|0)+16+8>>3];c[q+4>>2]=~~(+h[(c[(c[x>>2]|0)+8>>2]|0)+16+8>>3]>=0.0?K+.5:K-.5);K=+h[(c[(c[x>>2]|0)+8>>2]|0)+16+16>>3];c[q+8>>2]=~~(+h[(c[(c[x>>2]|0)+8>>2]|0)+16+16>>3]>=0.0?K+.5:K-.5);K=+h[(c[(c[x>>2]|0)+8>>2]|0)+16+16+8>>3];c[q+8+4>>2]=~~(+h[(c[(c[x>>2]|0)+8>>2]|0)+16+16+8>>3]>=0.0?K+.5:K-.5);if(c[w>>2]|0){c[v>>2]=(c[q>>2]|0)<(c[v>>2]|0)?c[q>>2]|0:c[v>>2]|0;c[v+4>>2]=(c[q+4>>2]|0)<(c[v+4>>2]|0)?c[q+4>>2]|0:c[v+4>>2]|0;c[v+8>>2]=(c[q+8>>2]|0)>(c[v+8>>2]|0)?c[q+8>>2]|0:c[v+8>>2]|0;c[v+8+4>>2]=(c[q+8+4>>2]|0)>(c[v+8+4>>2]|0)?c[q+8+4>>2]|0:c[v+8+4>>2]|0}else{c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2]}c[w>>2]=(c[w>>2]|0)+1}if((d[139078]|0)>2){f=c[24742]|0;g=MB(c[x>>2]|0)|0;N=+h[(c[(c[x>>2]|0)+8>>2]|0)+16>>3];M=+h[(c[(c[x>>2]|0)+8>>2]|0)+16+8>>3];L=+h[(c[(c[x>>2]|0)+8>>2]|0)+16+16>>3];K=+h[(c[(c[x>>2]|0)+8>>2]|0)+16+16+8>>3];c[F>>2]=g;h[F+8>>3]=N;h[F+16>>3]=M;h[F+24>>3]=L;h[F+32>>3]=K;p3(f,137399,F)|0}c[z>>2]=(c[z>>2]|0)+1}c[r>>2]=rK(c[m>>2]<<5)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[m>>2]|0))break;F=(c[r>>2]|0)+(c[z>>2]<<5)|0;f=(c[(c[(c[n>>2]|0)+(c[z>>2]<<2)>>2]|0)+8>>2]|0)+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+16>>2]=c[f+16>>2];c[F+20>>2]=c[f+20>>2];c[F+24>>2]=c[f+24>>2];c[F+28>>2]=c[f+28>>2];c[z>>2]=(c[z>>2]|0)+1}c[E>>2]=eH(c[m>>2]|0,c[r>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;if(a[139078]|0){F=c[24742]|0;c[H>>2]=c[E>>2];p3(F,137115,H)|0}if((c[E>>2]|0)<=0){c[l>>2]=0;I=c[l>>2]|0;i=J;return I|0}if(c[u>>2]|0){c[s>>2]=((c[v>>2]|0)+(c[v+8>>2]|0)|0)/2|0;c[s+4>>2]=((c[v+4>>2]|0)+(c[v+8+4>>2]|0)|0)/2|0}else{c[s+4>>2]=0;c[s>>2]=0}c[A>>2]=qK(c[m>>2]<<4)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[m>>2]|0))break;c[y>>2]=c[(c[n>>2]|0)+(c[z>>2]<<2)>>2];c[(c[A>>2]|0)+(c[z>>2]<<4)+12>>2]=c[z>>2];if((c[(c[p>>2]|0)+16>>2]|0)!=3){b=c[o>>2]|0;g=c[(c[n>>2]|0)+(c[z>>2]<<2)>>2]|0;f=(c[A>>2]|0)+(c[z>>2]<<4)|0;F=c[E>>2]|0;H=c[p>>2]|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];if(lH(b,g,f,F,H,t)|0){I=29;break}}else{b=(c[(c[y>>2]|0)+8>>2]|0)+16|0;g=(c[A>>2]|0)+(c[z>>2]<<4)|0;f=c[E>>2]|0;F=c[(c[p>>2]|0)+8>>2]|0;H=MB(c[y>>2]|0)|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];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];fH(k,g,f,F,t,H)}c[z>>2]=(c[z>>2]|0)+1}if((I|0)==29){c[l>>2]=0;I=c[l>>2]|0;i=J;return I|0}c[D>>2]=qK(c[m>>2]<<2)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[m>>2]|0))break;c[(c[D>>2]|0)+(c[z>>2]<<2)>>2]=(c[A>>2]|0)+(c[z>>2]<<4);c[z>>2]=(c[z>>2]|0)+1}P3(c[D>>2]|0,c[m>>2]|0,4,89);c[C>>2]=iL()|0;c[B>>2]=qK(c[m>>2]<<3)|0;I=(c[u>>2]|0)!=0;c[z>>2]=0;a:do if(I){while(1){if((c[z>>2]|0)>=(c[m>>2]|0))break;if(a[(c[u>>2]|0)+(c[z>>2]|0)>>0]|0){F=c[(c[D>>2]|0)+(c[z>>2]<<2)>>2]|0;H=c[C>>2]|0;I=(c[B>>2]|0)+(c[(c[(c[D>>2]|0)+(c[z>>2]<<2)>>2]|0)+12>>2]<<3)|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];mH(F,H,I,t)}c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[m>>2]|0))break a;if(!(a[(c[u>>2]|0)+(c[z>>2]|0)>>0]|0))hH(c[z>>2]|0,c[(c[D>>2]|0)+(c[z>>2]<<2)>>2]|0,c[C>>2]|0,(c[B>>2]|0)+(c[(c[(c[D>>2]|0)+(c[z>>2]<<2)>>2]|0)+12>>2]<<3)|0,c[E>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[r>>2]|0);c[z>>2]=(c[z>>2]|0)+1}}else while(1){if((c[z>>2]|0)>=(c[m>>2]|0))break a;hH(c[z>>2]|0,c[(c[D>>2]|0)+(c[z>>2]<<2)>>2]|0,c[C>>2]|0,(c[B>>2]|0)+(c[(c[(c[D>>2]|0)+(c[z>>2]<<2)>>2]|0)+12>>2]<<3)|0,c[E>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[r>>2]|0);c[z>>2]=(c[z>>2]|0)+1}while(0);B1(c[D>>2]|0);c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[m>>2]|0))break;B1(c[(c[A>>2]|0)+(c[z>>2]<<4)+4>>2]|0);c[z>>2]=(c[z>>2]|0)+1}B1(c[A>>2]|0);jL(c[C>>2]|0);B1(c[r>>2]|0);b:do if((d[139078]|0)>1){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[m>>2]|0))break b;I=c[24742]|0;F=c[(c[B>>2]|0)+(c[z>>2]<<3)>>2]|0;H=c[(c[B>>2]|0)+(c[z>>2]<<3)+4>>2]|0;c[G>>2]=c[z>>2];c[G+4>>2]=F;c[G+8>>2]=H;p3(I,137131,G)|0;c[z>>2]=(c[z>>2]|0)+1}}while(0);c[l>>2]=c[B>>2];I=c[l>>2]|0;i=J;return I|0}function _G(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=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;F=i;i=i+144|0;if((i|0)>=(j|0))ba();k=F+56|0;o=F+132|0;p=F+128|0;q=F+124|0;u=F+120|0;z=F+116|0;y=F+112|0;B=F+108|0;s=F+104|0;w=F+100|0;x=F+96|0;D=F+92|0;E=F+88|0;t=F+84|0;m=F+48|0;n=F+40|0;l=F+32|0;A=F+80|0;r=F;g=F+76|0;C=F+72|0;v=F+68|0;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[z>>2]=0;c[A>>2]=qK(c[o>>2]<<3)|0;c[g>>2]=c[(c[q>>2]|0)+4>>2];do if(c[(c[q>>2]|0)+28>>2]&1){c[C>>2]=0;if((c[g>>2]|0)>0){c[z>>2]=c[g>>2];c[y>>2]=((c[o>>2]|0)+((c[z>>2]|0)-1)|0)/(c[z>>2]|0)|0;break}else{c[z>>2]=~~+Z(+(+O(+(+(c[o>>2]|0)))));c[y>>2]=((c[o>>2]|0)+((c[z>>2]|0)-1)|0)/(c[z>>2]|0)|0;break}}else{c[C>>2]=1;if((c[g>>2]|0)>0){c[y>>2]=c[g>>2];c[z>>2]=((c[o>>2]|0)+((c[y>>2]|0)-1)|0)/(c[y>>2]|0)|0;break}else{c[y>>2]=~~+Z(+(+O(+(+(c[o>>2]|0)))));c[z>>2]=((c[o>>2]|0)+((c[y>>2]|0)-1)|0)/(c[y>>2]|0)|0;break}}while(0);if(a[139078]|0){g=c[24742]|0;b=c[z>>2]|0;e=c[y>>2]|0;c[k>>2]=(c[C>>2]|0)!=0?137338:137348;c[k+4>>2]=b;c[k+8>>2]=e;p3(g,137361,k)|0}c[E>>2]=qK((c[y>>2]|0)+1<<3)|0;c[t>>2]=qK((c[z>>2]|0)+1<<3)|0;g=qK((c[o>>2]|0)*24|0)|0;c[w>>2]=g;c[x>>2]=g;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[o>>2]|0))break;g=(c[p>>2]|0)+(c[u>>2]<<5)|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[r+16>>2]=c[g+16>>2];c[r+20>>2]=c[g+20>>2];c[r+24>>2]=c[g+24>>2];c[r+28>>2]=c[g+28>>2];h[c[x>>2]>>3]=+h[r+16>>3]-+h[r>>3]+ +((c[(c[q>>2]|0)+8>>2]|0)>>>0);h[(c[x>>2]|0)+8>>3]=+h[r+16+8>>3]-+h[r+8>>3]+ +((c[(c[q>>2]|0)+8>>2]|0)>>>0);c[(c[x>>2]|0)+16>>2]=c[u>>2];c[u>>2]=(c[u>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+24}c[D>>2]=qK(c[o>>2]<<2)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[o>>2]|0))break;c[(c[D>>2]|0)+(c[u>>2]<<2)>>2]=(c[w>>2]|0)+((c[u>>2]|0)*24|0);c[u>>2]=(c[u>>2]|0)+1}d=c[q>>2]|0;if(!(c[(c[q>>2]|0)+24>>2]|0)){if(!(c[d+28>>2]&64))P3(c[D>>2]|0,c[o>>2]|0,4,91)}else{c[13644]=c[d+24>>2];P3(c[D>>2]|0,c[o>>2]|0,4,90)}c[s>>2]=0;c[B>>2]=0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[o>>2]|0))break;c[x>>2]=c[(c[D>>2]|0)+(c[u>>2]<<2)>>2];if(+h[(c[E>>2]|0)+(c[s>>2]<<3)>>3]>+h[c[x>>2]>>3])f=+h[(c[E>>2]|0)+(c[s>>2]<<3)>>3];else f=+h[c[x>>2]>>3];h[(c[E>>2]|0)+(c[s>>2]<<3)>>3]=f;if(+h[(c[t>>2]|0)+(c[B>>2]<<3)>>3]>+h[(c[x>>2]|0)+8>>3])f=+h[(c[t>>2]|0)+(c[B>>2]<<3)>>3];else f=+h[(c[x>>2]|0)+8>>3];h[(c[t>>2]|0)+(c[B>>2]<<3)>>3]=f;if(c[C>>2]|0){c[s>>2]=(c[s>>2]|0)+1;if((c[s>>2]|0)==(c[y>>2]|0)){c[s>>2]=0;c[B>>2]=(c[B>>2]|0)+1}}else{c[B>>2]=(c[B>>2]|0)+1;if((c[B>>2]|0)==(c[z>>2]|0)){c[B>>2]=0;c[s>>2]=(c[s>>2]|0)+1}}c[u>>2]=(c[u>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+24}h[n>>3]=0.0;c[u>>2]=0;while(1){if((c[u>>2]|0)>(c[y>>2]|0))break;h[m>>3]=+h[(c[E>>2]|0)+(c[u>>2]<<3)>>3];h[(c[E>>2]|0)+(c[u>>2]<<3)>>3]=+h[n>>3];h[n>>3]=+h[n>>3]+ +h[m>>3];c[u>>2]=(c[u>>2]|0)+1}h[l>>3]=0.0;c[u>>2]=c[z>>2];while(1){if(0>=(c[u>>2]|0))break;h[m>>3]=+h[(c[t>>2]|0)+((c[u>>2]|0)-1<<3)>>3];h[(c[t>>2]|0)+(c[u>>2]<<3)>>3]=+h[l>>3];h[l>>3]=+h[l>>3]+ +h[m>>3];c[u>>2]=(c[u>>2]|0)+-1}h[c[t>>2]>>3]=+h[l>>3];c[s>>2]=0;c[B>>2]=0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[o>>2]|0))break;c[x>>2]=c[(c[D>>2]|0)+(c[u>>2]<<2)>>2];c[v>>2]=c[(c[x>>2]|0)+16>>2];n=(c[p>>2]|0)+(c[v>>2]<<5)|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[r+16>>2]=c[n+16>>2];c[r+20>>2]=c[n+20>>2];c[r+24>>2]=c[n+24>>2];c[r+28>>2]=c[n+28>>2];do if(!(c[(c[q>>2]|0)+28>>2]&4)){d=c[s>>2]|0;if(c[(c[q>>2]|0)+28>>2]&8){c[(c[A>>2]|0)+(c[v>>2]<<3)>>2]=~~(+h[(c[E>>2]|0)+(d+1<<3)>>3]-(+h[r+16>>3]-+h[r>>3]));break}else{c[(c[A>>2]|0)+(c[v>>2]<<3)>>2]=~~((+h[(c[E>>2]|0)+(d<<3)>>3]+ +h[(c[E>>2]|0)+((c[s>>2]|0)+1<<3)>>3]-+h[r+16>>3]-+h[r>>3])/2.0);break}}else c[(c[A>>2]|0)+(c[v>>2]<<3)>>2]=~~+h[(c[E>>2]|0)+(c[s>>2]<<3)>>3];while(0);do if(!(c[(c[q>>2]|0)+28>>2]&16)){d=c[B>>2]|0;if(c[(c[q>>2]|0)+28>>2]&32){c[(c[A>>2]|0)+(c[v>>2]<<3)+4>>2]=~~+h[(c[t>>2]|0)+(d+1<<3)>>3];break}else{c[(c[A>>2]|0)+(c[v>>2]<<3)+4>>2]=~~((+h[(c[t>>2]|0)+(d<<3)>>3]+ +h[(c[t>>2]|0)+((c[B>>2]|0)+1<<3)>>3]-+h[r+16+8>>3]-+h[r+8>>3])/2.0);break}}else c[(c[A>>2]|0)+(c[v>>2]<<3)+4>>2]=~~(+h[(c[t>>2]|0)+(c[B>>2]<<3)>>3]-(+h[r+16+8>>3]-+h[r+8>>3]));while(0);if(c[C>>2]|0){c[s>>2]=(c[s>>2]|0)+1;if((c[s>>2]|0)==(c[y>>2]|0)){c[s>>2]=0;c[B>>2]=(c[B>>2]|0)+1}}else{c[B>>2]=(c[B>>2]|0)+1;if((c[B>>2]|0)==(c[z>>2]|0)){c[B>>2]=0;c[s>>2]=(c[s>>2]|0)+1}}c[u>>2]=(c[u>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+24}B1(c[w>>2]|0);B1(c[D>>2]|0);B1(c[E>>2]|0);B1(c[t>>2]|0);i=F;return c[A>>2]|0}function $G(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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=i;i=i+112|0;if((i|0)>=(j|0))ba();o=x+104|0;g=x+24|0;w=x+8|0;v=x;h=x+100|0;k=x+96|0;l=x+92|0;m=x+88|0;u=x+84|0;q=x+80|0;t=x+76|0;r=x+72|0;s=x+68|0;p=x+64|0;n=x+56|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[u>>2]=eH(c[k>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0;if(a[139078]|0){f=c[24742]|0;c[v>>2]=c[u>>2];p3(f,137115,v)|0}if((c[u>>2]|0)<=0){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[n+4>>2]=0;c[n>>2]=0;c[q>>2]=qK(c[k>>2]<<4)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break;c[(c[q>>2]|0)+(c[p>>2]<<4)+12>>2]=c[p>>2];e=(c[l>>2]|0)+(c[p>>2]<<5)|0;b=(c[q>>2]|0)+(c[p>>2]<<4)|0;f=c[u>>2]|0;v=c[(c[m>>2]|0)+8>>2]|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[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];c[g+28>>2]=c[e+28>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];fH(g,b,f,v,o,178598);c[p>>2]=(c[p>>2]|0)+1}c[t>>2]=qK(c[k>>2]<<2)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break;c[(c[t>>2]|0)+(c[p>>2]<<2)>>2]=(c[q>>2]|0)+(c[p>>2]<<4);c[p>>2]=(c[p>>2]|0)+1}P3(c[t>>2]|0,c[k>>2]|0,4,89);c[s>>2]=iL()|0;c[r>>2]=qK(c[k>>2]<<3)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break;hH(c[p>>2]|0,c[(c[t>>2]|0)+(c[p>>2]<<2)>>2]|0,c[s>>2]|0,(c[r>>2]|0)+(c[(c[(c[t>>2]|0)+(c[p>>2]<<2)>>2]|0)+12>>2]<<3)|0,c[u>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}B1(c[t>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break;B1(c[(c[q>>2]|0)+(c[p>>2]<<4)+4>>2]|0);c[p>>2]=(c[p>>2]|0)+1}B1(c[q>>2]|0);jL(c[s>>2]|0);a:do if((d[139078]|0)>1){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break a;v=c[24742]|0;t=c[(c[r>>2]|0)+(c[p>>2]<<3)>>2]|0;u=c[(c[r>>2]|0)+(c[p>>2]<<3)+4>>2]|0;c[w>>2]=c[p>>2];c[w+4>>2]=t;c[w+8>>2]=u;p3(v,137131,w)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[h>>2]=c[r>>2];w=c[h>>2]|0;i=x;return w|0}function aH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;if((i|0)>=(j|0))ba();e=n+64|0;f=n+60|0;g=n+56|0;l=n+52|0;m=n+48|0;k=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2]|0){a=(c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;h[a>>3]=+h[a>>3]+ +(c[f>>2]|0);a=(c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2]|0)+56+8|0;h[a>>3]=+h[a>>3]+ +(c[g>>2]|0)}if(c[(c[(c[e>>2]|0)+8>>2]|0)+108>>2]|0){a=(c[(c[(c[e>>2]|0)+8>>2]|0)+108>>2]|0)+56|0;h[a>>3]=+h[a>>3]+ +(c[f>>2]|0);a=(c[(c[(c[e>>2]|0)+8>>2]|0)+108>>2]|0)+56+8|0;h[a>>3]=+h[a>>3]+ +(c[g>>2]|0)}if(c[(c[(c[e>>2]|0)+8>>2]|0)+100>>2]|0){a=(c[(c[(c[e>>2]|0)+8>>2]|0)+100>>2]|0)+56|0;h[a>>3]=+h[a>>3]+ +(c[f>>2]|0);a=(c[(c[(c[e>>2]|0)+8>>2]|0)+100>>2]|0)+56+8|0;h[a>>3]=+h[a>>3]+ +(c[g>>2]|0)}if(c[(c[(c[e>>2]|0)+8>>2]|0)+104>>2]|0){a=(c[(c[(c[e>>2]|0)+8>>2]|0)+104>>2]|0)+56|0;h[a>>3]=+h[a>>3]+ +(c[f>>2]|0);a=(c[(c[(c[e>>2]|0)+8>>2]|0)+104>>2]|0)+56+8|0;h[a>>3]=+h[a>>3]+ +(c[g>>2]|0)}if(!(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)){i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break;a=k;d=(c[c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[l>>2]|0)*48|0)|0;b=a+48|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(b|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k+4>>2]|0))break;a=(c[k>>2]|0)+(c[m>>2]<<4)|0;h[a>>3]=+h[a>>3]+ +(c[f>>2]|0);a=(c[k>>2]|0)+(c[m>>2]<<4)+8|0;h[a>>3]=+h[a>>3]+ +(c[g>>2]|0);c[m>>2]=(c[m>>2]|0)+1}if(c[k+8>>2]|0){a=(c[c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[l>>2]|0)*48|0)+16|0;h[a>>3]=+h[a>>3]+ +(c[f>>2]|0);a=(c[c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[l>>2]|0)*48|0)+16+8|0;h[a>>3]=+h[a>>3]+ +(c[g>>2]|0)}if(c[k+12>>2]|0){a=(c[c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[l>>2]|0)*48|0)+32|0;h[a>>3]=+h[a>>3]+ +(c[f>>2]|0);a=(c[c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[l>>2]|0)*48|0)+32+8|0;h[a>>3]=+h[a>>3]+ +(c[g>>2]|0)}c[l>>2]=(c[l>>2]|0)+1}i=n;return}function bH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;m=i;i=i+64|0;if((i|0)>=(j|0))ba();e=m+48|0;f=m+44|0;g=m+40|0;l=m+36|0;n=m;k=m+32|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(c[(c[e>>2]|0)+8>>2]|0)+16|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[n+16>>2]=c[a+16>>2];c[n+20>>2]=c[a+20>>2];c[n+24>>2]=c[a+24>>2];c[n+28>>2]=c[a+28>>2];a=(c[(c[e>>2]|0)+8>>2]|0)+16|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[n+16>>2]=c[a+16>>2];c[n+20>>2]=c[a+20>>2];c[n+24>>2]=c[a+24>>2];c[n+28>>2]=c[a+28>>2];h[n>>3]=+h[n>>3]+ +(c[f>>2]|0);a=n+16|0;h[a>>3]=+h[a>>3]+ +(c[f>>2]|0);a=n+8|0;h[a>>3]=+h[a>>3]+ +(c[g>>2]|0);a=n+16+8|0;h[a>>3]=+h[a>>3]+ +(c[g>>2]|0);a=(c[(c[e>>2]|0)+8>>2]|0)+16|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[a+16>>2]=c[n+16>>2];c[a+20>>2]=c[n+20>>2];c[a+24>>2]=c[n+24>>2];c[a+28>>2]=c[n+28>>2];if(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0){n=(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)+56|0;h[n>>3]=+h[n>>3]+ +(c[f>>2]|0);n=(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)+56+8|0;h[n>>3]=+h[n>>3]+ +(c[g>>2]|0)}c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;c[l>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[k>>2]<<2)>>2];bH(c[l>>2]|0,c[f>>2]|0,c[g>>2]|0);c[k>>2]=(c[k>>2]|0)+1}i=m;return}function cH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;b=c[f>>2]|0;if((a[c[f>>2]>>0]|0)!=95){c[e>>2]=b;k=c[e>>2]|0;i=l;return k|0}c[f>>2]=b+1;c[k>>2]=1;a:while(1){if(!(c[k>>2]|0))break;d=a[c[f>>2]>>0]|0;c[h>>2]=d;if(!d)break;switch(c[h>>2]|0){case 99:{d=(c[g>>2]|0)+28|0;c[d>>2]=c[d>>2]|1;c[f>>2]=(c[f>>2]|0)+1;continue a}case 105:{d=(c[g>>2]|0)+28|0;c[d>>2]=c[d>>2]|64;c[f>>2]=(c[f>>2]|0)+1;continue a}case 117:{d=(c[g>>2]|0)+28|0;c[d>>2]=c[d>>2]|2;c[f>>2]=(c[f>>2]|0)+1;continue a}case 116:{d=(c[g>>2]|0)+28|0;c[d>>2]=c[d>>2]|16;c[f>>2]=(c[f>>2]|0)+1;continue a}case 98:{d=(c[g>>2]|0)+28|0;c[d>>2]=c[d>>2]|32;c[f>>2]=(c[f>>2]|0)+1;continue a}case 108:{d=(c[g>>2]|0)+28|0;c[d>>2]=c[d>>2]|4;c[f>>2]=(c[f>>2]|0)+1;continue a}case 114:{d=(c[g>>2]|0)+28|0;c[d>>2]=c[d>>2]|8;c[f>>2]=(c[f>>2]|0)+1;continue a}default:{c[k>>2]=0;continue a}}}c[e>>2]=c[f>>2];k=c[e>>2]|0;i=l;return k|0}function dH(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 1:{c[b>>2]=145693;break}case 2:{c[b>>2]=149164;break}case 3:{c[b>>2]=149178;break}case 4:{c[b>>2]=137011;break}case 5:{c[b>>2]=137017;break}default:c[b>>2]=137105}i=d;return c[b>>2]|0}function eH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,g=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.0,G=0.0,H=0.0;E=i;i=i+240|0;if((i|0)>=(j|0))ba();C=E+192|0;B=E+160|0;D=E+120|0;A=E+112|0;z=E+104|0;q=E+228|0;g=E+224|0;k=E+220|0;l=E+216|0;v=E+96|0;w=E+88|0;r=E+80|0;s=E+72|0;t=E+64|0;u=E+56|0;x=E+48|0;n=E+40|0;m=E+32|0;p=E+212|0;y=E+208|0;o=E;c[g>>2]=a;c[k>>2]=b;c[l>>2]=e;h[r>>3]=+(((c[g>>2]|0)*100|0)-1|0);h[t>>3]=0.0;h[s>>3]=0.0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[g>>2]|0))break;a=(c[k>>2]|0)+(c[p>>2]<<5)|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[o+16>>2]=c[a+16>>2];c[o+20>>2]=c[a+20>>2];c[o+24>>2]=c[a+24>>2];c[o+28>>2]=c[a+28>>2];h[n>>3]=+h[o+16>>3]-+h[o>>3]+ +(c[l>>2]<<1|0);h[m>>3]=+h[o+16+8>>3]-+h[o+8>>3]+ +(c[l>>2]<<1|0);h[s>>3]=+h[s>>3]-(+h[n>>3]+ +h[m>>3]);h[t>>3]=+h[t>>3]-+h[n>>3]*+h[m>>3];c[p>>2]=(c[p>>2]|0)+1}h[u>>3]=+h[s>>3]*+h[s>>3]-+h[r>>3]*4.0*+h[t>>3];f=+h[u>>3];if(+h[u>>3]<0.0){h[z>>3]=f;pA(1,137221,z)|0;c[q>>2]=-1;D=c[q>>2]|0;i=E;return D|0}h[x>>3]=+O(+f);h[v>>3]=(-+h[s>>3]+ +h[x>>3])/(+h[r>>3]*2.0);h[w>>3]=(-+h[s>>3]-+h[x>>3])/(+h[r>>3]*2.0);z=~~+h[v>>3];c[y>>2]=z;c[y>>2]=(c[y>>2]|0)==0?1:z;if((d[139078]|0|0)>2){p3(c[24742]|0,137248,A)|0;A=c[24742]|0;H=+h[s>>3];G=+h[t>>3];f=+h[u>>3];F=+h[x>>3];h[D>>3]=+h[r>>3];h[D+8>>3]=H;h[D+16>>3]=G;h[D+24>>3]=f;h[D+32>>3]=F;p3(A,137276,D)|0;D=c[24742]|0;F=+h[v>>3];A=~~+h[w>>3];f=+h[w>>3];c[B>>2]=c[y>>2];h[B+8>>3]=F;c[B+16>>2]=A;h[B+24>>3]=f;p3(D,137302,B)|0;D=c[24742]|0;f=+h[r>>3]*+h[w>>3]*+h[w>>3]+ +h[s>>3]*+h[w>>3]+ +h[t>>3];h[C>>3]=+h[r>>3]*+h[v>>3]*+h[v>>3]+ +h[s>>3]*+h[v>>3]+ +h[t>>3];h[C+8>>3]=f;p3(D,137324,C)|0}c[q>>2]=c[y>>2];D=c[q>>2]|0;i=E;return D|0}function fH(a,b,e,f,g,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|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.0;z=i;i=i+112|0;if((i|0)>=(j|0))ba();w=z+16|0;v=z;l=z+96|0;m=z+92|0;n=z+88|0;o=z+84|0;u=z+80|0;s=z+76|0;p=z+72|0;r=z+64|0;q=z+56|0;A=z+40|0;x=z+32|0;y=z+28|0;t=z+24|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=k;B=+h[a>>3];c[A>>2]=~~(+h[a>>3]>=0.0?B+.5:B-.5);B=+h[a+8>>3];c[A+4>>2]=~~(+h[a+8>>3]>=0.0?B+.5:B-.5);B=+h[a+16>>3];c[A+8>>2]=~~(+h[a+16>>3]>=0.0?B+.5:B-.5);B=+h[a+16+8>>3];c[A+8+4>>2]=~~(+h[a+16+8>>3]>=0.0?B+.5:B-.5);c[u>>2]=iL()|0;c[q>>2]=(c[g>>2]|0)-(c[n>>2]|0);c[q+4>>2]=(c[g+4>>2]|0)-(c[n>>2]|0);c[r>>2]=(c[g>>2]|0)+(c[A+8>>2]|0)-(c[A>>2]|0)+(c[n>>2]|0);c[r+4>>2]=(c[g+4>>2]|0)+(c[A+8+4>>2]|0)-(c[A+4>>2]|0)+(c[n>>2]|0);g=c[q>>2]|0;if((c[q>>2]|0)>=0)g=(g|0)/(c[m>>2]|0)|0;else g=((g+1|0)/(c[m>>2]|0)|0)-1|0;c[q>>2]=g;g=c[q+4>>2]|0;if((c[q+4>>2]|0)>=0)g=(g|0)/(c[m>>2]|0)|0;else g=((g+1|0)/(c[m>>2]|0)|0)-1|0;c[q+4>>2]=g;g=c[r>>2]|0;if((c[r>>2]|0)>=0)g=(g|0)/(c[m>>2]|0)|0;else g=((g+1|0)/(c[m>>2]|0)|0)-1|0;c[r>>2]=g;g=c[r+4>>2]|0;if((c[r+4>>2]|0)>=0)g=(g|0)/(c[m>>2]|0)|0;else g=((g+1|0)/(c[m>>2]|0)|0)-1|0;c[r+4>>2]=g;c[x>>2]=c[q>>2];while(1){if((c[x>>2]|0)>(c[r>>2]|0))break;c[y>>2]=c[q+4>>2];while(1){if((c[y>>2]|0)>(c[r+4>>2]|0))break;lL(c[u>>2]|0,c[x>>2]|0,c[y>>2]|0);c[y>>2]=(c[y>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}A=pL(c[u>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=A;A=oL(c[u>>2]|0)|0;c[(c[l>>2]|0)+8>>2]=A;c[s>>2]=~~+Z(+((+h[a+16>>3]-+h[a>>3]+ +(c[n>>2]<<1|0))/+(c[m>>2]|0)));c[p>>2]=~~+Z(+((+h[a+16+8>>3]-+h[a+8>>3]+ +(c[n>>2]<<1|0))/+(c[m>>2]|0)));c[c[l>>2]>>2]=(c[s>>2]|0)+(c[p>>2]|0);if((d[139078]|0|0)<=2){A=c[u>>2]|0;jL(A);i=z;return}A=c[24742]|0;a=c[(c[l>>2]|0)+8>>2]|0;x=c[s>>2]|0;y=c[p>>2]|0;c[v>>2]=c[o>>2];c[v+4>>2]=a;c[v+8>>2]=x;c[v+12>>2]=y;p3(A,137180,v)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[l>>2]|0)+8>>2]|0))break;A=c[24742]|0;y=c[(c[(c[l>>2]|0)+4>>2]|0)+(c[t>>2]<<3)+4>>2]|0;c[w>>2]=c[(c[(c[l>>2]|0)+4>>2]|0)+(c[t>>2]<<3)>>2];c[w+4>>2]=y;p3(A,137207,w)|0;c[t>>2]=(c[t>>2]|0)+1}A=c[u>>2]|0;jL(A);i=z;return}function gH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();h=d+12|0;g=d+8|0;e=d+4|0;f=d;c[h>>2]=a;c[g>>2]=b;c[e>>2]=c[c[h>>2]>>2];c[f>>2]=c[c[g>>2]>>2];i=d;return (c[c[f>>2]>>2]|0)-(c[c[e>>2]>>2]|0)|0}function hH(a,b,d,e,f,g,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|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;x=i;i=i+80|0;if((i|0)>=(j|0))ba();y=x+76|0;l=x+72|0;m=x+68|0;n=x+64|0;o=x+60|0;p=x+56|0;q=x+52|0;v=x+48|0;w=x+44|0;s=x+40|0;r=x+36|0;u=x+32|0;t=x;c[y>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=k;f=(c[q>>2]|0)+(c[(c[l>>2]|0)+12>>2]<<5)|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];c[t+16>>2]=c[f+16>>2];c[t+20>>2]=c[f+20>>2];c[t+24>>2]=c[f+24>>2];c[t+28>>2]=c[f+28>>2];if((c[y>>2]|0)==0?(c[s>>2]=~~+Z(+((+h[t+16>>3]-+h[t>>3]+ +(c[p>>2]<<1|0))/+(c[o>>2]|0))),c[r>>2]=~~+Z(+((+h[t+16+8>>3]-+h[t+8>>3]+ +(c[p>>2]<<1|0))/+(c[o>>2]|0))),(iH((0-(c[s>>2]|0)|0)/2|0,(0-(c[r>>2]|0)|0)/2|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0)!=0):0){i=x;return}if(iH(0,0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0){i=x;return}c[s>>2]=~~+Z(+(+h[t+16>>3]-+h[t>>3]));c[r>>2]=~~+Z(+(+h[t+16+8>>3]-+h[t+8>>3]));y=(c[s>>2]|0)>=(c[r>>2]|0);c[u>>2]=1;if(y){a:while(1){c[v>>2]=0;c[w>>2]=0-(c[u>>2]|0);while(1){if((c[v>>2]|0)>=(c[u>>2]|0))break;if(iH(c[v>>2]|0,c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0){l=39;break a}c[v>>2]=(c[v>>2]|0)+1}while(1){if((c[w>>2]|0)>=(c[u>>2]|0))break;if(iH(c[v>>2]|0,c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0){l=39;break a}c[w>>2]=(c[w>>2]|0)+1}while(1){if((c[v>>2]|0)<=(0-(c[u>>2]|0)|0))break;if(iH(c[v>>2]|0,c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0){l=39;break a}c[v>>2]=(c[v>>2]|0)+-1}while(1){if((c[w>>2]|0)<=(0-(c[u>>2]|0)|0))break;if(iH(c[v>>2]|0,c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0){l=39;break a}c[w>>2]=(c[w>>2]|0)+-1}while(1){if((c[v>>2]|0)>=0)break;if(iH(c[v>>2]|0,c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0){l=39;break a}c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}if((l|0)==39){i=x;return}}else{b:while(1){c[w>>2]=0;c[v>>2]=0-(c[u>>2]|0);while(1){if((c[w>>2]|0)<=(0-(c[u>>2]|0)|0))break;if(iH(c[v>>2]|0,c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0){l=39;break b}c[w>>2]=(c[w>>2]|0)+-1}while(1){if((c[v>>2]|0)>=(c[u>>2]|0))break;if(iH(c[v>>2]|0,c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0){l=39;break b}c[v>>2]=(c[v>>2]|0)+1}while(1){if((c[w>>2]|0)>=(c[u>>2]|0))break;if(iH(c[v>>2]|0,c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0){l=39;break b}c[w>>2]=(c[w>>2]|0)+1}while(1){if((c[v>>2]|0)<=(0-(c[u>>2]|0)|0))break;if(iH(c[v>>2]|0,c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0){l=39;break b}c[v>>2]=(c[v>>2]|0)+-1}while(1){if((c[w>>2]|0)<=0)break;if(iH(c[v>>2]|0,c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0){l=39;break b}c[w>>2]=(c[w>>2]|0)+-1}c[u>>2]=(c[u>>2]|0)+1}if((l|0)==39){i=x;return}}}function iH(a,b,e,f,g,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|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.0;C=i;i=i+96|0;if((i|0)>=(j|0))ba();w=C+88|0;A=C;m=C+84|0;n=C+80|0;o=C+76|0;p=C+72|0;q=C+68|0;r=C+64|0;s=C+60|0;t=C+56|0;x=C+52|0;z=C+48|0;v=C+40|0;y=C+32|0;u=C+24|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=k;c[t>>2]=l;c[x>>2]=c[(c[p>>2]|0)+4>>2];c[z>>2]=c[(c[p>>2]|0)+8>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;b=c[x>>2]|0;c[v>>2]=c[b>>2];c[v+4>>2]=c[b+4>>2];c[v>>2]=(c[v>>2]|0)+(c[n>>2]|0);b=v+4|0;c[b>>2]=(c[b>>2]|0)+(c[o>>2]|0);b=c[q>>2]|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];if(mL(b,w)|0){B=4;break}c[x>>2]=(c[x>>2]|0)+8;c[y>>2]=(c[y>>2]|0)+1}if((B|0)==4){c[m>>2]=0;B=c[m>>2]|0;i=C;return B|0}D=+h[(c[t>>2]|0)+(c[(c[p>>2]|0)+12>>2]<<5)>>3];c[u>>2]=~~(+h[(c[t>>2]|0)+(c[(c[p>>2]|0)+12>>2]<<5)>>3]>=0.0?D+.5:D-.5);D=+h[(c[t>>2]|0)+(c[(c[p>>2]|0)+12>>2]<<5)+8>>3];c[u+4>>2]=~~(+h[(c[t>>2]|0)+(c[(c[p>>2]|0)+12>>2]<<5)+8>>3]>=0.0?D+.5:D-.5);B=_(c[s>>2]|0,c[n>>2]|0)|0;c[c[r>>2]>>2]=B-(c[u>>2]|0);B=_(c[s>>2]|0,c[o>>2]|0)|0;c[(c[r>>2]|0)+4>>2]=B-(c[u+4>>2]|0);c[x>>2]=c[(c[p>>2]|0)+4>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[z>>2]|0))break;B=c[x>>2]|0;c[v>>2]=c[B>>2];c[v+4>>2]=c[B+4>>2];c[v>>2]=(c[v>>2]|0)+(c[n>>2]|0);B=v+4|0;c[B>>2]=(c[B>>2]|0)+(c[o>>2]|0);B=c[q>>2]|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];kL(B,w);c[x>>2]=(c[x>>2]|0)+8;c[y>>2]=(c[y>>2]|0)+1}if((d[139078]|0|0)>=2){B=c[24742]|0;f=c[n>>2]|0;k=c[o>>2]|0;a=c[c[r>>2]>>2]|0;b=c[(c[r>>2]|0)+4>>2]|0;c[A>>2]=c[z>>2];c[A+4>>2]=f;c[A+8>>2]=k;c[A+12>>2]=a;c[A+16>>2]=b;p3(B,137146,A)|0}c[m>>2]=1;B=c[m>>2]|0;i=C;return B|0}function jH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();d=g+24|0;m=g+20|0;l=g+16|0;k=g+12|0;h=g+8|0;e=g+4|0;f=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=c[c[m>>2]>>2];c[h>>2]=c[c[l>>2]>>2];c[e>>2]=c[(c[13644]|0)+(c[(c[k>>2]|0)+16>>2]<<2)>>2];c[f>>2]=c[(c[13644]|0)+(c[(c[h>>2]|0)+16>>2]<<2)>>2];if((c[e>>2]|0)>(c[f>>2]|0)){c[d>>2]=1;m=c[d>>2]|0;i=g;return m|0}if((c[e>>2]|0)<(c[f>>2]|0)){c[d>>2]=-1;m=c[d>>2]|0;i=g;return m|0}else{c[d>>2]=0;m=c[d>>2]|0;i=g;return m|0}return 0}function kH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;g=i;i=i+48|0;if((i|0)>=(j|0))ba();d=g+32|0;n=g+28|0;m=g+24|0;l=g+20|0;k=g+16|0;e=g+8|0;f=g;c[n>>2]=a;c[m>>2]=b;c[l>>2]=c[c[n>>2]>>2];c[k>>2]=c[c[m>>2]>>2];h[e>>3]=+h[(c[l>>2]|0)+8>>3]+ +h[c[l>>2]>>3];h[f>>3]=+h[(c[k>>2]|0)+8>>3]+ +h[c[k>>2]>>3];if(+h[e>>3]<+h[f>>3]){c[d>>2]=1;n=c[d>>2]|0;i=g;return n|0}if(+h[e>>3]>+h[f>>3]){c[d>>2]=-1;n=c[d>>2]|0;i=g;return n|0}else{c[d>>2]=0;n=c[d>>2]|0;i=g;return n|0}return 0}function lH(a,b,e,f,g,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|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,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0;W=i;i=i+256|0;if((i|0)>=(j|0))ba();P=W+248|0;O=W+240|0;T=W+64|0;S=W+48|0;l=W+236|0;x=W+232|0;y=W+228|0;z=W+224|0;m=W+220|0;M=W+216|0;D=W+212|0;A=W+208|0;B=W+200|0;C=W+192|0;N=W+184|0;R=W+176|0;Q=W+32|0;I=W+172|0;L=W+168|0;H=W+164|0;U=W+160|0;V=W+156|0;F=W+152|0;G=W+148|0;o=W+144|0;K=W+140|0;E=W+136|0;n=W+120|0;w=W+116|0;v=W+112|0;s=W+16|0;t=W+104|0;u=W+96|0;q=W;r=W+88|0;p=W+80|0;J=W+72|0;c[l>>2]=a;c[x>>2]=b;c[y>>2]=e;c[z>>2]=f;c[m>>2]=g;c[K>>2]=c[(c[m>>2]|0)+8>>2];c[E>>2]=c[(c[m>>2]|0)+12>>2];if(c[l>>2]|0)c[I>>2]=c[l>>2];else c[I>>2]=c[x>>2];c[M>>2]=iL()|0;X=+h[(c[(c[x>>2]|0)+8>>2]|0)+16>>3];c[F>>2]=(c[k>>2]|0)-~~(+h[(c[(c[x>>2]|0)+8>>2]|0)+16>>3]>=0.0?X+.5:X-.5);X=+h[(c[(c[x>>2]|0)+8>>2]|0)+16+8>>3];c[G>>2]=(c[k+4>>2]|0)-~~(+h[(c[(c[x>>2]|0)+8>>2]|0)+16+8>>3]>=0.0?X+.5:X-.5);l=c[x>>2]|0;a:do if((c[(c[m>>2]|0)+16>>2]|0)==1){c[v>>2]=rK((AB(l)|0)<<2)|0;c[w>>2]=0;c[L>>2]=pC(c[x>>2]|0)|0;while(1){if(!(c[L>>2]|0))break;q=c[(c[(c[L>>2]|0)+8>>2]|0)+112>>2]|0;r=c[w>>2]|0;c[w>>2]=r+1;c[(c[v>>2]|0)+(r<<2)>>2]=q;c[(c[(c[L>>2]|0)+8>>2]|0)+112>>2]=0;c[L>>2]=qC(c[x>>2]|0,c[L>>2]|0)|0}c[w>>2]=1;while(1){if((c[w>>2]|0)>(c[(c[(c[x>>2]|0)+8>>2]|0)+180>>2]|0))break;c[o>>2]=c[(c[(c[(c[x>>2]|0)+8>>2]|0)+184>>2]|0)+(c[w>>2]<<2)>>2];X=+h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3];c[n>>2]=~~(+h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3]>=0.0?X+.5:X-.5);X=+h[(c[(c[o>>2]|0)+8>>2]|0)+16+8>>3];c[n+4>>2]=~~(+h[(c[(c[o>>2]|0)+8>>2]|0)+16+8>>3]>=0.0?X+.5:X-.5);X=+h[(c[(c[o>>2]|0)+8>>2]|0)+16+16>>3];c[n+8>>2]=~~(+h[(c[(c[o>>2]|0)+8>>2]|0)+16+16>>3]>=0.0?X+.5:X-.5);X=+h[(c[(c[o>>2]|0)+8>>2]|0)+16+16+8>>3];c[n+8+4>>2]=~~(+h[(c[(c[o>>2]|0)+8>>2]|0)+16+16+8>>3]>=0.0?X+.5:X-.5);b:do if((c[n+8>>2]|0)>(c[n>>2]|0)?(c[n+8+4>>2]|0)>(c[n+4>>2]|0):0){c[n>>2]=(c[n>>2]|0)+(c[F>>2]|0);l=n+4|0;c[l>>2]=(c[l>>2]|0)+(c[G>>2]|0);l=n+8|0;c[l>>2]=(c[l>>2]|0)+(c[F>>2]|0);l=n+8+4|0;c[l>>2]=(c[l>>2]|0)+(c[G>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[K>>2]|0);l=n+4|0;c[l>>2]=(c[l>>2]|0)-(c[K>>2]|0);l=n+8|0;c[l>>2]=(c[l>>2]|0)+(c[K>>2]|0);l=n+8+4|0;c[l>>2]=(c[l>>2]|0)+(c[K>>2]|0);l=c[n>>2]|0;if((c[n>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[n>>2]=l;l=c[n+4>>2]|0;if((c[n+4>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[n+4>>2]=l;l=c[n+8>>2]|0;if((c[n+8>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[n+8>>2]=l;l=c[n+8+4>>2]|0;if((c[n+8+4>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[n+8+4>>2]=l;c[U>>2]=c[n>>2];while(1){if((c[U>>2]|0)>(c[n+8>>2]|0))break;c[V>>2]=c[n+4>>2];while(1){if((c[V>>2]|0)>(c[n+8+4>>2]|0))break;lL(c[M>>2]|0,c[U>>2]|0,c[V>>2]|0);c[V>>2]=(c[V>>2]|0)+1}c[U>>2]=(c[U>>2]|0)+1}c[L>>2]=pC(c[o>>2]|0)|0;while(1){if(!(c[L>>2]|0))break b;c[(c[(c[L>>2]|0)+8>>2]|0)+212>>2]=c[o>>2];c[L>>2]=qC(c[o>>2]|0,c[L>>2]|0)|0}}while(0);c[w>>2]=(c[w>>2]|0)+1}c[L>>2]=pC(c[x>>2]|0)|0;while(1){if(!(c[L>>2]|0))break;EO(s,c[L>>2]|0);c[Q>>2]=c[s>>2];c[Q+4>>2]=c[s+4>>2];c[Q+8>>2]=c[s+8>>2];c[Q+12>>2]=c[s+12>>2];X=+h[Q>>3];c[N>>2]=~~(+h[Q>>3]>=0.0?X+.5:X-.5);X=+h[Q+8>>3];c[N+4>>2]=~~(+h[Q+8>>3]>=0.0?X+.5:X-.5);c[N>>2]=(c[N>>2]|0)+(c[F>>2]|0);r=N+4|0;c[r>>2]=(c[r>>2]|0)+(c[G>>2]|0);c:do if(c[(c[(c[L>>2]|0)+8>>2]|0)+212>>2]|0){l=c[N>>2]|0;if((c[N>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[N>>2]=l;l=c[N+4>>2]|0;if((c[N+4>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[N+4>>2]=l;c[H>>2]=cB(c[I>>2]|0,c[L>>2]|0)|0;while(1){if(!(c[H>>2]|0))break c;r=c[H>>2]|0;if((c[(c[(c[L>>2]|0)+8>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[c[H>>2]>>2]&3|0)==2?r:r+-32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0)){m=c[H>>2]|0;n=c[M>>2]|0;o=c[F>>2]|0;p=c[G>>2]|0;q=c[z>>2]|0;r=c[E>>2]|0;c[P>>2]=c[N>>2];c[P+4>>2]=c[N+4>>2];pH(m,P,n,o,p,q,r)}c[H>>2]=eB(c[I>>2]|0,c[H>>2]|0)|0}}else{c[R>>2]=~~(+(c[K>>2]|0)+(+h[(c[(c[L>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[L>>2]|0)+8>>2]|0)+96>>3])/2.0);c[R+4>>2]=~~(+(c[K>>2]|0)+ +h[(c[(c[L>>2]|0)+8>>2]|0)+80>>3]/2.0);c[O>>2]=c[N>>2];c[O+4>>2]=c[N+4>>2];c[P>>2]=c[R>>2];c[P+4>>2]=c[R+4>>2];nH(t,O,P);c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[O>>2]=c[N>>2];c[O+4>>2]=c[N+4>>2];c[P>>2]=c[R>>2];c[P+4>>2]=c[R+4>>2];oH(u,O,P);c[C>>2]=c[u>>2];c[C+4>>2]=c[u+4>>2];l=c[B>>2]|0;if((c[B>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[B>>2]=l;l=c[B+4>>2]|0;if((c[B+4>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[B+4>>2]=l;l=c[C>>2]|0;if((c[C>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[C>>2]=l;l=c[C+4>>2]|0;if((c[C+4>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[C+4>>2]=l;c[U>>2]=c[B>>2];while(1){if((c[U>>2]|0)>(c[C>>2]|0))break;c[V>>2]=c[B+4>>2];while(1){if((c[V>>2]|0)>(c[C+4>>2]|0))break;lL(c[M>>2]|0,c[U>>2]|0,c[V>>2]|0);c[V>>2]=(c[V>>2]|0)+1}c[U>>2]=(c[U>>2]|0)+1}l=c[N>>2]|0;if((c[N>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[N>>2]=l;l=c[N+4>>2]|0;if((c[N+4>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[N+4>>2]=l;c[H>>2]=cB(c[I>>2]|0,c[L>>2]|0)|0;while(1){if(!(c[H>>2]|0))break c;m=c[H>>2]|0;n=c[M>>2]|0;o=c[F>>2]|0;p=c[G>>2]|0;q=c[z>>2]|0;r=c[E>>2]|0;c[P>>2]=c[N>>2];c[P+4>>2]=c[N+4>>2];pH(m,P,n,o,p,q,r);c[H>>2]=eB(c[I>>2]|0,c[H>>2]|0)|0}}while(0);c[L>>2]=qC(c[x>>2]|0,c[L>>2]|0)|0}c[w>>2]=0;c[L>>2]=pC(c[x>>2]|0)|0;while(1){if(!(c[L>>2]|0))break;V=c[w>>2]|0;c[w>>2]=V+1;c[(c[(c[L>>2]|0)+8>>2]|0)+112>>2]=c[(c[v>>2]|0)+(V<<2)>>2];c[L>>2]=qC(c[x>>2]|0,c[L>>2]|0)|0}B1(c[v>>2]|0)}else{c[L>>2]=pC(l)|0;while(1){if(!(c[L>>2]|0))break a;EO(q,c[L>>2]|0);c[Q>>2]=c[q>>2];c[Q+4>>2]=c[q+4>>2];c[Q+8>>2]=c[q+8>>2];c[Q+12>>2]=c[q+12>>2];X=+h[Q>>3];c[N>>2]=~~(+h[Q>>3]>=0.0?X+.5:X-.5);X=+h[Q+8>>3];c[N+4>>2]=~~(+h[Q+8>>3]>=0.0?X+.5:X-.5);c[N>>2]=(c[N>>2]|0)+(c[F>>2]|0);l=N+4|0;c[l>>2]=(c[l>>2]|0)+(c[G>>2]|0);c[R>>2]=~~(+(c[K>>2]|0)+(+h[(c[(c[L>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[L>>2]|0)+8>>2]|0)+96>>3])/2.0);c[R+4>>2]=~~(+(c[K>>2]|0)+ +h[(c[(c[L>>2]|0)+8>>2]|0)+80>>3]/2.0);c[O>>2]=c[N>>2];c[O+4>>2]=c[N+4>>2];c[P>>2]=c[R>>2];c[P+4>>2]=c[R+4>>2];nH(r,O,P);c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[O>>2]=c[N>>2];c[O+4>>2]=c[N+4>>2];c[P>>2]=c[R>>2];c[P+4>>2]=c[R+4>>2];oH(p,O,P);c[C>>2]=c[p>>2];c[C+4>>2]=c[p+4>>2];l=c[B>>2]|0;if((c[B>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[B>>2]=l;l=c[B+4>>2]|0;if((c[B+4>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[B+4>>2]=l;l=c[C>>2]|0;if((c[C>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[C>>2]=l;l=c[C+4>>2]|0;if((c[C+4>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[C+4>>2]=l;c[U>>2]=c[B>>2];while(1){if((c[U>>2]|0)>(c[C>>2]|0))break;c[V>>2]=c[B+4>>2];while(1){if((c[V>>2]|0)>(c[C+4>>2]|0))break;lL(c[M>>2]|0,c[U>>2]|0,c[V>>2]|0);c[V>>2]=(c[V>>2]|0)+1}c[U>>2]=(c[U>>2]|0)+1}l=c[N>>2]|0;if((c[N>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[N>>2]=l;l=c[N+4>>2]|0;if((c[N+4>>2]|0)>=0)l=(l|0)/(c[z>>2]|0)|0;else l=((l+1|0)/(c[z>>2]|0)|0)-1|0;c[N+4>>2]=l;c[H>>2]=cB(c[I>>2]|0,c[L>>2]|0)|0;while(1){if(!(c[H>>2]|0))break;o=c[H>>2]|0;s=c[M>>2]|0;t=c[F>>2]|0;u=c[G>>2]|0;v=c[z>>2]|0;w=c[E>>2]|0;c[P>>2]=c[N>>2];c[P+4>>2]=c[N+4>>2];pH(o,P,s,t,u,v,w);c[H>>2]=eB(c[I>>2]|0,c[H>>2]|0)|0}c[L>>2]=qC(c[x>>2]|0,c[L>>2]|0)|0}}while(0);V=pL(c[M>>2]|0)|0;c[(c[y>>2]|0)+4>>2]=V;V=oL(c[M>>2]|0)|0;c[(c[y>>2]|0)+8>>2]=V;c[D>>2]=~~+Z(+((+h[(c[(c[x>>2]|0)+8>>2]|0)+16+16>>3]-+h[(c[(c[x>>2]|0)+8>>2]|0)+16>>3]+ +(c[K>>2]<<1|0))/+(c[z>>2]|0)));c[A>>2]=~~+Z(+((+h[(c[(c[x>>2]|0)+8>>2]|0)+16+16+8>>3]-+h[(c[(c[x>>2]|0)+8>>2]|0)+16+8>>3]+ +(c[K>>2]<<1|0))/+(c[z>>2]|0)));c[c[y>>2]>>2]=(c[D>>2]|0)+(c[A>>2]|0);if((d[139078]|0|0)<=2){V=c[M>>2]|0;jL(V);i=W;return 0}V=c[24742]|0;P=MB(c[x>>2]|0)|0;Q=c[(c[y>>2]|0)+8>>2]|0;R=c[D>>2]|0;U=c[A>>2]|0;c[S>>2]=P;c[S+4>>2]=Q;c[S+8>>2]=R;c[S+12>>2]=U;p3(V,137180,S)|0;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[y>>2]|0)+8>>2]|0))break;V=c[24742]|0;U=c[(c[(c[y>>2]|0)+4>>2]|0)+(c[J>>2]<<3)+4>>2]|0;c[T>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(c[J>>2]<<3)>>2];c[T+4>>2]=U;p3(V,137207,T)|0;c[J>>2]=(c[J>>2]|0)+1}V=c[M>>2]|0;jL(V);i=W;return 0}function mH(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();g=p+40|0;o=p;q=p+32|0;h=p+28|0;k=p+24|0;l=p+20|0;n=p+16|0;m=p+12|0;c[q>>2]=a;c[h>>2]=b;c[k>>2]=e;c[l>>2]=c[(c[q>>2]|0)+4>>2];c[n>>2]=c[(c[q>>2]|0)+8>>2];c[c[k>>2]>>2]=0-(c[f>>2]|0);c[(c[k>>2]|0)+4>>2]=0-(c[f+4>>2]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;q=c[h>>2]|0;b=c[l>>2]|0;c[l>>2]=b+8;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];kL(q,g);c[m>>2]=(c[m>>2]|0)+1}if((d[139078]|0|0)<2){i=p;return}q=c[24742]|0;e=c[c[k>>2]>>2]|0;b=c[(c[k>>2]|0)+4>>2]|0;c[o>>2]=c[n>>2];c[o+4>>2]=e;c[o+8>>2]=b;p3(q,137427,o)|0;i=p;return}function nH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[f>>2]=(c[b>>2]|0)-(c[d>>2]|0);c[f+4>>2]=(c[b+4>>2]|0)-(c[d+4>>2]|0);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];i=e;return}function oH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[f>>2]=(c[b>>2]|0)+(c[d>>2]|0);c[f+4>>2]=(c[b+4>>2]|0)+(c[d+4>>2]|0);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];i=e;return}function pH(a,b,d,e,f,g,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=k|0;var l=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,z=0,A=0,B=0;A=i;i=i+176|0;if((i|0)>=(j|0))ba();x=A+112|0;z=A+96|0;o=A+160|0;v=A+156|0;p=A+152|0;q=A+148|0;u=A+144|0;B=A+140|0;s=A+136|0;t=A+132|0;r=A+48|0;y=A+32|0;w=A+16|0;n=A+128|0;m=A;c[o>>2]=a;c[v>>2]=d;c[p>>2]=e;c[q>>2]=f;c[u>>2]=g;c[B>>2]=k;h[y>>3]=+(c[b>>2]|0);h[y+8>>3]=+(c[b+4>>2]|0);if((c[B>>2]|0)!=0?(c[(c[(c[o>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[(c[(c[o>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break;e=r;k=(c[c[(c[(c[o>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[s>>2]|0)*48|0)|0;m=e+48|0;do{c[e>>2]=c[k>>2];e=e+4|0;k=k+4|0}while((e|0)<(m|0));if(c[r+8>>2]|0){B=r+16|0;c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];c[y+8>>2]=c[B+8>>2];c[y+12>>2]=c[B+12>>2];B=c[r>>2]|0;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];c[t>>2]=1}else{B=c[r>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];c[y+8>>2]=c[B+8>>2];c[y+12>>2]=c[B+12>>2];B=(c[r>>2]|0)+16|0;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];c[t>>2]=2}h[y>>3]=+h[y>>3]+ +(c[p>>2]|0);B=y+8|0;h[B>>3]=+h[B>>3]+ +(c[q>>2]|0);l=+h[y>>3];if(+h[y>>3]>=0.0)l=l/+(c[u>>2]|0);else l=(l+1.0)/+(c[u>>2]|0)-1.0;h[y>>3]=l;l=+h[y+8>>3];if(+h[y+8>>3]>=0.0)l=l/+(c[u>>2]|0);else l=(l+1.0)/+(c[u>>2]|0)-1.0;h[y+8>>3]=l;h[w>>3]=+h[w>>3]+ +(c[p>>2]|0);B=w+8|0;h[B>>3]=+h[B>>3]+ +(c[q>>2]|0);l=+h[w>>3];if(+h[w>>3]>=0.0)l=l/+(c[u>>2]|0);else l=(l+1.0)/+(c[u>>2]|0)-1.0;h[w>>3]=l;l=+h[w+8>>3];if(+h[w+8>>3]>=0.0)l=l/+(c[u>>2]|0);else l=(l+1.0)/+(c[u>>2]|0)-1.0;h[w+8>>3]=l;B=c[v>>2]|0;c[z>>2]=c[y>>2];c[z+4>>2]=c[y+4>>2];c[z+8>>2]=c[y+8>>2];c[z+12>>2]=c[y+12>>2];c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];PG(z,x,B);while(1){if((c[t>>2]|0)>=(c[r+4>>2]|0))break;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];B=(c[r>>2]|0)+(c[t>>2]<<4)|0;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];h[w>>3]=+h[w>>3]+ +(c[p>>2]|0);B=w+8|0;h[B>>3]=+h[B>>3]+ +(c[q>>2]|0);l=+h[w>>3];if(+h[w>>3]>=0.0)l=l/+(c[u>>2]|0);else l=(l+1.0)/+(c[u>>2]|0)-1.0;h[w>>3]=l;l=+h[w+8>>3];if(+h[w+8>>3]>=0.0)l=l/+(c[u>>2]|0);else l=(l+1.0)/+(c[u>>2]|0)-1.0;h[w+8>>3]=l;B=c[v>>2]|0;c[z>>2]=c[y>>2];c[z+4>>2]=c[y+4>>2];c[z+8>>2]=c[y+8>>2];c[z+12>>2]=c[y+12>>2];c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];PG(z,x,B);c[t>>2]=(c[t>>2]|0)+1}if(c[r+12>>2]|0){c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];B=r+32|0;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];h[w>>3]=+h[w>>3]+ +(c[p>>2]|0);B=w+8|0;h[B>>3]=+h[B>>3]+ +(c[q>>2]|0);l=+h[w>>3];if(+h[w>>3]>=0.0)l=l/+(c[u>>2]|0);else l=(l+1.0)/+(c[u>>2]|0)-1.0;h[w>>3]=l;l=+h[w+8>>3];if(+h[w+8>>3]>=0.0)l=l/+(c[u>>2]|0);else l=(l+1.0)/+(c[u>>2]|0)-1.0;h[w+8>>3]=l;B=c[v>>2]|0;c[z>>2]=c[y>>2];c[z+4>>2]=c[y+4>>2];c[z+8>>2]=c[y+8>>2];c[z+12>>2]=c[y+12>>2];c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];PG(z,x,B)}c[s>>2]=(c[s>>2]|0)+1}i=A;return}B=c[o>>2]|0;c[n>>2]=c[((c[c[o>>2]>>2]&3|0)==2?B:B+-32|0)+28>>2];EO(m,c[n>>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];h[w>>3]=+h[w>>3]+ +(c[p>>2]|0);B=w+8|0;h[B>>3]=+h[B>>3]+ +(c[q>>2]|0);l=+h[w>>3];if(+h[w>>3]>=0.0)l=l/+(c[u>>2]|0);else l=(l+1.0)/+(c[u>>2]|0)-1.0;h[w>>3]=l;l=+h[w+8>>3];if(+h[w+8>>3]>=0.0)l=l/+(c[u>>2]|0);else l=(l+1.0)/+(c[u>>2]|0)-1.0;h[w+8>>3]=l;B=c[v>>2]|0;c[z>>2]=c[y>>2];c[z+4>>2]=c[y+4>>2];c[z+8>>2]=c[y+8>>2];c[z+12>>2]=c[y+12>>2];c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];PG(z,x,B);i=A;return}function qH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;k=p+12|0;n=p+8|0;o=p+4|0;m=p;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[c[g>>2]>>2]=0;d=(DB(GC(c[f>>2]|0)|0)|0)!=0;c[c[h>>2]>>2]=d?1:0;a:do if((c[13868]|0)!=0?(d=PA(c[f>>2]|0,c[13868]|0)|0,c[l>>2]=d,(a[d>>0]|0)!=0):0){c[k>>2]=54580;while(1){if(!(c[c[k>>2]>>2]|0))break a;if((a[c[l>>2]>>0]|0)==(a[c[c[k>>2]>>2]>>0]|0)?(a4(c[l>>2]|0,c[c[k>>2]>>2]|0)|0)==0:0)break;c[k>>2]=(c[k>>2]|0)+12}c[c[g>>2]>>2]=c[(c[k>>2]|0)+4>>2];c[c[h>>2]>>2]=c[(c[k>>2]|0)+8>>2]}while(0);if(((c[13879]|0)!=0?(c[c[h>>2]>>2]|0)==1:0)?(d=PA(c[f>>2]|0,c[13879]|0)|0,c[l>>2]=d,(a[d>>0]|0)!=0):0)xH(c[l>>2]|0,c[h>>2]|0);if(((c[13880]|0)!=0?(c[c[g>>2]>>2]|0)==1:0)?(d=PA(c[f>>2]|0,c[13880]|0)|0,c[l>>2]=d,(a[d>>0]|0)!=0):0)xH(c[l>>2]|0,c[g>>2]|0);if(!(a[(c[(c[f>>2]|0)+8>>2]|0)+153>>0]|0)){i=p;return}b=c[f>>2]|0;b=GC(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)|0;e=c[f>>2]|0;d=c[f>>2]|0;c[n>>2]=jB(b,c[((c[c[f>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0,c[((c[c[f>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0,0,0)|0;qH(c[n>>2]|0,o,m);c[c[h>>2]>>2]=c[c[h>>2]>>2]|c[o>>2];c[c[g>>2]>>2]=c[c[g>>2]>>2]|c[m>>2];i=p;return}function rH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();d=n+24|0;e=n+20|0;f=n+16|0;l=n;g=n+12|0;k=n+8|0;c[d>>2]=a;c[e>>2]=b;h[l>>3]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=4)break;c[g>>2]=c[e>>2]>>(c[k>>2]<<3)&15;c[f>>2]=33736;while(1){if(!(c[(c[f>>2]|0)+16>>2]|0))break;a=c[f>>2]|0;if((c[g>>2]|0)==(c[c[f>>2]>>2]|0)){m=6;break}c[f>>2]=a+24}if((m|0)==6){m=0;h[l>>3]=+h[l>>3]+ +h[a+8>>3]}c[k>>2]=(c[k>>2]|0)+1}o=+h[l>>3]*10.0;o=o*+uO(c[d>>2]|0,c[13872]|0,1.0,0.0);i=n;return +o}function sH(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 k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+112|0;if((i|0)>=(j|0))ba();u=q+108|0;k=q+104|0;r=q+100|0;l=q+96|0;m=q+92|0;s=q+88|0;o=q+80|0;p=q+16|0;t=q+8|0;n=q;c[u>>2]=a;c[k>>2]=b;c[r>>2]=d;c[l>>2]=e;c[m>>2]=f;c[s>>2]=g;h[t>>3]=+rH(c[u>>2]|0,c[s>>2]|0);h[n>>3]=+h[t>>3]*+h[t>>3];c[(c[m>>2]|0)+12>>2]=c[s>>2];d=(c[m>>2]|0)+32|0;f=(c[k>>2]|0)+((c[l>>2]|0)+3<<4)|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];if((c[l>>2]|0)>(c[r>>2]|0)?(+h[(c[k>>2]|0)+(c[l>>2]<<4)>>3]-+h[(c[k>>2]|0)+((c[l>>2]|0)+3<<4)>>3])*(+h[(c[k>>2]|0)+(c[l>>2]<<4)>>3]-+h[(c[k>>2]|0)+((c[l>>2]|0)+3<<4)>>3])+(+h[(c[k>>2]|0)+(c[l>>2]<<4)+8>>3]-+h[(c[k>>2]|0)+((c[l>>2]|0)+3<<4)+8>>3])*(+h[(c[k>>2]|0)+(c[l>>2]<<4)+8>>3]-+h[(c[k>>2]|0)+((c[l>>2]|0)+3<<4)+8>>3])<+h[n>>3]:0)c[l>>2]=(c[l>>2]|0)-3;u=p+48|0;t=(c[k>>2]|0)+(c[l>>2]<<4)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=p+32|0;t=(c[k>>2]|0)+((c[l>>2]|0)+1<<4)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=p+16|0;t=(c[k>>2]|0)+((c[l>>2]|0)+2<<4)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=(c[m>>2]|0)+32|0;c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[o>>2]=p;c[o+4>>2]=n;vN(o,92,p,1);u=(c[k>>2]|0)+(c[l>>2]<<4)|0;t=p+48|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=(c[k>>2]|0)+((c[l>>2]|0)+1<<4)|0;t=p+32|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=(c[k>>2]|0)+((c[l>>2]|0)+2<<4)|0;t=p+16|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=(c[k>>2]|0)+((c[l>>2]|0)+3<<4)|0;c[u>>2]=c[p>>2];c[u+4>>2]=c[p+4>>2];c[u+8>>2]=c[p+8>>2];c[u+12>>2]=c[p+12>>2];i=q;return c[l>>2]|0} +function lO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+28|0;o=m+20|0;n=m+16|0;l=m+8|0;g=m+4|0;k=m;c[m+24>>2]=a;c[o>>2]=b;c[n>>2]=d;c[m+12>>2]=e;c[g>>2]=c[o>>2];c[k>>2]=c[n>>2];if((c[c[g>>2]>>2]|0)==0?(c[c[k>>2]>>2]|0)==0:0)e=9;else e=3;do if((e|0)==3){if(!(c[c[g>>2]>>2]|0)){c[f>>2]=-1;break}if(!(c[c[k>>2]>>2]|0)){c[f>>2]=1;break}c[l>>2]=a4(c[c[g>>2]>>2]|0,c[c[k>>2]>>2]|0)|0;if(c[l>>2]|0)c[f>>2]=c[l>>2];else e=9}while(0);do if((e|0)==9){if(!((c[(c[g>>2]|0)+4>>2]|0)==0?(c[(c[k>>2]|0)+4>>2]|0)==0:0)){if(!(c[(c[g>>2]|0)+4>>2]|0)){c[f>>2]=-1;break}if(!(c[(c[k>>2]|0)+4>>2]|0)){c[f>>2]=1;break}c[l>>2]=a4(c[(c[g>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];break}}c[l>>2]=(c[(c[g>>2]|0)+24>>2]&127)-(c[(c[k>>2]|0)+24>>2]&127);if(c[l>>2]|0){c[f>>2]=c[l>>2];break}if(+h[(c[g>>2]|0)+16>>3]<+h[(c[k>>2]|0)+16>>3]){c[f>>2]=-1;break}if(+h[(c[g>>2]|0)+16>>3]>+h[(c[k>>2]|0)+16>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}while(0);i=m;return c[f>>2]|0}function mO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Y3(c[c[f>>2]>>2]|0,c[c[e>>2]>>2]|0)|0;i=d;return b|0}function nO(){jb(58836)|0;return}function oO(){var a=0,b=0,d=0;a=i;i=i+32|0;if((i|0)>=(j|0))ba();d=a+8|0;b=a;jb(d|0)|0;h[b>>3]=+((c[d>>2]|0)+(c[d+4>>2]|0)-(c[14709]|0)-(c[14710]|0)|0)/60.0;i=a;return +(+h[b>>3])}function pO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=qK(16)|0;if((c[b>>2]|0)<=1)c[b>>2]=2;a=qK(c[b>>2]<<2)|0;c[c[d>>2]>>2]=a;c[(c[d>>2]|0)+12>>2]=a;c[(c[d>>2]|0)+8>>2]=a;c[(c[d>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b>>2]<<2);i=e;return c[d>>2]|0}function qO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[c[d>>2]>>2]|0);B1(c[d>>2]|0);i=b;return}function rO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=(c[d>>2]|0)+12|0;a=c[f>>2]|0;c[f>>2]=a+4;c[a>>2]=b;if((c[(c[d>>2]|0)+12>>2]|0)>>>0<(c[(c[d>>2]|0)+4>>2]|0)>>>0){i=e;return}c[(c[d>>2]|0)+12>>2]=c[c[d>>2]>>2];i=e;return}function sO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;if((c[(c[b>>2]|0)+8>>2]|0)==(c[(c[b>>2]|0)+12>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=e;return a|0}f=(c[b>>2]|0)+8|0;a=c[f>>2]|0;c[f>>2]=a+4;c[d>>2]=c[a>>2];if((c[(c[b>>2]|0)+8>>2]|0)>>>0<(c[(c[b>>2]|0)+4>>2]|0)>>>0){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+8>>2]=c[c[b>>2]>>2];f=c[d>>2]|0;i=e;return f|0}function tO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();g=q+28|0;h=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;n=q+4|0;p=q;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;do if(!(c[k>>2]|0))c[g>>2]=c[l>>2];else{c[o>>2]=PA(c[h>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)!=0?(a[c[o>>2]>>0]|0)!=0:0){c[p>>2]=S3(c[o>>2]|0,n,10)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[g>>2]=c[l>>2];break}if((c[p>>2]|0)<(c[m>>2]|0)){c[g>>2]=c[m>>2];break}else{c[g>>2]=c[p>>2];break}}c[g>>2]=c[l>>2]}while(0);i=q;return c[g>>2]|0}function uO(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();g=r+24|0;k=r+44|0;l=r+40|0;m=r+16|0;n=r+8|0;p=r+36|0;o=r+32|0;q=r;c[k>>2]=b;c[l>>2]=d;h[m>>3]=e;h[n>>3]=f;do if((c[l>>2]|0)!=0&(c[k>>2]|0)!=0){c[p>>2]=PA(c[k>>2]|0,c[l>>2]|0)|0;if((c[p>>2]|0)!=0?(a[c[p>>2]>>0]|0)!=0:0){h[q>>3]=+Q3(c[p>>2]|0,o);if((c[p>>2]|0)==(c[o>>2]|0)){h[g>>3]=+h[m>>3];break}if(+h[q>>3]<+h[n>>3]){h[g>>3]=+h[n>>3];break}else{h[g>>3]=+h[q>>3];break}}h[g>>3]=+h[m>>3]}else h[g>>3]=+h[m>>3];while(0);i=r;return +(+h[g>>3])}function vO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+16|0;e=f;c[d>>2]=a;do if(!(+h[4246]>0.0)){a=c[d>>2]|0;h[e>>3]=+uO(a,GA(c[d>>2]|0,0,145334,0)|0,-1.0,0.0);if(+h[e>>3]==0.0){h[b>>3]=72.0;break}else{h[b>>3]=+h[e>>3];break}}else h[b>>3]=+h[4246];while(0);i=f;return +(+h[b>>3])}function wO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)!=0&(c[f>>2]|0)!=0){c[e>>2]=PA(c[f>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;i=k;return a|0}else{c[e>>2]=c[h>>2];a=c[e>>2]|0;i=k;return a|0}return 0}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();l=h+12|0;k=h+8|0;f=h+4|0;g=h;c[l>>2]=b;c[k>>2]=d;c[f>>2]=e;c[g>>2]=wO(c[l>>2]|0,c[k>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){l=c[g>>2]|0;i=h;return l|0}c[g>>2]=c[f>>2];l=c[g>>2]|0;i=h;return l|0}function yO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if(!(c[h>>2]|0)){a[f>>0]=c[k>>2];b=a[f>>0]|0;i=l;return b|0}else{a[f>>0]=zO(PA(c[g>>2]|0,c[h>>2]|0)|0)|0;b=a[f>>0]|0;i=l;return b|0}return 0}function zO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=JO(c[d>>2]|0,0)|0;i=b;return a|0}function AO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=a;while(1){if(c[(c[(c[d>>2]|0)+8>>2]|0)+220>>2]|0)b=(c[(c[(c[d>>2]|0)+8>>2]|0)+220>>2]|0)!=(c[d>>2]|0);else b=0;a=c[d>>2]|0;if(!b)break;if(c[(c[(c[(c[a+8>>2]|0)+220>>2]|0)+8>>2]|0)+220>>2]|0)c[(c[(c[d>>2]|0)+8>>2]|0)+220>>2]=c[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+220>>2]|0)+8>>2]|0)+220>>2];c[d>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+220>>2]}i=e;return a|0}function BO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[e>>2]|0;if((c[e>>2]|0)==(c[f>>2]|0)){c[d>>2]=a;f=c[d>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(!(c[(c[a+8>>2]|0)+220>>2]|0)){c[(c[(c[e>>2]|0)+8>>2]|0)+220>>2]=b;c[(c[(c[e>>2]|0)+8>>2]|0)+216>>2]=1}else c[e>>2]=AO(b)|0;b=c[f>>2]|0;if(!(c[(c[(c[f>>2]|0)+8>>2]|0)+220>>2]|0)){c[(c[(c[f>>2]|0)+8>>2]|0)+220>>2]=b;c[(c[(c[f>>2]|0)+8>>2]|0)+216>>2]=1}else c[f>>2]=AO(b)|0;if((c[(c[(c[e>>2]|0)+8>>2]|0)+120>>2]|0)>(c[(c[(c[f>>2]|0)+8>>2]|0)+120>>2]|0)){c[(c[(c[e>>2]|0)+8>>2]|0)+220>>2]=c[f>>2];a=(c[(c[f>>2]|0)+8>>2]|0)+216|0;c[a>>2]=(c[a>>2]|0)+(c[(c[(c[e>>2]|0)+8>>2]|0)+216>>2]|0)}else{c[(c[(c[f>>2]|0)+8>>2]|0)+220>>2]=c[e>>2];a=(c[(c[e>>2]|0)+8>>2]|0)+216|0;c[a>>2]=(c[a>>2]|0)+(c[(c[(c[f>>2]|0)+8>>2]|0)+216>>2]|0);c[f>>2]=c[e>>2]}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function CO(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=b;c[(c[(c[e>>2]|0)+8>>2]|0)+216>>2]=1;c[(c[(c[e>>2]|0)+8>>2]|0)+220>>2]=0;a[(c[(c[e>>2]|0)+8>>2]|0)+159>>0]=0;i=d;return}function DO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[d>>2]|0;if((b|0)==(AO(c[d>>2]|0)|0)){c[(c[(c[d>>2]|0)+8>>2]|0)+220>>2]=c[e>>2];b=(c[(c[e>>2]|0)+8>>2]|0)+216|0;c[b>>2]=(c[b>>2]|0)+(c[(c[(c[d>>2]|0)+8>>2]|0)+216>>2]|0);i=f;return}else db(145353,145345,195,145369)}function EO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d+16|0;e=d;c[f>>2]=b;h[e>>3]=+h[c[(c[(c[f>>2]|0)+8>>2]|0)+132>>2]>>3]*72.0;h[e+8>>3]=+h[(c[(c[(c[f>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]*72.0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=d;return}function FO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+608|0;if((i|0)>=(j|0))ba();k=s+604|0;l=s+600|0;m=s+576|0;n=s+596|0;o=s+592|0;q=s+588|0;r=s+584|0;p=s;c[k>>2]=b;c[l>>2]=d;h[m>>3]=e;c[n>>2]=f;c[o>>2]=g;c[r>>2]=0;while(1){if((c[r>>2]|0)>(c[l>>2]|0))break;d=p+(c[r>>2]<<4)|0;b=(c[k>>2]|0)+(c[r>>2]<<4)|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[r>>2]=(c[r>>2]|0)+1}c[q>>2]=1;while(1){if((c[q>>2]|0)>(c[l>>2]|0))break;c[r>>2]=0;while(1){if((c[r>>2]|0)>((c[l>>2]|0)-(c[q>>2]|0)|0))break;h[p+((c[q>>2]|0)*96|0)+(c[r>>2]<<4)>>3]=(1.0-+h[m>>3])*+h[p+(((c[q>>2]|0)-1|0)*96|0)+(c[r>>2]<<4)>>3]+ +h[m>>3]*+h[p+(((c[q>>2]|0)-1|0)*96|0)+((c[r>>2]|0)+1<<4)>>3];h[p+((c[q>>2]|0)*96|0)+(c[r>>2]<<4)+8>>3]=(1.0-+h[m>>3])*+h[p+(((c[q>>2]|0)-1|0)*96|0)+(c[r>>2]<<4)+8>>3]+ +h[m>>3]*+h[p+(((c[q>>2]|0)-1|0)*96|0)+((c[r>>2]|0)+1<<4)+8>>3];c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}a:do if(c[n>>2]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>(c[l>>2]|0))break a;q=(c[n>>2]|0)+(c[r>>2]<<4)|0;d=p+((c[r>>2]|0)*96|0)|0;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[r>>2]=(c[r>>2]|0)+1}}while(0);if(!(c[o>>2]|0)){r=c[l>>2]|0;r=p+(r*96|0)|0;c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];i=s;return}c[r>>2]=0;while(1){if((c[r>>2]|0)>(c[l>>2]|0))break;q=(c[o>>2]|0)+(c[r>>2]<<4)|0;d=p+(((c[l>>2]|0)-(c[r>>2]|0)|0)*96|0)+(c[r>>2]<<4)|0;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[r>>2]=(c[r>>2]|0)+1}r=c[l>>2]|0;r=p+(r*96|0)|0;c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];i=s;return}function GO(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[f>>2]=0;do{if(((c[14713]|0)-(c[f>>2]|0)|0)<1024){c[14713]=(c[14713]|0)+1024;c[14714]=tK(c[14714]|0,c[14713]|0)|0}c[g>>2]=m3((c[14714]|0)+(c[f>>2]|0)|0,(c[14713]|0)-(c[f>>2]|0)|0,c[e>>2]|0)|0;if(!(c[g>>2]|0))break;b=e4(c[g>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+b}while((a[(c[14714]|0)+((c[f>>2]|0)-1)>>0]|0)!=10);if((c[f>>2]|0)>0){c[d>>2]=c[14714];g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function HO(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m+8|0;k=m;e=m+28|0;f=m+24|0;h=m+20|0;g=m+16|0;c[f>>2]=b;if((c[f>>2]|0)!=0?(a[c[f>>2]>>0]|0)!=0:0){if(!(c[13794]|0)){if((c[14715]|0)!=(c[13793]|0)){if(c[14717]|0){B1(c[c[14717]>>2]|0);B1(c[14717]|0);c[14717]=0}c[14715]=c[13793];if((c[14715]|0)!=0?(a[c[14715]>>0]|0)!=0:0)c[14717]=kP(c[14715]|0,58864)|0}if((c[14717]|0)!=0?(a[c[f>>2]>>0]|0)!=(a[145659]|0):0){c[e>>2]=lP(c[14717]|0,c[14716]|0,c[f>>2]|0)|0;l=c[e>>2]|0;i=m;return l|0}else{c[e>>2]=c[f>>2];l=c[e>>2]|0;i=m;return l|0}}if((c[13792]|0)!=0?(a[c[13792]>>0]|0)!=0:0){if(!(c[14715]|0)){c[14717]=kP(c[13792]|0,58864)|0;c[14715]=c[13792]}c[h>>2]=c[f>>2];k=j4(c[h>>2]|0,47)|0;c[g>>2]=k;if(k){k=(c[g>>2]|0)+1|0;c[g>>2]=k;c[h>>2]=k}k=j4(c[h>>2]|0,92)|0;c[g>>2]=k;if(k){k=(c[g>>2]|0)+1|0;c[g>>2]=k;c[h>>2]=k}k=j4(c[h>>2]|0,58)|0;c[g>>2]=k;if(k){k=(c[g>>2]|0)+1|0;c[g>>2]=k;c[h>>2]=k}if((d[145380]|0)!=0?(c[h>>2]|0)!=(c[f>>2]|0):0){k=c[13792]|0;c[l>>2]=c[f>>2];c[l+4>>2]=k;pA(0,145506,l)|0;a[145380]=0}c[e>>2]=lP(c[14717]|0,c[14716]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=m;return l|0}if(a[145380]|0){c[k>>2]=c[13794];pA(0,145381,k)|0;a[145380]=0}c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function IO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+16|0;g=m+12|0;k=m+8|0;l=m+4|0;h=m;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;c[l>>2]=0;while(1){e=c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0;c[h>>2]=e;if(!e){f=7;break}if(((c[f>>2]|0)!=0?(a[c[f>>2]>>0]|0)==(a[c[h>>2]>>0]|0):0)?(a4(c[f>>2]|0,c[h>>2]|0)|0)==0:0){f=7;break}c[l>>2]=(c[l>>2]|0)+1}if((f|0)==7){i=m;return c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0}return 0}function JO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+5|0;f=k;g=k+4|0;c[f>>2]=b;a[g>>0]=d;do if((c[f>>2]|0)!=0?(a[c[f>>2]>>0]|0)!=0:0){if(!(Y3(c[f>>2]|0,174991)|0)){a[e>>0]=0;break}if(!(Y3(c[f>>2]|0,145661)|0)){a[e>>0]=0;break}if(!(Y3(c[f>>2]|0,145664)|0)){a[e>>0]=1;break}if(!(Y3(c[f>>2]|0,145669)|0)){a[e>>0]=1;break}if(I1(a[c[f>>2]>>0]|0)|0){a[e>>0]=N3(c[f>>2]|0)|0;break}else{a[e>>0]=a[g>>0]|0;break}}else h=3;while(0);if((h|0)==3)a[e>>0]=a[g>>0]|0;i=k;return a[e>>0]|0}function KO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=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;C=i;i=i+240|0;if((i|0)>=(j|0))ba();k=C+236|0;r=C+232|0;s=C+228|0;t=C+224|0;n=C+220|0;o=C+216|0;m=C+208|0;q=C+200|0;x=C+192|0;w=C+184|0;z=C+176|0;y=C+168|0;A=C+160|0;v=C+96|0;B=C+80|0;p=C+32|0;l=C+16|0;u=C;c[k>>2]=b;c[o>>2]=-1;c[n>>2]=-1;h[m>>3]=1.e+38;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[k>>2]|0)+4>>2]|0))break;b=p;f=(c[c[k>>2]>>2]|0)+((c[r>>2]|0)*48|0)|0;g=b+48|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(g|0));c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[p+4>>2]|0))break;h[l>>3]=+h[(c[p>>2]|0)+(c[s>>2]<<4)>>3];h[l+8>>3]=+h[(c[p>>2]|0)+(c[s>>2]<<4)+8>>3];h[q>>3]=(+h[l>>3]-+h[d>>3])*(+h[l>>3]-+h[d>>3])+(+h[l+8>>3]-+h[d+8>>3])*(+h[l+8>>3]-+h[d+8>>3]);if(!((c[o>>2]|0)!=-1?!(+h[q>>3]<+h[m>>3]):0)){c[n>>2]=c[r>>2];c[o>>2]=c[s>>2];h[m>>3]=+h[q>>3]}c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}b=p;f=(c[c[k>>2]>>2]|0)+((c[n>>2]|0)*48|0)|0;g=b+48|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(g|0));if((c[o>>2]|0)==((c[p+4>>2]|0)-1|0))c[o>>2]=(c[o>>2]|0)+-1;c[s>>2]=((c[o>>2]|0)/3|0)*3;c[t>>2]=0;while(1){if((c[t>>2]|0)>=4)break;h[v+(c[t>>2]<<4)>>3]=+h[(c[p>>2]|0)+((c[s>>2]|0)+(c[t>>2]|0)<<4)>>3];h[v+(c[t>>2]<<4)+8>>3]=+h[(c[p>>2]|0)+((c[s>>2]|0)+(c[t>>2]|0)<<4)+8>>3];c[t>>2]=(c[t>>2]|0)+1}h[z>>3]=0.0;h[y>>3]=1.0;h[x>>3]=(+h[v>>3]-+h[d>>3])*(+h[v>>3]-+h[d>>3])+(+h[v+8>>3]-+h[d+8>>3])*(+h[v+8>>3]-+h[d+8>>3]);h[w>>3]=(+h[v+48>>3]-+h[d>>3])*(+h[v+48>>3]-+h[d>>3])+(+h[v+48+8>>3]-+h[d+8>>3])*(+h[v+48+8>>3]-+h[d+8>>3]);while(1){h[A>>3]=(+h[z>>3]+ +h[y>>3])/2.0;FO(u,v,3,+h[A>>3],0,0);c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];if(+N(+(+h[x>>3]-+h[w>>3]))<1.0){b=21;break}if(+N(+(+h[y>>3]-+h[z>>3]))<1.0e-05){b=21;break}e=+h[A>>3];if(+h[x>>3]<+h[w>>3]){h[y>>3]=e;h[w>>3]=(+h[B>>3]-+h[d>>3])*(+h[B>>3]-+h[d>>3])+(+h[B+8>>3]-+h[d+8>>3])*(+h[B+8>>3]-+h[d+8>>3]);continue}else{h[z>>3]=e;h[x>>3]=(+h[B>>3]-+h[d>>3])*(+h[B>>3]-+h[d>>3])+(+h[B+8>>3]-+h[d+8>>3])*(+h[B+8>>3]-+h[d+8>>3]);continue}}if((b|0)==21){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;return}}function LO(){return c[14718]|0}function MO(b){b=b|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0.0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+20|0;f=k;g=k+16|0;c[e>>2]=b;o=+uO(c[e>>2]|0,c[13815]|0,.75,.01);h[(c[(c[e>>2]|0)+8>>2]|0)+32>>3]=o;o=+uO(c[e>>2]|0,c[13814]|0,.5,.02);h[(c[(c[e>>2]|0)+8>>2]|0)+40>>3]=o;n=xO(c[e>>2]|0,c[13816]|0,145673)|0;n=vM(n,c[e>>2]|0)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]=n;c[g>>2]=PA(c[e>>2]|0,c[13831]|0)|0;h[f>>3]=+uO(c[e>>2]|0,c[13827]|0,14.0,1.0);c[f+8>>2]=xO(c[e>>2]|0,c[13828]|0,145681)|0;c[f+12>>2]=xO(c[e>>2]|0,c[13829]|0,174997)|0;n=c[e>>2]|0;m=c[g>>2]|0;l=(pD(c[g>>2]|0)|0)!=0;b=(sM(c[e>>2]|0)|0)==2;b=fK(n,m,(l?2:0)|(b?4:0),+h[f>>3],c[f+8>>2]|0,c[f+12>>2]|0)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+104>>2]=b;if(((c[13832]|0)!=0?(n=PA(c[e>>2]|0,c[13832]|0)|0,c[g>>2]=n,(n|0)!=0):0)?(a[c[g>>2]>>0]|0)!=0:0){l=c[e>>2]|0;m=c[g>>2]|0;n=(pD(c[g>>2]|0)|0)!=0;n=fK(l,m,n?2:0,+h[f>>3],c[f+8>>2]|0,c[f+12>>2]|0)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+108>>2]=n;n=(c[(GC(c[e>>2]|0)|0)+8>>2]|0)+113|0;a[n>>0]=d[n>>0]|16}n=(tO(c[e>>2]|0,c[13835]|0,0,0)|0)&255;a[(c[(c[e>>2]|0)+8>>2]|0)+144>>0]=n;Vb[c[c[(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]>>2]&127](c[e>>2]|0);i=k;return}function NO(b){b=b|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+128|0;if((i|0)>=(j|0))ba();l=p+124|0;o=p+120|0;n=p+116|0;f=p+96|0;g=p+80|0;k=p+112|0;e=p+40|0;m=p;c[l>>2]=b;c[n>>2]=0;b=c[l>>2]|0;c[k>>2]=GC(c[((c[c[l>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)|0;c[f+8>>2]=0;c[g+8>>2]=0;if(((c[13866]|0)!=0?(b=PA(c[l>>2]|0,c[13866]|0)|0,c[o>>2]=b,(b|0)!=0):0)?(a[c[o>>2]>>0]|0)!=0:0){c[n>>2]=1;mP(c[l>>2]|0,f);r=c[l>>2]|0;q=c[o>>2]|0;b=(pD(c[o>>2]|0)|0)!=0;b=fK(r,q,b?2:0,+h[f>>3],c[f+8>>2]|0,c[f+12>>2]|0)|0;c[(c[(c[l>>2]|0)+8>>2]|0)+96>>2]=b;b=(c[(c[k>>2]|0)+8>>2]|0)+113|0;a[b>>0]=d[b>>0]|1;b=zO(wO(c[l>>2]|0,c[13876]|0,174991)|0)|0;a[(c[(c[l>>2]|0)+8>>2]|0)+114>>0]=b}if(((c[13867]|0)!=0?(r=PA(c[l>>2]|0,c[13867]|0)|0,c[o>>2]=r,(r|0)!=0):0)?(a[c[o>>2]>>0]|0)!=0:0){if(!(c[f+8>>2]|0))mP(c[l>>2]|0,f);b=c[l>>2]|0;q=c[o>>2]|0;r=(pD(c[o>>2]|0)|0)!=0;r=fK(b,q,r?2:0,+h[f>>3],c[f+8>>2]|0,c[f+12>>2]|0)|0;c[(c[(c[l>>2]|0)+8>>2]|0)+108>>2]=r;r=(c[(c[k>>2]|0)+8>>2]|0)+113|0;a[r>>0]=d[r>>0]|32}if(((c[13881]|0)!=0?(r=PA(c[l>>2]|0,c[13881]|0)|0,c[o>>2]=r,(r|0)!=0):0)?(a[c[o>>2]>>0]|0)!=0:0){nP(c[l>>2]|0,f,g);b=c[l>>2]|0;q=c[o>>2]|0;r=(pD(c[o>>2]|0)|0)!=0;r=fK(b,q,r?2:0,+h[g>>3],c[g+8>>2]|0,c[g+12>>2]|0)|0;c[(c[(c[l>>2]|0)+8>>2]|0)+100>>2]=r;r=(c[(c[k>>2]|0)+8>>2]|0)+113|0;a[r>>0]=d[r>>0]|2}if(((c[13882]|0)!=0?(r=PA(c[l>>2]|0,c[13882]|0)|0,c[o>>2]=r,(r|0)!=0):0)?(a[c[o>>2]>>0]|0)!=0:0){if(!(c[g+8>>2]|0))nP(c[l>>2]|0,f,g);b=c[l>>2]|0;q=c[o>>2]|0;r=(pD(c[o>>2]|0)|0)!=0;r=fK(b,q,r?2:0,+h[g>>3],c[g+8>>2]|0,c[g+12>>2]|0)|0;c[(c[(c[l>>2]|0)+8>>2]|0)+104>>2]=r;r=(c[(c[k>>2]|0)+8>>2]|0)+113|0;a[r>>0]=d[r>>0]|4}r=OA(c[l>>2]|0,149150)|0;c[o>>2]=r;c[o>>2]=(c[o>>2]|0)!=0?r:178598;if((c[o>>2]|0)!=0?(a[c[o>>2]>>0]|0)!=0:0){r=c[l>>2]|0;a[(c[(c[((c[c[l>>2]>>2]&3|0)==3?r:r+32|0)+28>>2]|0)+8>>2]|0)+145>>0]=1}b=(c[(c[l>>2]|0)+8>>2]|0)+16|0;r=c[l>>2]|0;f=c[l>>2]|0;oP(e,c[(c[(c[(c[(c[((c[c[l>>2]>>2]&3|0)==3?r:r+32|0)+28>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,c[((c[c[l>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0,c[o>>2]|0);f=b+40|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));if((pP(c[l>>2]|0,c[13888]|0)|0)<<24>>24)a[(c[(c[l>>2]|0)+8>>2]|0)+16+30>>0]=0;r=OA(c[l>>2]|0,149141)|0;c[o>>2]=r;c[o>>2]=(c[o>>2]|0)!=0?r:178598;if((c[o>>2]|0)!=0?(a[c[o>>2]>>0]|0)!=0:0){r=c[l>>2]|0;a[(c[(c[((c[c[l>>2]>>2]&3|0)==2?r:r+-32|0)+28>>2]|0)+8>>2]|0)+145>>0]=1}b=(c[(c[l>>2]|0)+8>>2]|0)+56|0;f=c[l>>2]|0;e=c[l>>2]|0;oP(m,c[(c[(c[(c[(c[((c[c[l>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,c[((c[c[l>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0,c[o>>2]|0);e=m;f=b+40|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));if(!((pP(c[l>>2]|0,c[13889]|0)|0)<<24>>24)){r=c[n>>2]|0;i=p;return r|0}a[(c[(c[l>>2]|0)+8>>2]|0)+56+30>>0]=0;r=c[n>>2]|0;i=p;return r|0}function OO(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;if((i|0)>=(j|0))ba();e=n+48|0;k=n+44|0;l=n+40|0;f=n+36|0;m=n+32|0;g=n;c[e>>2]=b;c[l>>2]=c[(c[e>>2]|0)+8>>2];if((c[(c[e>>2]|0)+4>>2]|0)>1)b=c[(c[e>>2]|0)+4>>2]|0;else b=1;c[f>>2]=b;c[m>>2]=(c[(c[e>>2]|0)+44>>2]|0)+((_((c[f>>2]|0)-1|0,c[l>>2]|0)|0)<<4);f=g+16|0;e=c[m>>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[f+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];c[k>>2]=1;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;if(+h[g>>3]<+h[(c[m>>2]|0)+(c[k>>2]<<4)>>3])d=+h[g>>3];else d=+h[(c[m>>2]|0)+(c[k>>2]<<4)>>3];h[g>>3]=d;if(+h[g+8>>3]<+h[(c[m>>2]|0)+(c[k>>2]<<4)+8>>3])d=+h[g+8>>3];else d=+h[(c[m>>2]|0)+(c[k>>2]<<4)+8>>3];h[g+8>>3]=d;if(+h[g+16>>3]>+h[(c[m>>2]|0)+(c[k>>2]<<4)>>3])d=+h[g+16>>3];else d=+h[(c[m>>2]|0)+(c[k>>2]<<4)>>3];h[g+16>>3]=d;if(+h[g+16+8>>3]>+h[(c[m>>2]|0)+(c[k>>2]<<4)+8>>3])d=+h[g+16+8>>3];else d=+h[(c[m>>2]|0)+(c[k>>2]<<4)+8>>3];h[g+16+8>>3]=d;c[k>>2]=(c[k>>2]|0)+1}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];c[a+16>>2]=c[g+16>>2];c[a+20>>2]=c[g+20>>2];c[a+24>>2]=c[g+24>>2];c[a+28>>2]=c[g+28>>2];i=n;return}function PO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+80|0;if((i|0)>=(j|0))ba();g=d+32|0;k=d+68|0;f=d+64|0;e=d;c[k>>2]=a;c[f>>2]=b;b=(c[(c[k>>2]|0)+8>>2]|0)+16|0;h=(c[(c[k>>2]|0)+8>>2]|0)+16|0;f=c[f>>2]|0;a=c[(c[(c[k>>2]|0)+8>>2]|0)+116>>2]&1;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[g+20>>2]=c[h+20>>2];c[g+24>>2]=c[h+24>>2];c[g+28>>2]=c[h+28>>2];qP(e,g,f,a);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];i=d;return}function QO(a){a=a|0;var b=0,e=0,f=0,g=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;F=i;i=i+512|0;if((i|0)>=(j|0))ba();x=F+448|0;D=F+336|0;b=F+496|0;B=F+492|0;y=F+488|0;v=F+416|0;w=F+384|0;u=F+352|0;C=F+320|0;E=F+304|0;z=F+484|0;A=F+480|0;e=F+288|0;m=F+272|0;n=F+256|0;o=F+240|0;p=F+224|0;q=F+208|0;r=F+192|0;s=F+160|0;t=F+128|0;f=F+96|0;g=F+64|0;k=F+32|0;l=F;c[b>>2]=a;if((AB(c[b>>2]|0)|0)==0?(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0)==0:0){rP(e,0.0,0.0);c[w>>2]=c[e>>2];c[w+4>>2]=c[e+4>>2];c[w+8>>2]=c[e+8>>2];c[w+12>>2]=c[e+12>>2];E=w+16|0;rP(m,0.0,0.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];i=F;return}rP(n,2147483647.0,2147483647.0);c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];a=w+16|0;rP(o,-2147483647.0,-2147483647.0);c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];c[B>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[B>>2]|0))break;EO(p,c[B>>2]|0);c[C>>2]=c[p>>2];c[C+4>>2]=c[p+4>>2];c[C+8>>2]=c[p+8>>2];c[C+12>>2]=c[p+12>>2];h[E>>3]=(+h[(c[(c[B>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[B>>2]|0)+8>>2]|0)+96>>3])/2.0;h[E+8>>3]=+h[(c[(c[B>>2]|0)+8>>2]|0)+80>>3]/2.0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];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];sP(q,D,x);c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];a=v+16|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];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];tP(r,D,x);c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];h[w>>3]=+h[w>>3]<+h[v>>3]?+h[w>>3]:+h[v>>3];h[w+8>>3]=+h[w+8>>3]<+h[v+8>>3]?+h[w+8>>3]:+h[v+8>>3];h[w+16>>3]=+h[w+16>>3]>+h[v+16>>3]?+h[w+16>>3]:+h[v+16>>3];h[w+16+8>>3]=+h[w+16+8>>3]>+h[v+16+8>>3]?+h[w+16+8>>3]:+h[v+16+8>>3];if((c[(c[(c[B>>2]|0)+8>>2]|0)+108>>2]|0)!=0?(d[(c[(c[(c[B>>2]|0)+8>>2]|0)+108>>2]|0)+81>>0]|0|0)!=0:0){o=c[(c[(c[B>>2]|0)+8>>2]|0)+108>>2]|0;a=c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]&1;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];c[x+16>>2]=c[w+16>>2];c[x+20>>2]=c[w+20>>2];c[x+24>>2]=c[w+24>>2];c[x+28>>2]=c[w+28>>2];qP(s,x,o,a);c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];c[w+12>>2]=c[s+12>>2];c[w+16>>2]=c[s+16>>2];c[w+20>>2]=c[s+20>>2];c[w+24>>2]=c[s+24>>2];c[w+28>>2]=c[s+28>>2]}c[y>>2]=cB(c[b>>2]|0,c[B>>2]|0)|0;while(1){if(!(c[y>>2]|0))break;if(c[(c[(c[y>>2]|0)+8>>2]|0)+8>>2]|0){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[(c[(c[(c[y>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[(c[c[(c[(c[y>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[z>>2]|0)*48|0)+4>>2]|0))break;a=(c[(c[c[(c[(c[y>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[z>>2]|0)*48|0)>>2]|0)+(c[A>>2]<<4)|0;c[C>>2]=c[a>>2];c[C+4>>2]=c[a+4>>2];c[C+8>>2]=c[a+8>>2];c[C+12>>2]=c[a+12>>2];h[w>>3]=+h[w>>3]<+h[C>>3]?+h[w>>3]:+h[C>>3];h[w+8>>3]=+h[w+8>>3]<+h[C+8>>3]?+h[w+8>>3]:+h[C+8>>3];h[w+16>>3]=+h[w+16>>3]>+h[C>>3]?+h[w+16>>3]:+h[C>>3];h[w+16+8>>3]=+h[w+16+8>>3]>+h[C+8>>3]?+h[w+16+8>>3]:+h[C+8>>3];c[A>>2]=(c[A>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}if((c[(c[(c[y>>2]|0)+8>>2]|0)+96>>2]|0)!=0?(d[(c[(c[(c[y>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]|0|0)!=0:0){o=c[(c[(c[y>>2]|0)+8>>2]|0)+96>>2]|0;a=c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]&1;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];c[x+16>>2]=c[w+16>>2];c[x+20>>2]=c[w+20>>2];c[x+24>>2]=c[w+24>>2];c[x+28>>2]=c[w+28>>2];qP(t,x,o,a);c[w>>2]=c[t>>2];c[w+4>>2]=c[t+4>>2];c[w+8>>2]=c[t+8>>2];c[w+12>>2]=c[t+12>>2];c[w+16>>2]=c[t+16>>2];c[w+20>>2]=c[t+20>>2];c[w+24>>2]=c[t+24>>2];c[w+28>>2]=c[t+28>>2]}if((c[(c[(c[y>>2]|0)+8>>2]|0)+100>>2]|0)!=0?(d[(c[(c[(c[y>>2]|0)+8>>2]|0)+100>>2]|0)+81>>0]|0|0)!=0:0){o=c[(c[(c[y>>2]|0)+8>>2]|0)+100>>2]|0;a=c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]&1;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];c[x+16>>2]=c[w+16>>2];c[x+20>>2]=c[w+20>>2];c[x+24>>2]=c[w+24>>2];c[x+28>>2]=c[w+28>>2];qP(f,x,o,a);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[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2]}if((c[(c[(c[y>>2]|0)+8>>2]|0)+104>>2]|0)!=0?(d[(c[(c[(c[y>>2]|0)+8>>2]|0)+104>>2]|0)+81>>0]|0|0)!=0:0){o=c[(c[(c[y>>2]|0)+8>>2]|0)+104>>2]|0;a=c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]&1;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];c[x+16>>2]=c[w+16>>2];c[x+20>>2]=c[w+20>>2];c[x+24>>2]=c[w+24>>2];c[x+28>>2]=c[w+28>>2];qP(g,x,o,a);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[w+16>>2]=c[g+16>>2];c[w+20>>2]=c[g+20>>2];c[w+24>>2]=c[g+24>>2];c[w+28>>2]=c[g+28>>2]}if((c[(c[(c[y>>2]|0)+8>>2]|0)+108>>2]|0)!=0?(d[(c[(c[(c[y>>2]|0)+8>>2]|0)+108>>2]|0)+81>>0]|0|0)!=0:0){o=c[(c[(c[y>>2]|0)+8>>2]|0)+108>>2]|0;a=c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]&1;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];c[x+16>>2]=c[w+16>>2];c[x+20>>2]=c[w+20>>2];c[x+24>>2]=c[w+24>>2];c[x+28>>2]=c[w+28>>2];qP(k,x,o,a);c[w>>2]=c[k>>2];c[w+4>>2]=c[k+4>>2];c[w+8>>2]=c[k+8>>2];c[w+12>>2]=c[k+12>>2];c[w+16>>2]=c[k+16>>2];c[w+20>>2]=c[k+20>>2];c[w+24>>2]=c[k+24>>2];c[w+28>>2]=c[k+28>>2]}}c[y>>2]=eB(c[b>>2]|0,c[y>>2]|0)|0}c[B>>2]=qC(c[b>>2]|0,c[B>>2]|0)|0}c[z>>2]=1;while(1){if((c[z>>2]|0)>(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0))break;h[u>>3]=+h[(c[(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0)+(c[z>>2]<<2)>>2]|0)+8>>2]|0)+16>>3];h[u+8>>3]=+h[(c[(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0)+(c[z>>2]<<2)>>2]|0)+8>>2]|0)+16+8>>3];h[u+16>>3]=+h[(c[(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0)+(c[z>>2]<<2)>>2]|0)+8>>2]|0)+16+16>>3];h[u+16+8>>3]=+h[(c[(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0)+(c[z>>2]<<2)>>2]|0)+8>>2]|0)+16+16+8>>3];h[w>>3]=+h[w>>3]<+h[u>>3]?+h[w>>3]:+h[u>>3];h[w+8>>3]=+h[w+8>>3]<+h[u+8>>3]?+h[w+8>>3]:+h[u+8>>3];h[w+16>>3]=+h[w+16>>3]>+h[u+16>>3]?+h[w+16>>3]:+h[u+16>>3];h[w+16+8>>3]=+h[w+16+8>>3]>+h[u+16+8>>3]?+h[w+16+8>>3]:+h[u+16+8>>3];c[z>>2]=(c[z>>2]|0)+1}if((c[(c[(c[b>>2]|0)+8>>2]|0)+12>>2]|0)!=0?(d[(c[(c[(c[b>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]|0|0)!=0:0){D=c[(c[(c[b>>2]|0)+8>>2]|0)+12>>2]|0;E=c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]&1;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];c[x+16>>2]=c[w+16>>2];c[x+20>>2]=c[w+20>>2];c[x+24>>2]=c[w+24>>2];c[x+28>>2]=c[w+28>>2];qP(l,x,D,E);c[w>>2]=c[l>>2];c[w+4>>2]=c[l+4>>2];c[w+8>>2]=c[l+8>>2];c[w+12>>2]=c[l+12>>2];c[w+16>>2]=c[l+16>>2];c[w+20>>2]=c[l+20>>2];c[w+24>>2]=c[l+24>>2];c[w+28>>2]=c[l+28>>2]}E=(c[(c[b>>2]|0)+8>>2]|0)+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[E+16>>2]=c[w+16>>2];c[E+20>>2]=c[w+20>>2];c[E+24>>2]=c[w+24>>2];c[E+28>>2]=c[w+28>>2];i=F;return}function RO(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if((c[b>>2]|0)==(c[(c[b>>2]|0)+48>>2]|0)){a=1;a=a&1;i=d;return a|0}a=(f4(MB(c[b>>2]|0)|0,145693,7)|0)!=0^1;a=a&1;i=d;return a|0}function SO(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,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();g=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a:do if(!(c[m>>2]|0))switch(RC(c[h>>2]|0)|0){case 0:{c[m>>2]=GA(c[g>>2]|0,0,c[k>>2]|0,178598)|0;break a}case 1:{c[m>>2]=GA(c[g>>2]|0,1,c[k>>2]|0,178598)|0;break a}case 2:{c[m>>2]=GA(c[g>>2]|0,2,c[k>>2]|0,178598)|0;break a}default:break a}while(0);RA(c[h>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return c[m>>2]|0}function TO(d){d=d|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;if((i|0)>=(j|0))ba();k=q+44|0;p=q+40|0;n=q+36|0;o=q+32|0;f=q+28|0;l=q+24|0;h=q+8|0;g=q+4|0;m=q;c[k>>2]=d;c[m>>2]=UO(c[k>>2]|0)|0;c[g>>2]=eA(58876,c[12989]|0)|0;c[l>>2]=uD(c[k>>2]|0,145701,1)|0;aD(c[l>>2]|0,175129,280,1)|0;tA(h,128,q+48|0);c[n>>2]=pC(c[k>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;a:do if(!(a[(c[(c[n>>2]|0)+8>>2]|0)+118>>0]|0)){c[f>>2]=cB(c[k>>2]|0,c[n>>2]|0)|0;while(1){if(!(c[f>>2]|0))break a;uP(c[f>>2]|0,c[l>>2]|0,h,c[g>>2]|0,c[m>>2]|0);c[f>>2]=eB(c[k>>2]|0,c[f>>2]|0)|0}}while(0);c[n>>2]=qC(c[k>>2]|0,c[n>>2]|0)|0}xA(h);aA(c[g>>2]|0)|0;c[p>>2]=AB(c[l>>2]|0)|0;c[n>>2]=pC(c[l>>2]|0)|0;while(1){f=c[l>>2]|0;if(!(c[n>>2]|0))break;c[o>>2]=qC(f,c[n>>2]|0)|0;FC(c[k>>2]|0,c[n>>2]|0)|0;c[n>>2]=c[o>>2]}zB(f)|0;if(!(c[p>>2]|0)){o=c[m>>2]|0;aA(o)|0;p=c[p>>2]|0;i=q;return p|0}o=(c[(c[k>>2]|0)+8>>2]|0)+136|0;b[o>>1]=e[o>>1]|1;o=c[m>>2]|0;aA(o)|0;p=c[p>>2]|0;i=q;return p|0}function UO(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=eA(58912,c[12989]|0)|0;vP(c[e>>2]|0,c[d>>2]|0);i=b;return c[d>>2]|0}function VO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[d>>2]=uD(c[b>>2]|0,145701,1)|0;aD(c[d>>2]|0,175129,280,1)|0;c[f>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[e>>2]=cB(c[b>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;wP(c[e>>2]|0,c[d>>2]|0);c[e>>2]=eB(c[b>>2]|0,c[e>>2]|0)|0}c[f>>2]=qC(c[b>>2]|0,c[f>>2]|0)|0}c[f>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;FC(c[b>>2]|0,c[f>>2]|0)|0;c[f>>2]=qC(c[d>>2]|0,c[f>>2]|0)|0}zB(c[d>>2]|0)|0;i=g;return}function WO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=GA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0)|0;if(c[l>>2]|0){b=c[l>>2]|0;i=m;return b|0}c[l>>2]=GA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;b=c[l>>2]|0;i=m;return b|0}function XO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;if((i|0)>=(j|0))ba();o=p;e=p+36|0;f=p+32|0;g=p+28|0;k=p+24|0;l=p+16|0;n=p+8|0;m=p+4|0;h=p+40|0;c[f>>2]=b;c[g>>2]=d;c[k>>2]=_3(c[f>>2]|0,59)|0;if((c[(c[g>>2]|0)+4>>2]|0)>>>0>=(c[(c[g>>2]|0)+8>>2]|0)>>>0)uA(c[g>>2]|0,1)|0;b=(c[g>>2]|0)+4|0;d=c[b>>2]|0;c[b>>2]=d+1;a[d>>0]=38;if(!(c[k>>2]|0)){c[e>>2]=c[f>>2];d=c[e>>2]|0;i=p;return d|0}d=(c[k>>2]|0)-(c[f>>2]|0)|0;c[m>>2]=d;if((d|0)>8|(c[m>>2]|0)<2){c[e>>2]=c[f>>2];d=c[e>>2]|0;i=p;return d|0}h4(h,c[f>>2]|0,c[m>>2]|0)|0;a[h+(c[m>>2]|0)>>0]=0;c[l>>2]=h;c[n>>2]=O3(l,58948,252,8,96)|0;if(!(c[n>>2]|0)){c[e>>2]=c[f>>2];d=c[e>>2]|0;i=p;return d|0}c[o>>2]=c[(c[n>>2]|0)+4>>2];D3(h,175103,o)|0;if((c[(c[g>>2]|0)+4>>2]|0)>>>0>=(c[(c[g>>2]|0)+8>>2]|0)>>>0)uA(c[g>>2]|0,1)|0;o=(c[g>>2]|0)+4|0;d=c[o>>2]|0;c[o>>2]=d+1;a[d>>0]=35;wA(c[g>>2]|0,h)|0;if((c[(c[g>>2]|0)+4>>2]|0)>>>0>=(c[(c[g>>2]|0)+8>>2]|0)>>>0)uA(c[g>>2]|0,1)|0;o=(c[g>>2]|0)+4|0;d=c[o>>2]|0;c[o>>2]=d+1;a[d>>0]=59;c[e>>2]=(c[k>>2]|0)+1;d=c[e>>2]|0;i=p;return d|0}function YO(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+1088|0;if((i|0)>=(j|0))ba();q=t+8|0;p=t;f=t+56|0;g=t+52|0;l=t+48|0;r=t+32|0;h=t+60|0;o=t+28|0;k=t+24|0;m=t+20|0;n=t+16|0;c[f>>2]=b;c[g>>2]=e;if((c[15241]|0)!=(c[g>>2]|0)){c[15241]=c[g>>2];a[145716]=0}tA(r,1024,t+64|0);while(1){e=c[f>>2]|0;c[f>>2]=e+1;e=a[e>>0]|0;a[h>>0]=e;if(!(e<<24>>24))break;do if((d[h>>0]|0)<192)c[m>>2]=0;else{if((d[h>>0]|0)<224){c[m>>2]=1;break}if((d[h>>0]|0)<240){c[m>>2]=2;break}if((d[h>>0]|0)<248){c[m>>2]=3;break}c[m>>2]=-1;if(!(a[145716]|0)){c[p>>2]=MB(c[g>>2]|0)|0;pA(0,145717,p)|0;a[145716]=1}a[h>>0]=yP(a[h>>0]|0,r)|0}while(0);do if((c[m>>2]|0)==0?(d[h>>0]|0)==38:0){c[o>>2]=zP(f)|0;if(c[o>>2]|0){b=c[o>>2]|0;if((c[o>>2]|0)>>>0<127){a[h>>0]=b;break}e=(c[r+4>>2]|0)>>>0>=(c[r+8>>2]|0)>>>0;if(b>>>0<2047){if(e)uA(r,1)|0;e=((c[o>>2]|0)>>>6&255|192)&255;u=r+4|0;b=c[u>>2]|0;c[u>>2]=b+1;a[b>>0]=e;c[k>>2]=e&255;a[h>>0]=c[o>>2]&63|128;break}if(e)uA(r,1)|0;u=((c[o>>2]|0)>>>12&255|224)&255;b=r+4|0;e=c[b>>2]|0;c[b>>2]=e+1;a[e>>0]=u;c[k>>2]=u&255;if((c[r+4>>2]|0)>>>0>=(c[r+8>>2]|0)>>>0)uA(r,1)|0;u=((c[o>>2]|0)>>>6&63|128)&255;b=r+4|0;e=c[b>>2]|0;c[b>>2]=e+1;a[e>>0]=u;c[k>>2]=u&255;a[h>>0]=c[o>>2]&63|128}}else s=30;while(0);a:do if((s|0)==30){s=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break a;if((a[c[f>>2]>>0]&192|0)!=128)break;if((c[r+4>>2]|0)>>>0>=(c[r+8>>2]|0)>>>0)uA(r,1)|0;u=a[h>>0]|0;b=r+4|0;e=c[b>>2]|0;c[b>>2]=e+1;a[e>>0]=u;c[k>>2]=u&255;u=c[f>>2]|0;c[f>>2]=u+1;a[h>>0]=a[u>>0]|0;c[n>>2]=(c[n>>2]|0)+1}if(!(a[145716]|0)){e=(c[m>>2]|0)+1|0;u=MB(c[g>>2]|0)|0;c[q>>2]=e;c[q+4>>2]=u;pA(0,145838,q)|0;a[145716]=1}a[h>>0]=yP(a[h>>0]|0,r)|0}while(0);if((c[r+4>>2]|0)>>>0>=(c[r+8>>2]|0)>>>0)uA(r,1)|0;u=a[h>>0]|0;b=r+4|0;e=c[b>>2]|0;c[b>>2]=e+1;a[e>>0]=u;c[k>>2]=u&255}if((c[r+4>>2]|0)>>>0<(c[r+8>>2]|0)>>>0){s=r+4|0;u=c[s>>2]|0;q=u+1|0;c[s>>2]=q;a[u>>0]=0;u=c[r>>2]|0;s=r+4|0;c[s>>2]=u;u=d4(u)|0;c[l>>2]=u;xA(r);u=c[l>>2]|0;i=t;return u|0}uA(r,1)|0;s=r+4|0;u=c[s>>2]|0;q=u+1|0;c[s>>2]=q;a[u>>0]=0;u=c[r>>2]|0;s=r+4|0;c[s>>2]=u;u=d4(u)|0;c[l>>2]=u;xA(r);u=c[l>>2]|0;i=t;return u|0}function ZO(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;l=i;i=i+1056|0;if((i|0)>=(j|0))ba();e=l+28|0;g=l+24|0;k=l+8|0;h=l+4|0;f=l;c[e>>2]=b;tA(k,1024,l+32|0);while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=d[b>>0]|0;c[h>>2]=b;if(!b)break;if((c[h>>2]|0)==38){b=zP(e)|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)!=0?b:38}if((c[h>>2]|0)>>>0<127){if((c[k+4>>2]|0)>>>0>=(c[k+8>>2]|0)>>>0)uA(k,1)|0;b=c[h>>2]&255;n=k+4|0;m=c[n>>2]|0;c[n>>2]=m+1;a[m>>0]=b;c[f>>2]=b&255;continue}b=(c[k+4>>2]|0)>>>0>=(c[k+8>>2]|0)>>>0;if((c[h>>2]|0)>>>0<2047){if(b)uA(k,1)|0;n=((c[h>>2]|0)>>>6&255|192)&255;b=k+4|0;m=c[b>>2]|0;c[b>>2]=m+1;a[m>>0]=n;c[f>>2]=n&255;if((c[k+4>>2]|0)>>>0>=(c[k+8>>2]|0)>>>0)uA(k,1)|0;n=(c[h>>2]&63|128)&255;b=k+4|0;m=c[b>>2]|0;c[b>>2]=m+1;a[m>>0]=n;c[f>>2]=n&255;continue}if(b)uA(k,1)|0;n=((c[h>>2]|0)>>>12&255|224)&255;b=k+4|0;m=c[b>>2]|0;c[b>>2]=m+1;a[m>>0]=n;c[f>>2]=n&255;if((c[k+4>>2]|0)>>>0>=(c[k+8>>2]|0)>>>0)uA(k,1)|0;n=((c[h>>2]|0)>>>6&63|128)&255;b=k+4|0;m=c[b>>2]|0;c[b>>2]=m+1;a[m>>0]=n;c[f>>2]=n&255;if((c[k+4>>2]|0)>>>0>=(c[k+8>>2]|0)>>>0)uA(k,1)|0;n=(c[h>>2]&63|128)&255;b=k+4|0;m=c[b>>2]|0;c[b>>2]=m+1;a[m>>0]=n;c[f>>2]=n&255}if((c[k+4>>2]|0)>>>0<(c[k+8>>2]|0)>>>0){m=k+4|0;n=c[m>>2]|0;h=n+1|0;c[m>>2]=h;a[n>>0]=0;n=c[k>>2]|0;m=k+4|0;c[m>>2]=n;n=d4(n)|0;c[g>>2]=n;xA(k);n=c[g>>2]|0;i=l;return n|0}uA(k,1)|0;m=k+4|0;n=c[m>>2]|0;h=n+1|0;c[m>>2]=h;a[n>>0]=0;n=c[k>>2]|0;m=k+4|0;c[m>>2]=n;n=d4(n)|0;c[g>>2]=n;xA(k);n=c[g>>2]|0;i=l;return n|0}function _O(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+1072|0;if((i|0)>=(j|0))ba();e=m+28|0;h=m+24|0;l=m+8|0;f=m+33|0;k=m+32|0;g=m;c[e>>2]=b;tA(l,1024,m+40|0);while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;if((d[f>>0]|0|0)<127){if((c[l+4>>2]|0)>>>0>=(c[l+8>>2]|0)>>>0)uA(l,1)|0;b=a[f>>0]|0;o=l+4|0;n=c[o>>2]|0;c[o>>2]=n+1;a[n>>0]=b;c[g>>2]=b&255;continue}else{a[k>>0]=((d[f>>0]|0)&3)<<6;o=c[e>>2]|0;c[e>>2]=o+1;a[f>>0]=a[o>>0]|0;a[k>>0]=d[k>>0]|0|(d[f>>0]|0)&63;if((c[l+4>>2]|0)>>>0>=(c[l+8>>2]|0)>>>0)uA(l,1)|0;o=a[k>>0]|0;b=l+4|0;n=c[b>>2]|0;c[b>>2]=n+1;a[n>>0]=o;c[g>>2]=o&255;continue}}if((c[l+4>>2]|0)>>>0<(c[l+8>>2]|0)>>>0){n=l+4|0;o=c[n>>2]|0;b=o+1|0;c[n>>2]=b;a[o>>0]=0;o=c[l>>2]|0;n=l+4|0;c[n>>2]=o;o=d4(o)|0;c[h>>2]=o;xA(l);o=c[h>>2]|0;i=m;return o|0}uA(l,1)|0;n=l+4|0;o=c[n>>2]|0;b=o+1|0;c[n>>2]=b;a[o>>0]=0;o=c[l>>2]|0;n=l+4|0;c[n>>2]=o;o=d4(o)|0;c[h>>2]=o;xA(l);o=c[h>>2]|0;i=m;return o|0}function $O(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+96|0;if((i|0)>=(j|0))ba();o=p+64|0;e=p+48|0;f=p+92|0;g=p+88|0;m=p+80|0;n=p+32|0;k=p+16|0;l=p;c[g>>2]=b;if(((+h[d+16>>3]>=+h[(c[(c[g>>2]|0)+8>>2]|0)+48>>3]?+h[(c[(c[g>>2]|0)+8>>2]|0)+48+16>>3]>=+h[d>>3]:0)?+h[d+16+8>>3]>=+h[(c[(c[g>>2]|0)+8>>2]|0)+48+8>>3]:0)?+h[(c[(c[g>>2]|0)+8>>2]|0)+48+16+8>>3]>=+h[d+8>>3]:0){b=(c[(c[g>>2]|0)+8>>2]|0)+16|0;q=d+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[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];AP(k,e,o);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[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];sP(l,e,o);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[m>>2]=c[g>>2];c[m+4>>2]=0;b=c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|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];a[f>>0]=gc[b&127](m,o)|0;o=a[f>>0]|0;i=p;return o|0}a[f>>0]=0;q=a[f>>0]|0;i=p;return q|0}function aP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;e=i;i=i+128|0;if((i|0)>=(j|0))ba();g=e+96|0;k=e+80|0;m=e+112|0;l=e+64|0;d=e+32|0;n=e+16|0;f=e;c[m>>2]=a;h[l>>3]=+h[(c[m>>2]|0)+24>>3]/2.0;h[l+8>>3]=+h[(c[m>>2]|0)+24+8>>3]/2.0;a=(c[m>>2]|0)+56|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];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];sP(n,k,g);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];a=d+16|0;m=(c[m>>2]|0)+56|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[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];tP(f,k,g);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];if(!(+h[b+16>>3]>=+h[d>>3])){n=0;n=n&1;n=n&255;i=e;return n|0}if(!(+h[d+16>>3]>=+h[b>>3])){n=0;n=n&1;n=n&255;i=e;return n|0}if(!(+h[b+16+8>>3]>=+h[d+8>>3])){n=0;n=n&1;n=n&255;i=e;return n|0}n=+h[d+16+8>>3]>=+h[b+8>>3];n=n&1;n=n&255;i=e;return n|0}function bP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+112|0;if((i|0)>=(j|0))ba();l=p+48|0;g=p;h=p+96|0;k=p+92|0;m=p+88|0;o=p+84|0;n=p+80|0;c[k>>2]=b;c[o>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2];a:do if((c[o>>2]|0)!=0?(f=(c[o>>2]|0)+8|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[g+16>>2]=c[f+16>>2],c[g+20>>2]=c[f+20>>2],c[g+24>>2]=c[f+24>>2],c[g+28>>2]=c[f+28>>2],c[l>>2]=c[d>>2],c[l+4>>2]=c[d+4>>2],c[l+8>>2]=c[d+8>>2],c[l+12>>2]=c[d+12>>2],c[l+16>>2]=c[d+16>>2],c[l+20>>2]=c[d+20>>2],c[l+24>>2]=c[d+24>>2],c[l+28>>2]=c[d+28>>2],(BP(g,l)|0)!=0):0){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0))break a;b=g;e=(c[c[o>>2]>>2]|0)+((c[m>>2]|0)*48|0)|0;f=b+48|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[l+16>>2]=c[d+16>>2];c[l+20>>2]=c[d+20>>2];c[l+24>>2]=c[d+24>>2];c[l+28>>2]=c[d+28>>2];if((CP(g,l)|0)<<24>>24)break;c[m>>2]=(c[m>>2]|0)+1}a[h>>0]=1;o=a[h>>0]|0;i=p;return o|0}while(0);c[n>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+96>>2];if((c[n>>2]|0)!=0?(o=c[n>>2]|0,c[l>>2]=c[d>>2],c[l+4>>2]=c[d+4>>2],c[l+8>>2]=c[d+8>>2],c[l+12>>2]=c[d+12>>2],c[l+16>>2]=c[d+16>>2],c[l+20>>2]=c[d+20>>2],c[l+24>>2]=c[d+24>>2],c[l+28>>2]=c[d+28>>2],((aP(o,l)|0)&255|0)!=0):0){a[h>>0]=1;o=a[h>>0]|0;i=p;return o|0}a[h>>0]=0;o=a[h>>0]|0;i=p;return o|0}function cP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)!=0?(a[c[f>>2]>>0]|0)!=0:0){c[h>>2]=0;a:do switch(a[c[f>>2]>>0]|0){case 48:{c[h>>2]=2;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{c[h>>2]=10;break}case 67:case 99:{if(!(Y3((c[f>>2]|0)+1|0,145947)|0)){c[h>>2]=4;break a}if(!(Y3((c[f>>2]|0)+1|0,145953)|0))c[h>>2]=12;break}case 70:case 102:{if(!(Y3((c[f>>2]|0)+1|0,145961)|0))c[h>>2]=2;break}case 76:case 108:{if(!(Y3((c[f>>2]|0)+1|0,145966)|0))c[h>>2]=2;break}case 78:case 110:{if(!(Y3((c[f>>2]|0)+1|0,145970)|0)){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}if(!(Y3((c[f>>2]|0)+1|0,145974)|0)){c[e>>2]=2;k=c[e>>2]|0;i=l;return k|0}break}case 79:case 111:{if(!(Y3((c[f>>2]|0)+1|0,145976)|0))c[h>>2]=8;break}case 80:case 112:{if(!(Y3((c[f>>2]|0)+1|0,145981)|0))c[h>>2]=6;break}case 83:case 115:{if(!(Y3((c[f>>2]|0)+1|0,145989)|0))c[h>>2]=10;break}case 84:case 116:{if(!(Y3((c[f>>2]|0)+1|0,145995)|0))c[h>>2]=10;break}case 89:case 121:{if(!(Y3((c[f>>2]|0)+1|0,145999)|0))c[h>>2]=10;break}default:{}}while(0);if(!(c[h>>2]|0)){c[k>>2]=c[f>>2];pA(0,146002,k)|0;c[h>>2]=c[g>>2]}c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}c[e>>2]=c[g>>2];k=c[e>>2]|0;i=l;return k|0}function dP(d,f){d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;m=i;i=i+16|0;if((i|0)>=(j|0))ba();g=m+12|0;h=m+8|0;l=m+4|0;k=m;c[g>>2]=d;c[h>>2]=f;c[l>>2]=OA(c[g>>2]|0,146043)|0;do if(c[l>>2]|0)if(!(a[c[l>>2]>>0]|0)){c[k>>2]=0;break}else{c[k>>2]=cP(c[l>>2]|0,c[h>>2]|0)|0;break}else c[k>>2]=c[h>>2];while(0);l=(c[(c[g>>2]|0)+8>>2]|0)+136|0;b[l>>1]=e[l>>1]|c[k>>2];i=m;return}function eP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+144|0;if((i|0)>=(j|0))ba();m=C+140|0;z=C+136|0;n=C+132|0;q=C+128|0;D=C+124|0;o=C+120|0;k=C+104|0;l=C+96|0;w=C+80|0;v=C+64|0;A=C+48|0;p=C+116|0;B=C+112|0;u=C+40|0;x=C+32|0;s=C+24|0;t=C+16|0;y=C+8|0;r=C;c[m>>2]=a;c[z>>2]=b;c[n>>2]=d;g[q>>2]=e;c[D>>2]=f;c[p>>2]=c[D>>2]&1;c[B>>2]=c[D>>2]&2;a=c[m>>2]|0;a:do if((c[n>>2]|0)==2){h[k>>3]=+h[a+16>>3]-+h[c[m>>2]>>3];h[l>>3]=+h[(c[m>>2]|0)+16+8>>3]-+h[(c[m>>2]|0)+8>>3];h[w>>3]=+h[c[m>>2]>>3]-+h[k>>3];h[v>>3]=+h[c[m>>2]>>3]+ +h[k>>3];h[w+8>>3]=+h[(c[m>>2]|0)+8>>3]-+h[l>>3];h[v+8>>3]=+h[(c[m>>2]|0)+8>>3]+ +h[l>>3]}else{e=+h[a>>3];h[v>>3]=e;h[w>>3]=e;e=+h[(c[m>>2]|0)+8>>3];h[v+8>>3]=e;h[w+8>>3]=e;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break a;if(+h[(c[m>>2]|0)+(c[o>>2]<<4)>>3]<+h[w>>3])e=+h[(c[m>>2]|0)+(c[o>>2]<<4)>>3];else e=+h[w>>3];h[w>>3]=e;if(+h[(c[m>>2]|0)+(c[o>>2]<<4)+8>>3]<+h[w+8>>3])e=+h[(c[m>>2]|0)+(c[o>>2]<<4)+8>>3];else e=+h[w+8>>3];h[w+8>>3]=e;if(+h[(c[m>>2]|0)+(c[o>>2]<<4)>>3]>+h[v>>3])e=+h[(c[m>>2]|0)+(c[o>>2]<<4)>>3];else e=+h[v>>3];h[v>>3]=e;if(+h[(c[m>>2]|0)+(c[o>>2]<<4)+8>>3]>+h[v+8>>3])e=+h[(c[m>>2]|0)+(c[o>>2]<<4)+8>>3];else e=+h[v+8>>3];h[v+8>>3]=e;c[o>>2]=(c[o>>2]|0)+1}}while(0);h[A>>3]=+h[w>>3]+(+h[v>>3]-+h[w>>3])/2.0;h[A+8>>3]=+h[w+8>>3]+(+h[v+8>>3]-+h[w+8>>3])/2.0;if(c[p>>2]|0){h[x>>3]=+O(+((+h[A>>3]-+h[w>>3])*(+h[A>>3]-+h[w>>3])+(+h[A+8>>3]-+h[w+8>>3])*(+h[A+8>>3]-+h[w+8>>3])));h[u>>3]=+h[x>>3]/4.0;e=+h[A+8>>3];if(c[B>>2]|0)h[(c[z>>2]|0)+8>>3]=e;else h[(c[z>>2]|0)+8>>3]=-e;h[c[z>>2]>>3]=+h[A>>3];h[(c[z>>2]|0)+16>>3]=+h[u>>3];h[(c[z>>2]|0)+16+8>>3]=+h[x>>3];i=C;return}else{h[s>>3]=+h[v>>3]-+h[A>>3];h[t>>3]=+h[v+8>>3]-+h[A+8>>3];h[y>>3]=+R(+(+g[q>>2]));h[r>>3]=+Q(+(+g[q>>2]));e=+h[A+8>>3];if(c[B>>2]|0){h[(c[z>>2]|0)+8>>3]=e-+h[t>>3]*+h[y>>3];h[(c[z>>2]|0)+16+8>>3]=+h[A+8>>3]+ +h[t>>3]*+h[y>>3]}else{e=-e+(+h[v+8>>3]-+h[A+8>>3])*+R(+(+g[q>>2]));h[(c[z>>2]|0)+8>>3]=e;e=-+h[A+8>>3]-(+h[A+8>>3]-+h[w+8>>3])*+R(+(+g[q>>2]));h[(c[z>>2]|0)+16+8>>3]=e}h[c[z>>2]>>3]=+h[A>>3]-+h[s>>3]*+h[r>>3];h[(c[z>>2]|0)+16>>3]=+h[A>>3]+ +h[s>>3]*+h[r>>3];i=C;return}}function fP(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;if(!(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)){d=c[b>>2]|0;d=d+8|0;d=c[d>>2]|0;d=d+8|0;c[d>>2]=0;i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break;B1(c[(c[c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[d>>2]|0)*48|0)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}B1(c[c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]>>2]|0);B1(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0);d=c[b>>2]|0;d=d+8|0;d=c[d>>2]|0;d=d+8|0;c[d>>2]=0;i=e;return}function gP(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[(c[(c[d>>2]|0)+8>>2]|0)+144>>2]|0);fP(c[d>>2]|0);hK(c[(c[(c[d>>2]|0)+8>>2]|0)+96>>2]|0);hK(c[(c[(c[d>>2]|0)+8>>2]|0)+108>>2]|0);hK(c[(c[(c[d>>2]|0)+8>>2]|0)+100>>2]|0);hK(c[(c[(c[d>>2]|0)+8>>2]|0)+104>>2]|0);bD(c[d>>2]|0,175399)|0;i=b;return}function hP(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(c[(c[(c[b>>2]|0)+8>>2]|0)+132>>2]|0)B1(c[(c[(c[b>>2]|0)+8>>2]|0)+132>>2]|0);if(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)Vb[c[(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+4>>2]&127](c[b>>2]|0);hK(c[(c[(c[b>>2]|0)+8>>2]|0)+104>>2]|0);hK(c[(c[(c[b>>2]|0)+8>>2]|0)+108>>2]|0);bD(c[b>>2]|0,175106)|0;i=d;return}function iP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0.0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+8|0;k=g+12|0;f=g;c[e>>2]=b;a[k>>0]=d;d=c[(c[e>>2]|0)+8>>2]|0;if(a[k>>0]|0){h[f>>3]=+h[d+40>>3]*72.0;l=+h[f>>3]/2.0;h[(c[(c[e>>2]|0)+8>>2]|0)+96>>3]=l;h[(c[(c[e>>2]|0)+8>>2]|0)+88>>3]=l;h[(c[(c[e>>2]|0)+8>>2]|0)+80>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+32>>3]*72.0;i=g;return}else{h[f>>3]=+h[d+32>>3]*72.0;l=+h[f>>3]/2.0;h[(c[(c[e>>2]|0)+8>>2]|0)+96>>3]=l;h[(c[(c[e>>2]|0)+8>>2]|0)+88>>3]=l;h[(c[(c[e>>2]|0)+8>>2]|0)+80>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+40>>3]*72.0;i=g;return}}function jP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+12|0;h=f+8|0;g=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[e>>2]=$b[c[c[h>>2]>>2]&63](c[h>>2]|0,c[g>>2]|0,512)|0;if(c[e>>2]|0){c[d>>2]=c[(c[e>>2]|0)+12>>2];h=c[d>>2]|0;i=f;return h|0}else{c[d>>2]=0;h=c[d>>2]|0;i=f;return h|0}return 0}function kP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();m=k+24|0;d=k+20|0;e=k+16|0;l=k+12|0;f=k+8|0;g=k+4|0;h=k;c[m>>2]=a;c[d>>2]=b;c[e>>2]=0;c[l>>2]=d4(c[m>>2]|0)|0;c[g>>2]=0;c[h>>2]=0;c[f>>2]=m4(c[l>>2]|0,148978)|0;while(1){if(!(c[f>>2]|0))break;if(c[g>>2]|0)a=tK(c[g>>2]|0,(c[e>>2]|0)+2<<2)|0;else a=rK((c[e>>2]|0)+2<<2)|0;c[g>>2]=a;l=c[f>>2]|0;m=c[e>>2]|0;c[e>>2]=m+1;c[(c[g>>2]|0)+(m<<2)>>2]=l;m=c[h>>2]|0;if(m>>>0>(e4(c[f>>2]|0)|0)>>>0)a=c[h>>2]|0;else a=e4(c[f>>2]|0)|0;c[h>>2]=a;c[f>>2]=m4(0,148978)|0}c[(c[g>>2]|0)+(c[e>>2]<<2)>>2]=0;c[c[d>>2]>>2]=c[h>>2];i=k;return c[g>>2]|0}function lP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();g=k;h=k+28|0;l=k+24|0;m=k+20|0;e=k+16|0;f=k+12|0;c[l>>2]=a;c[m>>2]=b;c[e>>2]=d;b=c[15243]|0;d=c[m>>2]|0;c[15243]=D1(b,d+(e4(c[e>>2]|0)|0)+2|0)|0;c[f>>2]=c[l>>2];while(1){if(!(c[c[f>>2]>>2]|0)){e=6;break}m=c[15243]|0;l=c[e>>2]|0;c[g>>2]=c[c[f>>2]>>2];c[g+4>>2]=145659;c[g+8>>2]=l;D3(m,147752,g)|0;if(!(q4(c[15243]|0,4)|0)){e=4;break}c[f>>2]=(c[f>>2]|0)+4}if((e|0)==4){c[h>>2]=c[15243];m=c[h>>2]|0;i=k;return m|0}else if((e|0)==6){c[h>>2]=0;m=c[h>>2]|0;i=k;return m|0}return 0}function mP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;g=+uO(c[f>>2]|0,c[13863]|0,14.0,1.0);h[c[e>>2]>>3]=g;b=xO(c[f>>2]|0,c[13864]|0,145681)|0;c[(c[e>>2]|0)+8>>2]=b;b=xO(c[f>>2]|0,c[13865]|0,174997)|0;c[(c[e>>2]|0)+12>>2]=b;i=d;return}function nP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0.0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[(c[f>>2]|0)+8>>2]|0))mP(c[e>>2]|0,c[f>>2]|0);l=+uO(c[e>>2]|0,c[13883]|0,+h[c[f>>2]>>3],1.0);h[c[g>>2]>>3]=l;d=xO(c[e>>2]|0,c[13884]|0,c[(c[f>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=d;d=xO(c[e>>2]|0,c[13885]|0,c[(c[f>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+12>>2]=d;i=k;return}function oP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+144|0;if((i|0)>=(j|0))ba();k=p+132|0;h=p+128|0;m=p+124|0;o=p+80|0;n=p+120|0;g=p+40|0;l=p;c[k>>2]=d;c[h>>2]=e;c[m>>2]=f;c[n>>2]=0;if(c[m>>2]|0)c[n>>2]=_3(c[m>>2]|0,58)|0;if(c[n>>2]|0){a[c[n>>2]>>0]=0;nc[c[k>>2]&31](g,c[h>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0);k=o;h=k+40|0;do{c[k>>2]=c[g>>2];k=k+4|0;g=g+4|0}while((k|0)<(h|0));a[c[n>>2]>>0]=58;c[o+36>>2]=(c[n>>2]|0)+1;g=c[m>>2]|0;k=o+36|0;c[k>>2]=g;k=b;g=o;h=k+40|0;do{c[k>>2]=c[g>>2];k=k+4|0;g=g+4|0}while((k|0)<(h|0));i=p;return}else{nc[c[k>>2]&31](l,c[h>>2]|0,c[m>>2]|0,0);k=o;g=l;h=k+40|0;do{c[k>>2]=c[g>>2];k=k+4|0;g=g+4|0}while((k|0)<(h|0));g=c[m>>2]|0;k=o+36|0;c[k>>2]=g;k=b;g=o;h=k+40|0;do{c[k>>2]=c[g>>2];k=k+4|0;g=g+4|0}while((k|0)<(h|0));i=p;return}}function pP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;a[g>>0]=0;if(!(c[f>>2]|0)){d=a[g>>0]|0;i=k;return d|0}c[h>>2]=PA(c[e>>2]|0,c[f>>2]|0)|0;if((c[h>>2]|0)!=0?(a[c[h>>2]>>0]|0)!=0:0){a[g>>0]=((zO(c[h>>2]|0)|0)<<24>>24!=0^1)&1;d=a[g>>0]|0;i=k;return d|0}a[g>>0]=0;d=a[g>>0]|0;i=k;return d|0}function qP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();k=q+48|0;r=q+52|0;p=q+40|0;l=q+32|0;o=q+16|0;n=q+8|0;m=q;c[k>>2]=e;a[r>>0]=f;e=(c[k>>2]|0)+56|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];g=+h[(c[k>>2]|0)+24>>3];if(a[r>>0]|0){h[l>>3]=g;h[p>>3]=+h[(c[k>>2]|0)+24+8>>3]}else{h[p>>3]=g;h[l>>3]=+h[(c[k>>2]|0)+24+8>>3]}h[n>>3]=+h[o>>3]-+h[p>>3]/2.0;h[m>>3]=+h[o>>3]+ +h[p>>3]/2.0;if(+h[n>>3]<+h[d>>3])h[d>>3]=+h[n>>3];if(+h[m>>3]>+h[d+16>>3])h[d+16>>3]=+h[m>>3];h[n>>3]=+h[o+8>>3]-+h[l>>3]/2.0;h[m>>3]=+h[o+8>>3]+ +h[l>>3]/2.0;if(+h[n>>3]<+h[d+8>>3])h[d+8>>3]=+h[n>>3];if(!(+h[m>>3]>+h[d+16+8>>3])){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];i=q;return}h[d+16+8>>3]=+h[m>>3];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];i=q;return}function rP(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();k=e+24|0;g=e+16|0;f=e;h[k>>3]=b;h[g>>3]=d;h[f>>3]=+h[k>>3];h[f+8>>3]=+h[g>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function sP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=+h[b>>3]-+h[d>>3];h[f+8>>3]=+h[b+8>>3]-+h[d+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function tP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=+h[b>>3]+ +h[d>>3];h[f+8>>3]=+h[b+8>>3]+ +h[d+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function uP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=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=i;i=i+96|0;if((i|0)>=(j|0))ba();m=B+32|0;n=B+24|0;A=B+16|0;z=B+8|0;l=B;o=B+88|0;p=B+84|0;q=B+80|0;r=B+76|0;h=B+72|0;y=B+68|0;w=B+64|0;t=B+60|0;u=B+56|0;x=B+52|0;v=B+48|0;s=B+44|0;k=B+40|0;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[h>>2]=g;e=c[o>>2]|0;c[x>>2]=c[((c[c[o>>2]>>2]&3|0)==3?e:e+32|0)+28>>2];e=c[o>>2]|0;c[v>>2]=c[((c[c[o>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2];if(a[(c[(c[v>>2]|0)+8>>2]|0)+118>>0]|0){i=B;return}if(g4(MB(c[x>>2]|0)|0,145693,7)|0)d=0;else{d=c[h>>2]|0;d=jP(d,MB(c[x>>2]|0)|0)|0}c[y>>2]=d;if(g4(MB(c[v>>2]|0)|0,145693,7)|0)d=0;else{d=c[h>>2]|0;d=jP(d,MB(c[v>>2]|0)|0)|0}c[w>>2]=d;if(!((c[y>>2]|0)!=0|(c[w>>2]|0)!=0)){i=B;return}if((c[y>>2]|0)==(c[w>>2]|0)){z=MB(c[x>>2]|0)|0;A=MB(c[x>>2]|0)|0;c[l>>2]=z;c[l+4>>2]=A;pA(0,147541,l)|0;i=B;return}c[k>>2]=HP(c[r>>2]|0,c[o>>2]|0)|0;if(c[k>>2]|0){FP(c[o>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;i=B;return}d=c[y>>2]|0;if(!(c[w>>2]|0))if(QC(d,c[v>>2]|0)|0){z=MB(c[v>>2]|0)|0;A=MB(c[y>>2]|0)|0;c[m>>2]=z;c[m+4>>2]=A;pA(0,147696,m)|0;i=B;return}else{c[t>>2]=IP(c[x>>2]|0,c[y>>2]|0,c[q>>2]|0,c[p>>2]|0)|0;c[s>>2]=FP(c[o>>2]|0,c[t>>2]|0,c[v>>2]|0)|0;JP(c[r>>2]|0,c[x>>2]|0,c[v>>2]|0,c[s>>2]|0);i=B;return}g=c[w>>2]|0;if(!d)if(QC(g,c[x>>2]|0)|0){z=MB(c[x>>2]|0)|0;A=MB(c[w>>2]|0)|0;c[n>>2]=z;c[n+4>>2]=A;pA(0,147659,n)|0;i=B;return}else{c[t>>2]=IP(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0,c[p>>2]|0)|0;c[s>>2]=FP(c[o>>2]|0,c[x>>2]|0,c[t>>2]|0)|0;JP(c[r>>2]|0,c[x>>2]|0,c[v>>2]|0,c[s>>2]|0);i=B;return}n=(QC(g,c[y>>2]|0)|0)!=0;g=c[y>>2]|0;if(n){y=MB(g)|0;A=MB(c[w>>2]|0)|0;c[z>>2]=y;c[z+4>>2]=A;pA(0,147579,z)|0;i=B;return}if(QC(g,c[w>>2]|0)|0){x=MB(c[w>>2]|0)|0;z=MB(c[y>>2]|0)|0;c[A>>2]=x;c[A+4>>2]=z;pA(0,147619,A)|0;i=B;return}else{c[t>>2]=IP(c[x>>2]|0,c[y>>2]|0,c[q>>2]|0,c[p>>2]|0)|0;c[u>>2]=IP(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0,c[p>>2]|0)|0;c[s>>2]=FP(c[o>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;JP(c[r>>2]|0,c[x>>2]|0,c[v>>2]|0,c[s>>2]|0);i=B;return}}function vP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m;d=m+24|0;e=m+20|0;g=m+16|0;f=m+12|0;k=m+8|0;h=m+4|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0))break;c[g>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2];c[k>>2]=MB(c[g>>2]|0)|0;if($b[c[c[e>>2]>>2]&63](c[e>>2]|0,c[k>>2]|0,512)|0){c[l>>2]=c[k>>2];pA(0,147489,l)|0}else{c[h>>2]=qK(16)|0;c[(c[h>>2]|0)+8>>2]=c[k>>2];c[(c[h>>2]|0)+12>>2]=c[g>>2];$b[c[c[e>>2]>>2]&63](c[e>>2]|0,c[h>>2]|0,1)|0}vP(c[g>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=m;return}function wP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;k=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;a=c[e>>2]|0;c[l>>2]=c[((c[c[e>>2]>>2]&3|0)==3?a:a+32|0)+28>>2];a=c[e>>2]|0;c[g>>2]=c[((c[c[e>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2];if((d[(c[(c[l>>2]|0)+8>>2]|0)+118>>0]|0|0)==0?(d[(c[(c[g>>2]|0)+8>>2]|0)+118>>0]|0|0)==0:0){i=m;return}c[k>>2]=EP(c[l>>2]|0,c[f>>2]|0)|0;c[h>>2]=EP(c[g>>2]|0,c[f>>2]|0)|0;FP(c[e>>2]|0,c[k>>2]|0,c[h>>2]|0)|0;i=m;return}function xP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=a4(c[c[f>>2]>>2]|0,c[c[e>>2]>>2]|0)|0;i=d;return b|0}function yP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+18|0;f=l+12|0;m=l+16|0;k=l+8|0;h=l+4|0;g=l;a[e>>0]=b;c[f>>2]=d;a[m>>0]=a[e>>0]|0;a[m+1>>0]=0;d=ZO(m)|0;c[k>>2]=d;c[h>>2]=d;c[g>>2]=e4(c[k>>2]|0)|0;while(1){m=c[g>>2]|0;c[g>>2]=m+-1;if((m|0)<=1)break;if((c[(c[f>>2]|0)+4>>2]|0)>>>0>=(c[(c[f>>2]|0)+8>>2]|0)>>>0)uA(c[f>>2]|0,1)|0;d=c[h>>2]|0;c[h>>2]=d+1;d=a[d>>0]|0;b=(c[f>>2]|0)+4|0;m=c[b>>2]|0;c[b>>2]=m+1;a[m>>0]=d}a[e>>0]=a[c[h>>2]>>0]|0;B1(c[k>>2]|0);i=l;return a[e>>0]|0}function zP(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;if((i|0)>=(j|0))ba();k=p+36|0;g=p+32|0;f=p+24|0;h=p+16|0;e=p+40|0;o=p+12|0;l=p+8|0;m=p+4|0;n=p;c[k>>2]=b;c[o>>2]=c[c[k>>2]>>2];c[n>>2]=0;c[l>>2]=d[c[o>>2]>>0];if((c[l>>2]|0)!=35){c[g>>2]=e;c[f>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){e=26;break}c[l>>2]=d[(c[o>>2]|0)+(c[m>>2]|0)>>0];if(!(c[l>>2]|0)){e=26;break}if((c[l>>2]|0)==59){e=23;break}b=c[l>>2]&255;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=b;c[m>>2]=(c[m>>2]|0)+1}if((e|0)==23){l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=0;c[h>>2]=O3(f,58948,252,8,96)|0;if(!(c[h>>2]|0)){m=c[o>>2]|0;o=c[k>>2]|0;c[o>>2]=m;o=c[n>>2]|0;i=p;return o|0}c[n>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=(c[o>>2]|0)+((c[m>>2]|0)+1);m=c[o>>2]|0;o=c[k>>2]|0;c[o>>2]=m;o=c[n>>2]|0;i=p;return o|0}else if((e|0)==26){m=c[o>>2]|0;o=c[k>>2]|0;c[o>>2]=m;o=c[n>>2]|0;i=p;return o|0}}c[l>>2]=d[(c[o>>2]|0)+1>>0];a:do if((c[l>>2]|0)==120|(c[l>>2]|0)==88){c[m>>2]=2;while(1){if((c[m>>2]|0)>=8)break a;c[l>>2]=d[(c[o>>2]|0)+(c[m>>2]|0)>>0];b=c[l>>2]|0;do if((c[l>>2]|0)>>>0>=65&(c[l>>2]|0)>>>0<=70)c[l>>2]=b-65+10;else{e=c[l>>2]|0;if(b>>>0>=97&(c[l>>2]|0)>>>0<=102){c[l>>2]=e-97+10;break}if(!(e>>>0>=48&(c[l>>2]|0)>>>0<=57))break a;c[l>>2]=(c[l>>2]|0)-48}while(0);c[n>>2]=(c[n>>2]<<4)+(c[l>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}else{c[m>>2]=1;while(1){if((c[m>>2]|0)>=8)break a;c[l>>2]=d[(c[o>>2]|0)+(c[m>>2]|0)>>0];if(!((c[l>>2]|0)>>>0>=48&(c[l>>2]|0)>>>0<=57))break a;c[n>>2]=((c[n>>2]|0)*10|0)+((c[l>>2]|0)-48);c[m>>2]=(c[m>>2]|0)+1}}while(0);if((c[l>>2]|0)==59){c[o>>2]=(c[o>>2]|0)+((c[m>>2]|0)+1);m=c[o>>2]|0;o=c[k>>2]|0;c[o>>2]=m;o=c[n>>2]|0;i=p;return o|0}else{c[n>>2]=0;m=c[o>>2]|0;o=c[k>>2]|0;c[o>>2]=m;o=c[n>>2]|0;i=p;return o|0}return 0}function AP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=(+h[b>>3]+ +h[d>>3])/2.0;h[f+8>>3]=(+h[b+8>>3]+ +h[d+8>>3])/2.0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function BP(a,b){a=a|0;b=b|0;if(!(+h[a+16>>3]>=+h[b>>3])){b=0;b=b&1;return b|0}if(!(+h[b+16>>3]>=+h[a>>3])){b=0;b=b&1;return b|0}if(!(+h[a+16+8>>3]>=+h[b+8>>3])){b=0;b=b&1;return b|0}b=+h[b+16+8>>3]>=+h[a+8>>3];b=b&1;return b|0}function CP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+112|0;if((i|0)>=(j|0))ba();h=o+64|0;f=o+48|0;e=o+32|0;g=o+100|0;k=o+96|0;l=o+16|0;m=o;if(!(c[b+4>>2]|0))db(146051,145345,1629,146059);p=c[b>>2]|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];c[k>>2]=1;while(1){if((c[k>>2]|0)>=(c[b+4>>2]|0))break;p=(c[b>>2]|0)+(c[k>>2]<<4)|0;c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[l+12>>2]=c[p+12>>2];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];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[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[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];if((RJ(e,f,h)|0)!=-1){n=6;break};c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];c[k>>2]=(c[k>>2]|0)+1}if((n|0)==6){a[g>>0]=1;p=a[g>>0]|0;i=o;return p|0}if((c[b+8>>2]|0)!=0?(m=b+16|0,n=c[b>>2]|0,p=c[b+8>>2]|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[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],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[h+16>>2]=c[d+16>>2],c[h+20>>2]=c[d+20>>2],c[h+24>>2]=c[d+24>>2],c[h+28>>2]=c[d+28>>2],(DP(e,f,1.0,p,h)|0)<<24>>24!=0):0){a[g>>0]=1;p=a[g>>0]|0;i=o;return p|0}if((c[b+12>>2]|0)!=0?(m=b+32|0,n=(c[b>>2]|0)+((c[b+4>>2]|0)-1<<4)|0,p=c[b+12>>2]|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[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],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[h+16>>2]=c[d+16>>2],c[h+20>>2]=c[d+20>>2],c[h+24>>2]=c[d+24>>2],c[h+28>>2]=c[d+28>>2],(DP(e,f,1.0,p,h)|0)<<24>>24!=0):0){a[g>>0]=1;p=a[g>>0]|0;i=o;return p|0}a[g>>0]=0;p=a[g>>0]|0;i=o;return p|0}function DP(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;s=i;i=i+176|0;if((i|0)>=(j|0))ba();r=s+152|0;q=s+136|0;k=s+172|0;l=s+128|0;m=s+168|0;t=s+96|0;n=s+64|0;o=s+32|0;p=s;h[l>>3]=e;c[m>>2]=f;e=+h[g+16>>3];u=+h[l>>3];f=c[m>>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[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];vH(t,q,r,u,f);if(((e>=+h[t>>3]?(u=+h[l>>3],t=c[m>>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[r>>2]=c[d>>2],c[r+4>>2]=c[d+4>>2],c[r+8>>2]=c[d+8>>2],c[r+12>>2]=c[d+12>>2],vH(n,q,r,u,t),+h[n+16>>3]>=+h[g>>3]):0)?(u=+h[g+16+8>>3],e=+h[l>>3],t=c[m>>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[r>>2]=c[d>>2],c[r+4>>2]=c[d+4>>2],c[r+8>>2]=c[d+8>>2],c[r+12>>2]=c[d+12>>2],vH(o,q,r,e,t),u>=+h[o+8>>3]):0)?(u=+h[l>>3],t=c[m>>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[r>>2]=c[d>>2],c[r+4>>2]=c[d+4>>2],c[r+8>>2]=c[d+8>>2],c[r+12>>2]=c[d+12>>2],vH(p,q,r,u,t),+h[p+16+8>>3]>=+h[g+8>>3]):0){a[k>>0]=1;t=a[k>>0]|0;i=s;return t|0}a[k>>0]=0;t=a[k>>0]|0;i=s;return t|0}function EP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();h=n+24|0;e=n+20|0;f=n+16|0;l=n+12|0;g=n+8|0;k=n+4|0;m=n;c[e>>2]=b;c[f>>2]=d;c[k>>2]=GC(c[e>>2]|0)|0;if(!(a[(c[(c[e>>2]|0)+8>>2]|0)+118>>0]|0)){c[h>>2]=c[e>>2];m=c[h>>2]|0;i=n;return m|0}uC(c[f>>2]|0,c[e>>2]|0,1)|0;c[g>>2]=_3(MB(c[e>>2]|0)|0,58)|0;if(!(c[g>>2]|0))db(148850,145345,1225,147484);c[g>>2]=(c[g>>2]|0)+1;b=vC(c[k>>2]|0,c[g>>2]|0,0)|0;c[l>>2]=b;if(b){c[h>>2]=c[l>>2];m=c[h>>2]|0;i=n;return m|0}c[l>>2]=vC(c[k>>2]|0,c[g>>2]|0,1)|0;aD(c[l>>2]|0,175106,304,1)|0;c[m>>2]=HA(c[k>>2]|0,1,0)|0;while(1){e=c[l>>2]|0;if(!(c[m>>2]|0))break;g=PA(e,c[m>>2]|0)|0;if((g|0)!=(c[(c[m>>2]|0)+12>>2]|0))RA(c[l>>2]|0,c[m>>2]|0,c[(c[m>>2]|0)+12>>2]|0)|0;c[m>>2]=HA(c[k>>2]|0,1,c[m>>2]|0)|0}c[h>>2]=e;m=c[h>>2]|0;i=n;return m|0}function FP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();g=e+16|0;k=e+12|0;h=e+8|0;l=e+4|0;f=e;c[g>>2]=a;c[k>>2]=b;c[h>>2]=d;c[l>>2]=GC(c[k>>2]|0)|0;c[f>>2]=jB(c[l>>2]|0,c[k>>2]|0,c[h>>2]|0,0,1)|0;aD(c[f>>2]|0,175399,176,1)|0;TA(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[f>>2]|0}function GP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;B1(c[f>>2]|0);i=e;return}function HP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;a=c[g>>2]|0;c[e>>2]=c[((c[c[g>>2]>>2]&3|0)==3?a:a+32|0)+28>>2];a=c[g>>2]|0;c[e+4>>2]=c[((c[c[g>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2];a=$b[c[c[f>>2]>>2]&63](c[f>>2]|0,e,512)|0;i=d;return a|0}function IP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+128|0;if((i|0)>=(j|0))ba();p=n;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;o=n+24|0;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;wA(c[k>>2]|0,147733)|0;e=c[15242]|0;c[15242]=e+1;c[p>>2]=e;D3(o,175103,p)|0;wA(c[k>>2]|0,o)|0;if((c[(c[k>>2]|0)+4>>2]|0)>>>0>=(c[(c[k>>2]|0)+8>>2]|0)>>>0)uA(c[k>>2]|0,1)|0;p=(c[k>>2]|0)+4|0;d=c[p>>2]|0;c[p>>2]=d+1;a[d>>0]=58;d=c[k>>2]|0;wA(d,MB(c[h>>2]|0)|0)|0;d=HC(c[h>>2]|0)|0;if((c[(c[k>>2]|0)+4>>2]|0)>>>0>=(c[(c[k>>2]|0)+8>>2]|0)>>>0)uA(c[k>>2]|0,1)|0;o=(c[k>>2]|0)+4|0;p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=0;p=c[c[k>>2]>>2]|0;c[(c[k>>2]|0)+4>>2]=p;c[m>>2]=vC(d,p,1)|0;aD(c[m>>2]|0,175106,304,1)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+118>>0]=1;uC(c[h>>2]|0,c[m>>2]|0,1)|0;uC(c[l>>2]|0,c[g>>2]|0,1)|0;p=GC(c[m>>2]|0)|0;c[13831]=SO(p,c[m>>2]|0,147736,178598,c[13831]|0)|0;p=GC(c[m>>2]|0)|0;c[13834]=SO(p,c[m>>2]|0,179171,172018,c[13834]|0)|0;p=GC(c[m>>2]|0)|0;c[13816]=SO(p,c[m>>2]|0,147742,147748,c[13816]|0)|0;i=n;return c[m>>2]|0}function JP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+48|0;if((i|0)>=(j|0))ba();h=f+36|0;l=f+32|0;m=f+28|0;k=f+24|0;g=f;c[h>>2]=a;c[l>>2]=b;c[m>>2]=d;c[k>>2]=e;c[g+8>>2]=c[l>>2];c[g+8+4>>2]=c[m>>2];b=c[k>>2]|0;c[g+16>>2]=c[((c[c[k>>2]>>2]&3|0)==3?b:b+32|0)+28>>2];b=c[k>>2]|0;c[g+20>>2]=c[((c[c[k>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2];$b[c[c[h>>2]>>2]&63](c[h>>2]|0,g,1)|0;c[g+8>>2]=c[m>>2];c[g+8+4>>2]=c[l>>2];b=c[k>>2]|0;c[g+16>>2]=c[((c[c[k>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2];b=c[k>>2]|0;c[g+20>>2]=c[((c[c[k>>2]>>2]&3|0)==3?b:b+32|0)+28>>2];$b[c[c[h>>2]>>2]&63](c[h>>2]|0,g,1)|0;i=f;return}function KP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;f=e;c[e+12>>2]=a;c[g>>2]=b;c[e+4>>2]=d;c[f>>2]=qK(24)|0;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];c[(c[f>>2]|0)+8+4>>2]=c[(c[g>>2]|0)+8+4>>2];c[(c[f>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2];c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2];i=e;return c[f>>2]|0}function LP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;B1(c[f>>2]|0);i=e;return}function MP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+16|0;g=k+8|0;h=k+4|0;c[k+12>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;do if((c[c[g>>2]>>2]|0)>>>0>=(c[c[h>>2]>>2]|0)>>>0){if((c[c[g>>2]>>2]|0)>>>0>(c[c[h>>2]>>2]|0)>>>0){c[f>>2]=1;break}if((c[(c[g>>2]|0)+4>>2]|0)>>>0<(c[(c[h>>2]|0)+4>>2]|0)>>>0){c[f>>2]=-1;break}if((c[(c[g>>2]|0)+4>>2]|0)>>>0>(c[(c[h>>2]|0)+4>>2]|0)>>>0){c[f>>2]=1;break}else{c[f>>2]=0;break}}else c[f>>2]=-1;while(0);i=k;return c[f>>2]|0}function NP(b,e){b=b|0;e=e|0;var f=0,g=0,h=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,A=0;A=i;i=i+16|0;if((i|0)>=(j|0))ba();m=A;z=4;y=A1(40)|0;c[y>>2]=0;u=A+8|0;n=0;f=Ea(28,b|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){h=m5(c[g>>2]|0,y|0,z|0)|0;if(!h)hb(g|0,o|0);C=o}else h=-1;a:do if((h|0)!=1){n=0;p=Ea(22,f<<3|0)|0;h=n;n=0;if((h|0)!=0&(o|0)!=0){g=m5(c[h>>2]|0,y|0,z|0)|0;if(!g)hb(h|0,o|0);C=o}else g=-1;if((g|0)!=1){if(a[139080]|0){n=0;h=Pa(4)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){q=e;e=C;h=0;l=0;k=0;m=0;x=76;break}w=h}else w=0;n=0;h=Na(97,b|0,147759)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)!=1){c[15244]=0;b:do if((h|0)!=0?(a[h>>0]|0)!=0:0)c:while(1){g=h+1|0;h=a[h>>0]|0;if(!(h<<24>>24))break b;switch(h<<24>>24|0){case 99:{c[15244]=c[15244]|8;h=g;continue c}case 105:{c[15244]=c[15244]|18;h=g;continue c}case 109:{c[15244]=c[15244]|1;h=g;continue c}case 114:{c[15244]=c[15244]|4;h=g;continue c}case 115:{c[15244]=c[15244]|2;h=g;continue c}default:{h=g;continue c}}}while(0);if(e){n=0;Ga(25,0,147763,m|0)|0;h=n;n=0;if((h|0)!=0&(o|0)!=0){g=m5(c[h>>2]|0,y|0,z|0)|0;if(!g)hb(h|0,o|0);C=o}else g=-1;if((g|0)==1){q=e;e=C;h=0;l=0;k=w;m=0;x=76;break}q=0}else q=e;n=0;r=Na(98,b|0,q|0)|0;h=n;n=0;if((h|0)!=0&(o|0)!=0){g=m5(c[h>>2]|0,y|0,z|0)|0;if(!g)hb(h|0,o|0);C=o}else g=-1;if((g|0)!=1){t=c[r+16>>2]|0;if(c[15244]&2){n=0;Ca(21,c[24742]|0,t|0);h=n;n=0;if((h|0)!=0&(o|0)!=0){g=m5(c[h>>2]|0,y|0,z|0)|0;if(!g)hb(h|0,o|0);C=o}else g=-1;if((g|0)==1){e=C;h=r;l=0;k=w;m=0;x=76;break}}n=0;h=Ea(24,b|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)!=1){s=0;while(1){if(!h)break;n=0;k=Na(99,b|0,h|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){e=C;h=r;l=s;k=w;m=0;x=76;break a}while(1){if(!k)break;if((c[13795]|0)==2?(c[(c[k+8>>2]|0)+8>>2]|0)!=0:0)l=s;else x=31;d:do if((x|0)==31){x=0;do if(a[139080]|0){e=(c[c[((c[k>>2]&3|0)==3?k:k+32|0)+28>>2]>>2]|0)>>>4;m=(c[c[((c[k>>2]&3|0)==2?k:k+-32|0)+28>>2]>>2]|0)>>>4;if((e|0)<=(m|0)){n=0;l=Ga(38,w|0,e|0,m|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){e=C;h=r;l=s;k=w;m=0;x=76;break a}if(l){l=s;break d}n=0;Sa(61,w|0,e|0,m|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){e=C;h=r;l=s;k=w;m=0;x=76;break a}break}else{n=0;l=Ga(38,w|0,m|0,e|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){e=C;h=r;l=s;k=w;m=0;x=76;break a}if(l){l=s;break d}n=0;Sa(61,w|0,m|0,e|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){e=C;h=r;l=s;k=w;m=0;x=76;break a}break}}while(0);c[p+(s<<3)+4>>2]=k;n=0;g=Ea(29,k|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){l=m5(c[f>>2]|0,y|0,z|0)|0;if(!l)hb(f|0,o|0);C=o}else l=-1;if((l|0)==1){e=C;h=r;l=s;k=w;m=0;x=76;break a}c[p+(s<<3)>>2]=g;l=s+1|0}while(0);n=0;g=Na(100,b|0,k|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){k=m5(c[f>>2]|0,y|0,z|0)|0;if(!k)hb(f|0,o|0);C=o}else k=-1;if((k|0)==1){e=C;h=r;k=w;m=0;x=76;break a}k=g;s=l}n=0;h=Na(86,b|0,h|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){e=C;h=r;l=s;k=w;m=0;x=76;break a}}n=0;m=Ea(30,s<<3|0)|0;h=n;n=0;if((h|0)!=0&(o|0)!=0){g=m5(c[h>>2]|0,y|0,z|0)|0;if(!g)hb(h|0,o|0);C=o}else g=-1;if((g|0)!=1){n=0;Ua(26,p|0,s|0,8,101);h=n;n=0;if((h|0)!=0&(o|0)!=0){g=m5(c[h>>2]|0,y|0,z|0)|0;if(!g)hb(h|0,o|0);C=o}else g=-1;if((g|0)!=1){l=c[t>>2]|0;n=0;Aa(102,(c[t>>2]|0)+2|0);k=n;n=0;if((k|0)!=0&(o|0)!=0){h=m5(c[k>>2]|0,y|0,z|0)|0;if(!h)hb(k|0,o|0);C=o}else h=-1;if((h|0)!=1){f=(c[t+16>>2]|0)+(l*40|0)|0;e=(c[t+16>>2]|0)+((l+1|0)*40|0)|0;g=0;while(1){if((g|0)>=(s|0))break;if((g|0)>0?(c[15244]&16|0)!=0:0){n=0;Ca(21,c[24742]|0,t|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,y|0,z|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){e=C;h=r;l=s;k=w;x=76;break a}}l=c[p+(g<<3)+4>>2]|0;h=c[(c[(c[((c[l>>2]&3|0)==3?l:l+32|0)+28>>2]|0)+8>>2]|0)+112>>2]|0;k=c[(c[(c[((c[l>>2]&3|0)==2?l:l+-32|0)+28>>2]|0)+8>>2]|0)+112>>2]|0;if(!(((q|0)!=0?(v=c[(c[l+8>>2]|0)+96>>2]|0,(v|0)!=0):0)?(d[v+81>>0]|0)!=0:0)){if((h|0)==(k|0)){n=0;Ua(27,t|0,h|0,e|0,f|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,y|0,z|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){e=C;h=r;l=s;k=w;x=76;break a}}else{n=0;Sa(62,t|0,k|0,e|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,y|0,z|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){e=C;h=r;l=s;k=w;x=76;break a}n=0;Sa(62,t|0,h|0,f|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,y|0,z|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){e=C;h=r;l=s;k=w;x=76;break a}}n=0;l=Ga(39,t|0,e|0,f|0)|0;k=n;n=0;if((k|0)!=0&(o|0)!=0){h=m5(c[k>>2]|0,y|0,z|0)|0;if(!h)hb(k|0,o|0);C=o}else h=-1;if((h|0)==1){e=C;h=r;l=s;k=w;x=76;break a}if(l){l=s;k=w;break a}}l=m+(g<<3)|0;n=0;Ua(28,u|0,t|0,f|0,e|0);k=n;n=0;if((k|0)!=0&(o|0)!=0){h=m5(c[k>>2]|0,y|0,z|0)|0;if(!h)hb(k|0,o|0);C=o}else h=-1;if((h|0)==1){e=C;h=r;l=s;k=w;x=76;break a};c[l>>2]=c[u>>2];c[l+4>>2]=c[u+4>>2];n=0;Aa(103,t|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,y|0,z|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){e=C;h=r;l=s;k=w;x=76;break a}g=g+1|0}n=0;Ta(6);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)!=1){n=0;h=Ea(31,r|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)!=1){c[r+20>>2]=h;n=0;h=Ea(32,r|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)!=1){c[r+24>>2]=h;n=0;Sa(63,s|0,m|0,r|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)!=1){y=k5(60980,1,y|0,z|0)|0;z=C;n=0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)!=1){e=0;h=r;l=s;k=w;x=76}else{e=C;h=r;l=s;k=w;x=76}}else{e=C;h=r;l=s;k=w;x=76}}else{e=C;h=r;l=s;k=w;x=76}}else{e=C;h=r;l=s;k=w;x=76}}else{e=C;h=r;l=s;k=w;x=76}}else{e=C;h=r;l=s;k=w;x=76}}else{e=C;h=r;l=s;k=w;x=76}}else{e=C;h=r;l=s;k=w;m=0;x=76}}else{e=C;h=r;l=0;k=w;m=0;x=76}}else{e=C;h=0;l=0;k=w;m=0;x=76}}else{q=e;e=C;h=0;l=0;k=w;m=0;x=76}}else{q=e;e=C;p=0;h=0;l=0;k=0;m=0;x=76}}else{q=e;e=C;p=0;h=0;l=0;k=0;m=0;x=76}while(0);e:while(1){if((x|0)==76){x=0;if(e){r=h;continue}n=0;Sa(64,l|0,m|0,h|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){s=m;t=k;u=l;v=h;w=p;x=q;e=C;m=s;k=t;l=u;h=v;p=w;q=x;x=76;continue}if(c[15244]&4){n=0;za(17,c[24742]|0,h|0,l|0,m|0,p|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){s=m;t=k;u=l;v=h;w=p;x=q;e=C;m=s;k=t;l=u;h=v;p=w;q=x;x=76;continue}}n=0;La(1,b|0,h|0,l|0,m|0,61136,p|0,q|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){s=m;t=k;u=l;v=h;w=p;x=q;e=C;m=s;k=t;l=u;h=v;p=w;q=x;x=76;continue}r=h}if(a[139080]|0){n=0;Aa(104,k|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){e=C;h=r;x=76;continue}}f=0;while(1){if((f|0)>=(l|0))break;n=0;Aa(96,c[m+(f<<3)+4>>2]|0);h=n;n=0;if((h|0)!=0&(o|0)!=0){g=m5(c[h>>2]|0,y|0,z|0)|0;if(!g)hb(h|0,o|0);C=o}else g=-1;if((g|0)==1){e=C;h=r;x=76;continue e}f=f+1|0}n=0;Aa(96,m|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){e=C;h=r;x=76;continue}n=0;Aa(105,r|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){e=C;h=r;x=76;continue}n=0;Aa(96,p|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,y|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){e=C;h=r;x=76}else break}B1(y|0);i=A;return}function OP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;r=i;i=i+96|0;if((i|0)>=(j|0))ba();q=r+32|0;p=r+16|0;d=r+88|0;e=r+84|0;g=r+80|0;m=r+76|0;k=r+72|0;n=r+64|0;l=r+56|0;o=r;f=r+48|0;c[d>>2]=a;c[e>>2]=b;r3(148633,c[d>>2]|0)|0;r3(148644,c[d>>2]|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[m>>2]=(c[(c[e>>2]|0)+16>>2]|0)+((c[l>>2]|0)*40|0);c[g>>2]=c[(c[m>>2]|0)+20>>2];a=c[g>>2]|0;if((c[g>>2]|0)==(c[(c[m>>2]|0)+20+4>>2]|0)){HQ(o,a);c[n>>2]=~~+h[o>>3];c[n+4>>2]=~~+h[o+8>>3]}else{if(c[a>>2]&1)c[g>>2]=c[(c[m>>2]|0)+20+4>>2];JQ(f,c[g>>2]|0,c[m>>2]|0);c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2]}b=c[d>>2]|0;s=c[n>>2]|0;a=c[n+4>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=s;c[p+8>>2]=a;p3(b,148664,p)|0;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;c[k>>2]=(c[(c[e>>2]|0)+20>>2]|0)+((c[l>>2]|0)*24|0);s=c[d>>2]|0;p=c[(c[k>>2]|0)+16>>2]|0;t=+h[c[k>>2]>>3];c[q>>2]=c[(c[k>>2]|0)+12>>2];c[q+4>>2]=p;h[q+8>>3]=t;p3(s,148684,q)|0;c[l>>2]=(c[l>>2]|0)+1}r3(148706,c[d>>2]|0)|0;i=r;return}function PP(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+48|0;if((i|0)>=(j|0))ba();f=b+32|0;e=b+16|0;d=b;c[f>>2]=a;a=c[f>>2]|0;a=(c[(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+16|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];a=c[f>>2]|0;a=(c[(c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+16|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];i=b;return ~~((+h[e>>3]-+h[d>>3])*(+h[e>>3]-+h[d>>3])+(+h[e+8>>3]-+h[d+8>>3])*(+h[e+8>>3]-+h[d+8>>3]))|0}function QP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;i=d;return (c[c[f>>2]>>2]|0)-(c[c[e>>2]>>2]|0)|0}function RP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=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;v=i;i=i+96|0;if((i|0)>=(j|0))ba();g=v+84|0;k=v+80|0;l=v+76|0;m=v+72|0;o=v+68|0;r=v+64|0;p=v+40|0;q=v+60|0;t=v+24|0;u=v+16|0;s=v+56|0;n=v;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;HQ(p,c[k>>2]|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[k>>2]|0)+32>>2]|0))break;c[s>>2]=c[(c[(c[k>>2]|0)+36>>2]|0)+(c[o>>2]<<2)>>2];do if(!(a[(c[s>>2]|0)+36>>0]|0)){if((c[(c[s>>2]|0)+20>>2]|0)==(c[k>>2]|0)){c[r>>2]=1;c[q>>2]=c[(c[s>>2]|0)+20+4>>2]}else{c[r>>2]=0;c[q>>2]=c[(c[s>>2]|0)+20>>2]}FQ(n,c[s>>2]|0,c[q>>2]|0);c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];d=N(~~(+h[t>>3]-+h[p>>3])|0)|0;h[u>>3]=+(d+(N(~~(+h[t+8>>3]-+h[p+8>>3])|0)|0)|0);d=c[g>>2]|0;if(c[r>>2]|0){_Q(d,c[m>>2]|0,c[s>>2]|0,0.0)|0;break}else{_Q(d,c[l>>2]|0,c[s>>2]|0,0.0)|0;break}}while(0);c[o>>2]=(c[o>>2]|0)+1}u=c[g>>2]|0;c[u>>2]=(c[u>>2]|0)+2;i=v;return}function SP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+80|0;if((i|0)>=(j|0))ba();e=r+76|0;f=r+72|0;g=r+68|0;l=r+64|0;m=r+40|0;o=r+60|0;n=r+56|0;p=r+24|0;q=r+16|0;k=r;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;HQ(m,c[f>>2]|0);c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[f>>2]|0)+32>>2]|0))break;c[o>>2]=c[(c[(c[f>>2]|0)+36>>2]|0)+(c[l>>2]<<2)>>2];b=(c[o>>2]|0)+20|0;if((c[(c[o>>2]|0)+20>>2]|0)==(c[f>>2]|0))c[n>>2]=c[b+4>>2];else c[n>>2]=c[b>>2];FQ(k,c[o>>2]|0,c[n>>2]|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];a=N(~~(+h[p>>3]-+h[m>>3])|0)|0;h[q>>3]=+(a+(N(~~(+h[p+8>>3]-+h[m+8>>3])|0)|0)|0);_Q(c[e>>2]|0,c[g>>2]|0,c[o>>2]|0,0.0)|0;c[l>>2]=(c[l>>2]|0)+1}q=c[e>>2]|0;c[q>>2]=(c[q>>2]|0)+1;q=c[f>>2]|0;c[(c[g>>2]|0)+20+4>>2]=q;c[(c[g>>2]|0)+20>>2]=q;i=r;return}function TP(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|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,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=i;i=i+256|0;if((i|0)>=(j|0))ba();m=I+248|0;n=I+244|0;o=I+240|0;G=I+232|0;F=I+224|0;C=I+220|0;D=I+216|0;y=I+212|0;k=I+208|0;w=I+204|0;B=I+200|0;H=I+136|0;x=I+128|0;s=I+120|0;t=I+112|0;z=I+196|0;A=I+192|0;u=I+96|0;v=I+80|0;E=I+64|0;l=I+48|0;p=I+32|0;q=I+16|0;r=I;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[k>>2]=0;c[F>>2]=c[n>>2];while(1){if(!(c[F>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[F>>2]=c[(c[F>>2]|0)+8>>2]}c[G>>2]=0;c[G+4>>2]=qK(((c[k>>2]|0)-2|0)*56|0)|0;c[H+52>>2]=0;c[H+48>>2]=0;g=c[(c[n>>2]|0)+8>>2]|0;c[D>>2]=g;c[F>>2]=g;c[C>>2]=c[(c[F>>2]|0)+8>>2];g=(c[F>>2]|0)+20|0;if(c[c[(c[F>>2]|0)+20>>2]>>2]&1)c[w>>2]=c[g+4>>2];else c[w>>2]=c[g>>2];FQ(l,c[F>>2]|0,c[w>>2]|0);c[u>>2]=c[l>>2];c[u+4>>2]=c[l+4>>2];c[u+8>>2]=c[l+8>>2];c[u+12>>2]=c[l+12>>2];while(1){if(!(c[(c[C>>2]|0)+8>>2]|0))break;c[B>>2]=GQ(c[D>>2]|0,c[C>>2]|0)|0;VU(c[m>>2]|0,c[B>>2]|0,c[(c[F>>2]|0)+12>>2]|0);if(!((d[(c[F>>2]|0)+36>>0]|0)==(d[(c[C>>2]|0)+36>>0]|0)?(c[(c[C>>2]|0)+8>>2]|0)!=(c[o>>2]|0):0)){if((d[(c[F>>2]|0)+36>>0]|0)!=(d[(c[C>>2]|0)+36>>0]|0)){HQ(p,c[B>>2]|0);c[v>>2]=c[p>>2];c[v+4>>2]=c[p+4>>2];c[v+8>>2]=c[p+8>>2];c[v+12>>2]=c[p+12>>2]}else{FQ(q,c[C>>2]|0,c[B>>2]|0);c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2]}g=(c[F>>2]|0)==(c[(c[n>>2]|0)+8>>2]|0);if(a[(c[F>>2]|0)+36>>0]|0){do if(!g)if(+h[E+8>>3]>+h[u+8>>3]){c[z>>2]=1;break}else{c[z>>2]=3;break}else c[z>>2]=0;while(0);do if((d[(c[F>>2]|0)+36>>0]|0)!=(d[(c[C>>2]|0)+36>>0]|0))if((c[(c[C>>2]|0)+20>>2]|0)==(c[B>>2]|0)){c[A>>2]=1;break}else{c[A>>2]=3;break}else c[A>>2]=0;while(0);h[x>>3]=+h[(c[w>>2]|0)+40+8>>3];h[s>>3]=+h[(c[w>>2]|0)+40>>3];h[t>>3]=+h[(c[B>>2]|0)+40>>3]}else{do if(!g)if(+h[E>>3]>+h[u>>3]){c[z>>2]=4;break}else{c[z>>2]=2;break}else c[z>>2]=0;while(0);do if((d[(c[F>>2]|0)+36>>0]|0)!=(d[(c[C>>2]|0)+36>>0]|0))if((c[(c[C>>2]|0)+20>>2]|0)==(c[B>>2]|0)){c[A>>2]=4;break}else{c[A>>2]=2;break}else c[A>>2]=0;while(0);h[x>>3]=+h[(c[w>>2]|0)+40>>3];h[s>>3]=+h[(c[w>>2]|0)+40+8>>3];h[t>>3]=+h[(c[B>>2]|0)+40+8>>3]}IQ(H,((a[(c[F>>2]|0)+36>>0]|0)!=0^1)&1,+h[x>>3],+h[s>>3],+h[t>>3],c[z>>2]|0,c[A>>2]|0);g=c[G>>2]|0;c[G>>2]=g+1;g=(c[G+4>>2]|0)+(g*56|0)|0;e=H;f=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0));c[w>>2]=c[B>>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];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];if((d[(c[F>>2]|0)+36>>0]|0)!=(d[(c[C>>2]|0)+36>>0]|0)?(c[(c[C>>2]|0)+8>>2]|0)==(c[o>>2]|0):0){FQ(r,c[C>>2]|0,c[B>>2]|0);c[v>>2]=c[r>>2];c[v+4>>2]=c[r+4>>2];c[v+8>>2]=c[r+8>>2];c[v+12>>2]=c[r+12>>2];c[A>>2]=0;if(a[(c[C>>2]|0)+36>>0]|0){if(+h[E+8>>3]>+h[u+8>>3])c[z>>2]=1;else c[z>>2]=3;h[x>>3]=+h[(c[w>>2]|0)+40+8>>3];h[s>>3]=+h[(c[w>>2]|0)+40>>3];h[t>>3]=+h[(c[B>>2]|0)+40>>3]}else{if(+h[E>>3]>+h[u>>3])c[z>>2]=4;else c[z>>2]=2;h[x>>3]=+h[(c[w>>2]|0)+40>>3];h[s>>3]=+h[(c[w>>2]|0)+40+8>>3];h[t>>3]=+h[(c[B>>2]|0)+40+8>>3]}IQ(H,((a[(c[C>>2]|0)+36>>0]|0)!=0^1)&1,+h[x>>3],+h[s>>3],+h[t>>3],c[z>>2]|0,c[A>>2]|0);g=c[G>>2]|0;c[G>>2]=g+1;g=(c[G+4>>2]|0)+(g*56|0)|0;e=H;f=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(f|0))}c[F>>2]=c[C>>2]}c[D>>2]=c[C>>2];c[C>>2]=c[(c[C>>2]|0)+8>>2]}c[G+4>>2]=D1(c[G+4>>2]|0,(c[G>>2]|0)*56|0)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[G>>2]|0))break;if((c[y>>2]|0)>0)c[(c[G+4>>2]|0)+((c[y>>2]|0)*56|0)+48>>2]=(c[G+4>>2]|0)+(((c[y>>2]|0)-1|0)*56|0);if((c[y>>2]|0)<((c[G>>2]|0)-1|0))c[(c[G+4>>2]|0)+((c[y>>2]|0)*56|0)+52>>2]=(c[G+4>>2]|0)+(((c[y>>2]|0)+1|0)*56|0);c[y>>2]=(c[y>>2]|0)+1}c[b>>2]=c[G>>2];c[b+4>>2]=c[G+4>>2];i=I;return}function UP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();b=m+24|0;g=m+20|0;l=m+16|0;f=m+12|0;d=m+8|0;e=m+4|0;k=m;c[b>>2]=a;c[f>>2]=eA(61156,c[12989]|0)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+8>>2]|0)+((c[g>>2]|0)*72|0);if(!(c[c[e>>2]>>2]&4)){while(1){a=c[(c[(c[e>>2]|0)+36>>2]|0)+8>>2]|0;c[l>>2]=a;if(!a)break;a=c[(c[l>>2]|0)+20>>2]|0;c[k>>2]=a;if(!a)break;if(!((c[c[k>>2]>>2]&1|0)!=0^1))break;c[e>>2]=c[k>>2]}c[d>>2]=qK(40)|0;c[(c[d>>2]|0)+36>>2]=c[e>>2];h[(c[d>>2]|0)+8>>3]=+h[(c[e>>2]|0)+40>>3];a=c[e>>2]|0;c[a>>2]=c[a>>2]|4;while(1){a=c[c[(c[e>>2]|0)+36>>2]>>2]|0;c[l>>2]=a;if(!a)break;a=c[(c[l>>2]|0)+20+4>>2]|0;c[k>>2]=a;if(!a)break;if(!((c[c[k>>2]>>2]&1|0)!=0^1))break;c[e>>2]=c[k>>2];a=c[e>>2]|0;c[a>>2]=c[a>>2]|4}h[(c[d>>2]|0)+8+8>>3]=+h[(c[e>>2]|0)+40+16>>3];AQ(c[f>>2]|0,c[d>>2]|0,+h[(c[(c[d>>2]|0)+36>>2]|0)+40+8>>3])}c[g>>2]=(c[g>>2]|0)+1}i=m;return c[f>>2]|0}function VP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();b=m+24|0;f=m+20|0;k=m+16|0;l=m+12|0;d=m+8|0;e=m+4|0;g=m;c[b>>2]=a;c[l>>2]=eA(61156,c[12989]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+8>>2]|0)+((c[f>>2]|0)*72|0);if(!(c[c[e>>2]>>2]&2)){while(1){a=c[(c[(c[e>>2]|0)+36>>2]|0)+12>>2]|0;c[k>>2]=a;if(!a)break;a=c[(c[k>>2]|0)+20>>2]|0;c[g>>2]=a;if(!a)break;if(!((c[c[g>>2]>>2]&1|0)!=0^1))break;c[e>>2]=c[g>>2]}c[d>>2]=qK(40)|0;c[(c[d>>2]|0)+36>>2]=c[e>>2];h[(c[d>>2]|0)+8>>3]=+h[(c[e>>2]|0)+40+8>>3];a=c[e>>2]|0;c[a>>2]=c[a>>2]|2;while(1){a=c[(c[(c[e>>2]|0)+36>>2]|0)+4>>2]|0;c[k>>2]=a;if(!a)break;a=c[(c[k>>2]|0)+20+4>>2]|0;c[g>>2]=a;if(!a)break;if(!((c[c[g>>2]>>2]&1|0)!=0^1))break;c[e>>2]=c[g>>2];a=c[e>>2]|0;c[a>>2]=c[a>>2]|2}h[(c[d>>2]|0)+8+8>>3]=+h[(c[e>>2]|0)+40+16+8>>3];AQ(c[l>>2]|0,c[d>>2]|0,+h[(c[(c[d>>2]|0)+36>>2]|0)+40>>3])}c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function WP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();f=p+36|0;g=p+32|0;h=p+28|0;k=p+24|0;l=p+20|0;m=p+16|0;n=p+8|0;o=p;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[f>>2]|0))break;d=(c[g>>2]|0)+(c[l>>2]<<3)|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=(c[n+4>>2]|0)+((c[m>>2]|0)*56|0);e=c[h>>2]|0;if(a[c[o>>2]>>0]|0)c[k>>2]=bQ(c[e+24>>2]|0,c[o>>2]|0)|0;else c[k>>2]=bQ(c[e+20>>2]|0,c[o>>2]|0)|0;zQ(c[k>>2]|0,c[o>>2]|0);c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=p;return}function XP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[e+8>>2]=a;c[e+4>>2]=b;c[f>>2]=d;fQ(c[(c[f>>2]|0)+20>>2]|0);fQ(c[(c[f>>2]|0)+24>>2]|0);gQ(c[(c[f>>2]|0)+20>>2]|0);gQ(c[(c[f>>2]|0)+24>>2]|0);hQ(c[(c[f>>2]|0)+20>>2]|0,c[f>>2]|0);hQ(c[(c[f>>2]|0)+24>>2]|0,c[f>>2]|0);iQ(c[(c[f>>2]|0)+20>>2]|0);iQ(c[(c[f>>2]|0)+24>>2]|0);i=e;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,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,A=0.0,B=0.0;y=i;i=i+256|0;if((i|0)>=(j|0))ba();s=y+184|0;k=y+176|0;x=y+160|0;w=y+128|0;g=y+96|0;l=y+252|0;m=y+248|0;n=y+244|0;o=y+240|0;p=y+236|0;v=y+232|0;t=y+64|0;r=y+32|0;u=y+216|0;q=y;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;h[r+8>>3]=1797693134862315708145274.0e284;h[r>>3]=1797693134862315708145274.0e284;h[r+16+8>>3]=-1797693134862315708145274.0e284;h[r+16>>3]=-1797693134862315708145274.0e284;e=c[l>>2]|0;c[k>>2]=c[15287];p3(e,147878,k)|0;e=c[l>>2]|0;c[s>>2]=10;c[s+4>>2]=10;p3(e,147881,s)|0;r3(176050,c[l>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[m>>2]|0)+4>>2]|0))break;e=(c[(c[m>>2]|0)+12>>2]|0)+((c[v>>2]|0)*72|0)+40|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[t+16>>2]=c[e+16>>2];c[t+20>>2]=c[e+20>>2];c[t+24>>2]=c[e+24>>2];c[t+28>>2]=c[e+28>>2];e=c[l>>2]|0;B=+h[t+8>>3];A=+h[t+16>>3];z=+h[t+16+8>>3];h[g>>3]=+h[t>>3];h[g+8>>3]=B;h[g+16>>3]=A;h[g+24>>3]=z;p3(e,176069,g)|0;c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=0;while(1){f=c[l>>2]|0;if((c[v>>2]|0)>=(c[n>>2]|0))break;d=c[(c[p>>2]|0)+(c[v>>2]<<3)+4>>2]|0;b=(c[o>>2]|0)+(c[v>>2]<<3)|0;e=c[m>>2]|0;g=c[v>>2]|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];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];eQ(q,f,d,k,e,g,s);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];c[r+16>>2]=c[q+16>>2];c[r+20>>2]=c[q+20>>2];c[r+24>>2]=c[q+24>>2];c[r+28>>2]=c[q+28>>2];c[v>>2]=(c[v>>2]|0)+1}r3(147898,f)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[m>>2]>>2]|0))break;s=(c[(c[m>>2]|0)+8>>2]|0)+((c[v>>2]|0)*72|0)+40|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];c[t+16>>2]=c[s+16>>2];c[t+20>>2]=c[s+20>>2];c[t+24>>2]=c[s+24>>2];c[t+28>>2]=c[s+28>>2];s=c[l>>2]|0;z=+h[t+8>>3];A=+h[t+16>>3];B=+h[t+16+8>>3];h[w>>3]=+h[t>>3];h[w+8>>3]=z;h[w+16>>3]=A;h[w+24>>3]=B;p3(s,176106,w)|0;h[r>>3]=+h[r>>3]<+h[t>>3]?+h[r>>3]:+h[t>>3];h[r+8>>3]=+h[r+8>>3]<+h[t+8>>3]?+h[r+8>>3]:+h[t+8>>3];h[r+16>>3]=+h[r+16>>3]>+h[t+16>>3]?+h[r+16>>3]:+h[t+16>>3];h[r+16+8>>3]=+h[r+16+8>>3]>+h[t+16+8>>3]?+h[r+16+8>>3]:+h[t+16+8>>3];c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=~~(+h[r>>3]+10.0);c[u+4>>2]=~~(+h[r+8>>3]+10.0);c[u+8>>2]=~~(+h[r+16>>3]+10.0);c[u+8+4>>2]=~~(+h[r+16+8>>3]+10.0);v=c[l>>2]|0;w=c[15288]|0;r=c[u+4>>2]|0;s=c[u+8>>2]|0;t=c[u+8+4>>2]|0;c[x>>2]=c[u>>2];c[x+4>>2]=r;c[x+8>>2]=s;c[x+12>>2]=t;p3(v,w,x)|0;i=y;return}function ZP(b,e,f,g,k,l,m){b=b|0;e=e|0;f=f|0;g=g|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;M=i;i=i+208|0;if((i|0)>=(j|0))ba();H=M+104|0;F=M+88|0;L=M+80|0;n=M+192|0;o=M+188|0;p=M+184|0;q=M+180|0;r=M+176|0;s=M+172|0;t=M+168|0;z=M+164|0;x=M+160|0;y=M+156|0;C=M+152|0;A=M+148|0;K=M+144|0;D=M+64|0;E=M+48|0;G=M+32|0;I=M+136|0;J=M+128|0;w=M+124|0;B=M+120|0;u=M+16|0;v=M;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[z>>2]=0;c[A>>2]=0;c[K>>2]=0;while(1){if((c[z>>2]|0)>=(c[p>>2]|0))break;c[w>>2]=c[(c[s>>2]|0)+(c[z>>2]<<3)+4>>2];k=c[w>>2]|0;k=(c[(c[((c[c[w>>2]>>2]&3|0)==3?k:k+32|0)+28>>2]|0)+8>>2]|0)+16|0;g=(c[(c[w>>2]|0)+8>>2]|0)+16|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];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];_P(u,F,H);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];g=c[w>>2]|0;g=(c[(c[((c[c[w>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+16|0;k=(c[(c[w>>2]|0)+8>>2]|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[F+12>>2]=c[g+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];_P(v,F,H);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];k=(c[q>>2]|0)+(c[z>>2]<<3)|0;c[I>>2]=c[k>>2];c[I+4>>2]=c[k+4>>2];c[C>>2]=1+((c[I>>2]|0)*3|0);if((c[C>>2]|0)>(c[K>>2]|0)){if(c[A>>2]|0)B1(c[A>>2]|0);c[A>>2]=rK(c[C>>2]<<4)|0;c[K>>2]=c[C>>2]}c[J>>2]=c[I+4>>2];m=c[J>>2]|0;l=c[o>>2]|0;if(a[c[J>>2]>>0]|0){h[D>>3]=+$P(m,l);h[D+8>>3]=+h[E+8>>3]}else{h[D+8>>3]=+(aQ(m,l)|0);h[D>>3]=+h[E>>3]}k=c[A>>2]|0;g=(c[A>>2]|0)+16|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[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[y>>2]=2;c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[I>>2]|0))break;c[J>>2]=(c[I+4>>2]|0)+((c[x>>2]|0)*56|0);m=c[J>>2]|0;l=c[o>>2]|0;if(a[c[J>>2]>>0]|0)h[D>>3]=+$P(m,l);else h[D+8>>3]=+(aQ(m,l)|0);k=(c[A>>2]|0)+((c[y>>2]|0)+2<<4)|0;g=(c[A>>2]|0)+((c[y>>2]|0)+1<<4)|0;f=(c[A>>2]|0)+(c[y>>2]<<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];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[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[y>>2]=(c[y>>2]|0)+3;c[x>>2]=(c[x>>2]|0)+1}l=c[J>>2]|0;m=c[o>>2]|0;if(a[c[J>>2]>>0]|0){h[D>>3]=+$P(l,m);h[D+8>>3]=+h[G+8>>3]}else{h[D+8>>3]=+(aQ(l,m)|0);h[D>>3]=+h[G>>3]}k=(c[A>>2]|0)+(c[y>>2]<<4)|0;g=(c[A>>2]|0)+((c[y>>2]|0)+1<<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];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];if((d[139078]|0)>1){k=c[24742]|0;f=c[w>>2]|0;f=MB(c[((c[c[w>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)|0;g=c[w>>2]|0;g=MB(c[((c[c[w>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)|0;c[L>>2]=f;c[L+4>>2]=g;p3(k,147837,L)|0}k=c[w>>2]|0;yN(c[w>>2]|0,c[((c[c[w>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0,c[A>>2]|0,c[C>>2]|0,c[r>>2]|0);if(((c[t>>2]|0)!=0?(k=c[(c[(c[w>>2]|0)+8>>2]|0)+96>>2]|0,c[B>>2]=k,(k|0)!=0):0)?(a[(c[B>>2]|0)+81>>0]|0)==0:0){g=c[n>>2]|0;k=c[w>>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[F+12>>2]=c[E+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];HN(g,k,F,H)}c[z>>2]=(c[z>>2]|0)+1}B1(c[A>>2]|0);i=M;return}function _P(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];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];return}function $P(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0;d=i;i=i+48|0;if((i|0)>=(j|0))ba();l=d+32|0;m=d+28|0;k=d+24|0;g=d+16|0;e=d+8|0;f=d;c[l>>2]=a;c[m>>2]=b;c[k>>2]=bQ(c[(c[m>>2]|0)+24>>2]|0,c[l>>2]|0)|0;h[g>>3]=+(c[(c[l>>2]|0)+44>>2]|0)/+((c[(c[k>>2]|0)+24>>2]|0)+1|0);h[e>>3]=+h[(c[(c[k>>2]|0)+36>>2]|0)+40>>3];h[f>>3]=+h[(c[(c[k>>2]|0)+36>>2]|0)+40+16>>3];i=d;return +(+h[e>>3]+ +h[g>>3]*(+h[f>>3]-+h[e>>3]))}function aQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0;d=i;i=i+48|0;if((i|0)>=(j|0))ba();l=d+32|0;m=d+28|0;k=d+24|0;g=d+16|0;e=d+8|0;f=d;c[l>>2]=a;c[m>>2]=b;c[k>>2]=bQ(c[(c[m>>2]|0)+20>>2]|0,c[l>>2]|0)|0;h[g>>3]=1.0-+(c[(c[l>>2]|0)+44>>2]|0)/+((c[(c[k>>2]|0)+24>>2]|0)+1|0);h[e>>3]=+h[(c[(c[k>>2]|0)+36>>2]|0)+40+8>>3];h[f>>3]=+h[(c[(c[k>>2]|0)+36>>2]|0)+40+16+8>>3];i=d;return ~~(+h[e>>3]+ +h[g>>3]*(+h[f>>3]-+h[e>>3]))|0}function bQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=$b[c[c[h>>2]>>2]&63](c[h>>2]|0,(c[d>>2]|0)+8|0,512)|0;if(!(c[e>>2]|0))db(147850,147856,425,147864);c[f>>2]=$b[c[c[(c[e>>2]|0)+16>>2]>>2]&63](c[(c[e>>2]|0)+16>>2]|0,(c[d>>2]|0)+16|0,512)|0;if(c[f>>2]|0){i=g;return c[f>>2]|0}else db(147875,147856,427,147864);return 0}function cQ(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;i=b;return 0}function dQ(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;i=b;return 0}function eQ(b,d,e,f,g,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=k|0;l=l|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;y=i;i=i+96|0;if((i|0)>=(j|0))ba();v=y+48|0;q=y+40|0;n=y+32|0;u=y+84|0;o=y+80|0;r=y+76|0;p=y+68|0;w=y+64|0;x=y+60|0;s=y;t=y+56|0;c[u>>2]=d;c[o>>2]=e;c[r>>2]=g;c[y+72>>2]=k;e=c[o>>2]|0;e=(c[(c[(c[((c[c[o>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+112>>2]|0)+40|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];c[s+16>>2]=c[e+16>>2];c[s+20>>2]=c[e+20>>2];c[s+24>>2]=c[e+24>>2];c[s+28>>2]=c[e+28>>2];c[t>>2]=c[f+4>>2];e=c[t>>2]|0;d=c[r>>2]|0;if(a[c[t>>2]>>0]|0){c[w>>2]=~~+$P(e,d);c[x>>2]=~~((+h[s+16+8>>3]+ +h[s+8>>3])/2.0)}else{c[x>>2]=aQ(e,d)|0;c[w>>2]=~~((+h[s+16>>3]+ +h[s>>3])/2.0)}if(+h[l>>3]<+(c[w>>2]|0))m=+h[l>>3];else m=+(c[w>>2]|0);h[l>>3]=m;if(+h[l+8>>3]<+(c[x>>2]|0))m=+h[l+8>>3];else m=+(c[x>>2]|0);h[l+8>>3]=m;if(+h[l+16>>3]>+(c[w>>2]|0))m=+h[l+16>>3];else m=+(c[w>>2]|0);h[l+16>>3]=m;if(+h[l+16+8>>3]>+(c[x>>2]|0))m=+h[l+16+8>>3];else m=+(c[x>>2]|0);h[l+16+8>>3]=m;g=c[u>>2]|0;k=c[x>>2]|0;c[n>>2]=c[w>>2];c[n+4>>2]=k;p3(g,147974,n)|0;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[f>>2]|0))break;c[t>>2]=(c[f+4>>2]|0)+((c[p>>2]|0)*56|0);e=c[t>>2]|0;d=c[r>>2]|0;if(a[c[t>>2]>>0]|0)c[w>>2]=~~+$P(e,d);else c[x>>2]=aQ(e,d)|0;if(+h[l>>3]<+(c[w>>2]|0))m=+h[l>>3];else m=+(c[w>>2]|0);h[l>>3]=m;if(+h[l+8>>3]<+(c[x>>2]|0))m=+h[l+8>>3];else m=+(c[x>>2]|0);h[l+8>>3]=m;if(+h[l+16>>3]>+(c[w>>2]|0))m=+h[l+16>>3];else m=+(c[w>>2]|0);h[l+16>>3]=m;if(+h[l+16+8>>3]>+(c[x>>2]|0))m=+h[l+16+8>>3];else m=+(c[x>>2]|0);h[l+16+8>>3]=m;n=c[u>>2]|0;g=c[x>>2]|0;c[q>>2]=c[w>>2];c[q+4>>2]=g;p3(n,147996,q)|0;c[p>>2]=(c[p>>2]|0)+1}e=c[o>>2]|0;e=(c[(c[(c[((c[c[o>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+112>>2]|0)+40|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];c[s+16>>2]=c[e+16>>2];c[s+20>>2]=c[e+20>>2];c[s+24>>2]=c[e+24>>2];c[s+28>>2]=c[e+28>>2];e=c[t>>2]|0;d=c[r>>2]|0;if(a[c[t>>2]>>0]|0){c[w>>2]=~~+$P(e,d);c[x>>2]=~~((+h[s+16+8>>3]+ +h[s+8>>3])/2.0)}else{c[x>>2]=aQ(e,d)|0;c[w>>2]=~~((+h[s>>3]+ +h[s+16>>3])/2.0)}if(+h[l>>3]<+(c[w>>2]|0))m=+h[l>>3];else m=+(c[w>>2]|0);h[l>>3]=m;if(+h[l+8>>3]<+(c[x>>2]|0))m=+h[l+8>>3];else m=+(c[x>>2]|0);h[l+8>>3]=m;if(+h[l+16>>3]>+(c[w>>2]|0))m=+h[l+16>>3];else m=+(c[w>>2]|0);h[l+16>>3]=m;if(+h[l+16+8>>3]>+(c[x>>2]|0)){m=+h[l+16+8>>3];t=l+16|0;t=t+8|0;h[t>>3]=m;u=c[u>>2]|0;t=c[w>>2]|0;w=c[x>>2]|0;c[v>>2]=t;x=v+4|0;c[x>>2]=w;p3(u,148010,v)|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];c[b+16>>2]=c[l+16>>2];c[b+20>>2]=c[l+20>>2];c[b+24>>2]=c[l+24>>2];c[b+28>>2]=c[l+28>>2];i=y;return}else{m=+(c[x>>2]|0);t=l+16|0;t=t+8|0;h[t>>3]=m;u=c[u>>2]|0;t=c[w>>2]|0;w=c[x>>2]|0;c[v>>2]=t;x=v+4|0;c[x>>2]=w;p3(u,148010,v)|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];c[b+16>>2]=c[l+16>>2];c[b+20>>2]=c[l+20>>2];c[b+24>>2]=c[l+24>>2];c[b+28>>2]=c[l+28>>2];i=y;return}}function fQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();h=g+16|0;f=g+12|0;d=g+8|0;e=g+4|0;b=g;c[h>>2]=a;c[d>>2]=cA(c[h>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+16>>2];c[e>>2]=cA(c[f>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[b>>2]=c[e>>2];h=KQ(c[(c[b>>2]|0)+24>>2]|0)|0;c[(c[b>>2]|0)+32>>2]=h;c[e>>2]=c[c[e>>2]>>2]}c[d>>2]=c[c[d>>2]>>2]}i=g;return}function gQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();h=g+16|0;f=g+12|0;d=g+8|0;e=g+4|0;b=g;c[h>>2]=a;c[d>>2]=cA(c[h>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+16>>2];c[e>>2]=cA(c[f>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[b>>2]=c[e>>2];if(c[(c[b>>2]|0)+24>>2]|0)yQ(c[b>>2]|0);c[e>>2]=c[c[e>>2]>>2]}c[d>>2]=c[c[d>>2]>>2]}i=g;return}function hQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();k=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[k>>2]=a;c[d>>2]=b;c[e>>2]=cA(c[k>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=cA(c[g>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;mQ(c[f>>2]|0,c[d>>2]|0);c[f>>2]=c[c[f>>2]>>2]}c[e>>2]=c[c[e>>2]>>2]}i=h;return}function iQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();l=k+20|0;g=k+16|0;e=k+12|0;f=k+8|0;b=k+4|0;d=k;c[l>>2]=a;c[e>>2]=cA(c[l>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=cA(c[g>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[b>>2]=c[f>>2];a:do if(c[(c[b>>2]|0)+24>>2]|0){if(c[15244]&8)jQ(c[b>>2]|0,~~+h[(c[e>>2]|0)+8>>3]);PQ(c[(c[b>>2]|0)+32>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+24>>2]|0))break a;c[(c[(c[(c[b>>2]|0)+28>>2]|0)+(c[d>>2]<<2)>>2]|0)+44>>2]=(c[(c[(c[(c[b>>2]|0)+32>>2]|0)+4>>2]|0)+((c[d>>2]|0)*12|0)+4>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}}while(0);c[f>>2]=c[c[f>>2]>>2]}c[e>>2]=c[c[e>>2]>>2]}i=k;return}function jQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0.0,o=0.0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m;d=m+40|0;e=m+36|0;k=m+32|0;g=m+28|0;f=m+24|0;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+24>>2]|0)<2){i=m;return}b=c[24742]|0;o=+h[(c[d>>2]|0)+8>>3];n=+h[(c[d>>2]|0)+8+8>>3];c[l>>2]=c[e>>2];h[l+8>>3]=o;h[l+16>>3]=n;p3(b,148437,l)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[f>>2]=c[(c[(c[(c[d>>2]|0)+32>>2]|0)+4>>2]|0)+((c[k>>2]|0)*12|0)+8>>2];a:do if(gA(c[f>>2]|0)|0){kQ(c[24742]|0,c[(c[(c[d>>2]|0)+28>>2]|0)+(c[k>>2]<<2)>>2]|0);r3(148457,c[24742]|0)|0;c[g>>2]=$b[c[c[f>>2]>>2]&63](c[f>>2]|0,0,128)|0;while(1){if(!(c[g>>2]|0))break a;r3(148462,c[24742]|0)|0;kQ(c[24742]|0,c[(c[(c[d>>2]|0)+28>>2]|0)+(c[c[g>>2]>>2]<<2)>>2]|0);r3(193472,c[24742]|0)|0;c[g>>2]=$b[c[c[f>>2]>>2]&63](c[f>>2]|0,c[g>>2]|0,8)|0}}while(0);c[k>>2]=(c[k>>2]|0)+1}i=m;return}function kQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0;k=i;i=i+96|0;if((i|0)>=(j|0))ba();g=k+40|0;f=k;l=k+84|0;e=k+80|0;c[l>>2]=b;c[e>>2]=d;d=c[l>>2]|0;b=c[e>>2]|0;if(a[c[e>>2]>>0]|0){p=+h[b+8>>3];o=+h[(c[e>>2]|0)+16>>3];n=+h[(c[e>>2]|0)+8>>3];m=+h[(c[e>>2]|0)+16+8>>3];g=lQ(c[(c[e>>2]|0)+32>>2]|0)|0;l=lQ(c[(c[e>>2]|0)+36>>2]|0)|0;h[f>>3]=p;h[f+8>>3]=o;h[f+16>>3]=n;h[f+24>>3]=m;c[f+32>>2]=g;c[f+36>>2]=l;p3(d,148468,f)|0;i=k;return}else{m=+h[b+16>>3];n=+h[(c[e>>2]|0)+8>>3];o=+h[(c[e>>2]|0)+16+8>>3];p=+h[(c[e>>2]|0)+8>>3];f=lQ(c[(c[e>>2]|0)+32>>2]|0)|0;l=lQ(c[(c[e>>2]|0)+36>>2]|0)|0;h[g>>3]=m;h[g+8>>3]=n;h[g+16>>3]=o;h[g+24>>3]=p;c[g+32>>2]=f;c[g+36>>2]=l;p3(d,148468,g)|0;i=k;return}}function lQ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 0:{c[b>>2]=148492;break}case 1:{c[b>>2]=148499;break}case 2:{c[b>>2]=148504;break}case 3:{c[b>>2]=148511;break}case 4:{c[b>>2]=148518;break}default:{}}i=d;return c[b>>2]|0}function mQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+80|0;if((i|0)>=(j|0))ba();d=t+64|0;e=t+60|0;n=t+56|0;o=t+52|0;l=t+48|0;m=t+40|0;q=t+36|0;r=t+32|0;p=t+24|0;k=t+20|0;s=t+16|0;f=t+8|0;g=t;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+32>>2];c[s>>2]=c[(c[d>>2]|0)+28>>2];c[n>>2]=0;while(1){if(((c[n>>2]|0)+1|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[o>>2]=(c[n>>2]|0)+1;while(1){if((c[o>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;a:do if(((OQ(c[k>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)==0?(OQ(c[k>>2]|0,c[o>>2]|0,c[n>>2]|0)|0)==0:0)?(nQ(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0)|0)!=0:0){a=(c[(c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0)+48>>2]|0)==0;do if(!(c[(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0)+48>>2]|0))if(a){c[l>>2]=0;break}else{c[l>>2]=1;break}else{if(a){c[l>>2]=1;break}if(+h[(c[(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0)+48>>2]|0)+8>>3]==+h[(c[(c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0)+48>>2]|0)+8>>3]){c[l>>2]=0;break}else{c[l>>2]=1;break}}while(0);oQ(f,c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,0,c[l>>2]|0);c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[m>>2]=c[p>>2];c[q>>2]=c[p+4>>2];oQ(g,c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,1,1-(c[l>>2]|0)|0);c[p>>2]=c[g>>2];c[p+4>>2]=c[g+4>>2];c[m+4>>2]=c[p>>2];c[r>>2]=c[p+4>>2];switch(c[q>>2]|0){case -1:{pQ(c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[e>>2]|0);pQ(c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,1-(c[l>>2]|0)|0,1,c[m+4>>2]|0,c[e>>2]|0);if((c[r>>2]|0)!=1)break a;qQ(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,1-(c[l>>2]|0)|0,c[e>>2]|0);break a}case 0:switch(c[r>>2]|0){case -1:{pQ(c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[e>>2]|0);pQ(c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,1-(c[l>>2]|0)|0,1,c[m+4>>2]|0,c[e>>2]|0);break a}case 0:{pQ(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,0,c[l>>2]|0,c[m>>2]|0,c[e>>2]|0);pQ(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,1,1-(c[l>>2]|0)|0,c[m+4>>2]|0,c[e>>2]|0);break a}case 1:{pQ(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,0,c[l>>2]|0,c[m>>2]|0,c[e>>2]|0);pQ(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,1,1-(c[l>>2]|0)|0,c[m+4>>2]|0,c[e>>2]|0);break a}default:break a}case 1:{pQ(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,0,c[l>>2]|0,c[m>>2]|0,c[e>>2]|0);pQ(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,1,1-(c[l>>2]|0)|0,c[m+4>>2]|0,c[e>>2]|0);if((c[r>>2]|0)!=-1)break a;qQ(c[(c[s>>2]|0)+(c[n>>2]<<2)>>2]|0,c[(c[s>>2]|0)+(c[o>>2]<<2)>>2]|0,1-(c[l>>2]|0)|0,c[e>>2]|0);break a}default:break a}}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}i=t;return}function nQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(+h[(c[d>>2]|0)+8>>3]==+h[(c[e>>2]|0)+8>>3]))db(148590,147856,845,148621);if(!(+h[(c[d>>2]|0)+16>>3]==+h[(c[e>>2]|0)+16>>3])){b=0;b=b&1;i=f;return b|0}if(!(+h[(c[d>>2]|0)+16+8>>3]==+h[(c[e>>2]|0)+16+8>>3])){b=0;b=b&1;i=f;return b|0}if((c[(c[d>>2]|0)+32>>2]|0)!=(c[(c[e>>2]|0)+32>>2]|0)){b=0;b=b&1;i=f;return b|0}b=(c[(c[d>>2]|0)+36>>2]|0)==(c[(c[e>>2]|0)+36>>2]|0);b=b&1;i=f;return b|0}function oQ(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();g=s+40|0;h=s+36|0;k=s+32|0;l=s+28|0;p=s+24|0;m=s+20|0;r=s+16|0;q=s+8|0;n=s+4|0;o=s;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){d=rQ(c[g>>2]|0,c[k>>2]|0)|0;c[n>>2]=d;if(!d)break;d=rQ(c[h>>2]|0,c[l>>2]|0)|0;c[o>>2]=d;if(!d)break;if(!(nQ(c[n>>2]|0,c[o>>2]|0)|0))break;c[m>>2]=(c[m>>2]|0)+1;c[g>>2]=c[n>>2];c[h>>2]=c[o>>2]}if(!(c[n>>2]|0)){c[p>>2]=0;d=c[m>>2]|0;c[q>>2]=d;d=c[p>>2]|0;r=q+4|0;c[r>>2]=d;c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];i=s;return}if(!(c[o>>2]|0))db(176179,147856,873,148539);c[r>>2]=sQ(c[n>>2]|0,c[o>>2]|0)|0;c[p>>2]=tQ(c[n>>2]|0,c[r>>2]|0,(c[m>>2]|0)+1|0,1-(c[k>>2]|0)|0)|0;d=c[m>>2]|0;c[q>>2]=d;d=c[p>>2]|0;r=q+4|0;c[r>>2]=d;c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];i=s;return}function pQ(b,d,e,f,g,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|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;w=i;i=i+48|0;if((i|0)>=(j|0))ba();l=w+40|0;m=w+36|0;n=w+32|0;o=w+28|0;p=w+24|0;q=w+20|0;v=w+16|0;r=w+12|0;s=w+8|0;t=w+4|0;u=w;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=k;f=c[q>>2]|0;if(a[c[l>>2]>>0]|0)c[r>>2]=bQ(c[f+24>>2]|0,c[l>>2]|0)|0;else c[r>>2]=bQ(c[f+20>>2]|0,c[l>>2]|0)|0;MQ(c[(c[r>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+40>>2]|0,c[(c[m>>2]|0)+40>>2]|0);c[v>>2]=1;while(1){if((c[v>>2]|0)>(c[p>>2]|0))break;c[t>>2]=rQ(c[l>>2]|0,c[n>>2]|0)|0;c[u>>2]=rQ(c[m>>2]|0,c[o>>2]|0)|0;f=c[q>>2]|0;do if(a[c[l>>2]>>0]|0){c[s>>2]=bQ(c[f+20>>2]|0,c[t>>2]|0)|0;f=c[l>>2]|0;if(+h[(c[t>>2]|0)+8>>3]==+h[(c[l>>2]|0)+16>>3]){d=(c[f+32>>2]|0)==2;e=(OQ(c[(c[r>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+40>>2]|0,c[(c[m>>2]|0)+40>>2]|0)|0)!=0;f=c[(c[s>>2]|0)+32>>2]|0;if(d)if(e){MQ(f,c[(c[t>>2]|0)+40>>2]|0,c[(c[u>>2]|0)+40>>2]|0);break}else{MQ(f,c[(c[u>>2]|0)+40>>2]|0,c[(c[t>>2]|0)+40>>2]|0);break}else if(e){MQ(f,c[(c[u>>2]|0)+40>>2]|0,c[(c[t>>2]|0)+40>>2]|0);break}else{MQ(f,c[(c[t>>2]|0)+40>>2]|0,c[(c[u>>2]|0)+40>>2]|0);break}}else{d=(c[f+36>>2]|0)==2;e=(OQ(c[(c[r>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+40>>2]|0,c[(c[m>>2]|0)+40>>2]|0)|0)!=0;f=c[(c[s>>2]|0)+32>>2]|0;if(d)if(e){MQ(f,c[(c[u>>2]|0)+40>>2]|0,c[(c[t>>2]|0)+40>>2]|0);break}else{MQ(f,c[(c[t>>2]|0)+40>>2]|0,c[(c[u>>2]|0)+40>>2]|0);break}else if(e){MQ(f,c[(c[t>>2]|0)+40>>2]|0,c[(c[u>>2]|0)+40>>2]|0);break}else{MQ(f,c[(c[u>>2]|0)+40>>2]|0,c[(c[t>>2]|0)+40>>2]|0);break}}}else{c[s>>2]=bQ(c[f+24>>2]|0,c[t>>2]|0)|0;f=c[l>>2]|0;if(+h[(c[t>>2]|0)+8>>3]==+h[(c[l>>2]|0)+16>>3]){d=(c[f+32>>2]|0)==1;e=(OQ(c[(c[r>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+40>>2]|0,c[(c[m>>2]|0)+40>>2]|0)|0)!=0;f=c[(c[s>>2]|0)+32>>2]|0;if(d)if(e){MQ(f,c[(c[u>>2]|0)+40>>2]|0,c[(c[t>>2]|0)+40>>2]|0);break}else{MQ(f,c[(c[t>>2]|0)+40>>2]|0,c[(c[u>>2]|0)+40>>2]|0);break}else if(e){MQ(f,c[(c[t>>2]|0)+40>>2]|0,c[(c[u>>2]|0)+40>>2]|0);break}else{MQ(f,c[(c[u>>2]|0)+40>>2]|0,c[(c[t>>2]|0)+40>>2]|0);break}}else{d=(c[f+36>>2]|0)==1;f=(OQ(c[(c[r>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+40>>2]|0,c[(c[m>>2]|0)+40>>2]|0)|0)!=0;e=c[(c[s>>2]|0)+32>>2]|0;if(d)if(f){MQ(e,c[(c[t>>2]|0)+40>>2]|0,c[(c[u>>2]|0)+40>>2]|0);break}else{MQ(e,c[(c[u>>2]|0)+40>>2]|0,c[(c[t>>2]|0)+40>>2]|0);break}else if(f){MQ(e,c[(c[u>>2]|0)+40>>2]|0,c[(c[t>>2]|0)+40>>2]|0);break}else{MQ(e,c[(c[t>>2]|0)+40>>2]|0,c[(c[u>>2]|0)+40>>2]|0);break}}}while(0);c[r>>2]=c[s>>2];c[l>>2]=c[t>>2];c[m>>2]=c[u>>2];c[v>>2]=(c[v>>2]|0)+1}i=w;return}function qQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();p=n+24|0;o=n+20|0;g=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;k=n;c[p>>2]=b;c[o>>2]=d;c[g>>2]=e;c[h>>2]=f;c[l>>2]=c[p>>2];c[m>>2]=c[o>>2];while(1){p=(nQ(c[l>>2]|0,c[m>>2]|0)|0)!=0;e=c[l>>2]|0;if(!p)break;c[l>>2]=rQ(e,1)|0;c[m>>2]=rQ(c[m>>2]|0,c[g>>2]|0)|0}f=c[h>>2]|0;if(a[e>>0]|0)c[k>>2]=bQ(c[f+24>>2]|0,c[l>>2]|0)|0;else c[k>>2]=bQ(c[f+20>>2]|0,c[l>>2]|0)|0;NQ(c[(c[k>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+40>>2]|0,c[(c[m>>2]|0)+40>>2]|0);i=n;return}function rQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+8|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!(c[d>>2]|0))db(148526,147856,800,148530);d=c[d>>2]|0;if(c[f>>2]|0){c[e>>2]=c[d+52>>2];f=c[e>>2]|0;i=g;return f|0}else{c[e>>2]=c[d+48>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function sQ(b,e){b=b|0;e=e|0;var f=0,g=0,k=0,l=0,m=0;m=i;i=i+16|0;if((i|0)>=(j|0))ba();f=m;k=m+12|0;l=m+8|0;g=m+4|0;c[l>>2]=b;c[g>>2]=e;if((d[c[l>>2]>>0]|0)!=(d[c[g>>2]>>0]|0)){pA(1,148552,f)|0;hb(60980,1)}if(+h[(c[l>>2]|0)+8>>3]!=+h[(c[g>>2]|0)+8>>3]){pA(1,148552,f)|0;hb(60980,1)}b=c[l>>2]|0;e=c[g>>2]|0;if(a[c[l>>2]>>0]|0){c[k>>2]=uQ(b,e,4,2)|0;l=c[k>>2]|0;i=m;return l|0}else{c[k>>2]=uQ(b,e,3,1)|0;l=c[k>>2]|0;i=m;return l|0}return 0}function tQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();q=p+28|0;r=p+24|0;g=p+20|0;k=p+16|0;o=p+12|0;l=p+8|0;n=p+4|0;m=p;c[q>>2]=b;c[r>>2]=d;c[g>>2]=e;c[k>>2]=f;c[l>>2]=c[r>>2];c[m>>2]=c[q>>2];c[o>>2]=1;while(1){if((c[o>>2]|0)>(c[g>>2]|0))break;c[n>>2]=rQ(c[m>>2]|0,c[k>>2]|0)|0;e=+h[(c[n>>2]|0)+8>>3]==+h[(c[m>>2]|0)+16>>3];f=c[m>>2]|0;do if(a[c[m>>2]>>0]|0)if(e){if((c[f+32>>2]|0)!=4)break;c[l>>2]=_(c[l>>2]|0,-1)|0;break}else{if((c[f+36>>2]|0)!=2)break;c[l>>2]=_(c[l>>2]|0,-1)|0;break}else if(e){if((c[f+32>>2]|0)!=1)break;c[l>>2]=_(c[l>>2]|0,-1)|0;break}else{if((c[f+36>>2]|0)!=3)break;c[l>>2]=_(c[l>>2]|0,-1)|0;break}while(0);c[m>>2]=c[n>>2];c[o>>2]=(c[o>>2]|0)+1}i=p;return c[l>>2]|0}function uQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();n=o+16|0;k=o+12|0;l=o+8|0;g=o+4|0;m=o;c[k>>2]=a;c[l>>2]=b;c[g>>2]=d;c[m>>2]=e;if(!(+h[(c[k>>2]|0)+16+8>>3]<+h[(c[l>>2]|0)+16>>3])?!(+h[(c[k>>2]|0)+16>>3]>+h[(c[l>>2]|0)+16+8>>3]):0){if(+h[(c[k>>2]|0)+16>>3]<+h[(c[l>>2]|0)+16>>3]?+h[(c[l>>2]|0)+16>>3]<+h[(c[k>>2]|0)+16+8>>3]:0){c[n>>2]=vQ(c[k>>2]|0,c[l>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}if(+h[(c[l>>2]|0)+16>>3]<+h[(c[k>>2]|0)+16>>3]?+h[(c[k>>2]|0)+16>>3]<+h[(c[l>>2]|0)+16+8>>3]:0){c[n>>2]=_(-1,vQ(c[l>>2]|0,c[k>>2]|0,c[g>>2]|0,c[m>>2]|0)|0)|0;n=c[n>>2]|0;i=o;return n|0}f=+h[(c[k>>2]|0)+16+8>>3];a=(c[l>>2]|0)+16|0;if(!(+h[(c[k>>2]|0)+16>>3]==+h[(c[l>>2]|0)+16>>3])){b=c[k>>2]|0;if(f==+h[a>>3]){if((c[b+36>>2]|0)==(c[(c[l>>2]|0)+32>>2]|0)){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if((c[(c[k>>2]|0)+36>>2]|0)==(c[m>>2]|0)){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[n>>2]=-1;n=c[n>>2]|0;i=o;return n|0}}else{if((c[b+32>>2]|0)==(c[(c[l>>2]|0)+36>>2]|0)){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if((c[(c[k>>2]|0)+32>>2]|0)==(c[m>>2]|0)){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[n>>2]=-1;n=c[n>>2]|0;i=o;return n|0}}}b=c[k>>2]|0;if(!(f==+h[a+8>>3]))if(+h[b+16+8>>3]<+h[(c[l>>2]|0)+16+8>>3]){e=(c[(c[k>>2]|0)+36>>2]|0)==(c[g>>2]|0);b=xQ(c[(c[l>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;if(e){c[n>>2]=b;n=c[n>>2]|0;i=o;return n|0}else{c[n>>2]=_(-1,b)|0;n=c[n>>2]|0;i=o;return n|0}}else{e=(c[(c[l>>2]|0)+36>>2]|0)==(c[m>>2]|0);b=xQ(c[(c[k>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[g>>2]|0,c[m>>2]|0)|0;if(e){c[n>>2]=b;n=c[n>>2]|0;i=o;return n|0}else{c[n>>2]=_(-1,b)|0;n=c[n>>2]|0;i=o;return n|0}}if((c[b+32>>2]|0)==(c[(c[l>>2]|0)+32>>2]|0)?(c[(c[k>>2]|0)+36>>2]|0)==(c[(c[l>>2]|0)+36>>2]|0):0){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}b=(c[(c[l>>2]|0)+32>>2]|0)==(c[g>>2]|0);if((c[(c[l>>2]|0)+32>>2]|0)==(c[(c[l>>2]|0)+36>>2]|0)){if(b){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+32>>2]|0)==(c[m>>2]|0)){c[n>>2]=-1;n=c[n>>2]|0;i=o;return n|0}if((c[(c[k>>2]|0)+32>>2]|0)!=(c[g>>2]|0)?(c[(c[k>>2]|0)+36>>2]|0)!=(c[g>>2]|0):0){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}if((c[(c[k>>2]|0)+32>>2]|0)!=(c[m>>2]|0)?(c[(c[k>>2]|0)+36>>2]|0)!=(c[m>>2]|0):0){c[n>>2]=-1;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if(b?(c[(c[l>>2]|0)+36>>2]|0)==(c[m>>2]|0):0){if((c[(c[k>>2]|0)+32>>2]|0)!=(c[g>>2]|0)?(c[(c[k>>2]|0)+36>>2]|0)==(c[m>>2]|0):0){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}if((c[(c[k>>2]|0)+32>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+36>>2]|0)!=(c[m>>2]|0):0){c[n>>2]=-1;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+36>>2]|0)==(c[g>>2]|0)?(c[(c[l>>2]|0)+32>>2]|0)==(c[m>>2]|0):0){if((c[(c[k>>2]|0)+36>>2]|0)!=(c[g>>2]|0)?(c[(c[k>>2]|0)+32>>2]|0)==(c[m>>2]|0):0){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}if((c[(c[k>>2]|0)+36>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+32>>2]|0)!=(c[m>>2]|0):0){c[n>>2]=-1;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+32>>2]|0)==0?(c[(c[l>>2]|0)+36>>2]|0)==(c[g>>2]|0):0){c[n>>2]=wQ(c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[g>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+32>>2]|0)==0?(c[(c[l>>2]|0)+36>>2]|0)==(c[m>>2]|0):0){c[n>>2]=_(-1,wQ(c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[m>>2]|0)|0)|0;n=c[n>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+32>>2]|0)==(c[g>>2]|0)?(c[(c[l>>2]|0)+36>>2]|0)==0:0){c[n>>2]=wQ(c[(c[k>>2]|0)+36>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=_(-1,wQ(c[(c[k>>2]|0)+36>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[m>>2]|0)|0)|0;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}function vQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+16|0;g=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;b=c[g>>2]|0;if(+h[(c[g>>2]|0)+16+8>>3]<+h[(c[k>>2]|0)+16+8>>3]){if((c[b+36>>2]|0)==(c[l>>2]|0)?(c[(c[k>>2]|0)+32>>2]|0)==(c[m>>2]|0):0){c[f>>2]=-1;m=c[f>>2]|0;i=n;return m|0}if((c[(c[g>>2]|0)+36>>2]|0)==(c[m>>2]|0)?(c[(c[k>>2]|0)+32>>2]|0)==(c[l>>2]|0):0){c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}a=(c[(c[k>>2]|0)+32>>2]|0)==(c[m>>2]|0);if(+h[b+16+8>>3]==+h[(c[k>>2]|0)+16+8>>3])if(a){c[f>>2]=xQ(c[(c[g>>2]|0)+36>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;m=c[f>>2]|0;i=n;return m|0}else{c[f>>2]=_(-1,xQ(c[(c[k>>2]|0)+36>>2]|0,c[(c[g>>2]|0)+36>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)|0;m=c[f>>2]|0;i=n;return m|0}if(a?(c[(c[k>>2]|0)+36>>2]|0)==(c[m>>2]|0):0){c[f>>2]=-1;m=c[f>>2]|0;i=n;return m|0}if((c[(c[k>>2]|0)+32>>2]|0)==(c[l>>2]|0)?(c[(c[k>>2]|0)+36>>2]|0)==(c[l>>2]|0):0){c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function wQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+12|0;k=h+8|0;f=h+4|0;g=h;c[k>>2]=a;c[f>>2]=b;c[g>>2]=d;do if((c[k>>2]|0)==(c[g>>2]|0))if((c[f>>2]|0)==(c[g>>2]|0)){c[e>>2]=-1;break}else{c[e>>2]=0;break}else c[e>>2]=1;while(0);i=h;return c[e>>2]|0}function xQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+16|0;g=n+12|0;h=n+8|0;k=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!((c[g>>2]|0)==(c[l>>2]|0)?(e=(c[l>>2]|0)!=0^1,c[h>>2]=e&1,e):0))m=3;do if((m|0)==3){if((c[g>>2]|0)==0?(c[h>>2]|0)==(c[k>>2]|0):0)break;c[f>>2]=-1;m=c[f>>2]|0;i=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function yQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();k=h+20|0;f=h+16|0;g=h+12|0;d=h+8|0;e=h+4|0;b=h;c[k>>2]=a;c[d>>2]=c[(c[k>>2]|0)+28>>2];c[e>>2]=c[(c[k>>2]|0)+24>>2];c[b>>2]=c[(c[k>>2]|0)+32>>2];c[f>>2]=0;while(1){if(((c[f>>2]|0)+1|0)>=(c[e>>2]|0))break;c[g>>2]=(c[f>>2]|0)+1;while(1){a=c[f>>2]|0;if((c[g>>2]|0)>=(c[e>>2]|0))break;switch(sQ(c[(c[d>>2]|0)+(a<<2)>>2]|0,c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)|0){case 1:{MQ(c[b>>2]|0,c[f>>2]|0,c[g>>2]|0);break}case -1:{MQ(c[b>>2]|0,c[g>>2]|0,c[f>>2]|0);break}default:{}}c[g>>2]=(c[g>>2]|0)+1}c[f>>2]=a+1}i=h;return}function zQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=(c[d>>2]|0)+24|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[e>>2]|0)+40>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+28>>2]|0)a=tK(c[a+28>>2]|0,c[(c[d>>2]|0)+24>>2]<<2)|0;else a=rK(c[a+24>>2]<<2)|0;c[(c[d>>2]|0)+28>>2]=a;c[(c[(c[d>>2]|0)+28>>2]|0)+((c[(c[d>>2]|0)+24>>2]|0)-1<<2)>>2]=c[e>>2];i=f;return}function AQ(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l;k=l+8|0;c[e>>2]=a;c[f>>2]=b;h[g>>3]=d;c[k>>2]=$b[c[c[e>>2]>>2]&63](c[e>>2]|0,g,512)|0;if(!(c[k>>2]|0)){c[k>>2]=qK(24)|0;h[(c[k>>2]|0)+8>>3]=+h[g>>3];b=eA(61192,c[12989]|0)|0;c[(c[k>>2]|0)+16>>2]=b;$b[c[c[e>>2]>>2]&63](c[e>>2]|0,c[k>>2]|0,1)|0}$b[c[c[(c[k>>2]|0)+16>>2]>>2]&63](c[(c[k>>2]|0)+16>>2]|0,c[f>>2]|0,1)|0;i=l;return}function BQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;LQ(c[(c[f>>2]|0)+32>>2]|0);B1(c[(c[f>>2]|0)+28>>2]|0);B1(c[f>>2]|0);i=e;return}function CQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+16|0;g=l+8|0;k=l+4|0;c[l+12>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;a=c[g>>2]|0;do if(+h[c[g>>2]>>3]>+h[c[k>>2]>>3])if(+h[a+8>>3]<=+h[(c[k>>2]|0)+8>>3]){c[f>>2]=0;break}else{c[f>>2]=1;break}else{if(!(+h[a>>3]<+h[c[k>>2]>>3])){c[f>>2]=0;break}if(+h[(c[g>>2]|0)+8>>3]>=+h[(c[k>>2]|0)+8>>3]){c[f>>2]=0;break}else{c[f>>2]=-1;break}}while(0);i=l;return c[f>>2]|0}function DQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;aA(c[(c[f>>2]|0)+16>>2]|0)|0;B1(c[f>>2]|0);i=e;return}function EQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+16|0;g=l+8|0;k=l+4|0;c[l+12>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;do if(!(+h[c[g>>2]>>3]>+h[c[k>>2]>>3]))if(+h[c[g>>2]>>3]<+h[c[k>>2]>>3]){c[f>>2]=-1;break}else{c[f>>2]=0;break}else c[f>>2]=1;while(0);i=l;return c[f>>2]|0}function FQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();m=l+20|0;g=l+16|0;k=l;c[m>>2]=d;c[g>>2]=e;d=(a[(c[m>>2]|0)+36>>0]|0)!=0;e=(c[g>>2]|0)+40|0;do if((c[g>>2]|0)==(c[(c[m>>2]|0)+20+4>>2]|0)){f=+h[e>>3];if(d){h[k>>3]=f;h[k+8>>3]=(+h[(c[g>>2]|0)+40+8>>3]+ +h[(c[g>>2]|0)+40+16+8>>3])/2.0;break}else{h[k>>3]=(f+ +h[(c[g>>2]|0)+40+16>>3])/2.0;h[k+8>>3]=+h[(c[g>>2]|0)+40+8>>3];break}}else if(d){h[k>>3]=+h[e+16>>3];h[k+8>>3]=(+h[(c[g>>2]|0)+40+8>>3]+ +h[(c[g>>2]|0)+40+16+8>>3])/2.0;break}else{h[k>>3]=(+h[e>>3]+ +h[(c[g>>2]|0)+40+16>>3])/2.0;h[k+8>>3]=+h[(c[g>>2]|0)+40+16+8>>3];break}while(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];i=l;return}function GQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[e>>2]|0)+20>>2];if((c[f>>2]|0)!=(c[(c[h>>2]|0)+20>>2]|0)?(c[f>>2]|0)!=(c[(c[h>>2]|0)+20+4>>2]|0):0){c[d>>2]=c[(c[e>>2]|0)+20+4>>2];h=c[d>>2]|0;i=g;return h|0}c[d>>2]=c[f>>2];h=c[d>>2]|0;i=g;return h|0}function HQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d+16|0;e=d;c[f>>2]=b;h[e>>3]=(+h[(c[f>>2]|0)+40>>3]+ +h[(c[f>>2]|0)+40+16>>3])/2.0;h[e+8>>3]=(+h[(c[f>>2]|0)+40+8>>3]+ +h[(c[f>>2]|0)+40+16+8>>3])/2.0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=d;return}function IQ(b,d,e,f,g,k,l){b=b|0;d=d|0;e=+e;f=+f;g=+g;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();m=q+36|0;t=q+32|0;s=q+16|0;r=q+8|0;n=q;o=q+28|0;p=q+24|0;c[m>>2]=b;c[t>>2]=d;h[s>>3]=e;h[r>>3]=f;h[n>>3]=g;c[o>>2]=k;c[p>>2]=l;a[c[m>>2]>>0]=c[t>>2];h[(c[m>>2]|0)+8>>3]=+h[s>>3];f=+h[r>>3];d=(c[m>>2]|0)+16|0;if(+h[r>>3]<+h[n>>3]){h[d>>3]=f;h[(c[m>>2]|0)+16+8>>3]=+h[n>>3];c[(c[m>>2]|0)+32>>2]=c[o>>2];c[(c[m>>2]|0)+36>>2]=c[p>>2];a[(c[m>>2]|0)+1>>0]=0;i=q;return}else{h[d+8>>3]=f;h[(c[m>>2]|0)+16>>3]=+h[n>>3];c[(c[m>>2]|0)+36>>2]=c[o>>2];c[(c[m>>2]|0)+32>>2]=c[p>>2];a[(c[m>>2]|0)+1>>0]=1;i=q;return}}function JQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if((c[(c[(c[e>>2]|0)+36>>2]|0)+4>>2]|0)==(c[f>>2]|0)){c[g>>2]=~~((+h[b+40>>3]+ +h[(c[e>>2]|0)+40+16>>3])/2.0);c[g+4>>2]=~~+h[(c[e>>2]|0)+40+16+8>>3];c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];i=k;return}d=c[e>>2]|0;if((c[(c[b+36>>2]|0)+12>>2]|0)==(c[f>>2]|0)){c[g>>2]=~~((+h[d+40>>3]+ +h[(c[e>>2]|0)+40+16>>3])/2.0);c[g+4>>2]=~~+h[(c[e>>2]|0)+40+8>>3];c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];i=k;return}b=c[e>>2]|0;if((c[(c[d+36>>2]|0)+8>>2]|0)==(c[f>>2]|0)){c[g+4>>2]=~~((+h[b+40+8>>3]+ +h[(c[e>>2]|0)+40+16+8>>3])/2.0);c[g>>2]=~~+h[(c[e>>2]|0)+40>>3];c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];i=k;return}if((c[c[b+36>>2]>>2]|0)!=(c[f>>2]|0)){c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];i=k;return}c[g+4>>2]=~~((+h[(c[e>>2]|0)+40+8>>3]+ +h[(c[e>>2]|0)+40+16+8>>3])/2.0);c[g>>2]=~~+h[(c[e>>2]|0)+40+16>>3];c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];i=k;return}function KQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=qK(8)|0;c[c[d>>2]>>2]=c[b>>2];a=qK((c[b>>2]|0)*12|0)|0;c[(c[d>>2]|0)+4>>2]=a;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[b>>2]|0))break;a=GU()|0;c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)+8>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return c[d>>2]|0}function LQ(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;aA(c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*12|0)+8>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}B1(c[(c[b>>2]|0)+4>>2]|0);B1(c[b>>2]|0);i=e;return}function MQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();h=e+20|0;g=e+16|0;k=e+12|0;f=e;c[h>>2]=a;c[g>>2]=b;c[k>>2]=d;c[f>>2]=c[k>>2];$b[c[c[(c[(c[h>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0)+8>>2]>>2]&63](c[(c[(c[h>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0)+8>>2]|0,f,1)|0;i=e;return}function NQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();h=e+20|0;k=e+16|0;g=e+12|0;f=e;c[h>>2]=a;c[k>>2]=b;c[g>>2]=d;c[f>>2]=c[g>>2];$b[c[c[(c[(c[h>>2]|0)+4>>2]|0)+((c[k>>2]|0)*12|0)+8>>2]>>2]&63](c[(c[(c[h>>2]|0)+4>>2]|0)+((c[k>>2]|0)*12|0)+8>>2]|0,f,2)|0;c[f>>2]=c[k>>2];$b[c[c[(c[(c[h>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0)+8>>2]>>2]&63](c[(c[(c[h>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0)+8>>2]|0,f,2)|0;i=e;return}function OQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=($b[c[c[(c[(c[h>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0)+8>>2]>>2]&63](c[(c[(c[h>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0)+8>>2]|0,f,512)|0)!=0&1;i=e;return d|0}function PQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();b=k+20|0;e=k+16|0;h=k+12|0;g=k+8|0;d=k+4|0;f=k;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;if(!(c[c[b>>2]>>2]|0)){i=k;return}if((c[c[b>>2]>>2]|0)==1){c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]=c[d>>2];i=k;return}c[f>>2]=QQ(c[c[b>>2]>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[b>>2]>>2]|0))break;if(!(c[(c[(c[b>>2]|0)+4>>2]|0)+((c[e>>2]|0)*12|0)>>2]|0))c[g>>2]=RQ(c[b>>2]|0,c[e>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}while(1){g=SQ(c[f>>2]|0)|0;c[h>>2]=g;if((g|0)<0)break;c[(c[(c[b>>2]|0)+4>>2]|0)+((c[h>>2]|0)*12|0)+4>>2]=c[d>>2];c[d>>2]=(c[d>>2]|0)+1}TQ(c[f>>2]|0);i=k;return}function QQ(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=qK(8)|0;a=qK(c[e>>2]<<2)|0;c[(c[d>>2]|0)+4>>2]=a;c[c[d>>2]>>2]=-1;i=b;return c[d>>2]|0}function RQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;o=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[o>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);c[c[o>>2]>>2]=1;c[l>>2]=c[(c[o>>2]|0)+8>>2];c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=cA(c[l>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;a=c[n>>2]|0;if((c[(c[(c[l>>2]|0)+4>>2]|0)+8>>2]|0)<0)a=c[a+8>>2]|0;else a=a+(0-(c[(c[(c[l>>2]|0)+4>>2]|0)+8>>2]|0))|0;c[m>>2]=c[a>>2];if(!(c[(c[(c[f>>2]|0)+4>>2]|0)+((c[m>>2]|0)*12|0)>>2]|0))c[h>>2]=RQ(c[f>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;c[n>>2]=c[c[n>>2]>>2]}c[c[o>>2]>>2]=2;UQ(c[k>>2]|0,c[g>>2]|0);i=p;return (c[h>>2]|0)+1|0}function SQ(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;if((c[c[d>>2]>>2]|0)==-1){c[b>>2]=-1;e=c[b>>2]|0;i=f;return e|0}else{c[e>>2]=c[(c[(c[d>>2]|0)+4>>2]|0)+(c[c[d>>2]>>2]<<2)>>2];a=c[d>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;c[b>>2]=c[e>>2];e=c[b>>2]|0;i=f;return e|0}return 0}function TQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[(c[d>>2]|0)+4>>2]|0);B1(c[d>>2]|0);i=b;return}function UQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[e>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[(c[e>>2]|0)+4>>2]|0)+(c[c[e>>2]>>2]<<2)>>2]=c[f>>2];i=d;return}function VQ(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=c[c[d>>2]>>2];c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+4>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0))break;b[(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*40|0)+18>>1]=b[(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*40|0)+16>>1]|0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function WQ(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[c[d>>2]>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+4>>2]=c[(c[d>>2]|0)+12>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0))break;b[(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*40|0)+16>>1]=b[(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*40|0)+18>>1]|0;c[e>>2]=(c[e>>2]|0)+1}while(1){if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)+2|0))break;b[(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*40|0)+16>>1]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function XQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=qK(((c[c[d>>2]>>2]|0)*6|0)+(c[e>>2]<<1)<<2)|0;b=qK((((c[c[d>>2]>>2]|0)*3|0)+(c[e>>2]|0)|0)*24|0)|0;c[(c[d>>2]|0)+20>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[d>>2]>>2]|0))break;c[(c[(c[d>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)+28>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+24;c[g>>2]=(c[g>>2]|0)+1}while(1){if((c[g>>2]|0)>=((c[c[d>>2]>>2]|0)+2|0))break;c[(c[(c[d>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)+28>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+(c[e>>2]<<2);c[g>>2]=(c[g>>2]|0)+1}i=h;return}function YQ(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=qK(24)|0;c[c[d>>2]>>2]=0;a=qK((c[e>>2]|0)*40|0)|0;c[(c[d>>2]|0)+16>>2]=a;i=b;return c[d>>2]|0}function ZQ(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=(c[(c[e>>2]|0)+16>>2]|0)+((c[c[e>>2]>>2]|0)*40|0);c[(c[d>>2]|0)+32>>2]=c[c[e>>2]>>2];a=c[e>>2]|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return c[d>>2]|0}function _Q(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();o=f+24|0;m=f+20|0;l=f+16|0;n=f;g=f+12|0;k=f+8|0;c[o>>2]=a;c[m>>2]=b;c[l>>2]=d;h[n>>3]=e;b=(c[o>>2]|0)+4|0;d=c[b>>2]|0;c[b>>2]=d+1;c[k>>2]=d;c[g>>2]=(c[(c[o>>2]|0)+20>>2]|0)+((c[k>>2]|0)*24|0);c[(c[g>>2]|0)+12>>2]=c[(c[m>>2]|0)+32>>2];c[(c[g>>2]|0)+16>>2]=c[(c[l>>2]|0)+32>>2];h[c[g>>2]>>3]=+h[n>>3];c[(c[g>>2]|0)+8>>2]=0;bR(c[m>>2]|0,c[g>>2]|0,c[k>>2]|0);bR(c[l>>2]|0,c[g>>2]|0,c[k>>2]|0);i=f;return c[g>>2]|0}function $Q(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[(c[(c[d>>2]|0)+16>>2]|0)+28>>2]|0);B1(c[(c[d>>2]|0)+16>>2]|0);B1(c[(c[d>>2]|0)+20>>2]|0);B1(c[d>>2]|0);i=b;return}function aR(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();s=t+40|0;f=t+36|0;g=t+32|0;k=t+28|0;o=t+24|0;n=t+20|0;l=t+16|0;m=t+12|0;q=t+8|0;r=t+4|0;p=t;c[f>>2]=a;c[g>>2]=d;c[k>>2]=e;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[f>>2]>>2]|0))break;c[p>>2]=(c[(c[f>>2]|0)+16>>2]|0)+((c[q>>2]|0)*40|0);c[c[p>>2]>>2]=-2147483648;c[q>>2]=(c[q>>2]|0)+1}OU();if(RU(c[g>>2]|0)|0){c[s>>2]=1;s=c[s>>2]|0;i=t;return s|0}c[(c[g>>2]|0)+8>>2]=0;c[c[g>>2]>>2]=0;a:while(1){q=TU()|0;c[o>>2]=q;if(!q){f=19;break}q=c[o>>2]|0;c[q>>2]=_(c[q>>2]|0,-1)|0;if((c[o>>2]|0)==(c[k>>2]|0)){f=19;break}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[o>>2]|0)+16>>1]|0))continue a;c[n>>2]=(c[(c[f>>2]|0)+20>>2]|0)+((c[(c[(c[o>>2]|0)+28>>2]|0)+(c[r>>2]<<2)>>2]|0)*24|0);c[l>>2]=cR(c[f>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;do if((c[c[l>>2]>>2]|0)<0){c[m>>2]=~~-(+(c[c[o>>2]>>2]|0)+ +h[c[n>>2]>>3]);if((c[c[l>>2]>>2]|0)==-2147483648){c[c[l>>2]>>2]=c[m>>2];if(RU(c[l>>2]|0)|0){f=14;break a}c[(c[l>>2]|0)+8>>2]=c[o>>2];c[(c[l>>2]|0)+12>>2]=c[n>>2];break}else{if((c[c[l>>2]>>2]|0)>=(c[m>>2]|0))break;UU(c[l>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+8>>2]=c[o>>2];c[(c[l>>2]|0)+12>>2]=c[n>>2];break}}while(0);c[r>>2]=(c[r>>2]|0)+1}}if((f|0)==14){c[s>>2]=1;s=c[s>>2]|0;i=t;return s|0}else if((f|0)==19){c[s>>2]=0;s=c[s>>2]|0;i=t;return s|0}return 0}function bR(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+8|0;h=f;c[g>>2]=a;c[f+4>>2]=d;c[h>>2]=e;c[(c[(c[g>>2]|0)+28>>2]|0)+(b[(c[g>>2]|0)+16>>1]<<2)>>2]=c[h>>2];a=(c[g>>2]|0)+16|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;i=f;return}function cR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+12|0;f=g+8|0;k=g+4|0;h=g;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;b=c[k>>2]|0;if((c[(c[k>>2]|0)+12>>2]|0)==(c[(c[h>>2]|0)+32>>2]|0)){c[e>>2]=(c[(c[f>>2]|0)+16>>2]|0)+((c[b+16>>2]|0)*40|0);k=c[e>>2]|0;i=g;return k|0}else{c[e>>2]=(c[(c[f>>2]|0)+16>>2]|0)+((c[b+12>>2]|0)*40|0);k=c[e>>2]|0;i=g;return k|0}return 0}function dR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+20|0;e=k+16|0;l=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=c[c[e>>2]>>2];NF(c[f>>2]|0,3,c[l>>2]|0)|0;c[g>>2]=c[(c[f>>2]|0)+80+12>>2];if(!(c[g>>2]|0)){c[d>>2]=999;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[(c[g>>2]|0)+16>>2];c[(c[e>>2]|0)+76>>2]=c[(c[h>>2]|0)+12>>2];c[(c[e>>2]|0)+76+8>>2]=c[(c[h>>2]|0)+16>>2];c[(c[e>>2]|0)+76+4>>2]=c[c[h>>2]>>2];c[(c[e>>2]|0)+76+12>>2]=c[(c[g>>2]|0)+4>>2];l=(c[e>>2]|0)+152|0;c[l>>2]=c[l>>2]|c[c[(c[e>>2]|0)+76+8>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+80>>2];if(!(c[g>>2]|0)){c[(c[e>>2]|0)+60>>2]=0;c[d>>2]=999;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[(c[g>>2]|0)+16>>2];c[(c[e>>2]|0)+60>>2]=c[(c[h>>2]|0)+12>>2];c[(c[e>>2]|0)+60+8>>2]=c[(c[h>>2]|0)+16>>2];c[(c[e>>2]|0)+60+12>>2]=c[(c[g>>2]|0)+4>>2];l=(c[e>>2]|0)+152|0;c[l>>2]=c[l>>2]|c[c[(c[e>>2]|0)+60+8>>2]>>2];if(c[(c[e>>2]|0)+76>>2]|0)c[(c[e>>2]|0)+60+4>>2]=c[c[h>>2]>>2];else c[(c[e>>2]|0)+60+4>>2]=c[(c[e>>2]|0)+76+4>>2];c[d>>2]=300;l=c[d>>2]|0;i=k;return l|0}function eR(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+60>>2];if(wF(c[d>>2]|0)|0){c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(c[c[e>>2]>>2]|0)!=0:0)Vb[c[c[e>>2]>>2]&127](c[d>>2]|0);c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}function fR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)Vb[c[(c[d>>2]|0)+4>>2]&127](c[b>>2]|0);c[(c[c[b>>2]>>2]|0)+24>>2]=0;CF(c[b>>2]|0);i=e;return}function gR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0;k=i;i=i+64|0;if((i|0)>=(j|0))ba();l=k+48|0;e=k+32|0;g=k+16|0;f=k;c[l>>2]=b;b=(c[l>>2]|0)+504|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];h[f>>3]=+h[(c[l>>2]|0)+352>>3]*+h[(c[l>>2]|0)+520>>3];h[f+8>>3]=+h[(c[l>>2]|0)+352>>3]*+h[(c[l>>2]|0)+520+8>>3];if(c[(c[l>>2]|0)+360>>2]|0){h[e>>3]=-(+h[d+8>>3]+ +h[g+8>>3])*+h[f>>3];h[e+8>>3]=(+h[d>>3]+ +h[g>>3])*+h[f+8>>3];c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=k;return}else{h[e>>3]=(+h[d>>3]+ +h[g>>3])*+h[f>>3];h[e+8>>3]=(+h[d+8>>3]+ +h[g+8>>3])*+h[f+8>>3];c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=k;return}}function hR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;if((i|0)>=(j|0))ba();q=p+56|0;f=p+52|0;g=p+48|0;k=p+44|0;l=p+40|0;n=p+32|0;o=p+16|0;m=p;c[q>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;e=(c[q>>2]|0)+504|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];h[m>>3]=+h[(c[q>>2]|0)+352>>3]*+h[(c[q>>2]|0)+520>>3];h[m+8>>3]=+h[(c[q>>2]|0)+352>>3]*+h[(c[q>>2]|0)+520+8>>3];e=(c[(c[q>>2]|0)+360>>2]|0)!=0;c[l>>2]=0;if(e){while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;h[n>>3]=-(+h[(c[f>>2]|0)+(c[l>>2]<<4)+8>>3]+ +h[o+8>>3])*+h[m>>3];h[(c[g>>2]|0)+(c[l>>2]<<4)+8>>3]=(+h[(c[f>>2]|0)+(c[l>>2]<<4)>>3]+ +h[o>>3])*+h[m+8>>3];h[(c[g>>2]|0)+(c[l>>2]<<4)>>3]=+h[n>>3];c[l>>2]=(c[l>>2]|0)+1}q=c[g>>2]|0;i=p;return q|0}else{while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;h[(c[g>>2]|0)+(c[l>>2]<<4)>>3]=(+h[(c[f>>2]|0)+(c[l>>2]<<4)>>3]+ +h[o>>3])*+h[m>>3];h[(c[g>>2]|0)+(c[l>>2]<<4)+8>>3]=(+h[(c[f>>2]|0)+(c[l>>2]<<4)+8>>3]+ +h[o+8>>3])*+h[m+8>>3];c[l>>2]=(c[l>>2]|0)+1}q=c[g>>2]|0;i=p;return q|0}return 0}function iR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f;c[d>>2]=a;c[f+4>>2]=b;c[e>>2]=c[(c[d>>2]|0)+60>>2];if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+8>>2]|0)){i=f;return}Vb[c[(c[e>>2]|0)+8>>2]&127](c[d>>2]|0);i=f;return}function jR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+12>>2]|0)!=0:0)Vb[c[(c[d>>2]|0)+12>>2]&127](c[b>>2]|0);BF(c[b>>2]|0);i=e;return}function kR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+24>>2]|0)){i=e;return}Vb[c[(c[d>>2]|0)+24>>2]&127](c[b>>2]|0);i=e;return}function lR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+28>>2]|0)){i=e;return}Vb[c[(c[d>>2]|0)+28>>2]&127](c[b>>2]|0);i=e;return}function mR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+16>>2]|0)){i=e;return}nc[c[(c[d>>2]|0)+16>>2]&31](c[b>>2]|0,c[(c[(c[c[b>>2]>>2]|0)+308>>2]|0)+(c[(c[b>>2]|0)+160>>2]<<2)>>2]|0,c[(c[b>>2]|0)+160>>2]|0,c[(c[b>>2]|0)+156>>2]|0);i=e;return}function nR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+20>>2]|0)){i=e;return}Vb[c[(c[d>>2]|0)+20>>2]&127](c[b>>2]|0);i=e;return}function oR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f;c[d>>2]=a;c[f+4>>2]=b;c[e>>2]=c[(c[d>>2]|0)+60>>2];if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+32>>2]|0)){i=f;return}Vb[c[(c[e>>2]|0)+32>>2]&127](c[d>>2]|0);i=f;return}function pR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f;c[d>>2]=a;c[f+4>>2]=b;c[e>>2]=c[(c[d>>2]|0)+60>>2];if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+36>>2]|0)){i=f;return}Vb[c[(c[e>>2]|0)+36>>2]&127](c[d>>2]|0);i=f;return}function qR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+40>>2]|0)){i=e;return}Vb[c[(c[d>>2]|0)+40>>2]&127](c[b>>2]|0);i=e;return}function rR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+44>>2]|0)){i=e;return}Vb[c[(c[d>>2]|0)+44>>2]&127](c[b>>2]|0);i=e;return}function sR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+48>>2]|0)){i=e;return}Vb[c[(c[d>>2]|0)+48>>2]&127](c[b>>2]|0);i=e;return}function tR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+52>>2]|0)){i=e;return}Vb[c[(c[d>>2]|0)+52>>2]&127](c[b>>2]|0);i=e;return}function uR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f;c[d>>2]=a;c[f+4>>2]=b;c[e>>2]=c[(c[d>>2]|0)+60>>2];if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){i=f;return}Vb[c[(c[e>>2]|0)+56>>2]&127](c[d>>2]|0);i=f;return}function vR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+60>>2]|0)){i=e;return}Vb[c[(c[d>>2]|0)+60>>2]&127](c[b>>2]|0);i=e;return}function wR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f;c[d>>2]=a;c[f+4>>2]=b;c[e>>2]=c[(c[d>>2]|0)+60>>2];if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+64>>2]|0)){i=f;return}Vb[c[(c[e>>2]|0)+64>>2]&127](c[d>>2]|0);i=f;return}function xR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+68>>2]|0)){i=e;return}Vb[c[(c[d>>2]|0)+68>>2]&127](c[b>>2]|0);i=e;return}function yR(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,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[n>>2]|0)){i=o;return}if(!(c[(c[n>>2]|0)+72>>2]|0)){i=o;return}Ub[c[(c[n>>2]|0)+72>>2]&31](c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0);i=o;return}function zR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+76>>2]|0)){i=e;return}Vb[c[(c[d>>2]|0)+76>>2]&127](c[b>>2]|0);i=e;return}function AR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+60>>2];if(!(c[f>>2]|0)){i=g;return}if(!(c[(c[f>>2]|0)+80>>2]|0)){i=g;return}Xb[c[(c[f>>2]|0)+80>>2]&31](c[d>>2]|0,c[e>>2]|0);i=g;return}function BR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+60>>2];if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+84>>2]|0)){i=e;return}Vb[c[(c[d>>2]|0)+84>>2]&127](c[b>>2]|0);i=e;return}function CR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;if((i|0)>=(j|0))ba();l=n+32|0;f=n+56|0;g=n+52|0;m=n+48|0;k=n+16|0;h=n;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[(c[f>>2]|0)+60>>2];if(!(c[c[g>>2]>>2]|0)){i=n;return}if(!(a[c[c[g>>2]>>2]>>0]|0)){i=n;return}if((c[(c[f>>2]|0)+16>>2]|0)!=0?(c[(c[(c[f>>2]|0)+16>>2]|0)+144>>2]|0)==0:0){i=n;return}if(c[(c[f>>2]|0)+152>>2]&8192){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]}else{e=c[f>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];gR(h,e,l);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]}if(!(c[m>>2]|0)){i=n;return}if(!(c[(c[m>>2]|0)+88>>2]|0)){i=n;return}b=c[(c[m>>2]|0)+88>>2]|0;d=c[f>>2]|0;e=c[g>>2]|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];lc[b&127](d,l,e);i=n;return}function DR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;k=l+8|0;g=l+4|0;h=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[(c[e>>2]|0)+60>>2];c[g>>2]=(c[(c[e>>2]|0)+16>>2]|0)+16;c[h>>2]=0;d=l4(c[f>>2]|0,148978)|0;c[h>>2]=d;if(d)a[c[h>>2]>>0]=0;if((c[k>>2]|0)!=0?(PR(c[(c[e>>2]|0)+60+8>>2]|0,c[f>>2]|0,c[g>>2]|0),(c[(c[k>>2]|0)+92>>2]|0)!=0):0)Xb[c[(c[k>>2]|0)+92>>2]&31](c[e>>2]|0,c[g>>2]|0);if(!(c[h>>2]|0)){i=l;return}a[c[h>>2]>>0]=58;i=l;return}function ER(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;k=l+8|0;g=l+4|0;h=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[(c[e>>2]|0)+60>>2];c[g>>2]=(c[(c[e>>2]|0)+16>>2]|0)+56;c[h>>2]=0;d=l4(c[f>>2]|0,148978)|0;c[h>>2]=d;if(d)a[c[h>>2]>>0]=0;if((c[k>>2]|0)!=0?(PR(c[(c[e>>2]|0)+60+8>>2]|0,c[f>>2]|0,c[g>>2]|0),(c[(c[k>>2]|0)+92>>2]|0)!=0):0)Xb[c[(c[k>>2]|0)+92>>2]&31](c[e>>2]|0,c[g>>2]|0);if(!(c[h>>2]|0)){i=l;return}a[c[h>>2]>>0]=58;i=l;return}function FR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[f>>2]=a;c[h>>2]=b;c[k>>2]=d;g[l>>2]=e;c[n>>2]=c[(c[f>>2]|0)+60>>2];c[m>>2]=(c[(c[f>>2]|0)+16>>2]|0)+96;if((c[n>>2]|0)!=0?(PR(c[(c[f>>2]|0)+60+8>>2]|0,c[h>>2]|0,c[m>>2]|0),(c[(c[n>>2]|0)+92>>2]|0)!=0):0)Xb[c[(c[n>>2]|0)+92>>2]&31](c[f>>2]|0,c[m>>2]|0);c[(c[(c[f>>2]|0)+16>>2]|0)+136>>2]=c[k>>2];g[(c[(c[f>>2]|0)+16>>2]|0)+140>>2]=+g[l>>2];i=o;return}function GR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();l=n;p=n+24|0;e=n+20|0;o=n+16|0;g=n+12|0;f=n+8|0;k=n+4|0;c[p>>2]=b;c[e>>2]=d;c[o>>2]=c[(c[p>>2]|0)+60>>2];c[g>>2]=c[(c[p>>2]|0)+16>>2];c[(c[g>>2]|0)+160>>2]=c[e>>2];if(!((c[o>>2]|0)!=0&(c[e>>2]|0)!=0)){i=n;return}a:while(1){p=c[e>>2]|0;c[e>>2]=p+4;p=c[p>>2]|0;c[f>>2]=p;c[k>>2]=p;if(!p)break;if((a[c[f>>2]>>0]|0)==(a[148709]|0)?(a4(c[f>>2]|0,148709)|0)==0:0){c[(c[g>>2]|0)+144>>2]=3;continue}if((a[c[f>>2]>>0]|0)==(a[175463]|0)?(a4(c[f>>2]|0,175463)|0)==0:0){c[(c[g>>2]|0)+144>>2]=1;continue}if((a[c[f>>2]>>0]|0)==(a[175470]|0)?(a4(c[f>>2]|0,175470)|0)==0:0){c[(c[g>>2]|0)+144>>2]=2;continue}if(!((a[c[f>>2]>>0]|0)==(a[172018]|0)?(a4(c[f>>2]|0,172018)|0)==0:0))m=14;do if((m|0)==14){m=0;if((a[c[f>>2]>>0]|0)==(a[148715]|0)?(a4(c[f>>2]|0,148715)|0)==0:0)break;if((a[c[f>>2]>>0]|0)==(a[148725]|0)?(a4(c[f>>2]|0,148725)|0)==0:0){h[(c[g>>2]|0)+152>>3]=2.0;continue a}if((a[c[f>>2]>>0]|0)==(a[148730]|0)?(a4(c[f>>2]|0,148730)|0)==0:0){do{p=(a[c[k>>2]>>0]|0)!=0;c[k>>2]=(c[k>>2]|0)+1}while(p);q=+M3(c[k>>2]|0);h[(c[g>>2]|0)+152>>3]=q;continue a}if((a[c[f>>2]>>0]|0)==(a[148743]|0)?(a4(c[f>>2]|0,148743)|0)==0:0){c[(c[g>>2]|0)+148>>2]=1;continue a}if((a[c[f>>2]>>0]|0)==(a[148750]|0)?(a4(c[f>>2]|0,148750)|0)==0:0){c[(c[g>>2]|0)+148>>2]=0;continue a}if((a[c[f>>2]>>0]|0)==(a[148759]|0)?(a4(c[f>>2]|0,148759)|0)==0:0)continue a;c[l>>2]=c[f>>2];pA(0,148767,l)|0;continue a}while(0);c[(c[g>>2]|0)+144>>2]=0}i=n;return}function HR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;if((i|0)>=(j|0))ba();f=n+48|0;g=n+44|0;k=n+36|0;m=n+32|0;l=n;c[f>>2]=a;c[g>>2]=b;c[n+40>>2]=d;c[k>>2]=e;c[m>>2]=c[(c[f>>2]|0)+60>>2];if(!(c[m>>2]|0)){i=n;return}if(!(c[(c[m>>2]|0)+96>>2]|0)){i=n;return}if(!(c[(c[(c[f>>2]|0)+16>>2]|0)+144>>2]|0)){i=n;return}h[l>>3]=(+h[c[g>>2]>>3]+ +h[(c[g>>2]|0)+16>>3])/2.0;h[l+8>>3]=(+h[(c[g>>2]|0)+8>>3]+ +h[(c[g>>2]|0)+16+8>>3])/2.0;b=l+16|0;d=(c[g>>2]|0)+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];if(!(c[(c[f>>2]|0)+152>>2]&8192))hR(c[f>>2]|0,l,l,2)|0;lc[c[(c[m>>2]|0)+96>>2]&127](c[f>>2]|0,l,c[k>>2]|0);i=n;return}function IR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();f=o+60|0;g=o+56|0;h=o+52|0;k=o+48|0;m=o+44|0;n=o;l=o+40|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[m>>2]=0;c[l>>2]=c[(c[f>>2]|0)+60>>2];if(!(c[l>>2]|0)){i=o;return}if(!(c[(c[l>>2]|0)+100>>2]|0)){i=o;return}if(!(c[(c[(c[f>>2]|0)+16>>2]|0)+144>>2]|0)){i=o;return}if(c[k>>2]&4){c[m>>2]=1;c[k>>2]=c[k>>2]&-5;a=n;e=(c[(c[f>>2]|0)+16>>2]|0)+16|0;b=a+40|0;do{c[a>>2]=c[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(b|0));a=(c[(c[f>>2]|0)+16>>2]|0)+16|0;e=(c[(c[f>>2]|0)+16>>2]|0)+56|0;b=a+40|0;do{c[a>>2]=c[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(b|0))}if(c[(c[f>>2]|0)+152>>2]&8192)nc[c[(c[l>>2]|0)+100>>2]&31](c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);else{if((c[15307]|0)<(c[h>>2]|0)){c[15307]=(c[h>>2]|0)+10;c[15308]=tK(c[15308]|0,c[15307]<<4)|0}hR(c[f>>2]|0,c[g>>2]|0,c[15308]|0,c[h>>2]|0)|0;nc[c[(c[l>>2]|0)+100>>2]&31](c[f>>2]|0,c[15308]|0,c[h>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){i=o;return}a=(c[(c[f>>2]|0)+16>>2]|0)+16|0;e=n;b=a+40|0;do{c[a>>2]=c[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(b|0));i=o;return}function JR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;e=i;i=i+80|0;if((i|0)>=(j|0))ba();k=e+68|0;f=e+64|0;g=e;c[k>>2]=a;c[f>>2]=d;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];a=g+32|0;d=b+16|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];h[g+16>>3]=+h[g>>3];h[g+16+8>>3]=+h[g+32+8>>3];h[g+48>>3]=+h[g+32>>3];h[g+48+8>>3]=+h[g+8>>3];IR(c[k>>2]|0,g,4,c[f>>2]|0);i=e;return}function KR(b,e,f,g,h,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;if((i|0)>=(j|0))ba();l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s+24|0;r=s;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=k;c[r>>2]=c[(c[l>>2]|0)+60>>2];if(!(c[r>>2]|0)){i=s;return}if(!(c[(c[r>>2]|0)+104>>2]|0)){i=s;return}if(!(c[(c[(c[l>>2]|0)+16>>2]|0)+144>>2]|0)){i=s;return}if(c[(c[l>>2]|0)+152>>2]&8192){ac[c[(c[r>>2]|0)+104>>2]&15](c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,d[q>>0]|0);i=s;return}if((c[15307]|0)<(c[n>>2]|0)){c[15307]=(c[n>>2]|0)+10;c[15308]=tK(c[15308]|0,c[15307]<<4)|0}hR(c[l>>2]|0,c[m>>2]|0,c[15308]|0,c[n>>2]|0)|0;ac[c[(c[r>>2]|0)+104>>2]&15](c[l>>2]|0,c[15308]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,d[q>>0]|0);i=s;return}function LR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+60>>2];if(!(c[h>>2]|0)){i=k;return}if(!(c[(c[h>>2]|0)+108>>2]|0)){i=k;return}if(!(c[(c[(c[e>>2]|0)+16>>2]|0)+144>>2]|0)){i=k;return}if(c[(c[e>>2]|0)+152>>2]&8192){lc[c[(c[h>>2]|0)+108>>2]&127](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=k;return}if((c[15307]|0)<(c[g>>2]|0)){c[15307]=(c[g>>2]|0)+10;c[15308]=tK(c[15308]|0,c[15307]<<4)|0}hR(c[e>>2]|0,c[f>>2]|0,c[15308]|0,c[g>>2]|0)|0;lc[c[(c[h>>2]|0)+108>>2]&127](c[e>>2]|0,c[15308]|0,c[g>>2]|0);i=k;return}function MR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+60>>2];if(!(c[f>>2]|0)){i=h;return}if(!((c[g>>2]|0)!=0?(a[c[f>>2]>>0]|0)!=0:0)){i=h;return}if(!(c[(c[g>>2]|0)+112>>2]|0)){i=h;return}Xb[c[(c[g>>2]|0)+112>>2]&31](c[e>>2]|0,c[f>>2]|0);i=h;return}function NR(b,e,f,g,k,l){b=b|0;e=e|0;f=f|0;g=g|0;k=k|0;l=l|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,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=i;i=i+224|0;if((i|0)>=(j|0))ba();x=K+128|0;p=K+204|0;n=K+200|0;q=K+196|0;r=K+192|0;s=K+208|0;t=K+188|0;A=K+184|0;J=K+180|0;E=K+120|0;C=K+112|0;G=K+104|0;F=K+96|0;H=K+88|0;I=K+80|0;w=K+48|0;B=K+176|0;D=K+168|0;o=K+160|0;u=K+32|0;v=K+16|0;y=K+8|0;z=K;c[p>>2]=b;c[n>>2]=e;c[q>>2]=f;c[r>>2]=g;a[s>>0]=k;c[t>>2]=l;c[A>>2]=c[(c[p>>2]|0)+60>>2];if(!(c[p>>2]|0))db(148924,148820,698,148831);if(!(c[n>>2]|0))db(148850,148820,699,148831);if(!(a[c[n>>2]>>0]|0))db(148855,148820,700,148831);e=QF(c[n>>2]|0)|0;c[J>>2]=e;if(!e){J=(uM(c[n>>2]|0)|0)!=0;if(!(J&(c[A>>2]|0)!=0)){i=K;return}if(!(c[(c[A>>2]|0)+116>>2]|0)){i=K;return}Ub[c[(c[A>>2]|0)+116>>2]&31](c[p>>2]|0,c[n>>2]|0,c[q>>2]|0,c[r>>2]|0,d[s>>0]|0);i=K;return}e=c[J>>2]|0;g=(c[p>>2]|0)+432|0;c[x>>2]=c[g>>2];c[x+4>>2]=c[g+4>>2];c[x+8>>2]=c[g+8>>2];c[x+12>>2]=c[g+12>>2];TF(o,e,x);c[D>>2]=c[o>>2];c[D+4>>2]=c[o+4>>2];if((c[D>>2]|0)<=0?(c[D+4>>2]|0)<=0:0){i=K;return}e=w+16|0;g=c[q>>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[w>>2]=c[e>>2];c[w+4>>2]=c[e+4>>2];c[w+8>>2]=c[e+8>>2];c[w+12>>2]=c[e+12>>2];c[B>>2]=1;while(1){if((c[B>>2]|0)>=(c[r>>2]|0))break;if(+h[w>>3]<+h[(c[q>>2]|0)+(c[B>>2]<<4)>>3])m=+h[w>>3];else m=+h[(c[q>>2]|0)+(c[B>>2]<<4)>>3];h[w>>3]=m;if(+h[w+8>>3]<+h[(c[q>>2]|0)+(c[B>>2]<<4)+8>>3])m=+h[w+8>>3];else m=+h[(c[q>>2]|0)+(c[B>>2]<<4)+8>>3];h[w+8>>3]=m;if(+h[w+16>>3]>+h[(c[q>>2]|0)+(c[B>>2]<<4)>>3])m=+h[w+16>>3];else m=+h[(c[q>>2]|0)+(c[B>>2]<<4)>>3];h[w+16>>3]=m;if(+h[w+16+8>>3]>+h[(c[q>>2]|0)+(c[B>>2]<<4)+8>>3])m=+h[w+16+8>>3];else m=+h[(c[q>>2]|0)+(c[B>>2]<<4)+8>>3];h[w+16+8>>3]=m;c[B>>2]=(c[B>>2]|0)+1}h[G>>3]=+h[w+16>>3]-+h[w>>3];h[F>>3]=+h[w+16+8>>3]-+h[w+8>>3];h[C>>3]=+(c[D+4>>2]|0);h[E>>3]=+(c[D>>2]|0);h[H>>3]=+h[G>>3]/+h[E>>3];h[I>>3]=+h[F>>3]/+h[C>>3];a:do switch(QR(c[t>>2]|0)|0){case 1:if(+h[H>>3]<+h[I>>3]){h[E>>3]=+h[E>>3]*+h[H>>3];h[C>>3]=+h[C>>3]*+h[H>>3];break a}else{h[E>>3]=+h[E>>3]*+h[I>>3];h[C>>3]=+h[C>>3]*+h[I>>3];break a}case 2:{h[E>>3]=+h[E>>3]*+h[H>>3];break}case 3:{h[C>>3]=+h[C>>3]*+h[I>>3];break}case 4:{h[E>>3]=+h[E>>3]*+h[H>>3];h[C>>3]=+h[C>>3]*+h[I>>3];break}default:{}}while(0);if(+h[E>>3]<+h[G>>3]){h[w>>3]=+h[w>>3]+(+h[G>>3]-+h[E>>3])/2.0;I=w+16|0;h[I>>3]=+h[I>>3]-(+h[G>>3]-+h[E>>3])/2.0}if(+h[C>>3]<+h[F>>3]){I=w+8|0;h[I>>3]=+h[I>>3]+(+h[F>>3]-+h[C>>3])/2.0;I=w+16+8|0;h[I>>3]=+h[I>>3]-(+h[F>>3]-+h[C>>3])/2.0}if(!(c[(c[p>>2]|0)+152>>2]&8192)){I=c[p>>2]|0;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];gR(u,I,x);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];I=w+16|0;H=c[p>>2]|0;G=w+16|0;c[x>>2]=c[G>>2];c[x+4>>2]=c[G+4>>2];c[x+8>>2]=c[G+8>>2];c[x+12>>2]=c[G+12>>2];gR(v,H,x);c[I>>2]=c[v>>2];c[I+4>>2]=c[v+4>>2];c[I+8>>2]=c[v+8>>2];c[I+12>>2]=c[v+12>>2]}if(+h[w>>3]>+h[w+16>>3]){h[y>>3]=+h[w>>3];h[w>>3]=+h[w+16>>3];h[w+16>>3]=+h[y>>3]}if(+h[w+8>>3]>+h[w+16+8>>3]){h[z>>3]=+h[w+8>>3];h[w+8>>3]=+h[w+16+8>>3];h[w+16+8>>3]=+h[z>>3]}if(!(c[A>>2]|0)){i=K;return}G=c[p>>2]|0;H=c[J>>2]|0;I=a[s>>0]|0;J=c[(c[p>>2]|0)+60+12>>2]|0;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];c[x+16>>2]=c[w+16>>2];c[x+20>>2]=c[w+20>>2];c[x+24>>2]=c[w+24>>2];c[x+28>>2]=c[w+28>>2];SR(G,H,x,I,J);i=K;return}function OR(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+12|0;e=f;g=f+8|0;c[d>>2]=a;h[e>>3]=b;c[g>>2]=c[(c[d>>2]|0)+60>>2];if(!(c[g>>2]|0)){i=f;return}h[(c[(c[d>>2]|0)+16>>2]|0)+152>>3]=+h[e>>3];i=f;return}function PR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();o=p+16|0;n=p+8|0;m=p;e=p+40|0;f=p+36|0;g=p+32|0;l=p+28|0;k=p+24|0;h=p+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[c[g>>2]>>2]=c[f>>2];c[(c[g>>2]|0)+32>>2]=5;c[l>>2]=qT(c[f>>2]|0)|0;if((c[(c[e>>2]|0)+16>>2]|0)!=0?(O3(l,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0,4,102)|0)!=0:0){i=p;return}c[k>>2]=rT(c[f>>2]|0,c[g>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;if(!(c[k>>2]|0)){i=p;return}if((c[k>>2]|0)!=1){pA(1,148903,o)|0;i=p;return}c[h>>2]=rK((e4(c[f>>2]|0)|0)+16|0)|0;o=c[h>>2]|0;c[m>>2]=c[f>>2];D3(o,148868,m)|0;if(VH(c[h>>2]|0)|0){c[n>>2]=c[f>>2];pA(0,148877,n)|0}B1(c[h>>2]|0);i=p;return}function QR(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[e>>2]=b;do if(a[c[e>>2]>>0]|0){if(!(Y3(c[e>>2]|0,179205)|0)){c[d>>2]=2;break}if(!(Y3(c[e>>2]|0,179137)|0)){c[d>>2]=3;break}if(!(Y3(c[e>>2]|0,148863)|0)){c[d>>2]=4;break}if((zO(c[e>>2]|0)|0)<<24>>24){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=f;return c[d>>2]|0}function RR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=a4(c[c[f>>2]>>2]|0,c[c[e>>2]>>2]|0)|0;i=d;return b|0}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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+192|0;if((i|0)>=(j|0))ba();n=r+8|0;q=r;h=r+52|0;k=r+48|0;l=r+184|0;m=r+44|0;o=r+40|0;p=r+56|0;c[h>>2]=b;c[k>>2]=d;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0))db(148924,148928,54,148942);if(!(c[k>>2]|0))db(148954,148928,55,148942);if(!(c[(c[k>>2]|0)+8>>2]|0))db(148957,148928,56,148942);if(!(a[c[(c[k>>2]|0)+8>>2]>>0]|0))db(148966,148928,57,148942);b4(p,c[(c[k>>2]|0)+28>>2]|0)|0;Z3(p,148978)|0;Z3(p,c[m>>2]|0)|0;if((TR(c[h>>2]|0,p)|0)==999){c[q>>2]=p;pA(0,148980,q)|0}q=c[(c[h>>2]|0)+92>>2]|0;c[o>>2]=q;if(!q){i=r;return}if(!(c[c[o>>2]>>2]|0)){i=r;return}g=c[c[o>>2]>>2]|0;p=c[h>>2]|0;d=c[k>>2]|0;q=a[l>>0]|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[n+16>>2]=c[e+16>>2];c[n+20>>2]=c[e+20>>2];c[n+24>>2]=c[e+24>>2];c[n+28>>2]=c[e+28>>2];nc[g&31](p,d,n,q);i=r;return}function TR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();d=h+16|0;e=h+12|0;k=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[k>>2]=b;c[f>>2]=NF(c[c[e>>2]>>2]|0,4,c[k>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[(c[f>>2]|0)+16>>2];c[(c[e>>2]|0)+92>>2]=c[(c[g>>2]|0)+12>>2];c[(c[e>>2]|0)+92+4>>2]=c[c[g>>2]>>2];c[d>>2]=300;k=c[d>>2]|0;i=h;return k|0}else{c[d>>2]=999;k=c[d>>2]|0;i=h;return k|0}return 0}function UR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=qK(392)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=61236;c[(c[f>>2]|0)+16>>2]=22;c[(c[f>>2]|0)+32>>2]=c[d>>2];c[(c[f>>2]|0)+36>>2]=c[e>>2];f=c[f>>2]|0;i=g;return f|0}function VR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;do if(c[(c[d>>2]|0)+160>>2]|0){if(!(c[15312]|0)){c[15312]=c[(c[d>>2]|0)+160>>2];break}if(!(c[(c[15312]|0)+4>>2]|0)){b=qK(632)|0;c[(c[15312]|0)+4>>2]=b}c[15312]=c[(c[15312]|0)+4>>2]}else{b=qK(632)|0;c[(c[d>>2]|0)+160>>2]=b;c[(c[d>>2]|0)+164>>2]=b;c[15312]=b}while(0);c[(c[15312]|0)+32>>2]=c[e>>2];c[c[15312]>>2]=c[d>>2];i=f;return}function WR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;do if(c[(c[f>>2]|0)+160>>2]|0){if(!(c[15313]|0)){c[15313]=c[(c[f>>2]|0)+160>>2];break}if(!(c[(c[15313]|0)+4>>2]|0)){d=qK(632)|0;c[(c[15313]|0)+4>>2]=d}c[15313]=c[(c[15313]|0)+4>>2]}else{d=qK(632)|0;c[(c[f>>2]|0)+160>>2]=d;c[(c[f>>2]|0)+164>>2]=d;c[15313]=d}while(0);c[(c[15313]|0)+52>>2]=c[g>>2];c[c[15313]>>2]=c[f>>2];if(NF(c[f>>2]|0,3,c[g>>2]|0)|0){a[e>>0]=1;d=a[e>>0]|0;i=h;return d|0}else{a[e>>0]=0;d=a[e>>0]|0;i=h;return d|0}return 0}function XR(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=c[(c[d>>2]|0)+160>>2]|0;c[(c[d>>2]|0)+164>>2]=a;i=b;return a|0}function YR(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[(c[b>>2]|0)+164>>2]|0)+4>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+52>>2]|0)==0:0)c[(c[d>>2]|0)+52>>2]=c[(c[(c[b>>2]|0)+164>>2]|0)+52>>2];d=c[d>>2]|0;c[(c[b>>2]|0)+164>>2]=d;i=e;return d|0}function ZR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0)){c[(c[e>>2]|0)+8>>2]=(c[f>>2]|0)+10;a=tK(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]<<2)|0;c[c[e>>2]>>2]=a}c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<2)>>2]=c[g>>2];i=h;return}function _R(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(c[c[b>>2]>>2]|0)B1(c[c[b>>2]>>2]|0);c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+4>>2]=0;i=d;return}function $R(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+160>>2];while(1){a=c[e>>2]|0;c[d>>2]=a;if(!a)break;c[e>>2]=c[(c[e>>2]|0)+4>>2];_R((c[d>>2]|0)+604|0);_R((c[d>>2]|0)+592|0);if(c[(c[d>>2]|0)+584>>2]|0)B1(c[(c[d>>2]|0)+584>>2]|0);if(c[(c[d>>2]|0)+588>>2]|0)B1(c[(c[d>>2]|0)+588>>2]|0);B1(c[d>>2]|0)}c[15313]=0;c[15312]=0;c[(c[b>>2]|0)+192>>2]=0;c[(c[b>>2]|0)+164>>2]=0;c[(c[b>>2]|0)+160>>2]=0;c[(c[b>>2]|0)+28>>2]=0;i=f;return}function aS(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;i=b;return 1}function bS(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=b;a[(c[e>>2]|0)+536>>0]=0;b=(c[e>>2]|0)+336|0;h[b>>3]=+h[b>>3]+10.0/+h[(c[e>>2]|0)+352>>3];a[(c[e>>2]|0)+537>>0]=1;i=d;return 0}function cS(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=b;a[(c[e>>2]|0)+536>>0]=0;b=(c[e>>2]|0)+336|0;h[b>>3]=+h[b>>3]-10.0/+h[(c[e>>2]|0)+352>>3];a[(c[e>>2]|0)+537>>0]=1;i=d;return 0}function dS(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=b;a[(c[e>>2]|0)+536>>0]=0;b=(c[e>>2]|0)+336+8|0;h[b>>3]=+h[b>>3]+-(10.0/+h[(c[e>>2]|0)+352>>3]);a[(c[e>>2]|0)+537>>0]=1;i=d;return 0}function eS(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=b;a[(c[e>>2]|0)+536>>0]=0;b=(c[e>>2]|0)+336+8|0;h[b>>3]=+h[b>>3]+10.0/+h[(c[e>>2]|0)+352>>3];a[(c[e>>2]|0)+537>>0]=1;i=d;return 0}function fS(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=b;a[(c[e>>2]|0)+536>>0]=0;b=(c[e>>2]|0)+352|0;h[b>>3]=+h[b>>3]*1.1;a[(c[e>>2]|0)+537>>0]=1;i=d;return 0}function gS(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=b;a[(c[e>>2]|0)+536>>0]=0;b=(c[e>>2]|0)+352|0;h[b>>3]=+h[b>>3]/1.1;a[(c[e>>2]|0)+537>>0]=1;i=d;return 0}function hS(b){b=b|0;var d=0.0,e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();g=k+8|0;f=k+4|0;e=k;c[g>>2]=b;a[(c[g>>2]|0)+536>>0]=((a[(c[g>>2]|0)+536>>0]|0)!=0^1)&1;if(!(a[(c[g>>2]|0)+536>>0]|0)){i=k;return 0}c[f>>2]=c[(c[g>>2]|0)+448>>2];c[e>>2]=c[(c[g>>2]|0)+452>>2];b=c[g>>2]|0;if(+((c[(c[g>>2]|0)+448>>2]|0)>>>0)/+(c[f>>2]|0)<+((c[(c[g>>2]|0)+452>>2]|0)>>>0)/+(c[e>>2]|0))d=+((c[b+448>>2]|0)>>>0)/+(c[f>>2]|0);else d=+((c[b+452>>2]|0)>>>0)/+(c[e>>2]|0);h[(c[g>>2]|0)+352>>3]=d;h[(c[g>>2]|0)+336>>3]=0.0;h[(c[g>>2]|0)+336+8>>3]=0.0;a[(c[g>>2]|0)+537>>0]=1;i=k;return 0}function iS(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[c[e>>2]>>2]|0)+168>>2];if(!(c[(c[e>>2]|0)+580>>2]|0)){c[(c[e>>2]|0)+580>>2]=c[f>>2];b=(c[(c[f>>2]|0)+8>>2]|0)+112|0;a[b>>0]=d[b>>0]|0|2;yS(c[e>>2]|0,c[f>>2]|0)}UH(c[e>>2]|0,c[f>>2]|0);a[(c[e>>2]|0)+540>>0]=1;i=g;return}function jS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l;f=l+20|0;g=l+16|0;c[f>>2]=b;c[g>>2]=d;switch(c[g>>2]|0){case 1:{b=c[f>>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];rS(b,k);xS(c[f>>2]|0);a[(c[f>>2]|0)+538>>0]=1;a[(c[f>>2]|0)+541>>0]=c[g>>2];a[(c[f>>2]|0)+537>>0]=1;k=c[f>>2]|0;k=k+560|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];i=l;return}case 2:{a[(c[f>>2]|0)+538>>0]=1;a[(c[f>>2]|0)+541>>0]=c[g>>2];a[(c[f>>2]|0)+537>>0]=1;k=c[f>>2]|0;k=k+560|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];i=l;return}case 3:{b=c[f>>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];rS(b,k);a[(c[f>>2]|0)+538>>0]=1;a[(c[f>>2]|0)+541>>0]=c[g>>2];a[(c[f>>2]|0)+537>>0]=1;k=c[f>>2]|0;k=k+560|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];i=l;return}case 4:{a[(c[f>>2]|0)+536>>0]=0;if(c[(c[f>>2]|0)+360>>2]|0){k=(c[f>>2]|0)+336|0;h[k>>3]=+h[k>>3]-(+h[e+8>>3]-+((c[(c[f>>2]|0)+452>>2]|0)>>>0)/2.0)*.10000000000000009/(+h[(c[f>>2]|0)+352>>3]*+h[(c[f>>2]|0)+520+8>>3]);k=(c[f>>2]|0)+336+8|0;h[k>>3]=+h[k>>3]+(+h[e>>3]-+((c[(c[f>>2]|0)+448>>2]|0)>>>0)/2.0)*.10000000000000009/(+h[(c[f>>2]|0)+352>>3]*+h[(c[f>>2]|0)+520>>3])}else{k=(c[f>>2]|0)+336|0;h[k>>3]=+h[k>>3]+(+h[e>>3]-+((c[(c[f>>2]|0)+448>>2]|0)>>>0)/2.0)*.10000000000000009/(+h[(c[f>>2]|0)+352>>3]*+h[(c[f>>2]|0)+520>>3]);k=(c[f>>2]|0)+336+8|0;h[k>>3]=+h[k>>3]+(+h[e+8>>3]-+((c[(c[f>>2]|0)+452>>2]|0)>>>0)/2.0)*.10000000000000009/(+h[(c[f>>2]|0)+352>>3]*+h[(c[f>>2]|0)+520+8>>3])}k=(c[f>>2]|0)+352|0;h[k>>3]=+h[k>>3]*1.1;a[(c[f>>2]|0)+537>>0]=1;k=c[f>>2]|0;k=k+560|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];i=l;return}case 5:{a[(c[f>>2]|0)+536>>0]=0;k=(c[f>>2]|0)+352|0;h[k>>3]=+h[k>>3]/1.1;if(c[(c[f>>2]|0)+360>>2]|0){k=(c[f>>2]|0)+336|0;h[k>>3]=+h[k>>3]+(+h[e+8>>3]-+((c[(c[f>>2]|0)+452>>2]|0)>>>0)/2.0)*.10000000000000009/(+h[(c[f>>2]|0)+352>>3]*+h[(c[f>>2]|0)+520+8>>3]);k=(c[f>>2]|0)+336+8|0;h[k>>3]=+h[k>>3]-(+h[e>>3]-+((c[(c[f>>2]|0)+448>>2]|0)>>>0)/2.0)*.10000000000000009/(+h[(c[f>>2]|0)+352>>3]*+h[(c[f>>2]|0)+520>>3])}else{k=(c[f>>2]|0)+336|0;h[k>>3]=+h[k>>3]-(+h[e>>3]-+((c[(c[f>>2]|0)+448>>2]|0)>>>0)/2.0)*.10000000000000009/(+h[(c[f>>2]|0)+352>>3]*+h[(c[f>>2]|0)+520>>3]);k=(c[f>>2]|0)+336+8|0;h[k>>3]=+h[k>>3]-(+h[e+8>>3]-+((c[(c[f>>2]|0)+452>>2]|0)>>>0)/2.0)*.10000000000000009/(+h[(c[f>>2]|0)+352>>3]*+h[(c[f>>2]|0)+520+8>>3])}a[(c[f>>2]|0)+537>>0]=1;k=c[f>>2]|0;k=k+560|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];i=l;return}default:{k=c[f>>2]|0;k=k+560|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];i=l;return}}}function kS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+538>>0]=0;a[(c[f>>2]|0)+541>>0]=0;i=e;return}function lS(b,e){b=b|0;e=e|0;var f=0,g=0,k=0,l=0,m=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m+16|0;f=m+32|0;g=m+8|0;k=m;c[f>>2]=b;h[g>>3]=(+h[e>>3]-+h[(c[f>>2]|0)+560>>3])/+h[(c[f>>2]|0)+520>>3];h[k>>3]=(+h[e+8>>3]-+h[(c[f>>2]|0)+560+8>>3])/+h[(c[f>>2]|0)+520+8>>3];if(+(N(~~+h[g>>3]|0)|0)<.0001?+(N(~~+h[k>>3]|0)|0)<.0001:0){i=m;return}switch(d[(c[f>>2]|0)+541>>0]|0|0){case 0:{b=c[f>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[l+12>>2]=c[e+12>>2];rS(b,l);break}case 2:{if(c[(c[f>>2]|0)+360>>2]|0){l=(c[f>>2]|0)+336|0;h[l>>3]=+h[l>>3]-+h[k>>3]/+h[(c[f>>2]|0)+352>>3];l=(c[f>>2]|0)+336+8|0;h[l>>3]=+h[l>>3]+ +h[g>>3]/+h[(c[f>>2]|0)+352>>3]}else{l=(c[f>>2]|0)+336|0;h[l>>3]=+h[l>>3]-+h[g>>3]/+h[(c[f>>2]|0)+352>>3];l=(c[f>>2]|0)+336+8|0;h[l>>3]=+h[l>>3]-+h[k>>3]/+h[(c[f>>2]|0)+352>>3]}a[(c[f>>2]|0)+537>>0]=1;break}default:{}}l=(c[f>>2]|0)+560|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[l+12>>2]=c[e+12>>2];i=m;return}function mS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;i=e;return}function nS(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;i=b;return}function oS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();k=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;o=p;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=0;c[n>>2]=c[c[f>>2]>>2];do if(c[g>>2]|0){c[l>>2]=o3(c[g>>2]|0,176606)|0;if(c[l>>2]|0){c[m>>2]=rE(c[l>>2]|0,0)|0;i3(c[l>>2]|0)|0;break}else{i=p;return}}else{c[k>>2]=c[13065];c[m>>2]=wB(149124,k,0)|0;c[(c[f>>2]|0)+32>>2]=149126}while(0);if(!(c[m>>2]|0)){i=p;return}if(c[(c[n>>2]|0)+168>>2]|0){c[o>>2]=c[(c[n>>2]|0)+172>>2];if((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+4>>2]|0)!=0:0)Vb[c[(c[o>>2]|0)+4>>2]&127](c[(c[n>>2]|0)+168>>2]|0);$J(c[(c[n>>2]|0)+168>>2]|0);zB(c[(c[n>>2]|0)+168>>2]|0)|0}cD(c[m>>2]|0,0,175129,280,1);cD(c[m>>2]|0,1,175106,304,1);cD(c[m>>2]|0,2,175399,176,1);c[(c[n>>2]|0)+168>>2]=c[m>>2];c[(c[(c[m>>2]|0)+8>>2]|0)+144>>2]=c[n>>2];if((pG(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0)==-1){i=p;return}c[(c[f>>2]|0)+580>>2]=0;c[(c[f>>2]|0)+576>>2]=0;a[(c[f>>2]|0)+537>>0]=1;i=p;return}function pS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;pG(c[c[f>>2]>>2]|0,c[(c[c[f>>2]>>2]|0)+168>>2]|0,c[e>>2]|0)|0;i=d;return}function qS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;qG(c[c[h>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+168>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function rS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+112|0;if((i|0)>=(j|0))ba();k=g+72|0;e=g+108|0;f=g+104|0;l=g+40|0;m=g+32|0;n=g+16|0;o=g;c[e>>2]=b;b=c[e>>2]|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];sS(o,b,k);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];h[m>>3]=1.0/+h[(c[e>>2]|0)+352>>3];h[l+16>>3]=+h[n>>3]+ +h[m>>3];h[l+16+8>>3]=+h[n+8>>3]+ +h[m>>3];h[l>>3]=+h[n>>3]-+h[m>>3];h[l+8>>3]=+h[n+8>>3]-+h[m>>3];d=c[(c[c[e>>2]>>2]|0)+168>>2]|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];c[k+16>>2]=c[l+16>>2];c[k+20>>2]=c[l+20>>2];c[k+24>>2]=c[l+24>>2];c[k+28>>2]=c[l+28>>2];c[f>>2]=tS(d,k)|0;if((c[f>>2]|0)==(c[(c[e>>2]|0)+576>>2]|0)){i=g;return}uS(c[e>>2]|0);c[(c[e>>2]|0)+576>>2]=c[f>>2];vS(c[e>>2]|0);a[(c[e>>2]|0)+537>>0]=1;i=g;return}function sS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();e=g+16|0;f=g;c[e>>2]=b;if(c[(c[e>>2]|0)+360>>2]|0){h[f>>3]=+h[d+8>>3]/(+h[(c[e>>2]|0)+352>>3]*+h[(c[e>>2]|0)+520+8>>3])-+h[(c[e>>2]|0)+504>>3];h[f+8>>3]=-+h[d>>3]/(+h[(c[e>>2]|0)+352>>3]*+h[(c[e>>2]|0)+520>>3])-+h[(c[e>>2]|0)+504+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=g;return}else{h[f>>3]=+h[d>>3]/(+h[(c[e>>2]|0)+352>>3]*+h[(c[e>>2]|0)+520>>3])-+h[(c[e>>2]|0)+504>>3];h[f+8>>3]=+h[d+8>>3]/(+h[(c[e>>2]|0)+352>>3]*+h[(c[e>>2]|0)+520+8>>3])-+h[(c[e>>2]|0)+504+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=g;return}}function tS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+64|0;if((i|0)>=(j|0))ba();f=m;d=m+48|0;e=m+44|0;k=m+40|0;h=m+36|0;g=m+32|0;c[e>>2]=a;c[h>>2]=pC(c[e>>2]|0)|0;a:while(1){a=c[e>>2]|0;if(!(c[h>>2]|0))break;c[g>>2]=cB(a,c[h>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;a=c[g>>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[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((bP(a,f)|0)<<24>>24){l=6;break a}c[g>>2]=eB(c[e>>2]|0,c[g>>2]|0)|0}c[h>>2]=qC(c[e>>2]|0,c[h>>2]|0)|0}if((l|0)==6){c[d>>2]=c[g>>2];l=c[d>>2]|0;i=m;return l|0}c[h>>2]=rC(a)|0;while(1){if(!(c[h>>2]|0))break;g=c[h>>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[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if(($O(g,f)|0)<<24>>24){l=12;break}c[h>>2]=sC(c[e>>2]|0,c[h>>2]|0)|0}if((l|0)==12){c[d>>2]=c[h>>2];l=c[d>>2]|0;i=m;return l|0}l=c[e>>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[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];c[k>>2]=wS(l,f)|0;if(c[k>>2]|0){c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}else{c[d>>2]=c[e>>2];l=c[d>>2]|0;i=m;return l|0}return 0}function uS(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+576>>2];a:do if(c[f>>2]|0)switch(RC(c[f>>2]|0)|0){case 0:{f=(c[(c[f>>2]|0)+8>>2]|0)+112|0;a[f>>0]=(d[f>>0]|0)&-2;break a}case 1:{f=(c[(c[f>>2]|0)+8>>2]|0)+117|0;a[f>>0]=(d[f>>0]|0)&-2;break a}case 2:{f=(c[(c[f>>2]|0)+8>>2]|0)+115|0;a[f>>0]=(d[f>>0]|0)&-2;break a}default:break a}while(0);c[(c[e>>2]|0)+584>>2]=0;i=g;return}function vS(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;l=m+16|0;h=m+12|0;g=m+8|0;k=m+4|0;f=m;c[e>>2]=b;if(c[(c[e>>2]|0)+584>>2]|0){B1(c[(c[e>>2]|0)+584>>2]|0);c[(c[e>>2]|0)+584>>2]=0}c[l>>2]=c[(c[e>>2]|0)+576>>2];if(!(c[l>>2]|0)){i=m;return}switch(RC(c[l>>2]|0)|0){case 0:{c[h>>2]=c[l>>2];k=(c[(c[h>>2]|0)+8>>2]|0)+112|0;a[k>>0]=d[k>>0]|0|1;c[f>>2]=GA(c[h>>2]|0,0,c[15352]|0,0)|0;if(!(c[f>>2]|0)){i=m;return}l=jK(PA(c[h>>2]|0,c[f>>2]|0)|0,c[l>>2]|0)|0;c[(c[e>>2]|0)+584>>2]=l;i=m;return}case 1:{c[k>>2]=c[l>>2];b=(c[(c[k>>2]|0)+8>>2]|0)+117|0;a[b>>0]=d[b>>0]|0|1;c[f>>2]=GA(GC(c[k>>2]|0)|0,1,c[15352]|0,0)|0;if(!(c[f>>2]|0)){i=m;return}l=jK(PA(c[k>>2]|0,c[f>>2]|0)|0,c[l>>2]|0)|0;c[(c[e>>2]|0)+584>>2]=l;i=m;return}case 2:{c[g>>2]=c[l>>2];k=(c[(c[g>>2]|0)+8>>2]|0)+115|0;a[k>>0]=d[k>>0]|0|1;k=c[g>>2]|0;c[f>>2]=GA(GC(c[((c[c[g>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)|0,2,c[15352]|0,0)|0;if(!(c[f>>2]|0)){i=m;return}l=jK(PA(c[g>>2]|0,c[f>>2]|0)|0,c[l>>2]|0)|0;c[(c[e>>2]|0)+584>>2]=l;i=m;return}default:{i=m;return}}}function wS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;if((i|0)>=(j|0))ba();f=n+32|0;d=n+76|0;e=n+72|0;k=n+68|0;l=n+64|0;g=n;c[e>>2]=a;c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;a=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[k>>2]<<2)>>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[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];c[l>>2]=wS(a,f)|0;if(c[l>>2]|0){m=4;break}c[k>>2]=(c[k>>2]|0)+1}if((m|0)==4){c[d>>2]=c[l>>2];m=c[d>>2]|0;i=n;return m|0}h[g>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3];h[g+8>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+16+8>>3];h[g+16>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+16+16>>3];h[g+16+8>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+16+16+8>>3];if(((+h[b+16>>3]>=+h[g>>3]?+h[g+16>>3]>=+h[b>>3]:0)?+h[b+16+8>>3]>=+h[g+8>>3]:0)?+h[g+16+8>>3]>=+h[b+8>>3]:0){c[d>>2]=c[e>>2];m=c[d>>2]|0;i=n;return m|0}c[d>>2]=0;m=c[d>>2]|0;i=n;return m|0}function xS(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+580>>2];a:do if(c[f>>2]|0)switch(RC(c[f>>2]|0)|0){case 0:{b=(c[(c[f>>2]|0)+8>>2]|0)+112|0;a[b>>0]=d[b>>0]|0|4;b=(c[(c[f>>2]|0)+8>>2]|0)+112|0;a[b>>0]=(d[b>>0]|0)&-3;break a}case 1:{b=(c[(c[f>>2]|0)+8>>2]|0)+117|0;a[b>>0]=d[b>>0]|0|4;b=(c[(c[f>>2]|0)+8>>2]|0)+117|0;a[b>>0]=(d[b>>0]|0)&-3;break a}case 2:{b=(c[(c[f>>2]|0)+8>>2]|0)+115|0;a[b>>0]=d[b>>0]|0|4;b=(c[(c[f>>2]|0)+8>>2]|0)+115|0;a[b>>0]=(d[b>>0]|0)&-3;break a}default:break a}while(0);if(c[(c[e>>2]|0)+588>>2]|0){B1(c[(c[e>>2]|0)+588>>2]|0);c[(c[e>>2]|0)+588>>2]=0}b=c[(c[e>>2]|0)+576>>2]|0;c[(c[e>>2]|0)+580>>2]=b;c[f>>2]=b;if(!(c[f>>2]|0)){i=g;return}switch(RC(c[f>>2]|0)|0){case 0:{b=(c[(c[f>>2]|0)+8>>2]|0)+112|0;a[b>>0]=d[b>>0]|0|2;yS(c[e>>2]|0,c[f>>2]|0);i=g;return}case 1:{b=(c[(c[f>>2]|0)+8>>2]|0)+117|0;a[b>>0]=d[b>>0]|0|2;zS(c[e>>2]|0,c[f>>2]|0);i=g;return}case 2:{b=(c[(c[f>>2]|0)+8>>2]|0)+115|0;a[b>>0]=d[b>>0]|0|2;AS(c[e>>2]|0,c[f>>2]|0);i=g;return}default:{i=g;return}}}function yS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=(c[d>>2]|0)+592;c[g>>2]=0;b=c[e>>2]|0;do if((b|0)==(HC(c[e>>2]|0)|0)){l=(DB(c[e>>2]|0)|0)!=0;a=c[h>>2]|0;b=c[g>>2]|0;c[g>>2]=b+1;if(l){ZR(a,b,c[15360]|0);break}else{ZR(a,b,c[15361]|0);break}}else{b=c[h>>2]|0;l=c[g>>2]|0;c[g>>2]=l+1;ZR(b,l,c[15362]|0)}while(0);b=c[h>>2]|0;l=c[g>>2]|0;c[g>>2]=l+1;ZR(b,l,MB(c[e>>2]|0)|0);c[(c[h>>2]|0)+4>>2]=c[g>>2];c[h>>2]=(c[d>>2]|0)+604;c[f>>2]=0;while(1){l=HA(c[e>>2]|0,0,c[f>>2]|0)|0;c[f>>2]=l;if(!l)break;b=c[h>>2]|0;l=c[g>>2]|0;c[g>>2]=l+1;ZR(b,l,c[(c[f>>2]|0)+8>>2]|0);l=c[h>>2]|0;b=c[g>>2]|0;c[g>>2]=b+1;ZR(l,b,PA(c[e>>2]|0,c[f>>2]|0)|0);b=c[h>>2]|0;l=c[g>>2]|0;c[g>>2]=l+1;ZR(b,l,0)}c[(c[h>>2]|0)+4>>2]=c[g>>2];c[f>>2]=GA(c[e>>2]|0,0,c[15357]|0,0)|0;if(!(c[f>>2]|0))c[f>>2]=GA(c[e>>2]|0,0,c[15358]|0,0)|0;if(!(c[f>>2]|0)){i=k;return}l=PA(c[e>>2]|0,c[f>>2]|0)|0;l=jK(l,c[e>>2]|0)|0;c[(c[d>>2]|0)+588>>2]=l;i=k;return}function zS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+20|0;e=l+16|0;h=l+12|0;f=l+8|0;g=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=(c[d>>2]|0)+592;c[h>>2]=0;b=c[k>>2]|0;a=c[h>>2]|0;c[h>>2]=a+1;ZR(b,a,c[15359]|0);a=c[k>>2]|0;b=c[h>>2]|0;c[h>>2]=b+1;ZR(a,b,MB(c[e>>2]|0)|0);c[(c[k>>2]|0)+4>>2]=c[h>>2];c[k>>2]=(c[d>>2]|0)+604;c[g>>2]=HC(GC(c[e>>2]|0)|0)|0;c[f>>2]=0;while(1){b=HA(c[g>>2]|0,1,c[f>>2]|0)|0;c[f>>2]=b;if(!b)break;b=c[k>>2]|0;a=c[h>>2]|0;c[h>>2]=a+1;ZR(b,a,c[(c[f>>2]|0)+8>>2]|0);a=c[k>>2]|0;b=c[h>>2]|0;c[h>>2]=b+1;ZR(a,b,PA(c[e>>2]|0,c[f>>2]|0)|0)}c[(c[k>>2]|0)+4>>2]=c[h>>2];b=GC(c[e>>2]|0)|0;c[f>>2]=GA(b,1,c[15357]|0,0)|0;if(!(c[f>>2]|0)){b=GC(c[e>>2]|0)|0;c[f>>2]=GA(b,1,c[15358]|0,0)|0}if(!(c[f>>2]|0)){i=l;return}b=PA(c[e>>2]|0,c[f>>2]|0)|0;b=jK(b,c[e>>2]|0)|0;c[(c[d>>2]|0)+588>>2]=b;i=l;return}function AS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();d=m+24|0;e=m+20|0;k=m+16|0;f=m+12|0;h=m+8|0;l=m+4|0;g=m;c[d>>2]=a;c[e>>2]=b;c[l>>2]=(c[d>>2]|0)+592;c[k>>2]=0;b=c[l>>2]|0;n=c[k>>2]|0;c[k>>2]=n+1;ZR(b,n,c[15353]|0);n=c[l>>2]|0;b=c[k>>2]|0;c[k>>2]=b+1;a=c[e>>2]|0;ZR(n,b,MB(c[((c[c[e>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+1;a=c[l>>2]|0;b=c[k>>2]|0;c[k>>2]=b+1;n=c[e>>2]|0;n=(DB(GC(c[((c[c[e>>2]>>2]&3|0)==3?n:n+32|0)+28>>2]|0)|0)|0)!=0;ZR(a,b,n?175396:178615);n=c[l>>2]|0;b=c[k>>2]|0;c[k>>2]=b+1;a=c[e>>2]|0;ZR(n,b,MB(c[((c[c[e>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1;c[(c[l>>2]|0)+4>>2]=c[k>>2];c[g>>2]=(c[d>>2]|0)+604;a=c[e>>2]|0;c[h>>2]=HC(GC(c[((c[c[e>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)|0)|0;c[f>>2]=0;a:while(1){n=HA(c[h>>2]|0,2,c[f>>2]|0)|0;c[f>>2]=n;if(!n)break;do if(a4(c[(c[f>>2]|0)+8>>2]|0,c[15354]|0)|0){if(!(a4(c[(c[f>>2]|0)+8>>2]|0,c[15355]|0)|0)){n=c[l>>2]|0;ZR(n,5,PA(c[e>>2]|0,c[f>>2]|0)|0);break}if(!(a4(c[(c[f>>2]|0)+8>>2]|0,c[15356]|0)|0)){n=c[l>>2]|0;ZR(n,6,PA(c[e>>2]|0,c[f>>2]|0)|0);continue a}}else{n=c[l>>2]|0;ZR(n,2,PA(c[e>>2]|0,c[f>>2]|0)|0)}while(0);n=c[g>>2]|0;a=c[k>>2]|0;c[k>>2]=a+1;ZR(n,a,c[(c[f>>2]|0)+8>>2]|0);a=c[g>>2]|0;n=c[k>>2]|0;c[k>>2]=n+1;ZR(a,n,PA(c[e>>2]|0,c[f>>2]|0)|0)}c[(c[g>>2]|0)+4>>2]=c[k>>2];n=c[e>>2]|0;n=GC(c[((c[c[e>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2]|0)|0;c[f>>2]=GA(n,2,c[15357]|0,0)|0;if(!(c[f>>2]|0)){n=c[e>>2]|0;n=GC(c[((c[c[e>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2]|0)|0;c[f>>2]=GA(n,2,c[15358]|0,0)|0}if(!(c[f>>2]|0)){i=m;return}n=PA(c[e>>2]|0,c[f>>2]|0)|0;n=jK(n,c[e>>2]|0)|0;c[(c[d>>2]|0)+588>>2]=n;i=m;return}function BS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+24|0;n=l+20|0;m=l+16|0;f=l+12|0;k=l+8|0;h=l+4|0;g=l;c[e>>2]=a;c[n>>2]=b;c[m>>2]=d;c[h>>2]=DS(c[e>>2]|0,c[n>>2]|0,c[c[m>>2]>>2]|0)|0;c[f>>2]=c[(c[m>>2]|0)+4>>2];while(1){n=c[(c[f>>2]|0)+4>>2]|0;c[k>>2]=n;if(!n)break;c[g>>2]=0;while(1){if(!(c[(c[k>>2]|0)+((c[g>>2]|0)*20|0)+4>>2]|0))break;LF(c[e>>2]|0,c[c[f>>2]>>2]|0,c[(c[k>>2]|0)+((c[g>>2]|0)*20|0)+4>>2]|0,c[(c[k>>2]|0)+((c[g>>2]|0)*20|0)+8>>2]|0,c[h>>2]|0,(c[k>>2]|0)+((c[g>>2]|0)*20|0)|0)|0;c[g>>2]=(c[g>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+8}i=l;return}function CS(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[f>>2]=b;a[e+4>>0]=d;ES(c[f>>2]|0);a[(c[f>>2]|0)+44>>0]=0;FS(c[f>>2]|0)|0;gO(c[f>>2]|0)|0;i=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,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k+12|0;e=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=rK(12)|0;if(c[e>>2]|0)e=d4(c[e>>2]|0)|0;else e=0;c[(c[h>>2]|0)+4>>2]=e;g=d4(c[g>>2]|0)|0;c[(c[h>>2]|0)+8>>2]=g;c[c[h>>2]>>2]=c[(c[f>>2]|0)+100>>2];c[(c[f>>2]|0)+100>>2]=c[h>>2];i=k;return c[h>>2]|0}function ES(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;if(!(c[(c[d>>2]|0)+32>>2]|0)){i=g;return}c[f>>2]=c[(c[d>>2]|0)+32>>2];while(1){b=c[c[f>>2]>>2]|0;c[e>>2]=b;if(!b)break;if((a[c[e>>2]>>0]|0)==103?(l4(c[e>>2]|0,149192)|0)!=0:0)BS(c[d>>2]|0,0,c[(c[f>>2]|0)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+8}i=g;return}function FS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=NF(c[d>>2]|0,2,149205)|0;if(c[e>>2]|0){c[f>>2]=c[(c[e>>2]|0)+16>>2];c[(c[d>>2]|0)+148>>2]=c[(c[f>>2]|0)+12>>2];c[b>>2]=300;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=999;f=c[b>>2]|0;i=g;return f|0}return 0}function GS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+16|0;m=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[(c[m>>2]|0)+148>>2];if((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0){a[f>>0]=gc[c[c[k>>2]>>2]&127](c[g>>2]|0,c[h>>2]|0)|0;m=a[f>>0]|0;i=l;return m|0}a[f>>0]=0;m=a[f>>0]|0;i=l;return m|0}function HS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+128|0;if((i|0)>=(j|0))ba();p=s+116|0;g=s+112|0;h=s+108|0;q=s+104|0;r=s+100|0;n=s;o=s+96|0;m=s+92|0;k=s+88|0;l=s+84|0;f=s+80|0;c[g>>2]=a;c[h>>2]=b;c[q>>2]=d;c[r>>2]=e;d=c[r>>2]|0;if(!(c[g>>2]|0)){c[p>>2]=d;r=c[p>>2]|0;i=s;return r|0}if(!d){c[r>>2]=C1(1,20)|0;if((c[q>>2]|0)>>>0<=80)c[q>>2]=80;c[(c[r>>2]|0)+4>>2]=c[q>>2]}c[f>>2]=c[c[r>>2]>>2];c[q>>2]=c[(c[r>>2]|0)+4>>2];if(!(c[f>>2]|0)){c[k>>2]=100;c[o>>2]=C1(100,c[q>>2]|0)|0}else{c[o>>2]=c[(c[r>>2]|0)+8>>2];c[k>>2]=(c[f>>2]|0)+100;c[o>>2]=D1(c[o>>2]|0,_(c[k>>2]|0,c[q>>2]|0)|0)|0;e=(c[o>>2]|0)+(_(c[f>>2]|0,c[q>>2]|0)|0)|0;p5(e|0,0,_((c[k>>2]|0)-(c[f>>2]|0)|0,c[q>>2]|0)|0)|0}while(1){f=MS(n,c[g>>2]|0,c[h>>2]|0,l)|0;c[g>>2]=f;if(!f)break;if((c[c[r>>2]>>2]|0)==(c[k>>2]|0)){c[m>>2]=c[k>>2];c[k>>2]=c[k>>2]<<1;c[o>>2]=D1(c[o>>2]|0,_(c[k>>2]|0,c[q>>2]|0)|0)|0;f=(c[o>>2]|0)+(_(c[m>>2]|0,c[q>>2]|0)|0)|0;p5(f|0,0,_((c[k>>2]|0)-(c[m>>2]|0)|0,c[q>>2]|0)|0)|0}d=(c[o>>2]|0)+(_(c[c[r>>2]>>2]|0,c[q>>2]|0)|0)|0;a=n;b=d+80|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(b|0));f=c[r>>2]|0;c[f>>2]=(c[f>>2]|0)+1}if(c[l>>2]|0){n=(c[r>>2]|0)+16|0;c[n>>2]=c[n>>2]|1}d=c[o>>2]|0;if(c[c[r>>2]>>2]|0){q=D1(d,_(c[c[r>>2]>>2]|0,c[q>>2]|0)|0)|0;c[(c[r>>2]|0)+8>>2]=q}else{B1(d);B1(c[r>>2]|0);c[r>>2]=0}c[p>>2]=c[r>>2];r=c[p>>2]|0;i=s;return r|0}function IS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=HS(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function JS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();b=h+16|0;f=h+12|0;g=h+8|0;d=h+4|0;e=h;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+12>>2];if(!(c[b>>2]|0)){i=h;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[g>>2]=a+(_(c[f>>2]|0,c[(c[b>>2]|0)+4>>2]|0)|0);if(c[e>>2]|0)Vb[c[e>>2]&127](c[g>>2]|0);NS(c[g>>2]|0);c[f>>2]=(c[f>>2]|0)+1}B1(a);B1(c[b>>2]|0);i=h;return}function KS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+8|0;f=k+4|0;g=k;h=k+12|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=a[c[f>>2]>>0]|0;a:do switch(a[h>>0]|0){case 91:{c[e>>2]=OS((c[f>>2]|0)+1|0,c[g>>2]|0)|0;break}case 40:{c[e>>2]=PS((c[f>>2]|0)+1|0,c[g>>2]|0)|0;break}case 47:case 35:{c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+8>>2]=c[f>>2];c[e>>2]=c[f>>2];break}default:if(E1(a[h>>0]|0)|0){c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+8>>2]=c[f>>2];c[e>>2]=c[f>>2];break a}else{c[e>>2]=0;break a}}while(0);i=k;return c[e>>2]|0}function LS(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;if((c[c[b>>2]>>2]|0)==1){c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+8+32>>2]|0))break;B1(c[(c[(c[b>>2]|0)+8+36>>2]|0)+(c[d>>2]<<3)+4>>2]|0);c[d>>2]=(c[d>>2]|0)+1}B1(c[(c[b>>2]|0)+8+36>>2]|0);i=e;return}if((c[c[b>>2]>>2]|0)!=2){i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+8+48>>2]|0))break;B1(c[(c[(c[b>>2]|0)+8+52>>2]|0)+(c[d>>2]<<3)+4>>2]|0);c[d>>2]=(c[d>>2]|0)+1}B1(c[(c[b>>2]|0)+8+52>>2]|0);i=e;return}function MS(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+96|0;if((i|0)>=(j|0))ba();l=p+84|0;m=p+80|0;n=p+76|0;o=p+72|0;g=p+68|0;h=p+64|0;k=p;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[g>>2]=f;c[c[g>>2]>>2]=0;do{d=(K1(a[c[n>>2]>>0]|0)|0)!=0;b=c[n>>2]|0;c[n>>2]=b+1}while(d);a:do switch(a[b>>0]|0){case 69:{c[c[m>>2]>>2]=0;c[n>>2]=TS(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[c[o>>2]>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 101:{c[c[m>>2]>>2]=1;c[n>>2]=TS(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[c[o>>2]>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 80:{c[c[m>>2]>>2]=2;c[n>>2]=US(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+4>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 112:{c[c[m>>2]>>2]=3;c[n>>2]=US(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+4>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 98:{c[c[m>>2]>>2]=4;c[n>>2]=US(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+8>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 66:{c[c[m>>2]>>2]=5;c[n>>2]=US(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+8>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 99:{c[n>>2]=SS(c[n>>2]|0,h)|0;if(!(c[n>>2]|0)){c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}c[h>>2]=KS(c[h>>2]|0,k)|0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}e=c[m>>2]|0;if(!(c[k>>2]|0)){c[e>>2]=9;c[(c[m>>2]|0)+8>>2]=c[k+8>>2];if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+24>>2];break a}else{c[e>>2]=14;f=(c[m>>2]|0)+8|0;e=k;b=f+64|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(b|0));if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+40>>2];break a}}case 67:{c[n>>2]=SS(c[n>>2]|0,h)|0;if(!(c[n>>2]|0)){c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}c[h>>2]=KS(c[h>>2]|0,k)|0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}e=c[m>>2]|0;if(!(c[k>>2]|0)){c[e>>2]=8;c[(c[m>>2]|0)+8>>2]=c[k+8>>2];if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+20>>2];break a}else{c[e>>2]=13;f=(c[m>>2]|0)+8|0;e=k;b=f+64|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(b|0));if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+40>>2];break a}}case 76:{c[c[m>>2]>>2]=6;c[n>>2]=US(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+12>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 84:{c[c[m>>2]>>2]=7;c[n>>2]=QS(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[n>>2]|0)){c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}c[n>>2]=QS(c[n>>2]|0,(c[m>>2]|0)+8+8|0)|0;if(!(c[n>>2]|0)){c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}c[n>>2]=VS(c[n>>2]|0,(c[m>>2]|0)+8+16|0)|0;if(!(c[n>>2]|0)){c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}c[n>>2]=QS(c[n>>2]|0,(c[m>>2]|0)+8+24|0)|0;if(!(c[n>>2]|0)){c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}c[n>>2]=SS(c[n>>2]|0,(c[m>>2]|0)+8+32|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+16>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 70:{c[c[m>>2]>>2]=10;c[n>>2]=QS(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[n>>2]|0)){c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}c[n>>2]=SS(c[n>>2]|0,(c[m>>2]|0)+8+8|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+28>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 83:{c[c[m>>2]>>2]=11;c[n>>2]=SS(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+32>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 73:{c[c[m>>2]>>2]=12;c[n>>2]=TS(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[n>>2]|0)){c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}c[n>>2]=SS(c[n>>2]|0,(c[m>>2]|0)+8+32|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+36>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 116:{c[c[m>>2]>>2]=15;c[n>>2]=WS(c[n>>2]|0,(c[m>>2]|0)+8|0)|0;if(c[n>>2]|0){if(!(c[o>>2]|0))break a;c[(c[m>>2]|0)+72>>2]=c[(c[o>>2]|0)+44>>2];break a}else{c[c[g>>2]>>2]=1;c[l>>2]=0;o=c[l>>2]|0;i=p;return o|0}}case 0:{c[n>>2]=0;break}default:{c[c[g>>2]>>2]=1;c[n>>2]=0}}while(0);c[l>>2]=c[n>>2];o=c[l>>2]|0;i=p;return o|0}function NS(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;switch(c[c[b>>2]>>2]|0){case 3:case 2:{B1(c[(c[b>>2]|0)+8+4>>2]|0);break}case 5:case 4:{B1(c[(c[b>>2]|0)+8+4>>2]|0);break}case 6:{B1(c[(c[b>>2]|0)+8+4>>2]|0);break}case 7:{B1(c[(c[b>>2]|0)+8+32>>2]|0);break}case 9:case 8:{B1(c[(c[b>>2]|0)+8>>2]|0);break}case 14:case 13:{LS((c[b>>2]|0)+8|0);break}case 10:{B1(c[(c[b>>2]|0)+8+8>>2]|0);break}case 11:{B1(c[(c[b>>2]|0)+8>>2]|0);break}case 12:{B1(c[(c[b>>2]|0)+8+32>>2]|0);break}default:{}}i=d;return}function OS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+28|0;l=o+24|0;m=o+20|0;f=o+16|0;e=o+12|0;d=o;n=o+8|0;c[l>>2]=a;c[m>>2]=b;c[f>>2]=c[l>>2];c[n>>2]=0;c[c[m>>2]>>2]=1;c[f>>2]=QS(c[f>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[f>>2]=QS(c[f>>2]|0,(c[m>>2]|0)+8+8|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[f>>2]=QS(c[f>>2]|0,(c[m>>2]|0)+8+16|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[f>>2]=QS(c[f>>2]|0,(c[m>>2]|0)+8+24|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[f>>2]=RS(c[f>>2]|0,(c[m>>2]|0)+8+32|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[n>>2]=C1(c[(c[m>>2]|0)+8+32>>2]|0,8)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[m>>2]|0)+8+32>>2]|0)){b=18;break}c[f>>2]=QS(c[f>>2]|0,d)|0;if(!(c[f>>2]|0)){b=14;break}g[(c[n>>2]|0)+(c[e>>2]<<3)>>2]=+h[d>>3];c[f>>2]=SS(c[f>>2]|0,(c[n>>2]|0)+(c[e>>2]<<3)+4|0)|0;if(!(c[f>>2]|0)){b=16;break}c[e>>2]=(c[e>>2]|0)+1}if((b|0)==14){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==16){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==18){c[(c[m>>2]|0)+8+36>>2]=c[n>>2];c[k>>2]=c[l>>2];n=c[k>>2]|0;i=o;return n|0}return 0}function PS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+28|0;l=o+24|0;m=o+20|0;f=o+16|0;e=o+12|0;d=o;n=o+8|0;c[l>>2]=a;c[m>>2]=b;c[f>>2]=c[l>>2];c[n>>2]=0;c[c[m>>2]>>2]=2;c[f>>2]=QS(c[f>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[f>>2]=QS(c[f>>2]|0,(c[m>>2]|0)+8+8|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[f>>2]=QS(c[f>>2]|0,(c[m>>2]|0)+8+16|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[f>>2]=QS(c[f>>2]|0,(c[m>>2]|0)+8+24|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[f>>2]=QS(c[f>>2]|0,(c[m>>2]|0)+8+32|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[f>>2]=QS(c[f>>2]|0,(c[m>>2]|0)+8+40|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[f>>2]=RS(c[f>>2]|0,(c[m>>2]|0)+8+48|0)|0;if(!(c[f>>2]|0)){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}c[n>>2]=C1(c[(c[m>>2]|0)+8+48>>2]|0,8)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[m>>2]|0)+8+48>>2]|0)){b=22;break}c[f>>2]=QS(c[f>>2]|0,d)|0;if(!(c[f>>2]|0)){b=18;break}g[(c[n>>2]|0)+(c[e>>2]<<3)>>2]=+h[d>>3];c[f>>2]=SS(c[f>>2]|0,(c[n>>2]|0)+(c[e>>2]<<3)+4|0)|0;if(!(c[f>>2]|0)){b=20;break}c[e>>2]=(c[e>>2]|0)+1}if((b|0)==18){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==20){B1(c[n>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==22){c[(c[m>>2]|0)+8+52>>2]=c[n>>2];c[k>>2]=c[l>>2];n=c[k>>2]|0;i=o;return n|0}return 0}function QS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+20|0;l=k+16|0;e=k+12|0;g=k+8|0;f=k;c[l>>2]=a;c[e>>2]=b;h[f>>3]=+Q3(c[l>>2]|0,g);if((c[g>>2]|0)==(c[l>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}else{h[c[e>>2]>>3]=+h[f>>3];c[d>>2]=c[g>>2];l=c[d>>2]|0;i=k;return l|0}return 0}function RS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+12|0;g=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;a=S3(c[g>>2]|0,e,10)|0;c[c[h>>2]>>2]=a;if((c[g>>2]|0)==(c[e>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=f;return h|0}else{c[d>>2]=c[e>>2];h=c[d>>2]|0;i=f;return h|0}return 0}function SS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[f>>2]=RS(c[f>>2]|0,k)|0;if((c[f>>2]|0)==0|(c[k>>2]|0)<=0){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}while(1){if(a[c[f>>2]>>0]|0)b=(a[c[f>>2]>>0]|0)!=45;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+1}if(!(a[d>>0]|0)){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=C1((c[k>>2]|0)+1|0,1)|0;c[l>>2]=c[h>>2];while(1){if((c[k>>2]|0)<=0)break;if(!(a[c[f>>2]>>0]|0))break;d=c[f>>2]|0;c[f>>2]=d+1;d=a[d>>0]|0;b=c[l>>2]|0;c[l>>2]=b+1;a[b>>0]=d;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)>0){B1(c[h>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}else{a[c[l>>2]>>0]=0;c[c[g>>2]>>2]=c[h>>2];c[e>>2]=c[f>>2];l=c[e>>2]|0;i=m;return l|0}return 0}function TS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0.0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();d=k+12|0;e=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;l=+Q3(c[e>>2]|0,g);h[c[f>>2]>>3]=l;if((c[e>>2]|0)==(c[g>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=k;return a|0}c[e>>2]=c[g>>2];l=+Q3(c[e>>2]|0,g);h[(c[f>>2]|0)+8>>3]=l;if((c[e>>2]|0)==(c[g>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=k;return a|0}c[e>>2]=c[g>>2];l=+Q3(c[e>>2]|0,g);h[(c[f>>2]|0)+16>>3]=l;if((c[e>>2]|0)==(c[g>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=k;return a|0}c[e>>2]=c[g>>2];l=+Q3(c[e>>2]|0,g);h[(c[f>>2]|0)+24>>3]=l;if((c[e>>2]|0)==(c[g>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=k;return a|0}else{c[e>>2]=c[g>>2];c[d>>2]=c[e>>2];a=c[d>>2]|0;i=k;return a|0}return 0}function US(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();g=n+24|0;k=n+20|0;l=n+16|0;e=n+12|0;m=n+8|0;f=n+4|0;d=n;c[k>>2]=a;c[l>>2]=b;c[k>>2]=RS(c[k>>2]|0,e)|0;if(!(c[k>>2]|0)){c[g>>2]=c[k>>2];m=c[g>>2]|0;i=n;return m|0}a=C1(c[e>>2]|0,24)|0;c[f>>2]=a;c[m>>2]=a;c[c[l>>2]>>2]=c[e>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[c[l>>2]>>2]|0)){d=10;break}o=+Q3(c[k>>2]|0,d);h[c[f>>2]>>3]=o;if((c[k>>2]|0)==(c[d>>2]|0)){d=6;break}c[k>>2]=c[d>>2];o=+Q3(c[k>>2]|0,d);h[(c[f>>2]|0)+8>>3]=o;if((c[k>>2]|0)==(c[d>>2]|0)){d=8;break}c[k>>2]=c[d>>2];h[(c[f>>2]|0)+16>>3]=0.0;c[f>>2]=(c[f>>2]|0)+24;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==6){B1(c[m>>2]|0);c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}else if((d|0)==8){B1(c[m>>2]|0);c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}else if((d|0)==10){c[(c[l>>2]|0)+4>>2]=c[m>>2];c[g>>2]=c[k>>2];m=c[g>>2]|0;i=n;return m|0}return 0}function VS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+8|0;d=g+4|0;f=g;c[e>>2]=a;c[d>>2]=b;c[e>>2]=RS(c[e>>2]|0,f)|0;do if((c[f>>2]|0)>=0){d=c[d>>2]|0;if((c[f>>2]|0)>0){c[d>>2]=2;break}else{c[d>>2]=1;break}}else c[c[d>>2]>>2]=0;while(0);i=g;return c[e>>2]|0}function WS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+12|0;g=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;a=R3(c[g>>2]|0,e,10)|0;c[c[h>>2]>>2]=a;if((c[g>>2]|0)==(c[e>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=f;return h|0}else{c[d>>2]=c[e>>2];h=c[d>>2]|0;i=f;return h|0}return 0}function XS(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+32|0;if((i|0)>=(j|0))ba();f=b+16|0;e=b+8|0;d=b;c[f>>2]=a;h[e>>3]=+h[(c[(c[f>>2]|0)+16>>2]|0)+16>>3];h[d>>3]=+h[(c[(c[f>>2]|0)+16>>2]|0)+16+8>>3];a=(ZS(~~(+h[e>>3]>+h[d>>3]?+h[e>>3]:+h[d>>3])>>>0)|0)+1|0;i=b;return a|0}function YS(b,e,f,g,k){b=b|0;e=e|0;f=f|0;g=g|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;u=i;i=i+112|0;if((i|0)>=(j|0))ba();l=u+96|0;m=u+92|0;n=u+88|0;w=u+84|0;v=u+80|0;o=u+76|0;s=u+72|0;r=u+68|0;q=u+32|0;t=u+64|0;p=u;c[m>>2]=b;c[n>>2]=e;c[w>>2]=f;c[v>>2]=g;c[o>>2]=k;c[t>>2]=_S(c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[v>>2]|0,c[o>>2]|0)|0;k=$S(c[t>>2]|0)|0;c[s>>2]=k;if((k|0)<0){c[l>>2]=c[s>>2];w=c[l>>2]|0;i=u;return w|0}c[s>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;do if(c[(c[m>>2]|0)+((c[r>>2]|0)*40|0)+32>>2]|0){aT(p,c[t>>2]|0,(c[m>>2]|0)+((c[r>>2]|0)*40|0)|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];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];if(!(c[q>>2]|0)){a[(c[(c[m>>2]|0)+((c[r>>2]|0)*40|0)+32>>2]|0)+36>>0]=1;break}if(+h[q+8>>3]==0.0){h[(c[(c[m>>2]|0)+((c[r>>2]|0)*40|0)+32>>2]|0)+16>>3]=+h[q+16>>3];h[(c[(c[m>>2]|0)+((c[r>>2]|0)*40|0)+32>>2]|0)+16+8>>3]=+h[q+16+8>>3];a[(c[(c[m>>2]|0)+((c[r>>2]|0)*40|0)+32>>2]|0)+36>>0]=1;break}if((d[(c[o>>2]|0)+32>>0]|0|0)==1){h[(c[(c[m>>2]|0)+((c[r>>2]|0)*40|0)+32>>2]|0)+16>>3]=+h[q+16>>3];h[(c[(c[m>>2]|0)+((c[r>>2]|0)*40|0)+32>>2]|0)+16+8>>3]=+h[q+16+8>>3];a[(c[(c[m>>2]|0)+((c[r>>2]|0)*40|0)+32>>2]|0)+36>>0]=1;break}else{c[s>>2]=1;break}}while(0);c[r>>2]=(c[r>>2]|0)+1}bT(c[t>>2]|0);c[l>>2]=c[s>>2];w=c[l>>2]|0;i=u;return w|0}function ZS(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;if(!(c[d>>2]|0)){c[b>>2]=-1;e=c[b>>2]|0;i=f;return e|0}if((c[d>>2]|0)>>>0>=65536){c[d>>2]=(c[d>>2]|0)>>>16;c[e>>2]=(c[e>>2]|0)+16}if((c[d>>2]|0)>>>0>=256){c[d>>2]=(c[d>>2]|0)>>>8;c[e>>2]=(c[e>>2]|0)+8}if((c[d>>2]|0)>>>0>=16){c[d>>2]=(c[d>>2]|0)>>>4;c[e>>2]=(c[e>>2]|0)+4}if((c[d>>2]|0)>>>0>=4){c[d>>2]=(c[d>>2]|0)>>>2;c[e>>2]=(c[e>>2]|0)+2}if((c[d>>2]|0)>>>0>=2)c[e>>2]=(c[e>>2]|0)+1;c[b>>2]=c[e>>2];e=c[b>>2]|0;i=f;return e|0}function _S(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();p=r+8|0;o=r;g=r+36|0;h=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;q=r+12|0;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[q>>2]=qK(28)|0;f=eA(61452,c[12990]|0)|0;c[(c[q>>2]|0)+20>>2]=f;do if(f){o=KV()|0;c[(c[q>>2]|0)+24>>2]=o;if(!o){p3(c[24742]|0,149423,p)|0;break}c[c[q>>2]>>2]=c[h>>2];c[(c[q>>2]|0)+4>>2]=c[k>>2];c[(c[q>>2]|0)+8>>2]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];c[(c[q>>2]|0)+16>>2]=c[n>>2];c[g>>2]=c[q>>2];q=c[g>>2]|0;i=r;return q|0}else p3(c[24742]|0,149423,o)|0;while(0);if(c[(c[q>>2]|0)+20>>2]|0)aA(c[(c[q>>2]|0)+20>>2]|0)|0;if(c[(c[q>>2]|0)+24>>2]|0)MV(c[(c[q>>2]|0)+24>>2]|0)|0;B1(c[q>>2]|0);c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}function $S(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;a=lT(c[d>>2]|0)|0;c[e>>2]=a;if((a|0)<0){c[b>>2]=c[e>>2];a=c[b>>2]|0;i=f;return a|0}a=mT(c[d>>2]|0)|0;c[e>>2]=a;if((a|0)<0){c[b>>2]=c[e>>2];a=c[b>>2]|0;i=f;return a|0}else{nT(c[d>>2]|0);c[b>>2]=aA(c[(c[d>>2]|0)+20>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function aT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=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;C=i;i=i+512|0;if((i|0)>=(j|0))ba();e=C+508|0;f=C+504|0;x=C+500|0;z=C+456|0;A=C+448|0;w=C+464|0;v=C+416|0;y=C+384|0;n=C+352|0;o=C+320|0;p=C+288|0;q=C+256|0;r=C+224|0;s=C+192|0;t=C+160|0;u=C+128|0;g=C+96|0;k=C+64|0;l=C+32|0;m=C;c[e>>2]=b;c[f>>2]=d;c[x>>2]=c[(c[f>>2]|0)+32>>2];h[z>>3]=(+h[c[x>>2]>>3]*2.0+ +h[(c[f>>2]|0)+16>>3])/8.0;h[A>>3]=(+h[(c[x>>2]|0)+8>>3]*2.0+ +h[(c[f>>2]|0)+16+8>>3])/2.0;if(!(c[(c[f>>2]|0)+32>>2]|0))db(149216,149226,445,149236);b=w;d=b+36|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));h[(c[x>>2]|0)+16>>3]=+h[c[f>>2]>>3]-+h[c[x>>2]>>3];h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3]+ +h[(c[f>>2]|0)+16+8>>3];dT(n,c[e>>2]|0,c[f>>2]|0,w);c[v>>2]=c[n>>2];c[v+4>>2]=c[n+4>>2];c[v+8>>2]=c[n+8>>2];c[v+12>>2]=c[n+12>>2];c[v+16>>2]=c[n+16>>2];c[v+20>>2]=c[n+20>>2];c[v+24>>2]=c[n+24>>2];c[v+28>>2]=c[n+28>>2];if(!(c[v>>2]|0)){c[a>>2]=c[v>>2];c[a+4>>2]=c[v+4>>2];c[a+8>>2]=c[v+8>>2];c[a+12>>2]=c[v+12>>2];c[a+16>>2]=c[v+16>>2];c[a+20>>2]=c[v+20>>2];c[a+24>>2]=c[v+24>>2];c[a+28>>2]=c[v+28>>2];i=C;return}h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3];dT(o,c[e>>2]|0,c[f>>2]|0,w);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];c[y+16>>2]=c[o+16>>2];c[y+20>>2]=c[o+20>>2];c[y+24>>2]=c[o+24>>2];c[y+28>>2]=c[o+28>>2];if(!(c[y>>2]|0)){c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];c[a+16>>2]=c[y+16>>2];c[a+20>>2]=c[y+20>>2];c[a+24>>2]=c[y+24>>2];c[a+28>>2]=c[y+28>>2];i=C;return}if(+h[y+8>>3]<+h[v+8>>3]){c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2]}h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3]-+h[(c[x>>2]|0)+8>>3];dT(p,c[e>>2]|0,c[f>>2]|0,w);c[y>>2]=c[p>>2];c[y+4>>2]=c[p+4>>2];c[y+8>>2]=c[p+8>>2];c[y+12>>2]=c[p+12>>2];c[y+16>>2]=c[p+16>>2];c[y+20>>2]=c[p+20>>2];c[y+24>>2]=c[p+24>>2];c[y+28>>2]=c[p+28>>2];if(!(c[y>>2]|0)){c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];c[a+16>>2]=c[y+16>>2];c[a+20>>2]=c[y+20>>2];c[a+24>>2]=c[y+24>>2];c[a+28>>2]=c[y+28>>2];i=C;return}if(+h[y+8>>3]<+h[v+8>>3]){c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2]}h[(c[x>>2]|0)+16>>3]=+h[c[f>>2]>>3];h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3]+ +h[(c[f>>2]|0)+16+8>>3];dT(q,c[e>>2]|0,c[f>>2]|0,w);c[y>>2]=c[q>>2];c[y+4>>2]=c[q+4>>2];c[y+8>>2]=c[q+8>>2];c[y+12>>2]=c[q+12>>2];c[y+16>>2]=c[q+16>>2];c[y+20>>2]=c[q+20>>2];c[y+24>>2]=c[q+24>>2];c[y+28>>2]=c[q+28>>2];if(!(c[y>>2]|0)){c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];c[a+16>>2]=c[y+16>>2];c[a+20>>2]=c[y+20>>2];c[a+24>>2]=c[y+24>>2];c[a+28>>2]=c[y+28>>2];i=C;return}if(+h[y+8>>3]<+h[v+8>>3]){c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2]}h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3]-+h[(c[x>>2]|0)+8>>3];dT(r,c[e>>2]|0,c[f>>2]|0,w);c[y>>2]=c[r>>2];c[y+4>>2]=c[r+4>>2];c[y+8>>2]=c[r+8>>2];c[y+12>>2]=c[r+12>>2];c[y+16>>2]=c[r+16>>2];c[y+20>>2]=c[r+20>>2];c[y+24>>2]=c[r+24>>2];c[y+28>>2]=c[r+28>>2];if(!(c[y>>2]|0)){c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];c[a+16>>2]=c[y+16>>2];c[a+20>>2]=c[y+20>>2];c[a+24>>2]=c[y+24>>2];c[a+28>>2]=c[y+28>>2];i=C;return}if(+h[y+8>>3]<+h[v+8>>3]){c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2]}h[(c[x>>2]|0)+16>>3]=+h[c[f>>2]>>3]+ +h[(c[f>>2]|0)+16>>3];h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3]+ +h[(c[f>>2]|0)+16+8>>3];dT(s,c[e>>2]|0,c[f>>2]|0,w);c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];c[y+16>>2]=c[s+16>>2];c[y+20>>2]=c[s+20>>2];c[y+24>>2]=c[s+24>>2];c[y+28>>2]=c[s+28>>2];if(!(c[y>>2]|0)){c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];c[a+16>>2]=c[y+16>>2];c[a+20>>2]=c[y+20>>2];c[a+24>>2]=c[y+24>>2];c[a+28>>2]=c[y+28>>2];i=C;return}if(+h[y+8>>3]<+h[v+8>>3]){c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2]}h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3];dT(t,c[e>>2]|0,c[f>>2]|0,w);c[y>>2]=c[t>>2];c[y+4>>2]=c[t+4>>2];c[y+8>>2]=c[t+8>>2];c[y+12>>2]=c[t+12>>2];c[y+16>>2]=c[t+16>>2];c[y+20>>2]=c[t+20>>2];c[y+24>>2]=c[t+24>>2];c[y+28>>2]=c[t+28>>2];if(!(c[y>>2]|0)){c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];c[a+16>>2]=c[y+16>>2];c[a+20>>2]=c[y+20>>2];c[a+24>>2]=c[y+24>>2];c[a+28>>2]=c[y+28>>2];i=C;return}if(+h[y+8>>3]<+h[v+8>>3]){c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2]}h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3]-+h[(c[x>>2]|0)+8>>3];dT(u,c[e>>2]|0,c[f>>2]|0,w);c[y>>2]=c[u>>2];c[y+4>>2]=c[u+4>>2];c[y+8>>2]=c[u+8>>2];c[y+12>>2]=c[u+12>>2];c[y+16>>2]=c[u+16>>2];c[y+20>>2]=c[u+20>>2];c[y+24>>2]=c[u+24>>2];c[y+28>>2]=c[u+28>>2];if(!(c[y>>2]|0)){c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];c[a+16>>2]=c[y+16>>2];c[a+20>>2]=c[y+20>>2];c[a+24>>2]=c[y+24>>2];c[a+28>>2]=c[y+28>>2];i=C;return}if(+h[y+8>>3]<+h[v+8>>3]){c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2]}do if(((c[w+24>>2]|0)==0?(c[w+28>>2]|0)==0:0)?(c[w+32>>2]|0)==0:0){if(c[w+12>>2]|0){B=38;break}if(c[w>>2]|0)B=38}else B=38;while(0);a:do if((B|0)==38){b:do if(!(c[w+28>>2]|0)){if(c[w+32>>2]|0)break;h[(c[x>>2]|0)+16>>3]=+h[c[f>>2]>>3]-+h[c[x>>2]>>3];h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3]+ +h[(c[f>>2]|0)+16+8>>3];while(1){if(!(+h[(c[x>>2]|0)+16>>3]<=+h[c[f>>2]>>3]+ +h[(c[f>>2]|0)+16>>3]))break b;dT(g,c[e>>2]|0,c[f>>2]|0,w);c[y>>2]=c[g>>2];c[y+4>>2]=c[g+4>>2];c[y+8>>2]=c[g+8>>2];c[y+12>>2]=c[g+12>>2];c[y+16>>2]=c[g+16>>2];c[y+20>>2]=c[g+20>>2];c[y+24>>2]=c[g+24>>2];c[y+28>>2]=c[g+28>>2];if(!(c[y>>2]|0))break;if(+h[y+8>>3]<+h[v+8>>3]){c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2]}u=(c[x>>2]|0)+16|0;h[u>>3]=+h[u>>3]+ +h[z>>3]}c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];c[a+16>>2]=c[y+16>>2];c[a+20>>2]=c[y+20>>2];c[a+24>>2]=c[y+24>>2];c[a+28>>2]=c[y+28>>2];i=C;return}while(0);if(!(c[w+12>>2]|0)){if(c[w>>2]|0)break;h[(c[x>>2]|0)+16>>3]=+h[c[f>>2]>>3]-+h[c[x>>2]>>3];h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3]+ +h[(c[f>>2]|0)+16+8>>3];while(1){if(!(+h[(c[x>>2]|0)+16+8>>3]>=+h[(c[f>>2]|0)+8>>3]-+h[(c[x>>2]|0)+8>>3]))break a;dT(k,c[e>>2]|0,c[f>>2]|0,w);c[y>>2]=c[k>>2];c[y+4>>2]=c[k+4>>2];c[y+8>>2]=c[k+8>>2];c[y+12>>2]=c[k+12>>2];c[y+16>>2]=c[k+16>>2];c[y+20>>2]=c[k+20>>2];c[y+24>>2]=c[k+24>>2];c[y+28>>2]=c[k+28>>2];if(!(c[y>>2]|0))break;if(+h[y+8>>3]<+h[v+8>>3]){c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2]}u=(c[x>>2]|0)+16+8|0;h[u>>3]=+h[u>>3]-+h[A>>3]}c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];c[a+16>>2]=c[y+16>>2];c[a+20>>2]=c[y+20>>2];c[a+24>>2]=c[y+24>>2];c[a+28>>2]=c[y+28>>2];i=C;return}}while(0);h[(c[x>>2]|0)+16>>3]=+h[c[f>>2]>>3]+ +h[(c[f>>2]|0)+16>>3];h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3]-+h[(c[x>>2]|0)+8>>3];do if((c[w+8>>2]|0)==0?(c[w+4>>2]|0)==0:0){if(c[w>>2]|0){B=61;break}if(c[w+20>>2]|0){B=61;break}if(c[w+32>>2]|0)B=61}else B=61;while(0);c:do if((B|0)==61){d:do if(!(c[w+4>>2]|0)){if(c[w>>2]|0)break;h[(c[x>>2]|0)+16>>3]=+h[c[f>>2]>>3]+ +h[(c[f>>2]|0)+16>>3];h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3]-+h[(c[x>>2]|0)+8>>3];while(1){if(!(+h[(c[x>>2]|0)+16>>3]>=+h[c[f>>2]>>3]-+h[c[x>>2]>>3]))break d;dT(l,c[e>>2]|0,c[f>>2]|0,w);c[y>>2]=c[l>>2];c[y+4>>2]=c[l+4>>2];c[y+8>>2]=c[l+8>>2];c[y+12>>2]=c[l+12>>2];c[y+16>>2]=c[l+16>>2];c[y+20>>2]=c[l+20>>2];c[y+24>>2]=c[l+24>>2];c[y+28>>2]=c[l+28>>2];if(!(c[y>>2]|0))break;if(+h[y+8>>3]<+h[v+8>>3]){c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2]}B=(c[x>>2]|0)+16|0;h[B>>3]=+h[B>>3]-+h[z>>3]}c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];c[a+16>>2]=c[y+16>>2];c[a+20>>2]=c[y+20>>2];c[a+24>>2]=c[y+24>>2];c[a+28>>2]=c[y+28>>2];i=C;return}while(0);if(c[w+20>>2]|0)break;if(c[w+32>>2]|0)break;h[(c[x>>2]|0)+16>>3]=+h[c[f>>2]>>3]+ +h[(c[f>>2]|0)+16>>3];h[(c[x>>2]|0)+16+8>>3]=+h[(c[f>>2]|0)+8>>3]-+h[(c[x>>2]|0)+8>>3];while(1){if(!(+h[(c[x>>2]|0)+16+8>>3]<=+h[(c[f>>2]|0)+8>>3]+ +h[(c[f>>2]|0)+16+8>>3]))break c;dT(m,c[e>>2]|0,c[f>>2]|0,w);c[y>>2]=c[m>>2];c[y+4>>2]=c[m+4>>2];c[y+8>>2]=c[m+8>>2];c[y+12>>2]=c[m+12>>2];c[y+16>>2]=c[m+16>>2];c[y+20>>2]=c[m+20>>2];c[y+24>>2]=c[m+24>>2];c[y+28>>2]=c[m+28>>2];if(!(c[y>>2]|0))break;if(+h[y+8>>3]<+h[v+8>>3]){c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2]}B=(c[x>>2]|0)+16+8|0;h[B>>3]=+h[B>>3]+ +h[A>>3]}c[a>>2]=c[y>>2];c[a+4>>2]=c[y+4>>2];c[a+8>>2]=c[y+8>>2];c[a+12>>2]=c[y+12>>2];c[a+16>>2]=c[y+16>>2];c[a+20>>2]=c[y+20>>2];c[a+24>>2]=c[y+24>>2];c[a+28>>2]=c[y+28>>2];i=C;return}while(0);c[a>>2]=c[v>>2];c[a+4>>2]=c[v+4>>2];c[a+8>>2]=c[v+8>>2];c[a+12>>2]=c[v+12>>2];c[a+16>>2]=c[v+16>>2];c[a+20>>2]=c[v+20>>2];c[a+24>>2]=c[v+24>>2];c[a+28>>2]=c[v+28>>2];i=C;return}function bT(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;MV(c[(c[d>>2]|0)+24>>2]|0)|0;B1(c[d>>2]|0);i=b;return}function cT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();l=f+16|0;k=f+12|0;h=f+4|0;g=f;c[f+20>>2]=a;c[l>>2]=b;c[k>>2]=d;c[f+8>>2]=e;c[h>>2]=c[c[l>>2]>>2];c[g>>2]=c[c[k>>2]>>2];i=f;return (c[h>>2]|0)-(c[g>>2]|0)|0}function dT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=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;v=i;i=i+112|0;if((i|0)>=(j|0))ba();g=v+108|0;k=v+104|0;l=v+100|0;p=v+96|0;q=v+92|0;r=v+88|0;t=v+72|0;u=v+56|0;n=v+16|0;m=v+8|0;s=v;o=v+48|0;c[g>>2]=d;c[k>>2]=e;c[l>>2]=f;if(!(c[(c[k>>2]|0)+32>>2]|0))db(149216,149226,382,149245);c[n>>2]=0;h[n+8>>3]=0.0;d=n+16|0;e=(c[(c[k>>2]|0)+32>>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];c[p>>2]=0;while(1){f=c[k>>2]|0;if((c[p>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0))break;do if((f|0)!=((c[c[g>>2]>>2]|0)+((c[p>>2]|0)*40|0)|0)){if(+h[(c[c[g>>2]>>2]|0)+((c[p>>2]|0)*40|0)+16>>3]>0.0?+h[(c[c[g>>2]>>2]|0)+((c[p>>2]|0)*40|0)+16+8>>3]>0.0:0)break;if(eT(c[k>>2]|0,(c[c[g>>2]>>2]|0)+((c[p>>2]|0)*40|0)|0)|0)c[n>>2]=(c[n>>2]|0)+1}while(0);c[p>>2]=(c[p>>2]|0)+1}fT(f,t);c[r>>2]=NV(c[(c[g>>2]|0)+24>>2]|0,c[c[(c[g>>2]|0)+24>>2]>>2]|0,t)|0;if(!(c[r>>2]|0)){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];c[b+16>>2]=c[n+16>>2];c[b+20>>2]=c[n+20>>2];c[b+24>>2]=c[n+24>>2];c[b+28>>2]=c[n+28>>2];i=v;return}c[q>>2]=c[r>>2];while(1){if(!(c[q>>2]|0))break;c[o>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+16>>2];if((c[o>>2]|0)!=(c[k>>2]|0)){gT(c[o>>2]|0,u);h[m>>3]=+hT(t,u);if(+h[m>>3]>0.0){h[s>>3]=+iT(c[g>>2]|0,c[k>>2]|0,c[o>>2]|0,t,+h[m>>3],c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+1;p=n+8|0;h[p>>3]=+h[p>>3]+ +h[s>>3]}if(((c[(c[o>>2]|0)+32>>2]|0)!=0?(a[(c[(c[o>>2]|0)+32>>2]|0)+36>>0]|0)!=0:0)?(fT(c[o>>2]|0,u),h[m>>3]=+hT(t,u),+h[m>>3]>0.0):0){h[s>>3]=+jT(c[g>>2]|0,c[k>>2]|0,c[o>>2]|0,t,+h[m>>3],c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+1;p=n+8|0;h[p>>3]=+h[p>>3]+ +h[s>>3]}}c[q>>2]=c[c[q>>2]>>2]}JV(c[r>>2]|0);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];c[b+16>>2]=c[n+16>>2];c[b+20>>2]=c[n+20>>2];c[b+24>>2]=c[n+24>>2];c[b+28>>2]=c[n+28>>2];i=v;return}function eT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g+12|0;k=g+8|0;d=g+4|0;e=g;c[k>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[k>>2]|0)+32>>2];if(!(+h[(c[d>>2]|0)+16>>3]==0.0))db(149282,149226,219,149319);if(!(+h[(c[d>>2]|0)+16+8>>3]==0.0))db(149282,149226,219,149319);if(!(c[e>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=g;return k|0}if((+h[c[d>>2]>>3]>+h[(c[e>>2]|0)+16>>3]?+h[c[d>>2]>>3]<+h[(c[e>>2]|0)+16>>3]+ +h[c[e>>2]>>3]:0)?+h[(c[d>>2]|0)+8>>3]>+h[(c[e>>2]|0)+16+8>>3]:0)d=+h[(c[d>>2]|0)+8>>3]<+h[(c[e>>2]|0)+16+8>>3]+ +h[(c[e>>2]|0)+8>>3];else d=0;c[f>>2]=d&1;k=c[f>>2]|0;i=g;return k|0}function fT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+32>>2];c[c[e>>2]>>2]=~~+h[(c[f>>2]|0)+16>>3];c[(c[e>>2]|0)+4>>2]=~~+h[(c[f>>2]|0)+16+8>>3];c[(c[e>>2]|0)+8>>2]=~~(+h[(c[f>>2]|0)+16>>3]+ +h[c[f>>2]>>3]);c[(c[e>>2]|0)+12>>2]=~~(+h[(c[f>>2]|0)+16+8>>3]+ +h[(c[f>>2]|0)+8>>3]);i=d;return}function gT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=~~+h[c[f>>2]>>3];c[(c[e>>2]|0)+4>>2]=~~+h[(c[f>>2]|0)+8>>3];c[(c[e>>2]|0)+8>>2]=~~(+h[c[f>>2]>>3]+ +h[(c[f>>2]|0)+16>>3]);c[(c[e>>2]|0)+12>>2]=~~(+h[(c[f>>2]|0)+8>>3]+ +h[(c[f>>2]|0)+16+8>>3]);i=d;return}function hT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();f=n+32|0;d=n+44|0;e=n+40|0;l=n+24|0;m=n+16|0;g=n+8|0;k=n;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+8>>2]|0)>=(c[c[e>>2]>>2]|0)?(c[c[d>>2]>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0):0){if((c[(c[d>>2]|0)+12>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)?(c[(c[d>>2]|0)+4>>2]|0)<=(c[(c[e>>2]|0)+12>>2]|0):0){if((c[c[d>>2]>>2]|0)>(c[c[e>>2]>>2]|0))a=c[c[d>>2]>>2]|0;else a=c[c[e>>2]>>2]|0;h[l>>3]=+(a|0);if((c[(c[d>>2]|0)+4>>2]|0)>(c[(c[e>>2]|0)+4>>2]|0))a=c[(c[d>>2]|0)+4>>2]|0;else a=c[(c[e>>2]|0)+4>>2]|0;h[m>>3]=+(a|0);if((c[(c[d>>2]|0)+8>>2]|0)<(c[(c[e>>2]|0)+8>>2]|0))a=c[(c[d>>2]|0)+8>>2]|0;else a=c[(c[e>>2]|0)+8>>2]|0;h[g>>3]=+(a|0);if((c[(c[d>>2]|0)+12>>2]|0)<(c[(c[e>>2]|0)+12>>2]|0))a=c[(c[d>>2]|0)+12>>2]|0;else a=c[(c[e>>2]|0)+12>>2]|0;h[k>>3]=+(a|0);h[f>>3]=(+h[g>>3]-+h[l>>3])*(+h[k>>3]-+h[m>>3]);o=+h[f>>3];i=n;return +o}h[f>>3]=0.0;o=+h[f>>3];i=n;return +o}h[f>>3]=0.0;o=+h[f>>3];i=n;return +o}function iT(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|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;t=i;i=i+80|0;if((i|0)>=(j|0))ba();k=t+24|0;v=t+68|0;u=t+64|0;l=t+60|0;m=t+56|0;n=t+16|0;o=t+52|0;p=t+48|0;r=t+8|0;q=t;s=t+32|0;c[v>>2]=a;c[u>>2]=b;c[l>>2]=d;c[m>>2]=e;h[n>>3]=f;c[o>>2]=g;a=kT(c[v>>2]|0,c[u>>2]|0,c[l>>2]|0)|0;c[p>>2]=a;c[p>>2]=(c[p>>2]|0)<0?5:a;if(!(c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0)){c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[l>>2];h[k>>3]=+h[n>>3];f=+h[k>>3];i=t;return +f}h[q>>3]=0.0;gT(c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0,s);h[r>>3]=+hT(c[m>>2]|0,s);if(+h[r>>3]>+h[n>>3])h[q>>3]=+h[r>>3];if((c[(c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0)+32>>2]|0)!=0?(fT(c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0,s),h[r>>3]=+hT(c[m>>2]|0,s),+h[r>>3]>+h[n>>3]):0)h[q>>3]=+h[r>>3]>+h[q>>3]?+h[r>>3]:+h[q>>3];if(+h[q>>3]>0.0){h[k>>3]=+h[q>>3];f=+h[k>>3];i=t;return +f}else{c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[l>>2];h[k>>3]=+h[n>>3];f=+h[k>>3];i=t;return +f}return 0.0}function jT(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|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;t=i;i=i+80|0;if((i|0)>=(j|0))ba();k=t+24|0;v=t+68|0;u=t+64|0;l=t+60|0;m=t+56|0;n=t+16|0;o=t+52|0;p=t+48|0;r=t+8|0;q=t;s=t+32|0;c[v>>2]=a;c[u>>2]=b;c[l>>2]=d;c[m>>2]=e;h[n>>3]=f;c[o>>2]=g;a=kT(c[v>>2]|0,c[u>>2]|0,c[l>>2]|0)|0;c[p>>2]=a;c[p>>2]=(c[p>>2]|0)<0?5:a;if(!(c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0)){c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[l>>2];h[k>>3]=+h[n>>3];f=+h[k>>3];i=t;return +f}h[q>>3]=0.0;gT(c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0,s);h[r>>3]=+hT(c[m>>2]|0,s);if(+h[r>>3]>+h[n>>3])h[q>>3]=+h[r>>3];if((c[(c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0)+32>>2]|0)!=0?(fT(c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]|0,s),h[r>>3]=+hT(c[m>>2]|0,s),+h[r>>3]>+h[n>>3]):0)h[q>>3]=+h[r>>3]>+h[q>>3]?+h[r>>3]:+h[q>>3];if(+h[q>>3]>0.0){h[k>>3]=+h[q>>3];f=+h[k>>3];i=t;return +f}else{c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[l>>2];h[k>>3]=+h[n>>3];f=+h[k>>3];i=t;return +f}return 0.0}function kT(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();l=p+24|0;m=p+16|0;n=p+12|0;o=p+8|0;g=p+4|0;f=p;c[p+20>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=-1;c[g>>2]=c[(c[m>>2]|0)+32>>2];c[f>>2]=c[(c[n>>2]|0)+32>>2];if((c[g>>2]|0)==(c[f>>2]|0))db(149261,149226,276,149271);if((d[(c[g>>2]|0)+36>>0]|0|0)!=0?(d[(c[f>>2]|0)+36>>0]|0|0)!=0:0){if(!(+h[c[m>>2]>>3]==0.0?+h[(c[m>>2]|0)+8>>3]==0.0:0))k=8;do if((k|0)==8){if(+h[c[n>>2]>>3]==0.0?+h[(c[n>>2]|0)+8>>3]==0.0:0)break;e=c[n>>2]|0;do if(+h[(c[n>>2]|0)+8>>3]<+h[(c[m>>2]|0)+8>>3]){if(+h[e>>3]<+h[c[m>>2]>>3]){c[o>>2]=0;break}if(+h[c[n>>2]>>3]>+h[c[m>>2]>>3]){c[o>>2]=2;break}else{c[o>>2]=1;break}}else{f=+h[c[n>>2]>>3]<+h[c[m>>2]>>3];if(!(+h[e+8>>3]>+h[(c[m>>2]|0)+8>>3])){if(f){c[o>>2]=3;break}if(!(+h[c[n>>2]>>3]>+h[c[m>>2]>>3]))break;c[o>>2]=5;break}if(f){c[o>>2]=6;break}if(+h[c[n>>2]>>3]>+h[c[m>>2]>>3]){c[o>>2]=8;break}else{c[o>>2]=7;break}}while(0);c[l>>2]=c[o>>2];o=c[l>>2]|0;i=p;return o|0}while(0);c[l>>2]=c[o>>2];o=c[l>>2]|0;i=p;return o|0}c[l>>2]=c[o>>2];o=c[l>>2]|0;i=p;return o|0}function lT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+64|0;if((i|0)>=(j|0))ba();k=m+48|0;l=m+40|0;b=m+36|0;f=m+32|0;g=m+28|0;e=m+24|0;h=m+16|0;d=m;c[b>>2]=a;c[g>>2]=XS(c[b>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0)){b=6;break}c[e>>2]=qK(32)|0;c[(c[e>>2]|0)+12+16>>2]=(c[c[b>>2]>>2]|0)+((c[f>>2]|0)*40|0);a=(c[e>>2]|0)+12|0;oT(d,c[b>>2]|0,(c[c[b>>2]>>2]|0)+((c[f>>2]|0)*40|0)|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[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(((c[(c[e>>2]|0)+12+8>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/2|0);c[h+4>>2]=(c[(c[e>>2]|0)+12+4>>2]|0)+(((c[(c[e>>2]|0)+12+12>>2]|0)-(c[(c[e>>2]|0)+12+4>>2]|0)|0)/2|0);a=c[g>>2]|0;c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>2];a=pT(k,a)|0;c[(c[e>>2]|0)+8>>2]=a;if(!($b[c[c[(c[b>>2]|0)+20>>2]>>2]&63](c[(c[b>>2]|0)+20>>2]|0,c[e>>2]|0,1)|0)){b=4;break}c[f>>2]=(c[f>>2]|0)+1}if((b|0)==4){c[l>>2]=-1;l=c[l>>2]|0;i=m;return l|0}else if((b|0)==6){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}return 0}function mT(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=$b[c[c[(c[b>>2]|0)+20>>2]>>2]&63](c[(c[b>>2]|0)+20>>2]|0,0,128)|0;while(1){if(!(c[d>>2]|0))break;OV(c[(c[b>>2]|0)+24>>2]|0,(c[d>>2]|0)+12|0,c[(c[d>>2]|0)+12+16>>2]|0,c[(c[b>>2]|0)+24>>2]|0,0)|0;c[d>>2]=$b[c[c[(c[b>>2]|0)+20>>2]>>2]&63](c[(c[b>>2]|0)+20>>2]|0,c[d>>2]|0,8)|0}i=e;return 0}function nT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();b=h+12|0;e=h+8|0;d=h+4|0;f=h;c[b>>2]=a;c[e>>2]=gA(c[(c[b>>2]|0)+20>>2]|0)|0;c[d>>2]=0;while(1){if(!(gA(c[(c[b>>2]|0)+20>>2]|0)|0))break;do if(c[(c[(c[(c[b>>2]|0)+20>>2]|0)+8>>2]|0)+4>>2]|0){a=c[(c[(c[(c[b>>2]|0)+20>>2]|0)+8>>2]|0)+4>>2]|0;if((c[(c[(c[(c[b>>2]|0)+20>>2]|0)+4>>2]|0)+8>>2]|0)<0){a=c[a+8>>2]|0;break}else{a=a+(0-(c[(c[(c[(c[b>>2]|0)+20>>2]|0)+4>>2]|0)+8>>2]|0))|0;break}}else a=0;while(0);c[f>>2]=a;if(!(c[f>>2]|0)){g=8;break}if(!(c[f>>2]|0))continue;$b[c[c[(c[b>>2]|0)+20>>2]>>2]&63](c[(c[b>>2]|0)+20>>2]|0,c[f>>2]|0,4096)|0;B1(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}if((g|0)==8)db(149332,149226,616,149335);if((c[e>>2]|0)==(c[d>>2]|0)){i=h;return}else db(149347,149226,623,149335)}function oT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;k=i;i=i+48|0;if((i|0)>=(j|0))ba();e=k+32|0;g=k+16|0;f=k;c[k+36>>2]=b;c[e>>2]=d;h[f+8>>3]=0.0;h[f>>3]=0.0;if(c[(c[e>>2]|0)+32>>2]|0){b=c[(c[e>>2]|0)+32>>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[g>>2]=~~+M(+(+h[c[e>>2]>>3]-+h[f>>3]));c[g+4>>2]=~~+M(+(+h[(c[e>>2]|0)+8>>3]-+h[f+8>>3]));c[g+8>>2]=~~+Z(+(+h[c[e>>2]>>3]+ +h[(c[e>>2]|0)+16>>3]+ +h[f>>3]));if((c[g+8>>2]|0)>=2147483647)db(149359,149226,264,149386);c[g+12>>2]=~~+Z(+(+h[(c[e>>2]|0)+8>>3]+ +h[(c[e>>2]|0)+16+8>>3]+ +h[f+8>>3]));if((c[g+12>>2]|0)<2147483647){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];i=k;return}else db(149396,149226,266,149386)}function pT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();m=l+24|0;d=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;e=l;c[m>>2]=b;c[f>>2]=c[a>>2];c[h>>2]=c[a+4>>2];c[e>>2]=0;c[d>>2]=(c[m>>2]|0)-1;while(1){if((c[d>>2]|0)<0)break;c[g>>2]=c[f>>2]>>c[d>>2]&1;c[k>>2]=c[h>>2]>>c[d>>2]&1;c[e>>2]=(c[e>>2]<<2)+(c[g>>2]<<1)+(c[g>>2]^c[k>>2]);c[f>>2]=c[f>>2]^c[h>>2];c[h>>2]=c[h>>2]^c[f>>2]&(c[k>>2]|0)-1;c[f>>2]=c[f>>2]^c[h>>2];c[f>>2]=c[f>>2]^0-(c[g>>2]|0)&(c[k>>2]|0)-1;c[h>>2]=c[h>>2]^0-(c[g>>2]|0)&(c[k>>2]|0)-1;c[d>>2]=(c[d>>2]|0)+-1}i=l;return c[e>>2]|0}function qT(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;m=l+12|0;f=l+20|0;h=l+8|0;k=l+4|0;g=l;c[m>>2]=b;c[h>>2]=c[m>>2];c[g>>2]=e4(c[m>>2]|0)|0;if((c[g>>2]|0)>=(c[15372]|0)?(c[15372]=(c[g>>2]|0)+1+10,c[15373]=tK(c[15373]|0,c[15372]|0)|0,(c[15373]|0)==0):0){c[e>>2]=0;m=c[e>>2]|0;i=l;return m|0}c[k>>2]=c[15373];while(1){m=c[h>>2]|0;c[h>>2]=m+1;m=a[m>>0]|0;a[f>>0]=m;if(!(m<<24>>24))break;if(L1(d[f>>0]|0)|0)a[f>>0]=_1(d[f>>0]|0)|0;b=a[f>>0]|0;m=c[k>>2]|0;c[k>>2]=m+1;a[m>>0]=b}a[c[k>>2]>>0]=0;c[e>>2]=c[15373];m=c[e>>2]|0;i=l;return m|0}function rT(b,e,f){b=b|0;e=e|0;f=f|0;var g=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,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+192|0;if((i|0)>=(j|0))ba();w=L+104|0;v=L+88|0;x=L+172|0;k=L+168|0;y=L+164|0;z=L+160|0;s=L+156|0;t=L+152|0;p=L+140|0;o=L+176|0;D=L+80|0;H=L+72|0;I=L+64|0;l=L+56|0;G=L+48|0;C=L+40|0;A=L+32|0;B=L+24|0;F=L+16|0;J=L+8|0;E=L;u=L+136|0;q=L+132|0;n=L+128|0;m=L+124|0;r=L+120|0;K=L+116|0;c[k>>2]=b;c[y>>2]=e;c[z>>2]=f;c[(c[y>>2]|0)+32>>2]=c[z>>2];c[K>>2]=0;while(1){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)!=32)break;c[k>>2]=e+1}c[s>>2]=e;c[m>>2]=255;if((d[c[s>>2]>>0]|0)==35?(f=c[s>>2]|0,c[v>>2]=u,c[v+4>>2]=q,c[v+8>>2]=n,c[v+12>>2]=m,(E3(f,149438,v)|0)>=3):0){switch(c[z>>2]|0){case 0:{h[G>>3]=+((c[u>>2]|0)>>>0)/255.0;h[C>>3]=+((c[q>>2]|0)>>>0)/255.0;h[A>>3]=+((c[n>>2]|0)>>>0)/255.0;h[l>>3]=+((c[m>>2]|0)>>>0)/255.0;tT(+h[G>>3],+h[C>>3],+h[A>>3],D,H,I);h[c[y>>2]>>3]=+h[D>>3];h[(c[y>>2]|0)+8>>3]=+h[H>>3];h[(c[y>>2]|0)+16>>3]=+h[I>>3];h[(c[y>>2]|0)+24>>3]=+h[l>>3];break}case 1:{a[c[y>>2]>>0]=c[u>>2];a[(c[y>>2]|0)+1>>0]=c[q>>2];a[(c[y>>2]|0)+2>>0]=c[n>>2];a[(c[y>>2]|0)+3>>0]=c[m>>2];break}case 3:{h[G>>3]=+((c[u>>2]|0)>>>0)/255.0;h[C>>3]=+((c[q>>2]|0)>>>0)/255.0;h[A>>3]=+((c[n>>2]|0)>>>0)/255.0;uT(+h[G>>3],+h[C>>3],+h[A>>3],B,F,J,E);a[c[y>>2]>>0]=~~+h[B>>3]*255;a[(c[y>>2]|0)+1>>0]=~~+h[F>>3]*255;a[(c[y>>2]|0)+2>>0]=~~+h[J>>3]*255;a[(c[y>>2]|0)+3>>0]=~~+h[E>>3]*255;break}case 2:{c[c[y>>2]>>2]=(((c[u>>2]|0)*65535|0)>>>0)/255|0;c[(c[y>>2]|0)+4>>2]=(((c[q>>2]|0)*65535|0)>>>0)/255|0;c[(c[y>>2]|0)+8>>2]=(((c[n>>2]|0)*65535|0)>>>0)/255|0;c[(c[y>>2]|0)+12>>2]=(((c[m>>2]|0)*65535|0)>>>0)/255|0;break}case 4:{h[c[y>>2]>>3]=+((c[u>>2]|0)>>>0)/255.0;h[(c[y>>2]|0)+8>>3]=+((c[q>>2]|0)>>>0)/255.0;h[(c[y>>2]|0)+16>>3]=+((c[n>>2]|0)>>>0)/255.0;h[(c[y>>2]|0)+24>>3]=+((c[m>>2]|0)>>>0)/255.0;break}default:{}}c[x>>2]=c[K>>2];K=c[x>>2]|0;i=L;return K|0}v=a[c[s>>2]>>0]|0;a[o>>0]=v;if(!((v&255|0)!=46?(I1(d[o>>0]|0)|0)==0:0)){c[r>>2]=e4(c[s>>2]|0)|0;if((c[r>>2]|0)>=(c[15374]|0)?(c[15374]=(c[r>>2]|0)+1+10,c[15375]=tK(c[15375]|0,c[15374]|0)|0,(c[15375]|0)==0):0){c[K>>2]=-1;c[x>>2]=c[K>>2];K=c[x>>2]|0;i=L;return K|0}c[t>>2]=c[15375];while(1){v=c[s>>2]|0;c[s>>2]=v+1;v=a[v>>0]|0;a[o>>0]=v;if(!(v<<24>>24))break;if((d[o>>0]|0)==44)a[o>>0]=32;u=a[o>>0]|0;v=c[t>>2]|0;c[t>>2]=v+1;a[v>>0]=u}a[c[t>>2]>>0]=0;v=c[15375]|0;c[w>>2]=D;c[w+4>>2]=H;c[w+8>>2]=I;if((E3(v,149452,w)|0)==3){if((+h[D>>3]<1.0?+h[D>>3]:1.0)>0.0)g=+h[D>>3]<1.0?+h[D>>3]:1.0;else g=0.0;h[D>>3]=g;if((+h[H>>3]<1.0?+h[H>>3]:1.0)>0.0)g=+h[H>>3]<1.0?+h[H>>3]:1.0;else g=0.0;h[H>>3]=g;if((+h[I>>3]<1.0?+h[I>>3]:1.0)>0.0)g=+h[I>>3]<1.0?+h[I>>3]:1.0;else g=0.0;h[I>>3]=g;switch(c[z>>2]|0){case 0:{h[c[y>>2]>>3]=+h[D>>3];h[(c[y>>2]|0)+8>>3]=+h[H>>3];h[(c[y>>2]|0)+16>>3]=+h[I>>3];h[(c[y>>2]|0)+24>>3]=1.0;break}case 1:{vT(+h[D>>3],+h[H>>3],+h[I>>3],G,C,A);a[c[y>>2]>>0]=~~(+h[G>>3]*255.0);a[(c[y>>2]|0)+1>>0]=~~(+h[C>>3]*255.0);a[(c[y>>2]|0)+2>>0]=~~(+h[A>>3]*255.0);a[(c[y>>2]|0)+3>>0]=-1;break}case 3:{vT(+h[D>>3],+h[H>>3],+h[I>>3],G,C,A);uT(+h[G>>3],+h[C>>3],+h[A>>3],B,F,J,E);a[c[y>>2]>>0]=~~+h[B>>3]*255;a[(c[y>>2]|0)+1>>0]=~~+h[F>>3]*255;a[(c[y>>2]|0)+2>>0]=~~+h[J>>3]*255;a[(c[y>>2]|0)+3>>0]=~~+h[E>>3]*255;break}case 2:{vT(+h[D>>3],+h[H>>3],+h[I>>3],G,C,A);c[c[y>>2]>>2]=~~(+h[G>>3]*65535.0);c[(c[y>>2]|0)+4>>2]=~~(+h[C>>3]*65535.0);c[(c[y>>2]|0)+8>>2]=~~(+h[A>>3]*65535.0);c[(c[y>>2]|0)+12>>2]=65535;break}case 4:{vT(+h[D>>3],+h[H>>3],+h[I>>3],G,C,A);h[c[y>>2]>>3]=+h[G>>3];h[(c[y>>2]|0)+8>>3]=+h[C>>3];h[(c[y>>2]|0)+16>>3]=+h[A>>3];h[(c[y>>2]|0)+24>>3]=1.0;break}default:{}}c[x>>2]=c[K>>2];K=c[x>>2]|0;i=L;return K|0}}c[p>>2]=wT(c[k>>2]|0)|0;if(!(c[p>>2]|0)){c[x>>2]=-1;K=c[x>>2]|0;i=L;return K|0}if(!(((c[15376]|0)!=0?(a[c[c[15376]>>2]>>0]|0)==(a[c[p>>2]>>0]|0):0)?(a4(c[c[15376]>>2]|0,c[p>>2]|0)|0)==0:0))c[15376]=O3(p,61508,2491,12,103)|0;if(c[15376]|0){switch(c[z>>2]|0){case 0:{h[c[y>>2]>>3]=+(d[(c[15376]|0)+4>>0]|0)/255.0;h[(c[y>>2]|0)+8>>3]=+(d[(c[15376]|0)+5>>0]|0)/255.0;h[(c[y>>2]|0)+16>>3]=+(d[(c[15376]|0)+6>>0]|0)/255.0;h[(c[y>>2]|0)+24>>3]=+(d[(c[15376]|0)+10>>0]|0)/255.0;break}case 1:{a[c[y>>2]>>0]=a[(c[15376]|0)+7>>0]|0;a[(c[y>>2]|0)+1>>0]=a[(c[15376]|0)+8>>0]|0;a[(c[y>>2]|0)+2>>0]=a[(c[15376]|0)+9>>0]|0;a[(c[y>>2]|0)+3>>0]=a[(c[15376]|0)+10>>0]|0;break}case 3:{h[G>>3]=+(d[(c[15376]|0)+7>>0]|0)/255.0;h[C>>3]=+(d[(c[15376]|0)+8>>0]|0)/255.0;h[A>>3]=+(d[(c[15376]|0)+9>>0]|0)/255.0;uT(+h[G>>3],+h[C>>3],+h[A>>3],B,F,J,E);a[c[y>>2]>>0]=~~+h[B>>3]*255;a[(c[y>>2]|0)+1>>0]=~~+h[F>>3]*255;a[(c[y>>2]|0)+2>>0]=~~+h[J>>3]*255;a[(c[y>>2]|0)+3>>0]=~~+h[E>>3]*255;break}case 2:{c[c[y>>2]>>2]=((d[(c[15376]|0)+7>>0]|0)*65535|0)/255|0;c[(c[y>>2]|0)+4>>2]=((d[(c[15376]|0)+8>>0]|0)*65535|0)/255|0;c[(c[y>>2]|0)+8>>2]=((d[(c[15376]|0)+9>>0]|0)*65535|0)/255|0;c[(c[y>>2]|0)+12>>2]=((d[(c[15376]|0)+10>>0]|0)*65535|0)/255|0;break}case 4:{h[c[y>>2]>>3]=+(d[(c[15376]|0)+7>>0]|0)/255.0;h[(c[y>>2]|0)+8>>3]=+(d[(c[15376]|0)+8>>0]|0)/255.0;h[(c[y>>2]|0)+16>>3]=+(d[(c[15376]|0)+9>>0]|0)/255.0;h[(c[y>>2]|0)+24>>3]=+(d[(c[15376]|0)+10>>0]|0)/255.0;break}default:{}}c[x>>2]=c[K>>2];K=c[x>>2]|0;i=L;return K|0}else{c[K>>2]=1;switch(c[z>>2]|0){case 0:{h[(c[y>>2]|0)+16>>3]=0.0;h[(c[y>>2]|0)+8>>3]=0.0;h[c[y>>2]>>3]=0.0;h[(c[y>>2]|0)+24>>3]=1.0;break}case 1:{a[(c[y>>2]|0)+2>>0]=0;a[(c[y>>2]|0)+1>>0]=0;a[c[y>>2]>>0]=0;a[(c[y>>2]|0)+3>>0]=-1;break}case 3:{a[(c[y>>2]|0)+3>>0]=0;a[(c[y>>2]|0)+2>>0]=0;a[(c[y>>2]|0)+1>>0]=0;a[c[y>>2]>>0]=0;break}case 2:{c[(c[y>>2]|0)+8>>2]=0;c[(c[y>>2]|0)+4>>2]=0;c[c[y>>2]>>2]=0;c[(c[y>>2]|0)+12>>2]=65535;break}case 4:{h[(c[y>>2]|0)+16>>3]=0.0;h[(c[y>>2]|0)+8>>3]=0.0;h[c[y>>2]>>3]=0.0;h[(c[y>>2]|0)+24>>3]=1.0;break}default:{}}c[x>>2]=c[K>>2];K=c[x>>2]|0;i=L;return K|0}return 0}function sT(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[22850]=c[d>>2];i=b;return}function tT(a,b,d,e,f,g){a=+a;b=+b;d=+d;e=e|0;f=f|0;g=g|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,w=0,x=0;x=i;i=i+96|0;if((i|0)>=(j|0))ba();k=x+72|0;l=x+64|0;m=x+56|0;n=x+88|0;o=x+84|0;p=x+80|0;v=x+48|0;u=x+40|0;t=x+32|0;q=x+24|0;r=x+16|0;s=x+8|0;w=x;h[k>>3]=a;h[l>>3]=b;h[m>>3]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;h[s>>3]=0.0;h[w>>3]=0.0;if(+h[k>>3]<(+h[l>>3]<+h[m>>3]?+h[l>>3]:+h[m>>3]))d=+h[k>>3];else d=+h[l>>3]<+h[m>>3]?+h[l>>3]:+h[m>>3];h[v>>3]=d;if(+h[k>>3]>(+h[l>>3]>+h[m>>3]?+h[l>>3]:+h[m>>3]))d=+h[k>>3];else d=+h[l>>3]>+h[m>>3]?+h[l>>3]:+h[m>>3];h[u>>3]=d;if(+h[u>>3]>0.0)h[w>>3]=(+h[u>>3]-+h[v>>3])/+h[u>>3];if(!(+h[w>>3]>0.0)){a=+h[s>>3];a=a/360.0;v=c[n>>2]|0;h[v>>3]=a;a=+h[u>>3];v=c[p>>2]|0;h[v>>3]=a;a=+h[w>>3];w=c[o>>2]|0;h[w>>3]=a;i=x;return}h[t>>3]=(+h[u>>3]-+h[k>>3])/(+h[u>>3]-+h[v>>3]);h[r>>3]=(+h[u>>3]-+h[l>>3])/(+h[u>>3]-+h[v>>3]);h[q>>3]=(+h[u>>3]-+h[m>>3])/(+h[u>>3]-+h[v>>3]);do if(!(+h[k>>3]==+h[u>>3])){if(+h[l>>3]==+h[u>>3]){h[s>>3]=+h[t>>3]+2.0-+h[q>>3];break}if(+h[m>>3]==+h[u>>3])h[s>>3]=+h[r>>3]+4.0-+h[t>>3]}else h[s>>3]=+h[q>>3]-+h[r>>3];while(0);h[s>>3]=+h[s>>3]*60.0;if(!(+h[s>>3]<0.0)){a=+h[s>>3];a=a/360.0;v=c[n>>2]|0;h[v>>3]=a;a=+h[u>>3];v=c[p>>2]|0;h[v>>3]=a;a=+h[w>>3];w=c[o>>2]|0;h[w>>3]=a;i=x;return}h[s>>3]=+h[s>>3]+360.0;a=+h[s>>3];a=a/360.0;v=c[n>>2]|0;h[v>>3]=a;a=+h[u>>3];v=c[p>>2]|0;h[v>>3]=a;a=+h[w>>3];w=c[o>>2]|0;h[w>>3]=a;i=x;return}function uT(a,b,d,e,f,g,k){a=+a;b=+b;d=+d;e=e|0;f=f|0;g=g|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();s=p+16|0;r=p+8|0;q=p;l=p+36|0;m=p+32|0;n=p+28|0;o=p+24|0;h[s>>3]=a;h[r>>3]=b;h[q>>3]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=k;h[c[l>>2]>>3]=1.0-+h[s>>3];h[c[m>>2]>>3]=1.0-+h[r>>3];h[c[n>>2]>>3]=1.0-+h[q>>3];if(+h[c[l>>2]>>3]<+h[c[m>>2]>>3])d=+h[c[l>>2]>>3];else d=+h[c[m>>2]>>3];h[c[o>>2]>>3]=d;if(+h[c[n>>2]>>3]<+h[c[o>>2]>>3])d=+h[c[n>>2]>>3];else d=+h[c[o>>2]>>3];h[c[o>>2]>>3]=d;s=c[l>>2]|0;h[s>>3]=+h[s>>3]-+h[c[o>>2]>>3];s=c[m>>2]|0;h[s>>3]=+h[s>>3]-+h[c[o>>2]>>3];s=c[n>>2]|0;h[s>>3]=+h[s>>3]-+h[c[o>>2]>>3];i=p;return}function vT(a,b,d,e,f,g){a=+a;b=+b;d=+d;e=e|0;f=f|0;g=g|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;v=i;i=i+80|0;if((i|0)>=(j|0))ba();k=v+48|0;l=v+40|0;m=v+32|0;n=v+68|0;o=v+64|0;p=v+60|0;r=v+56|0;q=v+24|0;s=v+16|0;t=v+8|0;u=v;h[k>>3]=a;h[l>>3]=b;h[m>>3]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;if(+h[l>>3]<=0.0){h[c[n>>2]>>3]=+h[m>>3];h[c[o>>2]>>3]=+h[m>>3];h[c[p>>2]>>3]=+h[m>>3];i=v;return}if(+h[k>>3]>=1.0)h[k>>3]=0.0;h[k>>3]=+h[k>>3]*6.0;c[r>>2]=~~+h[k>>3];h[q>>3]=+h[k>>3]-+(c[r>>2]|0);h[s>>3]=+h[m>>3]*(1.0-+h[l>>3]);h[t>>3]=+h[m>>3]*(1.0-+h[l>>3]*+h[q>>3]);h[u>>3]=+h[m>>3]*(1.0-+h[l>>3]*(1.0-+h[q>>3]));switch(c[r>>2]|0){case 0:{h[c[n>>2]>>3]=+h[m>>3];h[c[o>>2]>>3]=+h[u>>3];h[c[p>>2]>>3]=+h[s>>3];i=v;return}case 1:{h[c[n>>2]>>3]=+h[t>>3];h[c[o>>2]>>3]=+h[m>>3];h[c[p>>2]>>3]=+h[s>>3];i=v;return}case 2:{h[c[n>>2]>>3]=+h[s>>3];h[c[o>>2]>>3]=+h[m>>3];h[c[p>>2]>>3]=+h[u>>3];i=v;return}case 3:{h[c[n>>2]>>3]=+h[s>>3];h[c[o>>2]>>3]=+h[t>>3];h[c[p>>2]>>3]=+h[m>>3];i=v;return}case 4:{h[c[n>>2]>>3]=+h[u>>3];h[c[o>>2]>>3]=+h[s>>3];h[c[p>>2]>>3]=+h[m>>3];i=v;return}case 5:{h[c[n>>2]>>3]=+h[m>>3];h[c[o>>2]>>3]=+h[s>>3];h[c[p>>2]>>3]=+h[t>>3];i=v;return}default:{i=v;return}}}function wT(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;f=k;c[e>>2]=b;if((a[c[e>>2]>>0]|0)!=98?(g4((c[e>>2]|0)+1|0,174949,4)|0)!=0:0){if((a[c[e>>2]>>0]|0)!=119?(g4((c[e>>2]|0)+1|0,174954,4)|0)!=0:0){if((a[c[e>>2]>>0]|0)!=108?(g4((c[e>>2]|0)+1|0,174959,8)|0)!=0:0){do if((a[c[e>>2]>>0]|0)==47){c[f>>2]=(c[e>>2]|0)+1;l=_3(c[f>>2]|0,47)|0;c[h>>2]=l;b=c[f>>2]|0;if(!l){c[g>>2]=b;break}if((a[b>>0]|0)!=47)if(f4(174968,c[f>>2]|0,4)|0){c[g>>2]=c[e>>2];break}else{c[g>>2]=(c[h>>2]|0)+1;break}if(((c[22850]|0)!=0?(a[c[22850]>>0]|0)!=0:0)?(f4(174968,c[22850]|0,3)|0)!=0:0){c[g>>2]=yT(c[22850]|0,(c[f>>2]|0)+1|0)|0;break}c[g>>2]=(c[f>>2]|0)+1}else{if(((c[22850]|0)!=0?(a[c[22850]>>0]|0)!=0:0)?(f4(174968,c[22850]|0,3)|0)!=0:0){c[g>>2]=yT(c[22850]|0,c[e>>2]|0)|0;break}c[g>>2]=c[e>>2]}while(0);c[d>>2]=qT(c[g>>2]|0)|0;l=c[d>>2]|0;i=k;return l|0}c[d>>2]=c[e>>2];l=c[d>>2]|0;i=k;return l|0}c[d>>2]=c[e>>2];l=c[d>>2]|0;i=k;return l|0}c[d>>2]=c[e>>2];l=c[d>>2]|0;i=k;return l|0}function xT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Y3(c[c[f>>2]>>2]|0,c[c[e>>2]>>2]|0)|0;i=d;return b|0}function yT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;b=e4(c[d>>2]|0)|0;c[f>>2]=b+(e4(c[e>>2]|0)|0)+3;if((c[f>>2]|0)>=(c[22851]|0)){c[22851]=(c[f>>2]|0)+10;c[22852]=tK(c[22852]|0,c[22851]|0)|0}b=c[22852]|0;a=c[e>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=a;D3(b,174973,g)|0;i=h;return c[22852]|0}function zT(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+240|0;if((i|0)>=(j|0))ba();p=g+224|0;o=g+216|0;n=g+208|0;m=g+200|0;l=g;k=g+232|0;h[p>>3]=b;h[o>>3]=d;h[n>>3]=e;h[m>>3]=f;AT(l,+h[a>>3],+h[a+8>>3],+h[p>>3],+h[o>>3],0.0,+h[n>>3],+h[m>>3]);c[k>>2]=BT(l,3,1.0e-05,1)|0;i=g;return c[k>>2]|0}function AT(a,b,d,e,f,g,k,l){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;k=+k;l=+l;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;n=i;i=i+64|0;if((i|0)>=(j|0))ba();m=n+56|0;u=n+48|0;t=n+40|0;r=n+32|0;s=n+24|0;q=n+16|0;o=n+8|0;p=n;c[m>>2]=a;h[u>>3]=b;h[t>>3]=d;h[r>>3]=e;h[s>>3]=f;h[q>>3]=g;h[o>>3]=k;h[p>>3]=l;h[c[m>>2]>>3]=+h[u>>3];h[(c[m>>2]|0)+8>>3]=+h[t>>3];h[(c[m>>2]|0)+16>>3]=+h[r>>3];h[(c[m>>2]|0)+24>>3]=+h[s>>3];h[(c[m>>2]|0)+32>>3]=+h[q>>3];g=+R(+(+h[o>>3]));l=+Q(+(+h[o>>3]));l=+W(+(g/+h[s>>3]),+(l/+h[r>>3]));h[(c[m>>2]|0)+56>>3]=l;l=+R(+(+h[p>>3]));g=+Q(+(+h[p>>3]));g=+W(+(l/+h[s>>3]),+(g/+h[r>>3]));h[(c[m>>2]|0)+64>>3]=g;g=+Q(+(+h[q>>3]));h[(c[m>>2]|0)+40>>3]=g;g=+R(+(+h[q>>3]));h[(c[m>>2]|0)+48>>3]=g;g=+M(+((+h[(c[m>>2]|0)+64>>3]-+h[(c[m>>2]|0)+56>>3])/6.283185307179586))*6.283185307179586;a=(c[m>>2]|0)+64|0;h[a>>3]=+h[a>>3]-g;if(+h[p>>3]-+h[o>>3]>3.141592653589793?+h[(c[m>>2]|0)+64>>3]-+h[(c[m>>2]|0)+56>>3]<3.141592653589793:0){t=(c[m>>2]|0)+64|0;h[t>>3]=+h[t>>3]+6.283185307179586}HT(c[m>>2]|0);IT(c[m>>2]|0);JT(c[m>>2]|0);h[(c[m>>2]|0)+168>>3]=(+h[(c[m>>2]|0)+16>>3]-+h[(c[m>>2]|0)+24>>3])/+h[(c[m>>2]|0)+16>>3];h[(c[m>>2]|0)+176>>3]=+h[(c[m>>2]|0)+168>>3]*(2.0-+h[(c[m>>2]|0)+168>>3]);h[(c[m>>2]|0)+184>>3]=1.0-+h[(c[m>>2]|0)+168>>3];h[(c[m>>2]|0)+192>>3]=+h[(c[m>>2]|0)+184>>3]*+h[(c[m>>2]|0)+184>>3];i=n;return}function BT(b,e,f,g){b=b|0;e=e|0;f=+f;g=g|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,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;i=i+208|0;if((i|0)>=(j|0))ba();q=N+192|0;r=N+188|0;k=N+168|0;s=N+197|0;z=N+160|0;A=N+152|0;y=N+144|0;E=N+136|0;t=N+128|0;x=N+120|0;u=N+112|0;w=N+104|0;H=N+96|0;L=N+88|0;I=N+80|0;M=N+72|0;p=N+64|0;v=N+56|0;D=N+184|0;o=N+196|0;B=N+180|0;C=N+176|0;l=N+48|0;n=N+40|0;m=N+32|0;F=N+24|0;J=N+16|0;G=N+8|0;K=N;c[q>>2]=b;c[r>>2]=e;h[k>>3]=f;a[s>>0]=g;c[D>>2]=qK(8)|0;a[o>>0]=0;c[C>>2]=1;while(1){f=(+h[(c[q>>2]|0)+64>>3]-+h[(c[q>>2]|0)+56>>3])/+(c[C>>2]|0);if(!((a[o>>0]|0)!=0?0:(c[C>>2]|0)<1024))break;h[l>>3]=f;a:do if(+h[l>>3]<=1.5707963267948966){h[n>>3]=+h[(c[q>>2]|0)+56>>3];a[o>>0]=1;c[B>>2]=0;while(1){if(!(d[o>>0]|0))break a;if((c[B>>2]|0)>=(c[C>>2]|0))break a;h[m>>3]=+h[n>>3];h[n>>3]=+h[n>>3]+ +h[l>>3];f=+CT(c[q>>2]|0,c[r>>2]|0,+h[m>>3],+h[n>>3]);a[o>>0]=f<=+h[k>>3];c[B>>2]=(c[B>>2]|0)+1}}while(0);c[C>>2]=c[C>>2]<<1}h[z>>3]=f;h[A>>3]=+h[(c[q>>2]|0)+56>>3];h[y>>3]=+Q(+(+h[A>>3]));h[E>>3]=+R(+(+h[A>>3]));h[t>>3]=+h[(c[q>>2]|0)+16>>3]*+h[y>>3];h[x>>3]=+h[(c[q>>2]|0)+24>>3]*+h[E>>3];h[u>>3]=+h[(c[q>>2]|0)+16>>3]*+h[E>>3];h[w>>3]=+h[(c[q>>2]|0)+24>>3]*+h[y>>3];h[H>>3]=+h[c[q>>2]>>3]+ +h[t>>3]*+h[(c[q>>2]|0)+40>>3]-+h[x>>3]*+h[(c[q>>2]|0)+48>>3];h[L>>3]=+h[(c[q>>2]|0)+8>>3]+ +h[t>>3]*+h[(c[q>>2]|0)+48>>3]+ +h[x>>3]*+h[(c[q>>2]|0)+40>>3];h[I>>3]=-+h[u>>3]*+h[(c[q>>2]|0)+40>>3]-+h[w>>3]*+h[(c[q>>2]|0)+48>>3];h[M>>3]=-+h[u>>3]*+h[(c[q>>2]|0)+48>>3]+ +h[w>>3]*+h[(c[q>>2]|0)+40>>3];e=c[D>>2]|0;if(a[s>>0]|0){DT(e,+h[c[q>>2]>>3],+h[(c[q>>2]|0)+8>>3]);ET(c[D>>2]|0,+h[H>>3],+h[L>>3])}else DT(e,+h[H>>3],+h[L>>3]);h[p>>3]=+S(+(+h[z>>3]*.5));f=+R(+(+h[z>>3]));h[v>>3]=f*(+O(+(+h[p>>3]*3.0*+h[p>>3]+4.0))-1.0)/3.0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[C>>2]|0))break;h[F>>3]=+h[H>>3];h[J>>3]=+h[L>>3];h[G>>3]=+h[I>>3];h[K>>3]=+h[M>>3];h[A>>3]=+h[A>>3]+ +h[z>>3];h[y>>3]=+Q(+(+h[A>>3]));h[E>>3]=+R(+(+h[A>>3]));h[t>>3]=+h[(c[q>>2]|0)+16>>3]*+h[y>>3];h[x>>3]=+h[(c[q>>2]|0)+24>>3]*+h[E>>3];h[u>>3]=+h[(c[q>>2]|0)+16>>3]*+h[E>>3];h[w>>3]=+h[(c[q>>2]|0)+24>>3]*+h[y>>3];h[H>>3]=+h[c[q>>2]>>3]+ +h[t>>3]*+h[(c[q>>2]|0)+40>>3]-+h[x>>3]*+h[(c[q>>2]|0)+48>>3];h[L>>3]=+h[(c[q>>2]|0)+8>>3]+ +h[t>>3]*+h[(c[q>>2]|0)+48>>3]+ +h[x>>3]*+h[(c[q>>2]|0)+40>>3];h[I>>3]=-+h[u>>3]*+h[(c[q>>2]|0)+40>>3]-+h[w>>3]*+h[(c[q>>2]|0)+48>>3];h[M>>3]=-+h[u>>3]*+h[(c[q>>2]|0)+48>>3]+ +h[w>>3]*+h[(c[q>>2]|0)+40>>3];e=c[D>>2]|0;if((c[r>>2]|0)==1)ET(e,+h[H>>3],+h[L>>3]);else FT(e,+h[F>>3]+ +h[v>>3]*+h[G>>3],+h[J>>3]+ +h[v>>3]*+h[K>>3],+h[H>>3]-+h[v>>3]*+h[I>>3],+h[L>>3]-+h[v>>3]*+h[M>>3],+h[H>>3],+h[L>>3]);c[B>>2]=(c[B>>2]|0)+1}GT(c[D>>2]|0,a[s>>0]|0);i=N;return c[D>>2]|0}function CT(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=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;L=i;i=i+224|0;if((i|0)>=(j|0))ba();z=L+192|0;A=L+212|0;B=L+208|0;f=L+184|0;g=L+176|0;C=L+168|0;D=L+160|0;s=L+152|0;l=L+144|0;o=L+136|0;u=L+128|0;x=L+120|0;m=L+112|0;p=L+104|0;v=L+96|0;y=L+88|0;k=L+80|0;n=L+72|0;t=L+64|0;w=L+56|0;q=L+48|0;r=L+40|0;K=L+32|0;I=L+24|0;F=L+16|0;G=L+8|0;H=L;E=L+204|0;J=L+200|0;c[A>>2]=a;c[B>>2]=b;h[f>>3]=d;h[g>>3]=e;h[s>>3]=(+h[f>>3]+ +h[g>>3])*.5;b=c[A>>2]|0;if((c[B>>2]|0)<2){h[l>>3]=+h[b+16>>3]*+Q(+(+h[f>>3]));h[o>>3]=+h[(c[A>>2]|0)+24>>3]*+R(+(+h[f>>3]));h[u>>3]=+h[c[A>>2]>>3]+ +h[l>>3]*+h[(c[A>>2]|0)+40>>3]-+h[o>>3]*+h[(c[A>>2]|0)+48>>3];h[x>>3]=+h[(c[A>>2]|0)+8>>3]+ +h[l>>3]*+h[(c[A>>2]|0)+48>>3]+ +h[o>>3]*+h[(c[A>>2]|0)+40>>3];h[m>>3]=+h[(c[A>>2]|0)+16>>3]*+Q(+(+h[g>>3]));h[p>>3]=+h[(c[A>>2]|0)+24>>3]*+R(+(+h[g>>3]));h[v>>3]=+h[c[A>>2]>>3]+ +h[m>>3]*+h[(c[A>>2]|0)+40>>3]-+h[p>>3]*+h[(c[A>>2]|0)+48>>3];h[y>>3]=+h[(c[A>>2]|0)+8>>3]+ +h[m>>3]*+h[(c[A>>2]|0)+48>>3]+ +h[p>>3]*+h[(c[A>>2]|0)+40>>3];h[k>>3]=+h[(c[A>>2]|0)+16>>3]*+Q(+(+h[s>>3]));h[n>>3]=+h[(c[A>>2]|0)+24>>3]*+R(+(+h[s>>3]));h[t>>3]=+h[c[A>>2]>>3]+ +h[k>>3]*+h[(c[A>>2]|0)+40>>3]-+h[n>>3]*+h[(c[A>>2]|0)+48>>3];h[w>>3]=+h[(c[A>>2]|0)+8>>3]+ +h[k>>3]*+h[(c[A>>2]|0)+48>>3]+ +h[n>>3]*+h[(c[A>>2]|0)+40>>3];h[q>>3]=+h[v>>3]-+h[u>>3];h[r>>3]=+h[y>>3]-+h[x>>3];e=+(N(~~(+h[t>>3]*+h[r>>3]-+h[w>>3]*+h[q>>3]+ +h[v>>3]*+h[x>>3]-+h[u>>3]*+h[y>>3])|0)|0);h[z>>3]=e/+O(+(+h[q>>3]*+h[q>>3]+ +h[r>>3]*+h[r>>3]));e=+h[z>>3];i=L;return +e}h[K>>3]=+h[b+24>>3]/+h[(c[A>>2]|0)+16>>3];h[I>>3]=+h[g>>3]-+h[f>>3];h[F>>3]=+Q(+(+h[s>>3]*2.0));h[G>>3]=+Q(+(+h[s>>3]*4.0));h[H>>3]=+Q(+(+h[s>>3]*6.0));b=+h[K>>3]<.25;if((c[B>>2]|0)==2){c[E>>2]=b?42904:43160;c[J>>2]=43416}else{c[E>>2]=b?43448:43704;c[J>>2]=43960}h[C>>3]=(+h[K>>3]*(+h[K>>3]*+h[c[E>>2]>>3]+ +h[(c[E>>2]|0)+8>>3])+ +h[(c[E>>2]|0)+16>>3])/(+h[K>>3]+ +h[(c[E>>2]|0)+24>>3])+ +h[F>>3]*((+h[K>>3]*(+h[K>>3]*+h[(c[E>>2]|0)+32>>3]+ +h[(c[E>>2]|0)+32+8>>3])+ +h[(c[E>>2]|0)+32+16>>3])/(+h[K>>3]+ +h[(c[E>>2]|0)+32+24>>3]))+ +h[G>>3]*((+h[K>>3]*(+h[K>>3]*+h[(c[E>>2]|0)+64>>3]+ +h[(c[E>>2]|0)+64+8>>3])+ +h[(c[E>>2]|0)+64+16>>3])/(+h[K>>3]+ +h[(c[E>>2]|0)+64+24>>3]))+ +h[H>>3]*((+h[K>>3]*(+h[K>>3]*+h[(c[E>>2]|0)+96>>3]+ +h[(c[E>>2]|0)+96+8>>3])+ +h[(c[E>>2]|0)+96+16>>3])/(+h[K>>3]+ +h[(c[E>>2]|0)+96+24>>3]));h[D>>3]=(+h[K>>3]*(+h[K>>3]*+h[(c[E>>2]|0)+128>>3]+ +h[(c[E>>2]|0)+128+8>>3])+ +h[(c[E>>2]|0)+128+16>>3])/(+h[K>>3]+ +h[(c[E>>2]|0)+128+24>>3])+ +h[F>>3]*((+h[K>>3]*(+h[K>>3]*+h[(c[E>>2]|0)+128+32>>3]+ +h[(c[E>>2]|0)+128+32+8>>3])+ +h[(c[E>>2]|0)+128+32+16>>3])/(+h[K>>3]+ +h[(c[E>>2]|0)+128+32+24>>3]))+ +h[G>>3]*((+h[K>>3]*(+h[K>>3]*+h[(c[E>>2]|0)+128+64>>3]+ +h[(c[E>>2]|0)+128+64+8>>3])+ +h[(c[E>>2]|0)+128+64+16>>3])/(+h[K>>3]+ +h[(c[E>>2]|0)+128+64+24>>3]))+ +h[H>>3]*((+h[K>>3]*(+h[K>>3]*+h[(c[E>>2]|0)+128+96>>3]+ +h[(c[E>>2]|0)+128+96+8>>3])+ +h[(c[E>>2]|0)+128+96+16>>3])/(+h[K>>3]+ +h[(c[E>>2]|0)+128+96+24>>3]));h[z>>3]=(+h[K>>3]*(+h[K>>3]*+h[c[J>>2]>>3]+ +h[(c[J>>2]|0)+8>>3])+ +h[(c[J>>2]|0)+16>>3])/(+h[K>>3]+ +h[(c[J>>2]|0)+24>>3])*+h[(c[A>>2]|0)+16>>3]*+X(+(+h[C>>3]+ +h[D>>3]*+h[I>>3]));e=+h[z>>3];i=L;return +e}function DT(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();f=e+16|0;k=e+8|0;g=e;c[f>>2]=a;h[k>>3]=b;h[g>>3]=d;c[22853]=100;a=qK(c[22853]<<4)|0;c[c[f>>2]>>2]=a;h[c[c[f>>2]>>2]>>3]=+h[k>>3];h[(c[c[f>>2]>>2]|0)+8>>3]=+h[g>>3];c[(c[f>>2]|0)+4>>2]=1;i=e;return}function ET(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0,l=0;e=i;i=i+48|0;if((i|0)>=(j|0))ba();l=e+32|0;g=e+24|0;f=e+16|0;k=e;c[l>>2]=a;h[g>>3]=b;h[f>>3]=d;a=(c[c[l>>2]>>2]|0)+((c[(c[l>>2]|0)+4>>2]|0)-1<<4)|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];FT(c[l>>2]|0,+h[k>>3],+h[k+8>>3],+h[g>>3],+h[f>>3],+h[g>>3],+h[f>>3]);i=e;return}function FT(a,b,d,e,f,g,k){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;k=+k;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;if((i|0)>=(j|0))ba();l=s+48|0;m=s+40|0;n=s+32|0;o=s+24|0;p=s+16|0;q=s+8|0;r=s;c[l>>2]=a;h[m>>3]=b;h[n>>3]=d;h[o>>3]=e;h[p>>3]=f;h[q>>3]=g;h[r>>3]=k;if(((c[(c[l>>2]|0)+4>>2]|0)+3|0)>=(c[22853]|0)){c[22853]=c[22853]<<1;a=D1(c[c[l>>2]>>2]|0,c[22853]<<4)|0;c[c[l>>2]>>2]=a}h[(c[c[l>>2]>>2]|0)+(c[(c[l>>2]|0)+4>>2]<<4)>>3]=+h[m>>3];k=+h[n>>3];n=(c[l>>2]|0)+4|0;a=c[n>>2]|0;c[n>>2]=a+1;h[(c[c[l>>2]>>2]|0)+(a<<4)+8>>3]=k;h[(c[c[l>>2]>>2]|0)+(c[(c[l>>2]|0)+4>>2]<<4)>>3]=+h[o>>3];k=+h[p>>3];p=(c[l>>2]|0)+4|0;a=c[p>>2]|0;c[p>>2]=a+1;h[(c[c[l>>2]>>2]|0)+(a<<4)+8>>3]=k;h[(c[c[l>>2]>>2]|0)+(c[(c[l>>2]|0)+4>>2]<<4)>>3]=+h[q>>3];k=+h[r>>3];r=(c[l>>2]|0)+4|0;a=c[r>>2]|0;c[r>>2]=a+1;h[(c[c[l>>2]>>2]|0)+(a<<4)+8>>3]=k;i=s;return}function GT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();e=g+16|0;k=g+20|0;f=g;c[e>>2]=b;a[k>>0]=d;if(a[k>>0]|0){k=c[c[e>>2]>>2]|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];ET(c[e>>2]|0,+h[f>>3],+h[f+8>>3])}k=D1(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]<<4)|0;c[c[e>>2]>>2]=k;c[22853]=0;i=g;return}function HT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;if((i|0)>=(j|0))ba();d=b+24|0;g=b+16|0;f=b+8|0;e=b;c[d>>2]=a;h[g>>3]=+O(+(+h[(c[d>>2]|0)+16>>3]*+h[(c[d>>2]|0)+16>>3]-+h[(c[d>>2]|0)+24>>3]*+h[(c[d>>2]|0)+24>>3]));h[f>>3]=+h[g>>3]*+h[(c[d>>2]|0)+40>>3];h[e>>3]=+h[g>>3]*+h[(c[d>>2]|0)+48>>3];h[(c[d>>2]|0)+104>>3]=+h[c[d>>2]>>3]-+h[f>>3];h[(c[d>>2]|0)+112>>3]=+h[(c[d>>2]|0)+8>>3]-+h[e>>3];h[(c[d>>2]|0)+120>>3]=+h[c[d>>2]>>3]+ +h[f>>3];h[(c[d>>2]|0)+128>>3]=+h[(c[d>>2]|0)+8>>3]+ +h[e>>3];i=b;return}function IT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0;b=i;i=i+48|0;if((i|0)>=(j|0))ba();d=b+32|0;k=b+24|0;g=b+16|0;f=b+8|0;e=b;c[d>>2]=a;h[k>>3]=+h[(c[d>>2]|0)+16>>3]*+Q(+(+h[(c[d>>2]|0)+56>>3]));h[g>>3]=+h[(c[d>>2]|0)+24>>3]*+R(+(+h[(c[d>>2]|0)+56>>3]));h[f>>3]=+h[(c[d>>2]|0)+16>>3]*+Q(+(+h[(c[d>>2]|0)+64>>3]));h[e>>3]=+h[(c[d>>2]|0)+24>>3]*+R(+(+h[(c[d>>2]|0)+64>>3]));h[(c[d>>2]|0)+72>>3]=+h[c[d>>2]>>3]+ +h[k>>3]*+h[(c[d>>2]|0)+40>>3]-+h[g>>3]*+h[(c[d>>2]|0)+48>>3];h[(c[d>>2]|0)+80>>3]=+h[(c[d>>2]|0)+8>>3]+ +h[k>>3]*+h[(c[d>>2]|0)+48>>3]+ +h[g>>3]*+h[(c[d>>2]|0)+40>>3];h[(c[d>>2]|0)+88>>3]=+h[c[d>>2]>>3]+ +h[f>>3]*+h[(c[d>>2]|0)+40>>3]-+h[e>>3]*+h[(c[d>>2]|0)+48>>3];h[(c[d>>2]|0)+96>>3]=+h[(c[d>>2]|0)+8>>3]+ +h[f>>3]*+h[(c[d>>2]|0)+48>>3]+ +h[e>>3]*+h[(c[d>>2]|0)+40>>3];i=b;return}function JT(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();n=o+56|0;f=o+48|0;g=o+40|0;l=o+32|0;k=o+24|0;m=o+16|0;e=o+8|0;d=o;c[n>>2]=a;h[f>>3]=+h[(c[n>>2]|0)+24>>3]/+h[(c[n>>2]|0)+16>>3];p=+(N(~~+h[(c[n>>2]|0)+48>>3]|0)|0)<.1;a=c[n>>2]|0;do if(p){h[e>>3]=+h[a+48>>3]/+h[(c[n>>2]|0)+40>>3];b=-+V(+(+h[e>>3]*+h[f>>3]));if(+h[(c[n>>2]|0)+40>>3]<0.0){h[g>>3]=b;h[l>>3]=+h[g>>3]+3.141592653589793;h[k>>3]=1.5707963267948966-+V(+(+h[e>>3]/+h[f>>3]));h[m>>3]=+h[k>>3]+3.141592653589793;break}else{h[l>>3]=b;h[g>>3]=+h[l>>3]-3.141592653589793;h[m>>3]=1.5707963267948966-+V(+(+h[e>>3]/+h[f>>3]));h[k>>3]=+h[m>>3]-3.141592653589793;break}}else{h[d>>3]=+h[a+40>>3]/+h[(c[n>>2]|0)+48>>3];b=+V(+(+h[d>>3]/+h[f>>3]))+1.5707963267948966;if(+h[(c[n>>2]|0)+48>>3]<0.0){h[l>>3]=b;h[g>>3]=+h[l>>3]-3.141592653589793;h[k>>3]=+V(+(+h[d>>3]*+h[f>>3]));h[m>>3]=+h[k>>3]+3.141592653589793;break}else{h[g>>3]=b;h[l>>3]=+h[g>>3]+3.141592653589793;h[m>>3]=+V(+(+h[d>>3]*+h[f>>3]));h[k>>3]=+h[m>>3]-3.141592653589793;break}}while(0);b=+M(+((+h[g>>3]-+h[(c[n>>2]|0)+56>>3])/6.283185307179586))*6.283185307179586;h[g>>3]=+h[g>>3]-b;b=+M(+((+h[k>>3]-+h[(c[n>>2]|0)+56>>3])/6.283185307179586))*6.283185307179586;h[k>>3]=+h[k>>3]-b;b=+M(+((+h[l>>3]-+h[(c[n>>2]|0)+56>>3])/6.283185307179586))*6.283185307179586;h[l>>3]=+h[l>>3]-b;b=+M(+((+h[m>>3]-+h[(c[n>>2]|0)+56>>3])/6.283185307179586))*6.283185307179586;h[m>>3]=+h[m>>3]-b;d=c[n>>2]|0;do if(!(+h[g>>3]<=+h[(c[n>>2]|0)+64>>3])){a=c[n>>2]|0;if(+h[d+72>>3]<+h[(c[n>>2]|0)+88>>3]){b=+h[a+72>>3];break}else{b=+h[a+88>>3];break}}else{q=+h[(c[n>>2]|0)+16>>3]*+Q(+(+h[g>>3]));b=+h[(c[n>>2]|0)+24>>3]*+R(+(+h[g>>3]));b=+h[d>>3]+q*+h[(c[n>>2]|0)+40>>3]-b*+h[(c[n>>2]|0)+48>>3]}while(0);h[(c[n>>2]|0)+136>>3]=b;d=c[n>>2]|0;do if(!(+h[k>>3]<=+h[(c[n>>2]|0)+64>>3])){a=c[n>>2]|0;if(+h[d+80>>3]<+h[(c[n>>2]|0)+96>>3]){b=+h[a+80>>3];break}else{b=+h[a+96>>3];break}}else{q=+h[(c[n>>2]|0)+16>>3]*+Q(+(+h[k>>3]));b=+h[(c[n>>2]|0)+24>>3]*+R(+(+h[k>>3]));b=+h[d+8>>3]+q*+h[(c[n>>2]|0)+48>>3]+b*+h[(c[n>>2]|0)+40>>3]}while(0);h[(c[n>>2]|0)+144>>3]=b;a=c[n>>2]|0;do if(!(+h[l>>3]<=+h[(c[n>>2]|0)+64>>3])){d=c[n>>2]|0;if(+h[a+72>>3]>+h[(c[n>>2]|0)+88>>3]){b=+h[d+72>>3];break}else{b=+h[d+88>>3];break}}else{q=+h[(c[n>>2]|0)+16>>3]*+Q(+(+h[l>>3]));b=+h[(c[n>>2]|0)+24>>3]*+R(+(+h[l>>3]));b=+h[a>>3]+q*+h[(c[n>>2]|0)+40>>3]-b*+h[(c[n>>2]|0)+48>>3]}while(0);h[(c[n>>2]|0)+152>>3]=b-+h[(c[n>>2]|0)+136>>3];a=c[n>>2]|0;if(+h[m>>3]<=+h[(c[n>>2]|0)+64>>3]){q=+h[(c[n>>2]|0)+16>>3]*+Q(+(+h[m>>3]));b=+h[(c[n>>2]|0)+24>>3]*+R(+(+h[m>>3]));b=+h[a+8>>3]+q*+h[(c[n>>2]|0)+48>>3]+b*+h[(c[n>>2]|0)+40>>3];p=c[n>>2]|0;p=p+144|0;q=+h[p>>3];q=b-q;p=c[n>>2]|0;p=p+160|0;h[p>>3]=q;i=o;return}d=c[n>>2]|0;if(+h[a+80>>3]>+h[(c[n>>2]|0)+96>>3]){b=+h[d+80>>3];p=c[n>>2]|0;p=p+144|0;q=+h[p>>3];q=b-q;p=c[n>>2]|0;p=p+160|0;h[p>>3]=q;i=o;return}else{b=+h[d+96>>3];p=c[n>>2]|0;p=p+144|0;q=+h[p>>3];q=b-q;p=c[n>>2]|0;p=p+160|0;h[p>>3]=q;i=o;return}}function KT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;if((i|0)>=(j|0))ba();l=o+100|0;f=o+96|0;g=o+92|0;m=o+16|0;k=o;n=o+88|0;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;XT(c[l>>2]|0);e=(c[g>>2]|0)+56|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];switch(a[(c[g>>2]|0)+80>>0]|0){case 116:{h[k+8>>3]=+h[(c[g>>2]|0)+56+8>>3]+(+h[(c[g>>2]|0)+40+8>>3]-+YT(c[f>>2]|0))/2.0-1.0;break}case 98:{h[k+8>>3]=+h[(c[g>>2]|0)+56+8>>3]-(+h[(c[g>>2]|0)+40+8>>3]-+YT(c[f>>2]|0))/2.0-1.0;break}default:{}}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];c[m+16+4>>2]=c[(c[g>>2]|0)+8>>2];c[m+16>>2]=c[(c[g>>2]|0)+4>>2];h[m+16+16>>3]=+h[(c[g>>2]|0)+16>>3];c[m+56>>2]=OA(c[(c[(c[l>>2]|0)+16>>2]|0)+8>>2]|0,174980)|0;c[m+60>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+212>>2];a[m+64>>0]=0;if(!((c[m+56>>2]|0)!=0?(a[c[m+56>>2]>>0]|0)!=0:0))c[m+56>>2]=174991;if((a[(c[f>>2]|0)+4>>0]|0)==1){c[n>>2]=c[c[f>>2]>>2];GR(c[l>>2]|0,c[(c[c[l>>2]>>2]|0)+336>>2]|0);f=c[l>>2]|0;if(c[(c[n>>2]|0)+24>>2]|0)DR(f,c[(c[n>>2]|0)+24>>2]|0);else DR(f,174997);ZT(c[l>>2]|0,c[n>>2]|0,m)}else _T(c[l>>2]|0,c[c[f>>2]>>2]|0,m);if(!(a[m+64>>0]|0)){n=c[l>>2]|0;$T(n);i=o;return}B1(c[m+60>>2]|0);n=c[l>>2]|0;$T(n);i=o;return}function LT(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[c[d>>2]>>2]|0);B1(c[(c[d>>2]|0)+4>>2]|0);B1(c[(c[d>>2]|0)+8>>2]|0);B1(c[(c[d>>2]|0)+16>>2]|0);B1(c[(c[d>>2]|0)+12>>2]|0);B1(c[(c[d>>2]|0)+20>>2]|0);B1(c[(c[d>>2]|0)+24>>2]|0);i=b;return}function MT(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;h=k+12|0;g=k+8|0;e=k+4|0;f=k;c[d>>2]=a;if(!(c[d>>2]|0)){i=k;return}c[h>>2]=c[c[d>>2]>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[d>>2]|0)+4>>1]|0))break;c[g>>2]=c[c[h>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(b[(c[h>>2]|0)+4>>1]|0))break;if(c[c[g>>2]>>2]|0)B1(c[c[g>>2]>>2]|0);if((c[(c[g>>2]|0)+8>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)Vb[c[(c[g>>2]|0)+12>>2]&127](c[(c[g>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+56;c[f>>2]=(c[f>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+24;c[e>>2]=(c[e>>2]|0)+1}if(c[c[d>>2]>>2]|0)B1(c[c[d>>2]>>2]|0);B1(c[d>>2]|0);i=k;return}function NT(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[(c[d>>2]|0)+32>>2]|0);B1(c[d>>2]|0);i=b;return}function OT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;do if((a[(c[e>>2]|0)+4>>0]|0)!=1){d=c[e>>2]|0;if((a[b+4>>0]|0)==3){NT(c[d>>2]|0);break}else{MT(c[d>>2]|0);break}}else aU(c[b>>2]|0);while(0);if(!(c[f>>2]|0)){i=g;return}B1(c[e>>2]|0);i=g;return}function PT(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+24|0;p=o+20|0;h=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[p>>2]=b;c[h>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+104>>2]|0)+72>>2];c[m>>2]=0;if((a[(c[l>>2]|0)+4>>0]|0)==2){c[g>>2]=0;p=c[g>>2]|0;i=o;return p|0}c[n>>2]=bU(c[c[l>>2]>>2]|0,c[h>>2]|0)|0;if(c[n>>2]|0){c[m>>2]=(c[n>>2]|0)+48;c[c[k>>2]>>2]=d[(c[n>>2]|0)+35>>0]}c[g>>2]=c[m>>2];p=c[g>>2]|0;i=o;return p|0}function QT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();c[g+16>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;c[g+4>>2]=e;c[g>>2]=f;i=g;return 0}function RT(b){b=b|0;var d=0.0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();f=q+28|0;k=q+24|0;g=q+20|0;n=q+16|0;l=q+12|0;m=q+8|0;o=q+4|0;p=q;c[f>>2]=b;b=qK((c[(c[f>>2]|0)+100>>2]|0)+1<<2)|0;c[(c[f>>2]|0)+92>>2]=b;b=qK((c[(c[f>>2]|0)+104>>2]|0)+1<<2)|0;c[(c[f>>2]|0)+96>>2]=b;c[g>>2]=c[(c[f>>2]|0)+80+4>>2];while(1){if(!(c[c[g>>2]>>2]|0))break;c[k>>2]=c[c[g>>2]>>2];d=+h[(c[k>>2]|0)+48+16+8>>3];if((e[(c[k>>2]|0)+82>>1]|0)==1)c[l>>2]=~~d;else{d=d-+(_((a[(c[f>>2]|0)+32>>0]|0)-1|0,(e[(c[k>>2]|0)+82>>1]|0)-1|0)|0);c[l>>2]=~~(d/+(e[(c[k>>2]|0)+82>>1]|0));c[l>>2]=(c[l>>2]|0)>1?c[l>>2]|0:1}d=+h[(c[k>>2]|0)+48+16>>3];if((e[(c[k>>2]|0)+80>>1]|0)==1)c[n>>2]=~~d;else{d=d-+(_((a[(c[f>>2]|0)+32>>0]|0)-1|0,(e[(c[k>>2]|0)+80>>1]|0)-1|0)|0);c[n>>2]=~~(d/+(e[(c[k>>2]|0)+80>>1]|0));c[n>>2]=(c[n>>2]|0)>1?c[n>>2]|0:1}c[m>>2]=e[(c[k>>2]|0)+86>>1];while(1){if((c[m>>2]|0)>=((e[(c[k>>2]|0)+86>>1]|0)+(e[(c[k>>2]|0)+82>>1]|0)|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+92>>2]|0)+(c[m>>2]<<2)>>2];c[(c[(c[f>>2]|0)+92>>2]|0)+(c[m>>2]<<2)>>2]=(c[p>>2]|0)>(c[l>>2]|0)?c[p>>2]|0:c[l>>2]|0;c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=e[(c[k>>2]|0)+84>>1];while(1){if((c[m>>2]|0)>=((e[(c[k>>2]|0)+84>>1]|0)+(e[(c[k>>2]|0)+80>>1]|0)|0))break;c[o>>2]=c[(c[(c[f>>2]|0)+96>>2]|0)+(c[m>>2]<<2)>>2];c[(c[(c[f>>2]|0)+96>>2]|0)+(c[m>>2]<<2)>>2]=(c[o>>2]|0)>(c[n>>2]|0)?c[o>>2]|0:c[n>>2]|0;c[m>>2]=(c[m>>2]|0)+1}c[g>>2]=(c[g>>2]|0)+4}i=q;return}function ST(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;b=e+8|0;f=e+4|0;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0<21){c[b>>2]=c[91416+(a<<2)>>2];f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;D3(175003,175103,d)|0;c[b>>2]=175003;f=c[b>>2]|0;i=e;return f|0}return 0}function TT(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();f=r+32|0;g=r+28|0;k=r+24|0;m=r+20|0;l=r+16|0;q=r+12|0;p=r+8|0;n=r+4|0;o=r;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[p>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0))break;d=c[k>>2]|0;c[q>>2]=vC(d,ST(c[o>>2]|0)|0,1)|0;aD(c[q>>2]|0,175106,304,1)|0;c[(c[(c[q>>2]|0)+8>>2]|0)+172+4>>2]=0;d=qK((c[(c[f>>2]|0)+100>>2]|0)+1<<2)|0;c[(c[(c[q>>2]|0)+8>>2]|0)+172>>2]=d;c[(c[(c[q>>2]|0)+8>>2]|0)+180+4>>2]=0;d=qK((c[(c[f>>2]|0)+100>>2]|0)+1<<2)|0;c[(c[(c[q>>2]|0)+8>>2]|0)+180>>2]=d;d=c[q>>2]|0;if(c[p>>2]|0){c[(c[(c[p>>2]|0)+8>>2]|0)+164>>2]=d;c[p>>2]=c[q>>2]}else{c[(c[(c[k>>2]|0)+8>>2]|0)+192>>2]=d;c[p>>2]=d}c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>(c[(c[f>>2]|0)+100>>2]|0))break;d=c[g>>2]|0;c[q>>2]=vC(d,ST(c[o>>2]|0)|0,1)|0;aD(c[q>>2]|0,175106,304,1)|0;c[(c[(c[q>>2]|0)+8>>2]|0)+172+4>>2]=0;d=qK((c[(c[f>>2]|0)+104>>2]|0)+1<<2)|0;c[(c[(c[q>>2]|0)+8>>2]|0)+172>>2]=d;c[(c[(c[q>>2]|0)+8>>2]|0)+180+4>>2]=0;d=qK((c[(c[f>>2]|0)+104>>2]|0)+1<<2)|0;c[(c[(c[q>>2]|0)+8>>2]|0)+180>>2]=d;d=c[q>>2]|0;if(c[p>>2]|0){c[(c[(c[p>>2]|0)+8>>2]|0)+164>>2]=d;c[p>>2]=c[q>>2]}else{c[(c[(c[g>>2]|0)+8>>2]|0)+192>>2]=d;c[p>>2]=d}c[o>>2]=(c[o>>2]|0)+1}c[l>>2]=c[(c[f>>2]|0)+80+4>>2];while(1){if(!(c[c[l>>2]>>2]|0))break;c[m>>2]=c[c[l>>2]>>2];p=c[k>>2]|0;c[q>>2]=vC(p,ST(e[(c[m>>2]|0)+84>>1]|0)|0,0)|0;p=c[k>>2]|0;c[n>>2]=vC(p,ST((e[(c[m>>2]|0)+84>>1]|0)+(e[(c[m>>2]|0)+80>>1]|0)|0)|0,0)|0;cU(c[k>>2]|0,c[q>>2]|0,c[n>>2]|0,~~+h[(c[m>>2]|0)+48+16>>3]);p=c[g>>2]|0;c[q>>2]=vC(p,ST(e[(c[m>>2]|0)+86>>1]|0)|0,0)|0;p=c[g>>2]|0;c[n>>2]=vC(p,ST((e[(c[m>>2]|0)+86>>1]|0)+(e[(c[m>>2]|0)+82>>1]|0)|0)|0,0)|0;cU(c[g>>2]|0,c[q>>2]|0,c[n>>2]|0,~~+h[(c[m>>2]|0)+48+16+8>>3]);c[l>>2]=(c[l>>2]|0)+4}dU(c[k>>2]|0);dU(c[g>>2]|0);i=r;return}function UT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;c[k>>2]=0;c[h>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+192>>2];c[g>>2]=0;c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+164>>2];while(1){if(!(c[h>>2]|0))break;c[(c[(c[e>>2]|0)+92>>2]|0)+(c[g>>2]<<2)>>2]=(c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0)-(c[k>>2]|0);c[k>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2];c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+164>>2]}c[k>>2]=0;c[h>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+192>>2];c[g>>2]=0;c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+164>>2];while(1){if(!(c[h>>2]|0))break;c[(c[(c[e>>2]|0)+96>>2]|0)+(c[g>>2]<<2)>>2]=(c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0)-(c[k>>2]|0);c[k>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2];c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+164>>2]}i=l;return}function VT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();f=h+16|0;b=h+12|0;g=h+8|0;d=h+4|0;e=h;c[b>>2]=a;c[e>>2]=c[13066];if((c[(c[b>>2]|0)+100>>2]|0)!=1?(c[(c[b>>2]|0)+104>>2]|0)!=1:0){a=qK((c[(c[b>>2]|0)+100>>2]|0)+1<<2)|0;c[(c[b>>2]|0)+92>>2]=a;a=qK((c[(c[b>>2]|0)+104>>2]|0)+1<<2)|0;c[(c[b>>2]|0)+96>>2]=a;c[f>>2]=c[e>>2];c[g>>2]=wB(175119,f,0)|0;c[f>>2]=c[e>>2];c[d>>2]=wB(175124,f,0)|0;aD(c[g>>2]|0,175129,280,1)|0;aD(c[d>>2]|0,175129,280,1)|0;TT(c[b>>2]|0,c[g>>2]|0,c[d>>2]|0);vK(c[g>>2]|0,2,2147483647)|0;vK(c[d>>2]|0,2,2147483647)|0;UT(c[b>>2]|0,c[g>>2]|0,c[d>>2]|0);eU(c[g>>2]|0,c[d>>2]|0);i=h;return}RT(c[b>>2]|0);i=h;return}function WT(b,d){b=b|0;d=d|0;var e=0,f=0,g=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=i;i=i+400|0;if((i|0)>=(j|0))ba();l=x+184|0;q=x+256|0;e=x+252|0;r=x+248|0;u=x+244|0;p=x+176|0;n=x+168|0;k=x+136|0;t=x+240|0;o=x+236|0;s=x+64|0;v=x+232|0;w=x+216|0;m=x+264|0;f=x+32|0;g=x;c[e>>2]=b;c[r>>2]=d;c[s+48>>2]=c[e>>2];switch(RC(c[e>>2]|0)|0){case 0:{c[s+52>>2]=c[(c[e>>2]|0)+48>>2];break}case 1:{c[s+52>>2]=GC(c[e>>2]|0)|0;break}case 2:{b=c[e>>2]|0;c[s+52>>2]=GC(c[((c[c[e>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)|0;break}default:{}}c[t>>2]=c[(c[s+52>>2]|0)+48>>2];h[s+16+16>>3]=+h[(c[r>>2]|0)+16>>3];c[s+16>>2]=c[(c[r>>2]|0)+4>>2];c[s+16+4>>2]=c[(c[r>>2]|0)+8>>2];b=s+16+24|0;c[b>>2]=c[b>>2]&-128;c[o>>2]=jW(c[c[r>>2]>>2]|0,u,s)|0;if(!(c[o>>2]|0)){tA(w,128,m);a[(c[r>>2]|0)+82>>0]=0;e=d4(fU(c[e>>2]|0,w)|0)|0;c[c[r>>2]>>2]=e;e=c[c[r>>2]>>2]|0;if((c[(c[r>>2]|0)+12>>2]|0)==1)c[v>>2]=ZO(e)|0;else c[v>>2]=YO(e,c[s+52>>2]|0)|0;B1(c[c[r>>2]>>2]|0);c[c[r>>2]>>2]=c[v>>2];eK(c[(c[(c[t>>2]|0)+8>>2]|0)+144>>2]|0,c[r>>2]|0);xA(w);c[q>>2]=c[u>>2];w=c[q>>2]|0;i=x;return w|0}if((a[(c[o>>2]|0)+4>>0]|0)==1){if((c[(c[c[o>>2]>>2]|0)+24>>2]|0)==0?(gU(c[e>>2]|0)|0)!=0:0){w=d4(gU(c[e>>2]|0)|0)|0;c[(c[c[o>>2]>>2]|0)+24>>2]=w}w=hU(c[t>>2]|0,c[c[o>>2]>>2]|0,0,s)|0;c[u>>2]=c[u>>2]|w;h[p>>3]=+h[(c[c[o>>2]>>2]|0)+48+16>>3]/2.0;h[n>>3]=+h[(c[c[o>>2]>>2]|0)+48+16+8>>3]/2.0;iU(f,-+h[p>>3],-+h[n>>3],+h[p>>3],+h[n>>3]);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[k+16>>2]=c[f+16>>2];c[k+20>>2]=c[f+20>>2];c[k+24>>2]=c[f+24>>2];c[k+28>>2]=c[f+28>>2];w=c[c[o>>2]>>2]|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[l+16>>2]=c[k+16>>2];c[l+20>>2]=c[k+20>>2];c[l+24>>2]=c[k+24>>2];c[l+28>>2]=c[k+28>>2];jU(w,l,15);h[(c[r>>2]|0)+24>>3]=+h[k+16>>3]-+h[k>>3];h[(c[r>>2]|0)+24+8>>3]=+h[k+16+8>>3]-+h[k+8>>3]}else{w=kU(c[(c[(c[t>>2]|0)+8>>2]|0)+144>>2]|0,c[c[o>>2]>>2]|0,s)|0;c[u>>2]=c[u>>2]|w;h[p>>3]=+h[(c[c[o>>2]>>2]|0)+8+16>>3]/2.0;h[n>>3]=+h[(c[c[o>>2]>>2]|0)+8+16+8>>3]/2.0;iU(g,-+h[p>>3],-+h[n>>3],+h[p>>3],+h[n>>3]);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[k+16>>2]=c[g+16>>2];c[k+20>>2]=c[g+20>>2];c[k+24>>2]=c[g+24>>2];c[k+28>>2]=c[g+28>>2];w=(c[c[o>>2]>>2]|0)+8|0;c[w>>2]=c[k>>2];c[w+4>>2]=c[k+4>>2];c[w+8>>2]=c[k+8>>2];c[w+12>>2]=c[k+12>>2];c[w+16>>2]=c[k+16>>2];c[w+20>>2]=c[k+20>>2];c[w+24>>2]=c[k+24>>2];c[w+28>>2]=c[k+28>>2];h[(c[r>>2]|0)+24>>3]=+h[k+16>>3]-+h[k>>3];h[(c[r>>2]|0)+24+8>>3]=+h[k+16+8>>3]-+h[k+8>>3]}c[(c[r>>2]|0)+72>>2]=c[o>>2];if((a[(c[o>>2]|0)+4>>0]|0)==1){B1(c[c[r>>2]>>2]|0);w=d4(179700)|0;c[c[r>>2]>>2]=w}c[q>>2]=c[u>>2];w=c[q>>2]|0;i=x;return w|0}function XT(a){a=a|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=LH(c[g>>2]|0)|0;c[e>>2]=c[c[d>>2]>>2];c[(c[d>>2]|0)+4>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];switch(c[(c[d>>2]|0)+4>>2]|0){case 2:{c[(c[d>>2]|0)+8>>2]=c[(c[e>>2]|0)+8>>2];break}case 0:{c[(c[d>>2]|0)+8>>2]=c[(c[e>>2]|0)+8>>2];break}case 1:{c[(c[d>>2]|0)+8>>2]=c[(c[e>>2]|0)+8>>2];break}case 3:{c[(c[d>>2]|0)+8>>2]=c[(c[e>>2]|0)+8>>2];break}default:{}}c[(c[d>>2]|0)+208>>2]=c[(c[e>>2]|0)+208>>2];c[(c[d>>2]|0)+228>>2]=c[(c[e>>2]|0)+228>>2];c[(c[d>>2]|0)+244>>2]=c[(c[e>>2]|0)+244>>2];g=(c[d>>2]|0)+260|0;b[g>>1]=b[g>>1]&-2|(b[(c[e>>2]|0)+260>>1]<<15&65535)<<16>>16>>15&1;i=f;return}function YT(b){b=b|0;var d=0,e=0,f=0,g=0.0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f;c[d>>2]=b;h[e>>3]=0.0;switch(a[(c[d>>2]|0)+4>>0]|0){case 1:{h[e>>3]=+h[(c[c[d>>2]>>2]|0)+48+16+8>>3]-+h[(c[c[d>>2]>>2]|0)+48+8>>3];g=+h[e>>3];i=f;return +g}case 3:{h[e>>3]=+h[(c[c[d>>2]>>2]|0)+16+8>>3]-+h[(c[c[d>>2]>>2]|0)+8>>3];g=+h[e>>3];i=f;return +g}case 2:{h[e>>3]=+h[(c[c[d>>2]>>2]|0)+8+16+8>>3]-+h[(c[c[d>>2]>>2]|0)+8+8>>3];g=+h[e>>3];i=f;return +g}default:{g=+h[e>>3];i=f;return +g}}return 0.0}function ZT(b,f,g){b=b|0;f=f|0;g=g|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,w=0,x=0,y=0;y=i;i=i+224|0;if((i|0)>=(j|0))ba();w=y+112|0;l=y+220|0;m=y+216|0;n=y+212|0;v=y+80|0;k=y+64|0;q=y+208|0;s=y+204|0;x=y+168|0;p=y+164|0;t=y+160|0;o=y;r=y+152|0;u=y+144|0;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;f=(c[m>>2]|0)+48|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[v+16>>2]=c[f+16>>2];c[v+20>>2]=c[f+20>>2];c[v+24>>2]=c[f+24>>2];c[v+28>>2]=c[f+28>>2];f=c[n>>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[q>>2]=c[(c[m>>2]|0)+80+4>>2];if(c[c[m>>2]>>2]|0)g=1;else g=(c[(c[m>>2]|0)+8>>2]|0)!=0;c[t>>2]=g&1;if(c[(c[m>>2]|0)+108>>2]|0)oU(c[n>>2]|0,c[(c[m>>2]|0)+108>>2]|0,44024);h[v>>3]=+h[v>>3]+ +h[k>>3];f=v+16|0;h[f>>3]=+h[f>>3]+ +h[k>>3];f=v+8|0;h[f>>3]=+h[f>>3]+ +h[k+8>>3];f=v+16+8|0;h[f>>3]=+h[f>>3]+ +h[k+8>>3];if((c[t>>2]|0)!=0?(c[(c[l>>2]|0)+152>>2]&4|0)==0:0){b=c[l>>2]|0;f=c[n>>2]|0;k=c[m>>2]|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];c[w+16>>2]=c[v+16>>2];c[w+20>>2]=c[v+20>>2];c[w+24>>2]=c[v+24>>2];c[w+28>>2]=c[v+28>>2];c[p>>2]=xU(b,f,k,w,x,1)|0}else c[p>>2]=0;if(!(e[(c[m>>2]|0)+42>>1]&32)){if(c[(c[m>>2]|0)+20>>2]|0){c[u>>2]=yU(c[l>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+28>>2]|0,e[(c[m>>2]|0)+42>>1]|0,r)|0;g=c[l>>2]|0;if(e[(c[m>>2]|0)+42>>1]&4){k=d[(c[m>>2]|0)+33>>0]|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];c[w+16>>2]=c[v+16>>2];c[w+20>>2]=c[v+20>>2];c[w+24>>2]=c[v+24>>2];c[w+28>>2]=c[v+28>>2];o=zU(o,w,k)|0;rM(g,o,4,4,c[u>>2]|0)}else{u=c[u>>2]|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];c[w+16>>2]=c[v+16>>2];c[w+20>>2]=c[v+20>>2];c[w+24>>2]=c[v+24>>2];c[w+28>>2]=c[v+28>>2];JR(g,w,u)}B1(c[r>>2]|0)}while(1){if(!(c[c[q>>2]>>2]|0))break;AU(c[l>>2]|0,c[c[q>>2]>>2]|0,c[n>>2]|0);c[q>>2]=(c[q>>2]|0)+4}c[q>>2]=c[(c[m>>2]|0)+80+4>>2];OR(c[l>>2]|0,1.0);while(1){u=c[q>>2]|0;c[q>>2]=u+4;u=c[u>>2]|0;c[s>>2]=u;if(!u)break;if(!(a[(c[s>>2]|0)+100>>0]|0))continue;BU(c[l>>2]|0,c[s>>2]|0,c[n>>2]|0,c[(c[m>>2]|0)+24>>2]|0,c[c[q>>2]>>2]|0)}if(a[(c[m>>2]|0)+33>>0]|0){s=c[l>>2]|0;u=c[m>>2]|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];c[w+16>>2]=c[v+16>>2];c[w+20>>2]=c[v+20>>2];c[w+24>>2]=c[v+24>>2];c[w+28>>2]=c[v+28>>2];CU(s,u,w)}}if(c[p>>2]|0)DU(c[l>>2]|0,x,1);if(((c[t>>2]|0)!=0?(c[(c[l>>2]|0)+152>>2]&4|0)!=0:0)?(s=c[l>>2]|0,t=c[n>>2]|0,u=c[m>>2]|0,c[w>>2]=c[v>>2],c[w+4>>2]=c[v+4>>2],c[w+8>>2]=c[v+8>>2],c[w+12>>2]=c[v+12>>2],c[w+16>>2]=c[v+16>>2],c[w+20>>2]=c[v+20>>2],c[w+24>>2]=c[v+24>>2],c[w+28>>2]=c[v+28>>2],(xU(s,t,u,w,x,0)|0)!=0):0)DU(c[l>>2]|0,x,0);if(!(c[(c[m>>2]|0)+108>>2]|0)){i=y;return}qU(c[n>>2]|0,44024);i=y;return}function _T(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=i;i=i+128|0;if((i|0)>=(j|0))ba();k=r+72|0;g=r+40|0;q=r+24|0;l=r+112|0;m=r+108|0;n=r+104|0;o=r+16|0;p=r;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if((b[(c[m>>2]|0)+4>>1]|0)<1){i=r;return}h[o>>3]=(+h[(c[m>>2]|0)+8+16>>3]-+h[(c[m>>2]|0)+8>>3])/2.0;h[p>>3]=+h[c[n>>2]>>3]+(+h[(c[m>>2]|0)+8+16>>3]+ +h[(c[m>>2]|0)+8>>3])/2.0;h[p+8>>3]=+h[(c[n>>2]|0)+8>>3]+(+h[(c[m>>2]|0)+8+16+8>>3]+ +h[(c[m>>2]|0)+8+8>>3])/2.0;l=c[l>>2]|0;f=b[(c[m>>2]|0)+4>>1]|0;d=c[c[m>>2]>>2]|0;s=+h[o>>3];n=(c[n>>2]|0)+16|0;o=(c[m>>2]|0)+8|0;e=a[(c[m>>2]|0)+6>>0]|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];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[g+16>>2]=c[n+16>>2];c[g+20>>2]=c[n+20>>2];c[g+24>>2]=c[n+24>>2];c[g+28>>2]=c[n+28>>2];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];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];wU(l,f,d,q,s,g,k,e);i=r;return}function $T(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+16>>2];c[(c[e>>2]|0)+208>>2]=0;c[(c[e>>2]|0)+228>>2]=0;c[(c[e>>2]|0)+244>>2]=0;c[(c[e>>2]|0)+212>>2]=0;MH(c[d>>2]|0);i=b;return}function aU(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;a=(c[b>>2]|0)+80|0;if((c[(c[b>>2]|0)+100>>2]|0)==-1){aA(c[a+4>>2]|0)|0;d=c[b>>2]|0;LT(d);d=c[b>>2]|0;B1(d);i=e;return}c[d>>2]=c[a+4>>2];B1(c[(c[b>>2]|0)+92>>2]|0);B1(c[(c[b>>2]|0)+96>>2]|0);while(1){if(!(c[c[d>>2]>>2]|0))break;vU(c[c[d>>2]>>2]|0);c[d>>2]=(c[d>>2]|0)+4}B1(c[(c[b>>2]|0)+80+4>>2]|0);d=c[b>>2]|0;LT(d);d=c[b>>2]|0;B1(d);i=e;return}function bU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;h=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+4>>2]|0)!=0?(Y3(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0)|0)==0:0){c[h>>2]=c[d>>2];h=c[h>>2]|0;i=k;return h|0}c[h>>2]=0;c[f>>2]=c[(c[d>>2]|0)+80+4>>2];while(1){a=c[f>>2]|0;c[f>>2]=a+4;a=c[a>>2]|0;c[g>>2]=a;if(!a){d=7;break}a=uU(c[g>>2]|0,c[e>>2]|0)|0;c[h>>2]=a;if(a){d=7;break}}if((d|0)==7){h=c[h>>2]|0;i=k;return h|0}return 0}function cU(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=a;c[l>>2]=d;c[m>>2]=f;c[k>>2]=g;c[n>>2]=jB(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0,0,0)|0;if(c[n>>2]|0){if((e[(c[(c[n>>2]|0)+8>>2]|0)+170>>1]|0|0)>(c[k>>2]|0))h=e[(c[(c[n>>2]|0)+8>>2]|0)+170>>1]|0;else h=c[k>>2]|0;b[(c[(c[n>>2]|0)+8>>2]|0)+170>>1]=h;i=o;return}c[n>>2]=jB(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0,0,1)|0;aD(c[n>>2]|0,175399,176,1)|0;b[(c[(c[n>>2]|0)+8>>2]|0)+170>>1]=c[k>>2];h=(c[(c[l>>2]|0)+8>>2]|0)+180|0;if(c[(c[(c[l>>2]|0)+8>>2]|0)+180>>2]|0)h=tK(c[h>>2]|0,(c[(c[(c[l>>2]|0)+8>>2]|0)+180+4>>2]|0)+2<<2)|0;else h=rK((c[h+4>>2]|0)+2<<2)|0;c[(c[(c[l>>2]|0)+8>>2]|0)+180>>2]=h;d=c[n>>2]|0;g=(c[(c[l>>2]|0)+8>>2]|0)+180+4|0;h=c[g>>2]|0;c[g>>2]=h+1;c[(c[(c[(c[l>>2]|0)+8>>2]|0)+180>>2]|0)+(h<<2)>>2]=d;c[(c[(c[(c[l>>2]|0)+8>>2]|0)+180>>2]|0)+(c[(c[(c[l>>2]|0)+8>>2]|0)+180+4>>2]<<2)>>2]=0;h=(c[(c[m>>2]|0)+8>>2]|0)+172|0;if(c[(c[(c[m>>2]|0)+8>>2]|0)+172>>2]|0)h=tK(c[h>>2]|0,(c[(c[(c[m>>2]|0)+8>>2]|0)+172+4>>2]|0)+2<<2)|0;else h=rK((c[h+4>>2]|0)+2<<2)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+172>>2]=h;l=c[n>>2]|0;d=(c[(c[m>>2]|0)+8>>2]|0)+172+4|0;n=c[d>>2]|0;c[d>>2]=n+1;c[(c[(c[(c[m>>2]|0)+8>>2]|0)+172>>2]|0)+(n<<2)>>2]=l;c[(c[(c[(c[m>>2]|0)+8>>2]|0)+172>>2]|0)+(c[(c[(c[m>>2]|0)+8>>2]|0)+172+4>>2]<<2)>>2]=0;i=o;return}function dU(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2];c[f>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+164>>2];while(1){if(!(c[f>>2]|0))break;if(!(jB(c[d>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0)){c[e>>2]=jB(c[d>>2]|0,c[g>>2]|0,c[f>>2]|0,0,1)|0;aD(c[e>>2]|0,175399,176,1)|0;b[(c[(c[e>>2]|0)+8>>2]|0)+170>>1]=0;a=(c[(c[g>>2]|0)+8>>2]|0)+180|0;if(c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]|0)a=tK(c[a>>2]|0,(c[(c[(c[g>>2]|0)+8>>2]|0)+180+4>>2]|0)+2<<2)|0;else a=rK((c[a+4>>2]|0)+2<<2)|0;c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]=a;k=c[e>>2]|0;l=(c[(c[g>>2]|0)+8>>2]|0)+180+4|0;a=c[l>>2]|0;c[l>>2]=a+1;c[(c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]|0)+(a<<2)>>2]=k;c[(c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]|0)+(c[(c[(c[g>>2]|0)+8>>2]|0)+180+4>>2]<<2)>>2]=0;a=(c[(c[f>>2]|0)+8>>2]|0)+172|0;if(c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]|0)a=tK(c[a>>2]|0,(c[(c[(c[f>>2]|0)+8>>2]|0)+172+4>>2]|0)+2<<2)|0;else a=rK((c[a+4>>2]|0)+2<<2)|0;c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]=a;k=c[e>>2]|0;a=(c[(c[f>>2]|0)+8>>2]|0)+172+4|0;l=c[a>>2]|0;c[a>>2]=l+1;c[(c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]|0)+(l<<2)>>2]=k;c[(c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]|0)+(c[(c[(c[f>>2]|0)+8>>2]|0)+172+4>>2]<<2)>>2]=0}c[g>>2]=c[f>>2];c[f>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+164>>2]}i=h;return}function eU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[f>>2]|0))break;if(c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]|0)B1(c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]|0);if(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0)B1(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0);c[f>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+164>>2]}zB(c[d>>2]|0)|0;zB(c[e>>2]|0)|0;i=g;return}function fU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=d;a:do switch(RC(c[e>>2]|0)|0){case 0:{wA(c[g>>2]|0,MB(c[e>>2]|0)|0)|0;break}case 1:{wA(c[g>>2]|0,MB(c[e>>2]|0)|0)|0;break}case 2:{c[f>>2]=c[e>>2];d=c[f>>2]|0;wA(c[g>>2]|0,MB(c[((c[c[f>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)|0)|0;d=c[f>>2]|0;wA(c[g>>2]|0,MB(c[((c[c[f>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)|0)|0;d=c[f>>2]|0;d=(DB(GC(c[((c[c[f>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)|0)|0)!=0;e=c[g>>2]|0;if(d){wA(e,175396)|0;break a}else{wA(e,178615)|0;break a}}default:{}}while(0);if((c[(c[g>>2]|0)+4>>2]|0)>>>0<(c[(c[g>>2]|0)+8>>2]|0)>>>0){b=c[g>>2]|0;b=b+4|0;d=c[b>>2]|0;f=d+1|0;c[b>>2]=f;a[d>>0]=0;d=c[g>>2]|0;d=c[d>>2]|0;g=c[g>>2]|0;g=g+4|0;c[g>>2]=d;i=h;return d|0}uA(c[g>>2]|0,1)|0;b=c[g>>2]|0;b=b+4|0;d=c[b>>2]|0;f=d+1|0;c[b>>2]=f;a[d>>0]=0;d=c[g>>2]|0;d=c[d>>2]|0;g=c[g>>2]|0;g=g+4|0;c[g>>2]=d;i=h;return d|0}function gU(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;b=OA(c[e>>2]|0,175387)|0;c[f>>2]=b;if((b|0)!=0?(a[c[f>>2]>>0]|0)!=0:0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}b=OA(c[e>>2]|0,178912)|0;c[f>>2]=b;if((b|0)!=0?(a[c[f>>2]>>0]|0)!=0:0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}function hU(b,f,g,k){b=b|0;f=f|0;g=g|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;v=i;i=i+48|0;if((i|0)>=(j|0))ba();p=v+8|0;o=v;l=v+40|0;s=v+36|0;m=v+32|0;t=v+28|0;n=v+24|0;q=v+20|0;r=v+16|0;u=v+12|0;c[l>>2]=b;c[s>>2]=f;c[m>>2]=g;c[t>>2]=k;c[u>>2]=0;if(c[(c[s>>2]|0)+108>>2]|0)oU(c[t>>2]|0,c[(c[s>>2]|0)+108>>2]|0,43992);c[(c[s>>2]|0)+80>>2]=c[m>>2];c[u>>2]=pU(c[l>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;if(!(e[(c[s>>2]|0)+36>>1]&128))a[(c[s>>2]|0)+32>>0]=2;if(!(e[(c[s>>2]|0)+36>>1]&32))a[(c[s>>2]|0)+33>>0]=1;VT(c[s>>2]|0);f=_((c[(c[s>>2]|0)+104>>2]|0)+1|0,a[(c[s>>2]|0)+32>>0]|0)|0;c[q>>2]=f+(d[(c[s>>2]|0)+33>>0]<<1);f=_((c[(c[s>>2]|0)+100>>2]|0)+1|0,a[(c[s>>2]|0)+32>>0]|0)|0;c[r>>2]=f+(d[(c[s>>2]|0)+33>>0]<<1);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[s>>2]|0)+104>>2]|0))break;c[q>>2]=(c[q>>2]|0)+(c[(c[(c[s>>2]|0)+96>>2]|0)+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[s>>2]|0)+100>>2]|0))break;c[r>>2]=(c[r>>2]|0)+(c[(c[(c[s>>2]|0)+92>>2]|0)+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}do if(e[(c[s>>2]|0)+36>>1]&1){if((e[(c[s>>2]|0)+38>>1]|0)!=0?(e[(c[s>>2]|0)+40>>1]|0)!=0:0){if(!((e[(c[s>>2]|0)+38>>1]|0)>=(c[q>>2]|0)?(e[(c[s>>2]|0)+40>>1]|0)>=(c[r>>2]|0):0)){pA(0,175187,o)|0;c[u>>2]=1}c[r>>2]=0;c[q>>2]=0;break}pA(0,175221,p)|0;c[u>>2]=1}while(0);if((c[q>>2]|0)>(e[(c[s>>2]|0)+38>>1]|0))l=c[q>>2]|0;else l=e[(c[s>>2]|0)+38>>1]|0;h[(c[s>>2]|0)+48+16>>3]=+(l|0);if((c[r>>2]|0)>(e[(c[s>>2]|0)+40>>1]|0))l=c[r>>2]|0;else l=e[(c[s>>2]|0)+40>>1]|0;h[(c[s>>2]|0)+48+16+8>>3]=+(l|0);if(!(c[(c[s>>2]|0)+108>>2]|0)){u=c[u>>2]|0;i=v;return u|0}qU(c[t>>2]|0,43992);u=c[u>>2]|0;i=v;return u|0}function iU(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+64|0;if((i|0)>=(j|0))ba();o=g+56|0;n=g+48|0;m=g+40|0;l=g+32|0;k=g;h[o>>3]=b;h[n>>3]=d;h[m>>3]=e;h[l>>3]=f;h[k>>3]=+h[o>>3];h[k+8>>3]=+h[n>>3];h[k+16>>3]=+h[m>>3];h[k+16+8>>3]=+h[l>>3];c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];c[a+16>>2]=c[k+16>>2];c[a+20>>2]=c[k+20>>2];c[a+24>>2]=c[k+24>>2];c[a+28>>2]=c[k+28>>2];i=g;return}function jU(b,f,g){b=b|0;f=f|0;g=g|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,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+128|0;if((i|0)>=(j|0))ba();n=z+32|0;k=z+112|0;l=z+108|0;x=z+104|0;y=z+100|0;q=z+96|0;r=z+92|0;v=z+88|0;t=z+84|0;s=z+80|0;w=z+76|0;o=z+72|0;p=z+68|0;m=z;u=z+64|0;c[k>>2]=b;c[l>>2]=g;c[o>>2]=c[(c[k>>2]|0)+80+4>>2];if(((c[(c[k>>2]|0)+80>>2]|0)!=0?(c[(c[(c[k>>2]|0)+80>>2]|0)+24>>2]|0)!=0:0)?(c[(c[k>>2]|0)+24>>2]|0)==0:0){b=d4(c[(c[(c[k>>2]|0)+80>>2]|0)+24>>2]|0)|0;c[(c[k>>2]|0)+24>>2]=b}c[v>>2]=~~+h[(c[k>>2]|0)+48+16>>3];c[q>>2]=~~(+h[f+16>>3]-+h[f>>3]-+(c[v>>2]|0));if((c[q>>2]|0)<0)db(175142,175152,1765,175164);c[v>>2]=~~+h[(c[k>>2]|0)+48+16+8>>3];c[r>>2]=~~(+h[f+16+8>>3]-+h[f+8>>3]-+(c[v>>2]|0));if((c[r>>2]|0)<0)db(175177,175152,1768,175164);if(e[(c[k>>2]|0)+36>>1]&1){if((c[q>>2]|0)>0){switch(e[(c[k>>2]|0)+36>>1]&6|0){case 4:{h[f+16>>3]=+h[f>>3]+ +(c[v>>2]|0);break}case 2:{b=f+16|0;h[b>>3]=+h[b>>3]+ +(c[q>>2]|0);h[f>>3]=+h[f>>3]+ +(c[q>>2]|0);break}default:{h[f>>3]=+h[f>>3]+ +((c[q>>2]|0)/2|0|0);b=f+16|0;h[b>>3]=+h[b>>3]-+((c[q>>2]|0)/2|0|0)}}c[q>>2]=0}if((c[r>>2]|0)>0){switch(e[(c[k>>2]|0)+36>>1]&24|0){case 16:{h[f+16+8>>3]=+h[f+8>>3]+ +(c[v>>2]|0);break}case 8:{b=f+16+8|0;h[b>>3]=+h[b>>3]+ +(c[r>>2]|0);b=f+8|0;h[b>>3]=+h[b>>3]+ +(c[r>>2]|0);break}default:{b=f+8|0;h[b>>3]=+h[b>>3]+ +((c[r>>2]|0)/2|0|0);b=f+16+8|0;h[b>>3]=+h[b>>3]-+((c[r>>2]|0)/2|0|0)}}c[r>>2]=0}}c[x>>2]=~~(+h[f>>3]+ +(d[(c[k>>2]|0)+33>>0]|0)+ +(a[(c[k>>2]|0)+32>>0]|0));c[s>>2]=(c[q>>2]|0)/(c[(c[k>>2]|0)+104>>2]|0)|0;b=((c[q>>2]|0)-(_(c[s>>2]|0,c[(c[k>>2]|0)+104>>2]|0)|0)|0)>=0;A=+((c[q>>2]|0)-(_(c[s>>2]|0,c[(c[k>>2]|0)+104>>2]|0)|0)|0);c[w>>2]=~~(b?A+.5:A-.5);c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[(c[k>>2]|0)+104>>2]|0))break;c[q>>2]=(c[(c[(c[k>>2]|0)+96>>2]|0)+(c[t>>2]<<2)>>2]|0)+(c[s>>2]|0)+((c[t>>2]|0)<(c[w>>2]|0)?1:0);c[(c[(c[k>>2]|0)+96>>2]|0)+(c[t>>2]<<2)>>2]=c[x>>2];c[x>>2]=(c[x>>2]|0)+((c[q>>2]|0)+(a[(c[k>>2]|0)+32>>0]|0));c[t>>2]=(c[t>>2]|0)+1}c[y>>2]=~~(+h[f+16+8>>3]-+(d[(c[k>>2]|0)+33>>0]|0)-+(a[(c[k>>2]|0)+32>>0]|0));c[s>>2]=(c[r>>2]|0)/(c[(c[k>>2]|0)+100>>2]|0)|0;x=((c[r>>2]|0)-(_(c[s>>2]|0,c[(c[k>>2]|0)+100>>2]|0)|0)|0)>=0;A=+((c[r>>2]|0)-(_(c[s>>2]|0,c[(c[k>>2]|0)+100>>2]|0)|0)|0);c[w>>2]=~~(x?A+.5:A-.5);c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[(c[k>>2]|0)+100>>2]|0))break;c[r>>2]=(c[(c[(c[k>>2]|0)+92>>2]|0)+(c[t>>2]<<2)>>2]|0)+(c[s>>2]|0)+((c[t>>2]|0)<(c[w>>2]|0)?1:0);c[(c[(c[k>>2]|0)+92>>2]|0)+(c[t>>2]<<2)>>2]=c[y>>2];c[y>>2]=(c[y>>2]|0)-((c[r>>2]|0)+(a[(c[k>>2]|0)+32>>0]|0));c[t>>2]=(c[t>>2]|0)+1}while(1){y=c[o>>2]|0;c[o>>2]=y+4;y=c[y>>2]|0;c[p>>2]=y;if(!y)break;c[u>>2]=0;if(c[l>>2]|0){if(!(e[(c[p>>2]|0)+84>>1]|0))c[u>>2]=c[u>>2]|8;if(!(e[(c[p>>2]|0)+86>>1]|0))c[u>>2]=c[u>>2]|4;if(((e[(c[p>>2]|0)+84>>1]|0)+(e[(c[p>>2]|0)+80>>1]|0)|0)==(c[(c[k>>2]|0)+104>>2]|0))c[u>>2]=c[u>>2]|2;if(((e[(c[p>>2]|0)+86>>1]|0)+(e[(c[p>>2]|0)+82>>1]|0)|0)==(c[(c[k>>2]|0)+100>>2]|0))c[u>>2]=c[u>>2]|1}h[m>>3]=+(c[(c[(c[k>>2]|0)+96>>2]|0)+(e[(c[p>>2]|0)+84>>1]<<2)>>2]|0);h[m+16>>3]=+((c[(c[(c[k>>2]|0)+96>>2]|0)+((e[(c[p>>2]|0)+84>>1]|0)+(e[(c[p>>2]|0)+80>>1]|0)<<2)>>2]|0)-(a[(c[k>>2]|0)+32>>0]|0)|0);h[m+16+8>>3]=+(c[(c[(c[k>>2]|0)+92>>2]|0)+(e[(c[p>>2]|0)+86>>1]<<2)>>2]|0);h[m+8>>3]=+((c[(c[(c[k>>2]|0)+92>>2]|0)+((e[(c[p>>2]|0)+86>>1]|0)+(e[(c[p>>2]|0)+82>>1]|0)<<2)>>2]|0)+(a[(c[k>>2]|0)+32>>0]|0)|0);x=c[p>>2]|0;y=c[l>>2]&c[u>>2];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[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];lU(x,n,y)}a[(c[k>>2]|0)+35>>0]=c[l>>2];y=(c[k>>2]|0)+48|0;c[y>>2]=c[f>>2];c[y+4>>2]=c[f+4>>2];c[y+8>>2]=c[f+8>>2];c[y+12>>2]=c[f+12>>2];c[y+16>>2]=c[f+16>>2];c[y+20>>2]=c[f+20>>2];c[y+24>>2]=c[f+24>>2];c[y+28>>2]=c[f+28>>2];i=z;return}function kU(d,e,f){d=d|0;e=e|0;f=f|0;var g=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,C=0,D=0,E=0,F=0;F=i;i=i+224|0;if((i|0)>=(j|0))ba();n=F+216|0;o=F+212|0;p=F+208|0;D=F+184|0;E=F+176|0;v=F+168|0;x=F+160|0;r=F+152|0;A=F+136|0;s=F+204|0;t=F+200|0;C=F+128|0;u=F+72|0;B=F+40|0;w=F+32|0;y=F+24|0;z=F+196|0;l=F+16|0;k=F+192|0;q=F;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;h[D>>3]=0.0;h[E>>3]=0.0;h[x>>3]=0.0;h[r>>3]=0.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[B+20>>2]=0;c[B+24>>2]=0;c[B+28>>2]=0;c[z>>2]=1;h[l>>3]=-1.0;c[k>>2]=0;c[s>>2]=0;a:while(1){if((c[s>>2]|0)>=(b[(c[o>>2]|0)+4>>1]|0))break;if((b[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)+4>>1]|0)>1){m=4;break}do if(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+4>>2]|0){if(c[(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+4>>2]|0)+24>>2]&127){m=7;break a}if(+h[(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+4>>2]|0)+16>>3]>0.0)h[B+16>>3]=+h[(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+4>>2]|0)+16>>3];else h[B+16>>3]=+h[(c[p>>2]|0)+16+16>>3];if(c[c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+4>>2]>>2]|0){c[B>>2]=c[c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+4>>2]>>2];break}else{c[B>>2]=c[(c[p>>2]|0)+16>>2];break}}else{h[B+16>>3]=+h[(c[p>>2]|0)+16+16>>3];c[B>>2]=c[(c[p>>2]|0)+16>>2]}while(0);g=+h[B+16>>3];if(!(+h[l>>3]==-1.0)){if(g!=+h[l>>3]){m=18;break}}else h[l>>3]=g;f=c[B>>2]|0;if(c[k>>2]|0){if(a4(f,c[k>>2]|0)|0){m=22;break}}else c[k>>2]=f;c[s>>2]=(c[s>>2]|0)+1}if((m|0)==4)c[z>>2]=0;else if((m|0)==7)c[z>>2]=0;else if((m|0)==18)c[z>>2]=0;else if((m|0)==22)c[z>>2]=0;a[(c[o>>2]|0)+6>>0]=c[z>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(b[(c[o>>2]|0)+4>>1]|0))break;h[C>>3]=0.0;h[x>>3]=0.0;h[w>>3]=0.0;h[y>>3]=0.0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)+4>>1]|0))break;c[u>>2]=jK(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)>>2]|0,c[(c[p>>2]|0)+48>>2]|0)|0;do if(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+4>>2]|0){do if(!(c[(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+4>>2]|0)+24>>2]&127))if((c[(c[p>>2]|0)+16+24>>2]&127|0)>0){m=B+24|0;c[m>>2]=c[m>>2]&-128|c[(c[p>>2]|0)+16+24>>2]&127;break}else{m=B+24|0;c[m>>2]=c[m>>2]&-128;break}else{m=B+24|0;c[m>>2]=c[m>>2]&-128|c[(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+4>>2]|0)+24>>2]&127}while(0);if(+h[(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+4>>2]|0)+16>>3]>0.0)h[B+16>>3]=+h[(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+4>>2]|0)+16>>3];else h[B+16>>3]=+h[(c[p>>2]|0)+16+16>>3];if(c[c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+4>>2]>>2]|0)c[B>>2]=c[c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+4>>2]>>2];else c[B>>2]=c[(c[p>>2]|0)+16>>2];if(c[(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+4>>2]|0)+4>>2]|0){c[B+4>>2]=c[(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+4>>2]|0)+4>>2];break}else{c[B+4>>2]=c[(c[p>>2]|0)+16+4>>2];break}}else{h[B+16>>3]=+h[(c[p>>2]|0)+16+16>>3];c[B>>2]=c[(c[p>>2]|0)+16>>2];c[B+4>>2]=c[(c[p>>2]|0)+16+4>>2];m=B+24|0;c[m>>2]=c[m>>2]&-128|c[(c[p>>2]|0)+16+24>>2]&127}while(0);c[u+4>>2]=$b[c[c[(c[n>>2]|0)+144>>2]>>2]&63](c[(c[n>>2]|0)+144>>2]|0,B,1)|0;fO(q,c[n>>2]|0,u);c[A>>2]=c[q>>2];c[A+4>>2]=c[q+4>>2];c[A+8>>2]=c[q+8>>2];c[A+12>>2]=c[q+12>>2];B1(c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)>>2]|0);c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)>>2]=c[u>>2];h[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+32>>3]=+h[A>>3];h[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+16>>3]=+h[u+16>>3];h[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+24>>3]=+h[u+24>>3];c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+4>>2]=c[u+4>>2];c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+8>>2]=c[u+8>>2];c[(c[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)>>2]|0)+((c[t>>2]|0)*56|0)+12>>2]=c[u+12>>2];h[C>>3]=+h[C>>3]+ +h[A>>3];h[x>>3]=+h[B+16>>3]>+h[x>>3]?+h[B+16>>3]:+h[x>>3];h[y>>3]=+h[A+8>>3]>+h[y>>3]?+h[A+8>>3]:+h[y>>3];h[w>>3]=+h[u+24>>3]>+h[w>>3]?+h[u+24>>3]:+h[w>>3];c[t>>2]=(c[t>>2]|0)+1}h[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)+8>>3]=+h[C>>3];do if(c[z>>2]|0){h[v>>3]=+h[y>>3];if(!(c[s>>2]|0)){h[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)+16>>3]=+h[x>>3];break}else{h[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)+16>>3]=+h[y>>3];break}}else{h[v>>3]=+h[x>>3];g=+h[x>>3];if(!(c[s>>2]|0)){h[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)+16>>3]=g-+h[w>>3];break}else{h[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)+16>>3]=g+ +h[E>>3]-+h[r>>3]-+h[w>>3];break}}while(0);h[r>>3]=+h[r>>3]+ +h[(c[c[o>>2]>>2]|0)+((c[s>>2]|0)*24|0)+16>>3];h[D>>3]=+h[C>>3]>+h[D>>3]?+h[C>>3]:+h[D>>3];h[E>>3]=+h[E>>3]+ +h[v>>3];c[s>>2]=(c[s>>2]|0)+1}h[(c[o>>2]|0)+8+16>>3]=+h[D>>3];if((b[(c[o>>2]|0)+4>>1]|0)==1){h[(c[o>>2]|0)+8+16+8>>3]=+h[y>>3];i=F;return 0}else{h[(c[o>>2]|0)+8+16+8>>3]=+h[E>>3];i=F;return 0}return 0}function lU(b,f,g){b=b|0;f=f|0;g=g|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+112|0;if((i|0)>=(j|0))ba();o=t+64|0;l=t+104|0;k=t+100|0;p=t+56|0;q=t+48|0;s=t+32|0;n=t;r=t+108|0;m=t+96|0;c[l>>2]=b;c[k>>2]=g;if((c[(c[l>>2]|0)+24>>2]|0)==0?(c[(c[(c[l>>2]|0)+96>>2]|0)+24>>2]|0)!=0:0){g=d4(c[(c[(c[l>>2]|0)+96>>2]|0)+24>>2]|0)|0;c[(c[l>>2]|0)+24>>2]=g}a:do if(e[(c[l>>2]|0)+36>>1]&1){g=(c[l>>2]|0)+48+16|0;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];h[p>>3]=+h[f+16>>3]-+h[f>>3]-+h[s>>3];b:do if(+h[p>>3]>0.0)switch(e[(c[l>>2]|0)+36>>1]&6|0){case 4:{h[f+16>>3]=+h[f>>3]+ +h[s>>3];break b}case 2:{g=f+16|0;h[g>>3]=+h[g>>3]+ +h[p>>3];h[f>>3]=+h[f>>3]+ +h[p>>3];break b}default:{h[f>>3]=+h[f>>3]+ +h[p>>3]/2.0;g=f+16|0;h[g>>3]=+h[g>>3]-+h[p>>3]/2.0;break b}}while(0);h[q>>3]=+h[f+16+8>>3]-+h[f+8>>3]-+h[s+8>>3];if(+h[q>>3]>0.0)switch(e[(c[l>>2]|0)+36>>1]&24|0){case 16:{h[f+16+8>>3]=+h[f+8>>3]+ +h[s+8>>3];break a}case 8:{g=f+16+8|0;h[g>>3]=+h[g>>3]+ +h[q>>3];g=f+8|0;h[g>>3]=+h[g>>3]+ +h[q>>3];break a}default:{g=f+8|0;h[g>>3]=+h[g>>3]+ +h[q>>3]/2.0;g=f+16+8|0;h[g>>3]=+h[g>>3]-+h[q>>3]/2.0;break a}}}while(0);b=(c[l>>2]|0)+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];c[b+24>>2]=c[f+24>>2];c[b+28>>2]=c[f+28>>2];a[(c[l>>2]|0)+35>>0]=c[k>>2];h[n>>3]=+h[f>>3]+ +(d[(c[l>>2]|0)+33>>0]|0)+ +(d[(c[l>>2]|0)+34>>0]|0);h[n+8>>3]=+h[f+8>>3]+ +(d[(c[l>>2]|0)+33>>0]|0)+ +(d[(c[l>>2]|0)+34>>0]|0);h[n+16>>3]=+h[f+16>>3]-+(d[(c[l>>2]|0)+33>>0]|0)-+(d[(c[l>>2]|0)+34>>0]|0);h[n+16+8>>3]=+h[f+16+8>>3]-+(d[(c[l>>2]|0)+33>>0]|0)-+(d[(c[l>>2]|0)+34>>0]|0);b=(c[l>>2]|0)+88|0;if((a[(c[l>>2]|0)+88+4>>0]|0)==1){r=c[b>>2]|0;s=c[k>>2]|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[o+16>>2]=c[n+16>>2];c[o+20>>2]=c[n+20>>2];c[o+24>>2]=c[n+24>>2];c[o+28>>2]=c[n+28>>2];jU(r,o,s);i=t;return}f=(c[l>>2]|0)+88|0;if((a[b+4>>0]|0)==3){r=(c[f>>2]|0)+16|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];h[p>>3]=+h[n+16>>3]-+h[n>>3]-+h[s>>3];c:do if(+h[p>>3]>0.0)switch(e[(c[l>>2]|0)+36>>1]&6|0){case 4:{r=n+16|0;h[r>>3]=+h[r>>3]-+h[p>>3];break c}case 2:{h[n>>3]=+h[n>>3]+ +h[p>>3];break c}default:break c}while(0);h[q>>3]=+h[n+16+8>>3]-+h[n+8>>3]-+h[s+8>>3];d:do if(+h[q>>3]>0.0)switch(e[(c[l>>2]|0)+36>>1]&24|0){case 16:{s=n+16+8|0;h[s>>3]=+h[s>>3]-+h[q>>3];break d}case 8:{s=n+8|0;h[s>>3]=+h[s>>3]+ +h[q>>3];break d}default:break d}while(0);s=c[(c[l>>2]|0)+88>>2]|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[o+16>>2]=c[n+16>>2];c[o+20>>2]=c[n+20>>2];c[o+24>>2]=c[n+24>>2];c[o+28>>2]=c[n+28>>2];mU(s,o);i=t;return}o=(c[f>>2]|0)+8+16|0;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];h[p>>3]=+h[n+16>>3]-+h[n>>3]-+h[s>>3];e:do if(+h[p>>3]>0.0?(o=e[(c[l>>2]|0)+36>>1]&6,c[m>>2]=o,(o|0)!=6):0)switch(c[m>>2]|0){case 4:{o=n+16|0;h[o>>3]=+h[o>>3]-+h[p>>3];break e}case 2:{h[n>>3]=+h[n>>3]+ +h[p>>3];break e}default:{h[n>>3]=+h[n>>3]+ +h[p>>3]/2.0;o=n+16|0;h[o>>3]=+h[o>>3]-+h[p>>3]/2.0;break e}}while(0);h[q>>3]=+h[n+16+8>>3]-+h[n+8>>3]-+h[s+8>>3];f:do if(+h[q>>3]>0.0)switch(e[(c[l>>2]|0)+36>>1]&24|0){case 16:{s=n+16+8|0;h[s>>3]=+h[s>>3]-+h[q>>3];break f}case 8:{s=n+8|0;h[s>>3]=+h[s>>3]+ +h[q>>3];break f}default:{s=n+8|0;h[s>>3]=+h[s>>3]+ +h[q>>3]/2.0;s=n+16+8|0;h[s>>3]=+h[s>>3]-+h[q>>3]/2.0;break f}}while(0);s=(c[(c[l>>2]|0)+88>>2]|0)+8|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];c[s+16>>2]=c[n+16>>2];c[s+20>>2]=c[n+20>>2];c[s+24>>2]=c[n+24>>2];c[s+28>>2]=c[n+28>>2];switch(e[(c[l>>2]|0)+36>>1]&768|0){case 512:{a[r>>0]=108;break}case 256:{a[r>>0]=114;break}default:a[r>>0]=110}nU(c[(c[l>>2]|0)+88>>2]|0,a[r>>0]|0);i=t;return}function mU(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=a;a=c[e>>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[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];i=d;return}function nU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k+4|0;g=k+8|0;h=k;c[f>>2]=d;a[g>>0]=e;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(b[(c[f>>2]|0)+4>>1]|0))break;if(!(a[(c[c[f>>2]>>2]|0)+((c[h>>2]|0)*24|0)+6>>0]|0))a[(c[c[f>>2]>>2]|0)+((c[h>>2]|0)*24|0)+6>>0]=a[g>>0]|0;c[h>>2]=(c[h>>2]|0)+1}i=k;return}function oU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do if(c[(c[e>>2]|0)+16>>2]|0)if(c[c[f>>2]>>2]|0){c[c[g>>2]>>2]=c[(c[e>>2]|0)+16>>2];c[(c[e>>2]|0)+16>>2]=c[c[f>>2]>>2];break}else{c[c[g>>2]>>2]=0;break}while(0);do if(c[(c[e>>2]|0)+16+4>>2]|0)if(c[(c[f>>2]|0)+4>>2]|0){c[(c[g>>2]|0)+4>>2]=c[(c[e>>2]|0)+16+4>>2];c[(c[e>>2]|0)+16+4>>2]=c[(c[f>>2]|0)+4>>2];break}else{c[(c[g>>2]|0)+4>>2]=0;break}while(0);if(!(+h[(c[e>>2]|0)+16+16>>3]>=0.0)){i=k;return}if(+h[(c[f>>2]|0)+16>>3]>=0.0){h[(c[g>>2]|0)+16>>3]=+h[(c[e>>2]|0)+16+16>>3];h[(c[e>>2]|0)+16+16>>3]=+h[(c[f>>2]|0)+16>>3];i=k;return}else{h[(c[g>>2]|0)+16>>3]=-1.0;i=k;return}}function pU(f,g,h){f=f|0;g=g|0;h=h|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,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;if((i|0)>=(j|0))ba();l=B+64|0;m=B+60|0;n=B+56|0;z=B+52|0;s=B+48|0;p=B+44|0;x=B+40|0;o=B+36|0;k=B+32|0;q=B+28|0;r=B+24|0;y=B+20|0;A=B+16|0;v=B+12|0;u=B+8|0;w=B+4|0;t=B;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[y>>2]=c[(c[m>>2]|0)+80+4>>2];c[A>>2]=0;c[v>>2]=0;c[u>>2]=0;c[w>>2]=iL()|0;c[t>>2]=GU()|0;c[z>>2]=cA(c[y>>2]|0)|0;c[k>>2]=0;c[x>>2]=0;while(1){if(!(c[z>>2]|0))break;c[p>>2]=c[(c[z>>2]|0)+8>>2];c[s>>2]=cA(c[p>>2]|0)|0;while(1){if(!(c[s>>2]|0))break;c[q>>2]=c[(c[s>>2]|0)+8>>2];c[k>>2]=(c[k>>2]|0)+1;c[s>>2]=c[c[s>>2]>>2]}if(a[(c[z>>2]|0)+12>>0]|0)HU(c[t>>2]|0,(c[x>>2]|0)+1|0);c[z>>2]=c[c[z>>2]>>2];c[x>>2]=(c[x>>2]|0)+1}g=qK((c[k>>2]|0)+1<<2)|0;c[(c[m>>2]|0)+80+4>>2]=g;c[r>>2]=g;c[z>>2]=cA(c[y>>2]|0)|0;c[x>>2]=0;while(1){if(!(c[z>>2]|0))break;c[p>>2]=c[(c[z>>2]|0)+8>>2];c[s>>2]=cA(c[p>>2]|0)|0;c[o>>2]=0;while(1){if(!(c[s>>2]|0))break;c[q>>2]=c[(c[s>>2]|0)+8>>2];f=c[q>>2]|0;g=c[r>>2]|0;c[r>>2]=g+4;c[g>>2]=f;g=rU(c[l>>2]|0,c[q>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[A>>2]=c[A>>2]|g;c[o>>2]=sU(c[w>>2]|0,c[x>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;b[(c[q>>2]|0)+86>>1]=c[x>>2];b[(c[q>>2]|0)+84>>1]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(e[(c[q>>2]|0)+80>>1]|0);c[u>>2]=(c[o>>2]|0)>(c[u>>2]|0)?c[o>>2]|0:c[u>>2]|0;if(((c[x>>2]|0)+(e[(c[q>>2]|0)+82>>1]|0)|0)>(c[v>>2]|0))k=(c[x>>2]|0)+(e[(c[q>>2]|0)+82>>1]|0)|0;else k=c[v>>2]|0;c[v>>2]=k;if(IU(c[t>>2]|0,(c[x>>2]|0)+(e[(c[q>>2]|0)+82>>1]|0)|0)|0){g=(c[q>>2]|0)+100|0;a[g>>0]=d[g>>0]|2}c[s>>2]=c[c[s>>2]>>2]}c[z>>2]=c[c[z>>2]>>2];c[x>>2]=(c[x>>2]|0)+1}c[(c[m>>2]|0)+100>>2]=c[v>>2];c[(c[m>>2]|0)+104>>2]=c[u>>2];aA(c[y>>2]|0)|0;aA(c[t>>2]|0)|0;jL(c[w>>2]|0);i=B;return c[A>>2]|0}function qU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0)c[(c[d>>2]|0)+16>>2]=c[c[e>>2]>>2];if(c[(c[e>>2]|0)+4>>2]|0)c[(c[d>>2]|0)+16+4>>2]=c[(c[e>>2]|0)+4>>2];if(!(+h[(c[e>>2]|0)+16>>3]>=0.0)){i=f;return}h[(c[d>>2]|0)+16+16>>3]=+h[(c[e>>2]|0)+16>>3];i=f;return}function rU(b,f,g,k){b=b|0;f=f|0;g=g|0;k=k|0;var l=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;x=i;i=i+80|0;if((i|0)>=(j|0))ba();s=x+40|0;r=x+32|0;m=x+64|0;u=x+60|0;n=x+56|0;o=x+52|0;v=x+48|0;w=x+16|0;p=x;q=x+44|0;c[m>>2]=b;c[u>>2]=f;c[n>>2]=g;c[o>>2]=k;c[(c[u>>2]|0)+96>>2]=c[n>>2];do if(!(e[(c[u>>2]|0)+36>>1]&64))if(e[(c[n>>2]|0)+36>>1]&64){a[(c[u>>2]|0)+34>>0]=a[(c[n>>2]|0)+34>>0]|0;break}else{a[(c[u>>2]|0)+34>>0]=2;break}while(0);do if(!(e[(c[u>>2]|0)+36>>1]&32)){f=c[n>>2]|0;if((a[(c[n>>2]|0)+88>>0]|0)>=0){a[(c[u>>2]|0)+33>>0]=a[f+88>>0]|0;break}if(e[f+36>>1]&32){a[(c[u>>2]|0)+33>>0]=a[(c[n>>2]|0)+33>>0]|0;break}else{a[(c[u>>2]|0)+33>>0]=1;break}}while(0);do if((a[(c[u>>2]|0)+88+4>>0]|0)!=1)if((a[(c[u>>2]|0)+88+4>>0]|0)==3){c[v>>2]=tU(c[(c[u>>2]|0)+88>>2]|0,c[o>>2]|0)|0;o=(c[(c[u>>2]|0)+88>>2]|0)+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];break}else{c[v>>2]=kU(c[(c[(c[m>>2]|0)+8>>2]|0)+144>>2]|0,c[(c[u>>2]|0)+88>>2]|0,c[o>>2]|0)|0;o=(c[(c[u>>2]|0)+88>>2]|0)+8+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];break}else{c[v>>2]=hU(c[m>>2]|0,c[(c[u>>2]|0)+88>>2]|0,c[u>>2]|0,c[o>>2]|0)|0;o=(c[(c[u>>2]|0)+88>>2]|0)+48+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}while(0);c[q>>2]=(d[(c[u>>2]|0)+34>>0]|0)+(d[(c[u>>2]|0)+33>>0]|0)<<1;h[w>>3]=+h[p>>3]+ +(c[q>>2]|0);h[w+8>>3]=+h[p+8>>3]+ +(c[q>>2]|0);do if(e[(c[u>>2]|0)+36>>1]&1){if((e[(c[u>>2]|0)+38>>1]|0)!=0?(e[(c[u>>2]|0)+40>>1]|0)!=0:0){if(!(!(+(e[(c[u>>2]|0)+38>>1]|0)<+h[w>>3])?!(+(e[(c[u>>2]|0)+40>>1]|0)<+h[w+8>>3]):0))t=21;if((t|0)==21?(a[(c[u>>2]|0)+88+4>>0]|0)!=3:0){pA(0,175272,r)|0;c[v>>2]=1}h[w+8>>3]=0.0;h[w>>3]=0.0;break}pA(0,175305,s)|0;c[v>>2]=1}while(0);if(+h[w>>3]>+(e[(c[u>>2]|0)+38>>1]|0))l=+h[w>>3];else l=+(e[(c[u>>2]|0)+38>>1]|0);h[(c[u>>2]|0)+48+16>>3]=l;if(+h[w+8>>3]>+(e[(c[u>>2]|0)+40>>1]|0)){l=+h[w+8>>3];w=c[u>>2]|0;w=w+48|0;w=w+16|0;w=w+8|0;h[w>>3]=l;w=c[v>>2]|0;i=x;return w|0}else{l=+(e[(c[u>>2]|0)+40>>1]|0);w=c[u>>2]|0;w=w+48|0;w=w+16|0;w=w+8|0;h[w>>3]=l;w=c[v>>2]|0;i=x;return w|0}return 0}function sU(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();g=s+36|0;h=s+32|0;k=s+28|0;l=s+24|0;r=s+20|0;q=s+16|0;o=s+12|0;p=s+8|0;m=s+4|0;n=s;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=f;c[r>>2]=1;c[n>>2]=(e[(c[l>>2]|0)+80>>1]|0)-1;while(1){f=c[k>>2]|0;if(!(c[r>>2]|0))break;c[q>>2]=f+(c[n>>2]|0);c[m>>2]=c[q>>2];while(1){if((c[m>>2]|0)<(c[k>>2]|0))break;if(nL(c[g>>2]|0,c[m>>2]|0,c[h>>2]|0)|0)break;c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)>=(c[k>>2]|0)){c[k>>2]=(c[m>>2]|0)+1;continue}else{c[r>>2]=0;continue}}c[p>>2]=f;while(1){if((c[p>>2]|0)>=((c[k>>2]|0)+(e[(c[l>>2]|0)+80>>1]|0)|0))break;c[o>>2]=c[h>>2];while(1){if((c[o>>2]|0)>=((c[h>>2]|0)+(e[(c[l>>2]|0)+82>>1]|0)|0))break;lL(c[g>>2]|0,c[p>>2]|0,c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}i=s;return c[k>>2]|0}function tU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m;e=m+44|0;f=m+40|0;g=m+24|0;k=m+16|0;n=m+8|0;c[e>>2]=b;c[f>>2]=d;c[g+4>>2]=0;c[g>>2]=0;b=g+8|0;UF(n,c[(c[f>>2]|0)+52>>2]|0,c[(c[e>>2]|0)+32>>2]|0);c[b>>2]=c[n>>2];c[b+4>>2]=c[n+4>>2];if((c[g+8>>2]|0)==-1?(c[g+8+4>>2]|0)==-1:0){c[k>>2]=1;c[g+8+4>>2]=0;c[g+8>>2]=0;c[l>>2]=c[(c[e>>2]|0)+32>>2];pA(1,175355,l)|0}else{c[k>>2]=0;a[(c[(c[(c[f>>2]|0)+52>>2]|0)+8>>2]|0)+114>>0]=1}h[c[e>>2]>>3]=+(c[g>>2]|0);h[(c[e>>2]|0)+8>>3]=+(c[g+4>>2]|0);h[(c[e>>2]|0)+16>>3]=+(c[g+8>>2]|0);h[(c[e>>2]|0)+16+8>>3]=+(c[g+8+4>>2]|0);i=m;return c[k>>2]|0}function uU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=d;if((c[(c[e>>2]|0)+4>>2]|0)!=0?(Y3(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0)==0:0){c[g>>2]=c[e>>2];g=c[g>>2]|0;i=h;return g|0}if((a[(c[e>>2]|0)+88+4>>0]|0)==1){c[g>>2]=bU(c[(c[e>>2]|0)+88>>2]|0,c[f>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}else{c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function vU(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;OT((c[d>>2]|0)+88|0,0);LT(c[d>>2]|0);B1(c[d>>2]|0);i=b;return} +function oc(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;if((i|0)>=(j|0))ba();return b|0}function pc(){return i|0}function qc(a){a=a|0;i=a}function rc(a,b){a=a|0;b=b|0;i=a;j=b}function sc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function tc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function uc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function vc(a){a=a|0;C=a}function wc(){return C|0}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+4|0;if(!(c[11034]|0)){g=oG()|0;c[11034]=g;sG(g,44140);sG(c[11034]|0,50084);sG(c[11034]|0,50544)}g=dC(a)|0;pG(c[11034]|0,g,d)|0;rG(c[11034]|0,g,b,e,f)|0;vF(c[11034]|0,g)|0;zB(g)|0;i=f;return c[e>>2]|0}function yc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+1072|0;if((i|0)>=(j|0))ba();o=g;l=g+24|0;k=g+20|0;n=g+16|0;m=g+32|0;c[l>>2]=b;c[k>>2]=d;a[g+1056>>0]=f;c[n>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+12>>2];wA(c[44788+(c[n>>2]<<2)>>2]|0,104781)|0;d=c[44788+(c[n>>2]<<2)>>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];zc(d,o);Ac(m,+h[e+16>>3]-+h[e>>3]);wA(c[44788+(c[n>>2]<<2)>>2]|0,m)|0;Ac(m,+h[e+16+8>>3]-+h[e+8>>3]);wA(c[44788+(c[n>>2]<<2)>>2]|0,m)|0;Bc(c[l>>2]|0,178598,c[(c[k>>2]|0)+8>>2]|0);i=g;return}function zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+1040|0;if((i|0)>=(j|0))ba();f=d;e=d+8|0;c[f>>2]=a;Ac(e,+h[b>>3]);wA(c[f>>2]|0,e)|0;Ac(e,+VK(+h[b+8>>3]));wA(c[f>>2]|0,e)|0;i=d;return}function Ac(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d+8|0;e=d+16|0;g=d;c[e>>2]=a;h[g>>3]=b;a=c[e>>2]|0;h[f>>3]=+h[g>>3];D3(a,105053,f)|0;Qc(c[e>>2]|0,1);i=d;return}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();k=e+12|0;g=e+8|0;f=e+4|0;h=e;c[k>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2];Vc(c[44788+(c[h>>2]<<2)>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function Cc(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();b=h+12|0;d=h+8|0;g=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+8>>2];switch(c[(c[b>>2]|0)+60+4>>2]|0){case 0:{YK(c[f>>2]|0);i=h;return}case 1:{if(!((e[(c[(c[f>>2]|0)+8>>2]|0)+136>>1]|0)&1)){i=h;return}VO(c[f>>2]|0);i=h;return}case 4:case 5:case 6:{XK(c[f>>2]|0,g,d);Xc(c[f>>2]|0,c[g>>2]|0,c[d>>2]|0,c[(c[b>>2]|0)+60+4>>2]|0);i=h;return}default:{i=h;return}}}function Dc(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+8>>2];if(!(c[11225]|0)){c[11225]=c[13099];c[11226]=57;c[11227]=18}c[e>>2]=c[(c[(c[d>>2]|0)+52>>2]|0)+8>>2];c[(c[(c[d>>2]|0)+52>>2]|0)+8>>2]=44900;switch(c[(c[b>>2]|0)+60+4>>2]|0){case 2:{WK(c[b>>2]|0,c[d>>2]|0,c[b>>2]|0,0);break}case 3:{WK(c[b>>2]|0,c[d>>2]|0,c[b>>2]|0,1);break}case 1:case 0:{if(!(c[(c[b>>2]|0)+152>>2]&134217728))KD(c[d>>2]|0,c[b>>2]|0)|0;break}case 6:case 5:case 4:{Wc(c[d>>2]|0);if(!(c[(c[b>>2]|0)+152>>2]&134217728))KD(c[d>>2]|0,c[b>>2]|0)|0;break}default:{}}c[(c[(c[d>>2]|0)+52>>2]|0)+8>>2]=c[e>>2];i=f;return}function Ec(b){b=b|0;var d=0,e=0,f=0,g=0,k=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+8>>2];b=c[e>>2]|0;d=c[c[11209]>>2]|0;if((c[(c[11198]|0)+4>>2]|0)>>>0>=(c[(c[11198]|0)+8>>2]|0)>>>0)uA(c[11198]|0,1)|0;k=(c[11198]|0)+4|0;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=0;g=c[c[11198]>>2]|0;c[(c[11198]|0)+4>>2]=g;RA(b,d,g)|0;if(!(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)){h[24]=1.0;h[28]=1.0;c[11214]=0;c[11218]=0;i=f;return}d=c[e>>2]|0;b=c[(c[11209]|0)+4>>2]|0;if((c[(c[11202]|0)+4>>2]|0)>>>0>=(c[(c[11202]|0)+8>>2]|0)>>>0)uA(c[11202]|0,1)|0;g=(c[11202]|0)+4|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=0;k=c[c[11202]>>2]|0;c[(c[11202]|0)+4>>2]=k;RA(d,b,k)|0;h[24]=1.0;h[28]=1.0;c[11214]=0;c[11218]=0;i=f;return}function Fc(b){b=b|0;var d=0,e=0,f=0,g=0,k=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+8>>2];if((c[(c[11205]|0)+4>>2]|0)-(c[c[11205]>>2]|0)|0){b=c[e>>2]|0;d=c[(c[11209]|0)+8>>2]|0;if((c[(c[11205]|0)+4>>2]|0)>>>0>=(c[(c[11205]|0)+8>>2]|0)>>>0)uA(c[11205]|0,1)|0;k=(c[11205]|0)+4|0;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=0;g=c[c[11205]>>2]|0;c[(c[11205]|0)+4>>2]=g;RA(b,d,g)|0}if(!((c[(c[11207]|0)+4>>2]|0)-(c[c[11207]>>2]|0)|0)){h[31]=1.0;h[33]=1.0;c[11221]=0;c[11223]=0;i=f;return}d=c[e>>2]|0;b=c[(c[11209]|0)+12>>2]|0;if((c[(c[11207]|0)+4>>2]|0)>>>0>=(c[(c[11207]|0)+8>>2]|0)>>>0)uA(c[11207]|0,1)|0;g=(c[11207]|0)+4|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=0;k=c[c[11207]>>2]|0;c[(c[11207]|0)+4>>2]=k;RA(d,b,k)|0;h[31]=1.0;h[33]=1.0;c[11221]=0;c[11223]=0;i=f;return}function Gc(b){b=b|0;var d=0,e=0,f=0,g=0,k=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+8>>2];if((c[(c[11206]|0)+4>>2]|0)-(c[c[11206]>>2]|0)|0){b=c[e>>2]|0;d=c[(c[11209]|0)+16>>2]|0;if((c[(c[11206]|0)+4>>2]|0)>>>0>=(c[(c[11206]|0)+8>>2]|0)>>>0)uA(c[11206]|0,1)|0;k=(c[11206]|0)+4|0;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=0;g=c[c[11206]>>2]|0;c[(c[11206]|0)+4>>2]=g;RA(b,d,g)|0}if((c[(c[11199]|0)+4>>2]|0)-(c[c[11199]>>2]|0)|0){b=c[e>>2]|0;d=c[(c[11209]|0)+24>>2]|0;if((c[(c[11199]|0)+4>>2]|0)>>>0>=(c[(c[11199]|0)+8>>2]|0)>>>0)uA(c[11199]|0,1)|0;g=(c[11199]|0)+4|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=0;k=c[c[11199]>>2]|0;c[(c[11199]|0)+4>>2]=k;RA(b,d,k)|0}if((c[(c[11200]|0)+4>>2]|0)-(c[c[11200]>>2]|0)|0){b=c[e>>2]|0;d=c[(c[11209]|0)+20>>2]|0;if((c[(c[11200]|0)+4>>2]|0)>>>0>=(c[(c[11200]|0)+8>>2]|0)>>>0)uA(c[11200]|0,1)|0;g=(c[11200]|0)+4|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=0;k=c[c[11200]>>2]|0;c[(c[11200]|0)+4>>2]=k;RA(b,d,k)|0}if((c[(c[11208]|0)+4>>2]|0)-(c[c[11208]>>2]|0)|0){b=c[e>>2]|0;d=c[(c[11209]|0)+28>>2]|0;if((c[(c[11208]|0)+4>>2]|0)>>>0>=(c[(c[11208]|0)+8>>2]|0)>>>0)uA(c[11208]|0,1)|0;g=(c[11208]|0)+4|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=0;k=c[c[11208]>>2]|0;c[(c[11208]|0)+4>>2]=k;RA(b,d,k)|0}if((c[(c[11203]|0)+4>>2]|0)-(c[c[11203]>>2]|0)|0){b=c[e>>2]|0;d=c[(c[11209]|0)+36>>2]|0;if((c[(c[11203]|0)+4>>2]|0)>>>0>=(c[(c[11203]|0)+8>>2]|0)>>>0)uA(c[11203]|0,1)|0;g=(c[11203]|0)+4|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=0;k=c[c[11203]>>2]|0;c[(c[11203]|0)+4>>2]=k;RA(b,d,k)|0}if(!((c[(c[11204]|0)+4>>2]|0)-(c[c[11204]>>2]|0)|0)){h[32]=1.0;h[34]=1.0;h[25]=1.0;h[26]=1.0;h[29]=1.0;h[30]=1.0;c[11222]=0;c[11224]=0;c[11215]=0;c[11216]=0;c[11219]=0;c[11220]=0;i=f;return}d=c[e>>2]|0;b=c[(c[11209]|0)+32>>2]|0;if((c[(c[11204]|0)+4>>2]|0)>>>0>=(c[(c[11204]|0)+8>>2]|0)>>>0)uA(c[11204]|0,1)|0;g=(c[11204]|0)+4|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=0;k=c[c[11204]>>2]|0;c[(c[11204]|0)+4>>2]=k;RA(d,b,k)|0;h[32]=1.0;h[34]=1.0;h[25]=1.0;h[26]=1.0;h[29]=1.0;h[30]=1.0;c[11222]=0;c[11224]=0;c[11215]=0;c[11216]=0;c[11219]=0;c[11220]=0;i=f;return}function Hc(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+1088|0;if((i|0)>=(j|0))ba();r=u+16|0;t=u+8|0;s=u;g=u+56|0;k=u+52|0;n=u+48|0;o=u+44|0;m=u+64|0;p=u+40|0;q=u+36|0;l=u+32|0;c[g>>2]=b;c[k>>2]=f;c[n>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2];wA(c[44788+(c[n>>2]<<2)>>2]|0,104948)|0;Ac(m,+h[(c[(c[k>>2]|0)+4>>2]|0)+16>>3]);wA(c[44788+(c[n>>2]<<2)>>2]|0,m)|0;Bc(c[g>>2]|0,178598,c[c[(c[k>>2]|0)+4>>2]>>2]|0);Nc(c[g>>2]|0);switch(a[(c[k>>2]|0)+48>>0]|0){case 108:{c[p>>2]=-1;break}case 114:{c[p>>2]=1;break}default:c[p>>2]=0}if(c[(c[k>>2]|0)+4>>2]|0)c[o>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+24>>2]&127;else c[o>>2]=0;if((e[(c[11209]|0)+8232>>1]|0)>=15?(c[q>>2]=c[44840+((e[(c[11209]|0)+8232>>1]|0)-15<<2)>>2],c[l>>2]=c[o>>2]&c[q>>2],(c[44852+(c[n>>2]<<2)>>2]|0)!=(c[l>>2]|0)):0){c[s>>2]=c[l>>2];D3(m,104951,s)|0;wA(c[44788+(c[n>>2]<<2)>>2]|0,m)|0;c[44852+(c[n>>2]<<2)>>2]=c[l>>2]}s=d+8|0;h[s>>3]=+h[s>>3]+ +h[(c[k>>2]|0)+24>>3];wA(c[44788+(c[n>>2]<<2)>>2]|0,104957)|0;s=c[44788+(c[n>>2]<<2)>>2]|0;c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];zc(s,r);c[t>>2]=c[p>>2];D3(m,140080,t)|0;wA(c[44788+(c[n>>2]<<2)>>2]|0,m)|0;Ac(m,+h[(c[k>>2]|0)+32>>3]);wA(c[44788+(c[n>>2]<<2)>>2]|0,m)|0;Bc(c[g>>2]|0,178598,c[c[k>>2]>>2]|0);i=u;return}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+1056|0;if((i|0)>=(j|0))ba();f=n;e=n+28|0;g=n+24|0;k=n+20|0;m=n+16|0;l=n+32|0;c[e>>2]=a;c[g>>2]=b;c[k>>2]=d;c[m>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+12>>2];Mc(c[e>>2]|0);Nc(c[e>>2]|0);if(c[k>>2]|0){e=c[e>>2]|0;if((c[k>>2]|0)==2|(c[k>>2]|0)==3)Rc(e,c[k>>2]|0,c[g>>2]|0,2);else Sc(e);wA(c[44788+(c[m>>2]<<2)>>2]|0,104942)|0}else wA(c[44788+(c[m>>2]<<2)>>2]|0,104945)|0;k=c[44788+(c[m>>2]<<2)>>2]|0;a=c[g>>2]|0;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];zc(k,f);Ac(l,+h[(c[g>>2]|0)+16>>3]-+h[c[g>>2]>>3]);wA(c[44788+(c[m>>2]<<2)>>2]|0,l)|0;Ac(l,+h[(c[g>>2]|0)+16+8>>3]-+h[(c[g>>2]|0)+8>>3]);wA(c[44788+(c[m>>2]<<2)>>2]|0,l)|0;i=n;return}function Jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;Mc(c[f>>2]|0);Nc(c[f>>2]|0);if(!(c[k>>2]|0)){Oc(c[f>>2]|0,112,c[g>>2]|0,c[h>>2]|0);i=l;return}b=c[f>>2]|0;if((c[k>>2]|0)==2|(c[k>>2]|0)==3)Rc(b,c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);else Sc(b);Oc(c[f>>2]|0,80,c[g>>2]|0,c[h>>2]|0);i=l;return}function Kc(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,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();h=n+20|0;k=n+16|0;l=n+12|0;m=n;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[n+8>>2]=e;c[n+4>>2]=f;c[m>>2]=g;Mc(c[h>>2]|0);Nc(c[h>>2]|0);if(!(c[m>>2]|0)){Oc(c[h>>2]|0,66,c[k>>2]|0,c[l>>2]|0);i=n;return}b=c[h>>2]|0;if((c[m>>2]|0)==2|(c[m>>2]|0)==3)Rc(b,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);else Sc(b);Oc(c[h>>2]|0,98,c[k>>2]|0,c[l>>2]|0);i=n;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Mc(c[h>>2]|0);Nc(c[h>>2]|0);Oc(c[h>>2]|0,76,c[g>>2]|0,c[f>>2]|0);i=e;return}function Mc(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+1200|0;if((i|0)>=(j|0))ba();e=n;f=n+40|0;d=n+48|0;m=n+24|0;k=n+16|0;l=n+12|0;g=n+8|0;c[f>>2]=b;tA(m,1024,n+176|0);if(+h[(c[(c[f>>2]|0)+16>>2]|0)+152>>3]!=+h[184+(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]<<3)>>3]){h[184+(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]<<3)>>3]=+h[(c[(c[f>>2]|0)+16>>2]|0)+152>>3];wA(m,104907)|0;h[e>>3]=+h[(c[(c[f>>2]|0)+16>>2]|0)+152>>3];D3(d,104921,e)|0;Qc(d,0);wA(m,d)|0;if((c[m+4>>2]|0)>>>0>=(c[m+8>>2]|0)>>>0)uA(m,1)|0;e=m+4|0;d=c[e>>2]|0;c[e>>2]=d+1;a[d>>0]=41;d=c[f>>2]|0;if((c[m+4>>2]|0)>>>0>=(c[m+8>>2]|0)>>>0)uA(m,1)|0;b=m+4|0;e=c[b>>2]|0;c[b>>2]=e+1;a[e>>0]=0;e=c[m>>2]|0;c[m+4>>2]=e;Bc(d,104926,e)}c[l>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+160>>2];if(!(c[l>>2]|0)){i=n;return}while(1){e=c[l>>2]|0;c[l>>2]=e+4;e=c[e>>2]|0;c[k>>2]=e;if(!e)break;if((a[c[k>>2]>>0]|0)==(a[148743]|0)?(a4(c[k>>2]|0,148743)|0)==0:0)continue;if((a[c[k>>2]>>0]|0)==(a[148725]|0)?(a4(c[k>>2]|0,148725)|0)==0:0)continue;if((a[c[k>>2]>>0]|0)==(a[148730]|0)?(a4(c[k>>2]|0,148730)|0)==0:0)continue;wA(m,c[k>>2]|0)|0;do{e=(a[c[k>>2]>>0]|0)!=0;c[k>>2]=(c[k>>2]|0)+1}while(e);if(a[c[k>>2]>>0]|0){if((c[m+4>>2]|0)>>>0>=(c[m+8>>2]|0)>>>0)uA(m,1)|0;b=m+4|0;e=c[b>>2]|0;c[b>>2]=e+1;a[e>>0]=40;c[g>>2]=0;while(1){if(!(a[c[k>>2]>>0]|0))break;if(c[g>>2]|0){if((c[m+4>>2]|0)>>>0>=(c[m+8>>2]|0)>>>0)uA(m,1)|0;b=m+4|0;e=c[b>>2]|0;c[b>>2]=e+1;a[e>>0]=44}wA(m,c[k>>2]|0)|0;do{e=(a[c[k>>2]>>0]|0)!=0;c[k>>2]=(c[k>>2]|0)+1}while(e);c[g>>2]=(c[g>>2]|0)+1}if((c[m+4>>2]|0)>>>0>=(c[m+8>>2]|0)>>>0)uA(m,1)|0;b=m+4|0;e=c[b>>2]|0;c[b>>2]=e+1;a[e>>0]=41}d=c[f>>2]|0;if((c[m+4>>2]|0)>>>0>=(c[m+8>>2]|0)>>>0)uA(m,1)|0;b=m+4|0;e=c[b>>2]|0;c[b>>2]=e+1;a[e>>0]=0;e=c[m>>2]|0;c[m+4>>2]=e;Bc(d,104926,e)}xA(m);i=n;return}function Nc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=c[d>>2]|0;Bc(a,113039,Pc((c[(c[d>>2]|0)+16>>2]|0)+16|0)|0);i=b;return}function Oc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+1072|0;if((i|0)>=(j|0))ba();g=p;q=p+36|0;h=p+1064|0;k=p+32|0;l=p+28|0;n=p+24|0;m=p+40|0;o=p+20|0;c[q>>2]=b;a[h>>0]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2];if((c[(c[44788+(c[n>>2]<<2)>>2]|0)+4>>2]|0)>>>0>=(c[(c[44788+(c[n>>2]<<2)>>2]|0)+8>>2]|0)>>>0)uA(c[44788+(c[n>>2]<<2)>>2]|0,1)|0;q=a[h>>0]|0;b=(c[44788+(c[n>>2]<<2)>>2]|0)+4|0;f=c[b>>2]|0;c[b>>2]=f+1;a[f>>0]=q;c[p+16>>2]=q&255;c[g>>2]=c[l>>2];D3(m,104874,g)|0;wA(c[44788+(c[n>>2]<<2)>>2]|0,m)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[l>>2]|0))break;q=c[44788+(c[n>>2]<<2)>>2]|0;f=(c[k>>2]|0)+(c[o>>2]<<4)|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];zc(q,g);c[o>>2]=(c[o>>2]|0)+1}i=p;return}function Pc(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+48|0;if((i|0)>=(j|0))ba();h=k+16|0;g=k;f=k+32|0;c[f>>2]=a;e=d[c[f>>2]>>0]|0;a=d[(c[f>>2]|0)+1>>0]|0;b=d[(c[f>>2]|0)+2>>0]|0;if((d[(c[f>>2]|0)+3>>0]|0|0)==255){c[g>>2]=e;c[g+4>>2]=a;c[g+8>>2]=b;D3(104879,112919,g)|0;i=k;return 104879}else{g=d[(c[f>>2]|0)+3>>0]|0;c[h>>2]=e;c[h+4>>2]=a;c[h+8>>2]=b;c[h+12>>2]=g;D3(104879,104889,h)|0;i=k;return 104879}return 0}function Qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[e>>2]=b;c[g>>2]=d;b=_3(c[e>>2]|0,46)|0;c[f>>2]=b;do if(b){c[h>>2]=(c[f>>2]|0)+1;while(1){d=c[h>>2]|0;if(!(a[c[h>>2]>>0]|0))break;c[h>>2]=d+1}c[h>>2]=d+-1;while(1){d=c[h>>2]|0;if((a[c[h>>2]>>0]|0)!=48)break;c[h>>2]=d+-1;a[d>>0]=0}e=c[h>>2]|0;if((a[d>>0]|0)==46){a[e>>0]=0;break}else{c[h>>2]=e+1;break}}else if(c[g>>2]|0){f=c[e>>2]|0;c[h>>2]=f+(e4(c[e>>2]|0)|0)}while(0);if(!(c[g>>2]|0)){i=k;return}g=c[h>>2]|0;c[h>>2]=g+1;a[g>>0]=32;a[c[h>>2]>>0]=0;i=k;return}function Rc(b,d,f,k){b=b|0;d=d|0;f=f|0;k=k|0;var l=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,z=0;z=i;i=i+1152|0;if((i|0)>=(j|0))ba();s=z+64|0;w=z+124|0;x=z+120|0;m=z+116|0;n=z+112|0;y=z+96|0;v=z+92|0;p=z+88|0;t=z+84|0;u=z+80|0;o=z+32|0;q=z+16|0;r=z;c[w>>2]=b;c[x>>2]=d;c[m>>2]=f;c[n>>2]=k;c[v>>2]=c[(c[w>>2]|0)+16>>2];g[p>>2]=+(c[(c[v>>2]|0)+136>>2]|0)*3.141592653589793/180.0;if((e[(c[11209]|0)+8232>>1]|0|0)<14){Sc(c[w>>2]|0);i=z;return}tA(y,1024,z+128|0);m=c[m>>2]|0;f=c[n>>2]|0;if((c[x>>2]|0)==2){eP(m,o,f,+g[p>>2],2);if((c[y+4>>2]|0)>>>0>=(c[y+8>>2]|0)>>>0)uA(y,1)|0;t=y+4|0;u=c[t>>2]|0;c[t>>2]=u+1;a[u>>0]=91;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];zc(y,s);u=o+16|0;c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];zc(y,s)}else{eP(m,o,f,0.0,3);g[t>>2]=+h[o+16>>3];g[u>>2]=+h[o+16+8>>3];l=+h[o>>3];if(+g[p>>2]==0.0){h[q>>3]=l;h[q+8>>3]=+h[o+8>>3]}else{h[q>>3]=l+ +g[u>>2]/4.0*+Q(+(+g[p>>2]));h[q+8>>3]=+h[o+8>>3]+ +g[u>>2]/4.0*+R(+(+g[p>>2]))}h[r>>3]=+h[o>>3];h[r+8>>3]=+h[o+8>>3];g[t>>2]=+g[u>>2]/4.0;if((c[y+4>>2]|0)>>>0>=(c[y+8>>2]|0)>>>0)uA(y,1)|0;o=y+4|0;p=c[o>>2]|0;c[o>>2]=p+1;a[p>>0]=40;c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];zc(y,s);Tc(y,+g[t>>2]);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];zc(y,s);Tc(y,+g[u>>2])}wA(y,104932)|0;f=c[v>>2]|0;if(+g[(c[v>>2]|0)+140>>2]>0.0){Uc(y,+g[f+140>>2],(c[v>>2]|0)+56|0);Uc(y,+g[(c[v>>2]|0)+140>>2],(c[v>>2]|0)+96|0)}else{Uc(y,0.0,f+56|0);Uc(y,1.0,(c[v>>2]|0)+96|0)}yA(y)|0;f=(c[y+4>>2]|0)>>>0>=(c[y+8>>2]|0)>>>0;if((c[x>>2]|0)==2){if(f)uA(y,1)|0;v=y+4|0;x=c[v>>2]|0;c[v>>2]=x+1;a[x>>0]=93}else{if(f)uA(y,1)|0;v=y+4|0;x=c[v>>2]|0;c[v>>2]=x+1;a[x>>0]=41}f=c[w>>2]|0;if((c[y+4>>2]|0)>>>0>=(c[y+8>>2]|0)>>>0)uA(y,1)|0;w=y+4|0;x=c[w>>2]|0;c[w>>2]=x+1;a[x>>0]=0;x=c[y>>2]|0;c[y+4>>2]=x;Bc(f,104929,x);xA(y);i=z;return}function Sc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=c[d>>2]|0;Bc(a,104929,Pc((c[(c[d>>2]|0)+16>>2]|0)+56|0)|0);i=b;return}function Tc(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;d=i;i=i+1040|0;if((i|0)>=(j|0))ba();f=d+8|0;g=d;e=d+16|0;c[f>>2]=a;h[g>>3]=b;Ac(e,+h[g>>3]);wA(c[f>>2]|0,e)|0;i=d;return}function Uc(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,k=0,l=0,m=0,n=0;e=i;i=i+1056|0;if((i|0)>=(j|0))ba();m=e;l=e+16|0;n=e+12|0;f=e+8|0;k=e+24|0;c[l>>2]=a;g[n>>2]=b;c[f>>2]=d;h[m>>3]=+g[n>>2];D3(k,131522,m)|0;Qc(k,1);a=c[l>>2]|0;Vc(a,k,Pc(c[f>>2]|0)|0);i=e;return}function Vc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;g=i;i=i+1056|0;if((i|0)>=(j|0))ba();l=g;f=g+16|0;m=g+12|0;h=g+8|0;k=g+24|0;c[f>>2]=b;c[m>>2]=d;c[h>>2]=e;e=c[m>>2]|0;b=e4(c[h>>2]|0)|0;c[l>>2]=e;c[l+4>>2]=b;D3(k,104935,l)|0;wA(c[f>>2]|0,k)|0;wA(c[f>>2]|0,c[h>>2]|0)|0;if((c[(c[f>>2]|0)+4>>2]|0)>>>0<(c[(c[f>>2]|0)+8>>2]|0)>>>0){l=c[f>>2]|0;l=l+4|0;m=c[l>>2]|0;k=m+1|0;c[l>>2]=k;a[m>>0]=32;i=g;return}uA(c[f>>2]|0,1)|0;l=c[f>>2]|0;l=l+4|0;m=c[l>>2]|0;k=m+1|0;c[l>>2]=k;a[m>>0]=32;i=g;return}function Wc(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[e>>2]=b;if((c[(c[11197]|0)+4>>2]|0)-(c[c[11197]>>2]|0)|0){if(!(c[c[11209]>>2]|0)){d=WO(c[e>>2]|0,0,137560,178598)|0;c[c[11209]>>2]=d}b=c[e>>2]|0;d=c[c[11209]>>2]|0;if((c[(c[11197]|0)+4>>2]|0)>>>0>=(c[(c[11197]|0)+8>>2]|0)>>>0)uA(c[11197]|0,1)|0;l=(c[11197]|0)+4|0;k=c[l>>2]|0;c[l>>2]=k+1;a[k>>0]=0;k=c[c[11197]>>2]|0;c[(c[11197]|0)+4>>2]=k;RA(b,d,k)|0}if(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0){d=c[e>>2]|0;b=c[(c[11209]|0)+4>>2]|0;if((c[(c[11201]|0)+4>>2]|0)>>>0>=(c[(c[11201]|0)+8>>2]|0)>>>0)uA(c[11201]|0,1)|0;k=(c[11201]|0)+4|0;l=c[k>>2]|0;c[k>>2]=l+1;a[l>>0]=0;l=c[c[11201]>>2]|0;c[(c[11201]|0)+4>>2]=l;RA(d,b,l)|0}SA(c[e>>2]|0,104960,c[(c[11209]|0)+8236>>2]|0,178598)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=8)break;xA(44912+(c[f>>2]<<4)|0);c[f>>2]=(c[f>>2]|0)+1}B1(c[11209]|0);h[23]=1.0;h[27]=1.0;c[11213]=0;c[11217]=0;i=g;return}function Xc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;if((i|0)>=(j|0))ba();k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;q=r+4|0;p=r;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[11209]=A1(8240)|0;do if((c[n>>2]|0)==6){b[(c[11209]|0)+8232>>1]=14;c[(c[11209]|0)+8236>>2]=104972}else{if((c[n>>2]|0)==5){b[(c[11209]|0)+8232>>1]=12;c[(c[11209]|0)+8236>>2]=104976;break}f=OA(c[k>>2]|0,104960)|0;c[p>>2]=f;if(((f|0)!=0?(a[c[p>>2]>>0]|0)!=0:0)?(f=(Yc(c[p>>2]|0)|0)&65535,c[q>>2]=f,(f|0)>10):0){b[(c[11209]|0)+8232>>1]=c[q>>2];c[(c[11209]|0)+8236>>2]=c[p>>2];break}q=Yc(104980)|0;b[(c[11209]|0)+8232>>1]=q;c[(c[11209]|0)+8236>>2]=104980}while(0);if(c[(c[(c[k>>2]|0)+8>>2]|0)+180>>2]|0){q=WO(c[k>>2]|0,0,137560,178598)|0;c[c[11209]>>2]=q}else c[c[11209]>>2]=0;if(d[(c[(c[k>>2]|0)+8>>2]|0)+113>>0]&8){q=WO(c[k>>2]|0,0,104984,178598)|0;c[(c[11209]|0)+4>>2]=q}else c[(c[11209]|0)+4>>2]=0;q=WO(c[k>>2]|0,1,137560,178598)|0;c[(c[11209]|0)+8>>2]=q;q=WO(c[k>>2]|0,1,104984,178598)|0;c[(c[11209]|0)+12>>2]=q;q=WO(c[k>>2]|0,2,137560,178598)|0;c[(c[11209]|0)+16>>2]=q;if(c[m>>2]|0){q=WO(c[k>>2]|0,2,104992,178598)|0;c[(c[11209]|0)+20>>2]=q}else c[(c[11209]|0)+20>>2]=0;if(c[l>>2]|0){q=WO(c[k>>2]|0,2,105e3,178598)|0;c[(c[11209]|0)+24>>2]=q}else c[(c[11209]|0)+24>>2]=0;if(d[(c[(c[k>>2]|0)+8>>2]|0)+113>>0]&33){q=WO(c[k>>2]|0,2,104984,178598)|0;c[(c[11209]|0)+28>>2]=q}else c[(c[11209]|0)+28>>2]=0;if(d[(c[(c[k>>2]|0)+8>>2]|0)+113>>0]&2){q=WO(c[k>>2]|0,2,105008,178598)|0;c[(c[11209]|0)+32>>2]=q}else c[(c[11209]|0)+32>>2]=0;if(d[(c[(c[k>>2]|0)+8>>2]|0)+113>>0]&4){q=WO(c[k>>2]|0,2,105017,178598)|0;c[(c[11209]|0)+36>>2]=q}else c[(c[11209]|0)+36>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=8)break;tA(44912+(c[o>>2]<<4)|0,1024,(c[11209]|0)+40+(c[o>>2]<<10)|0);c[o>>2]=(c[o>>2]|0)+1}i=r;return}function Yc(d){d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+1056|0;if((i|0)>=(j|0))ba();m=o;e=o+12|0;g=o+1048|0;f=o+24|0;h=o+8|0;k=o+4|0;l=o+16|0;c[e>>2]=d;c[h>>2]=0;c[k>>2]=c[e>>2];while(1){d=c[k>>2]|0;c[k>>2]=d+1;d=a[d>>0]|0;a[g>>0]=d;if(!(d<<24>>24))break;if(!(I1(a[g>>0]|0)|0))continue;if((c[h>>2]|0)>=1023){n=6;break}p=a[g>>0]|0;d=c[h>>2]|0;c[h>>2]=d+1;a[f+d>>0]=p}if((n|0)==6){c[m>>2]=c[e>>2];pA(0,105026,m)|0}a[f+(c[h>>2]|0)>>0]=0;b[l>>1]=N3(f)|0;i=o;return b[l>>1]|0}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;b=i;i=i+48|0;if((i|0)>=(j|0))ba();e=b+24|0;f=b+16|0;h=b;d=b+32|0;g=b+28|0;c[d>>2]=a;c[g>>2]=c[(c[d>>2]|0)+16>>2];yF(c[d>>2]|0,105389)|0;a=c[d>>2]|0;l=c[(c[c[(c[d>>2]|0)+12>>2]>>2]|0)+4>>2]|0;k=c[(c[c[(c[d>>2]|0)+12>>2]>>2]|0)+8>>2]|0;c[h>>2]=c[c[c[(c[d>>2]|0)+12>>2]>>2]>>2];c[h+4>>2]=l;c[h+8>>2]=k;DF(a,105399,h);a=c[d>>2]|0;c[f>>2]=MB(c[(c[g>>2]|0)+8>>2]|0)|0;DF(a,105434,f);a=c[d>>2]|0;c[e>>2]=_(c[(c[d>>2]|0)+164>>2]|0,c[(c[d>>2]|0)+164+4>>2]|0)|0;DF(a,105447,e);yF(c[d>>2]|0,105460)|0;yF(c[d>>2]|0,105470)|0;yF(c[d>>2]|0,105478)|0;yF(c[d>>2]|0,105486)|0;yF(c[d>>2]|0,105494)|0;yF(c[d>>2]|0,105502)|0;yF(c[d>>2]|0,105510)|0;yF(c[d>>2]|0,105514)|0;yF(c[d>>2]|0,105519)|0;i=b;return}function _c(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,105370)|0;i=b;return}function $c(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;c[11318]=2;i=b;return}function ad(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;c[11318]=1;i=b;return}function bd(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;c[11318]=2;i=b;return}function cd(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;c[11318]=0;i=b;return}function dd(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;c[11318]=2;i=b;return}function ed(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=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,A=0.0,B=0.0,C=0.0,D=0,E=0.0;x=i;i=i+160|0;if((i|0)>=(j|0))ba();w=x+32|0;f=x+152|0;g=x+148|0;y=x+144|0;t=x+140|0;s=x+136|0;v=x+132|0;l=x+128|0;m=x+124|0;u=x+120|0;n=x+116|0;p=x+24|0;k=x+16|0;o=x+112|0;q=x+8|0;r=x;c[f>>2]=b;c[g>>2]=e;c[y>>2]=c[(c[f>>2]|0)+16>>2];c[s>>2]=4;c[v>>2]=0;c[l>>2]=c[(c[y>>2]|0)+16>>2];c[m>>2]=c[11318];c[u>>2]=0;c[n>>2]=-1;h[p>>3]=+h[(c[(c[g>>2]|0)+4>>2]|0)+16>>3]*+h[(c[f>>2]|0)+352>>3];h[k>>3]=(c[(c[f>>2]|0)+360>>2]|0)!=0?1.5707963267948966:0.0;c[o>>2]=6;h[q>>3]=0.0;h[r>>3]=0.0;c[t>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];if(c[t>>2]|0)c[n>>2]=c[(c[t>>2]|0)+20>>2];switch(a[(c[g>>2]|0)+48>>0]|0){case 108:{c[v>>2]=0;break}case 114:{c[v>>2]=2;break}default:c[v>>2]=1}y=c[f>>2]|0;D=c[s>>2]|0;f=c[v>>2]|0;l=c[l>>2]|0;m=c[m>>2]|0;b=c[u>>2]|0;s=c[n>>2]|0;C=+h[p>>3];B=+h[k>>3];t=c[o>>2]|0;A=+h[q>>3];z=+h[r>>3];E=+h[d>>3];u=~~(+h[d>>3]>=0.0?E+.5:E-.5);E=+h[d+8>>3];e=~~(+h[d+8>>3]>=0.0?E+.5:E-.5);v=od(c[c[g>>2]>>2]|0)|0;c[w>>2]=D;c[w+4>>2]=f;c[w+8>>2]=l;c[w+12>>2]=m;c[w+16>>2]=b;c[w+20>>2]=s;h[w+24>>3]=C;h[w+32>>3]=B;c[w+40>>2]=t;h[w+48>>3]=A;h[w+56>>3]=z;c[w+64>>2]=u;c[w+68>>2]=e;c[w+72>>2]=v;DF(y,105315,w);i=x;return}function fd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();m=o;f=o+36|0;g=o+32|0;l=o+28|0;h=o+24|0;k=o+20|0;c[f>>2]=b;c[g>>2]=e;c[l>>2]=0;switch(c[(c[g>>2]|0)+32>>2]|0){case 5:{c[h>>2]=0;while(1){if(!(c[45276+(c[h>>2]<<2)>>2]|0)){n=12;break}if((a[c[45276+(c[h>>2]<<2)>>2]>>0]|0)==(a[c[c[g>>2]>>2]>>0]|0)?(a4(c[45276+(c[h>>2]<<2)>>2]|0,c[c[g>>2]>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}if((n|0)==12){n=c[g>>2]|0;n=n+32|0;c[n>>2]=6;i=o;return}c[c[g>>2]>>2]=c[h>>2];n=c[g>>2]|0;n=n+32|0;c[n>>2]=6;i=o;return}case 1:{c[h>>2]=32+(nd(k,d[c[g>>2]>>0]|0,d[(c[g>>2]|0)+1>>0]|0,d[(c[g>>2]|0)+2>>0]|0)|0);if(c[k>>2]|0){n=c[f>>2]|0;f=c[h>>2]|0;e=d[c[g>>2]>>0]|0;b=d[(c[g>>2]|0)+1>>0]|0;k=d[(c[g>>2]|0)+2>>0]|0;c[m>>2]=c[l>>2];c[m+4>>2]=f;c[m+8>>2]=e;c[m+12>>2]=b;c[m+16>>2]=k;DF(n,105276,m)}c[c[g>>2]>>2]=c[h>>2];n=c[g>>2]|0;n=n+32|0;c[n>>2]=6;i=o;return}default:db(176179,105135,165,105297)}}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.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,I=0;e=i;i=i+208|0;if((i|0)>=(j|0))ba();f=e+16|0;F=e+196|0;G=e+192|0;I=e+188|0;H=e+184|0;A=e+180|0;z=e+176|0;y=e+172|0;x=e+168|0;w=e+164|0;v=e+160|0;u=e+156|0;t=e+152|0;s=e+148|0;E=e+8|0;q=e+144|0;D=e;o=e+140|0;n=e+136|0;m=e+132|0;l=e+128|0;k=e+124|0;g=e+120|0;C=e+116|0;B=e+112|0;c[F>>2]=a;c[G>>2]=b;c[I>>2]=d;c[H>>2]=c[(c[F>>2]|0)+16>>2];c[A>>2]=1;c[z>>2]=1;c[x>>2]=~~+h[(c[H>>2]|0)+152>>3];c[w>>2]=c[(c[H>>2]|0)+16>>2];c[v>>2]=c[(c[H>>2]|0)+56>>2];c[u>>2]=c[11318];c[t>>2]=0;c[s>>2]=(c[I>>2]|0)!=0?20:-1;c[q>>2]=0;h[D>>3]=0.0;ld(c[H>>2]|0,y,E);r=+h[c[G>>2]>>3];a=~~(+h[c[G>>2]>>3]>=0.0?r+.5:r-.5);c[o>>2]=a;c[k>>2]=a;r=+h[(c[G>>2]|0)+8>>3];a=~~(+h[(c[G>>2]|0)+8>>3]>=0.0?r+.5:r-.5);c[n>>2]=a;c[g>>2]=a;r=+h[(c[G>>2]|0)+16>>3]-+h[c[G>>2]>>3];c[m>>2]=~~(+h[(c[G>>2]|0)+16>>3]-+h[c[G>>2]>>3]>=0.0?r+.5:r-.5);r=+h[(c[G>>2]|0)+16+8>>3]-+h[(c[G>>2]|0)+8>>3];c[l>>2]=~~(+h[(c[G>>2]|0)+16+8>>3]-+h[(c[G>>2]|0)+8>>3]>=0.0?r+.5:r-.5);r=+h[(c[G>>2]|0)+16>>3];c[C>>2]=~~(+h[(c[G>>2]|0)+16>>3]>=0.0?r+.5:r-.5);r=+h[(c[G>>2]|0)+16+8>>3];c[B>>2]=~~(+h[(c[G>>2]|0)+16+8>>3]>=0.0?r+.5:r-.5);a=c[F>>2]|0;z=c[z>>2]|0;y=c[y>>2]|0;x=c[x>>2]|0;w=c[w>>2]|0;v=c[v>>2]|0;u=c[u>>2]|0;t=c[t>>2]|0;s=c[s>>2]|0;r=+h[E>>3];q=c[q>>2]|0;p=+h[D>>3];o=c[o>>2]|0;n=c[n>>2]|0;m=c[m>>2]|0;l=c[l>>2]|0;k=c[k>>2]|0;g=c[g>>2]|0;b=c[C>>2]|0;d=c[B>>2]|0;c[f>>2]=c[A>>2];c[f+4>>2]=z;c[f+8>>2]=y;c[f+12>>2]=x;c[f+16>>2]=w;c[f+20>>2]=v;c[f+24>>2]=u;c[f+28>>2]=t;c[f+32>>2]=s;h[f+40>>3]=r;c[f+48>>2]=q;h[f+56>>3]=p;c[f+64>>2]=o;c[f+68>>2]=n;c[f+72>>2]=m;c[f+76>>2]=l;c[f+80>>2]=k;c[f+84>>2]=g;c[f+88>>2]=b;c[f+92>>2]=d;DF(a,105211,f);i=e;return}function hd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=i;i=i+160|0;if((i|0)>=(j|0))ba();m=f+8|0;l=f+156|0;k=f+152|0;g=f+148|0;F=f+144|0;E=f+140|0;z=f+136|0;y=f+132|0;x=f+128|0;w=f+124|0;v=f+120|0;u=f+116|0;t=f+112|0;s=f+108|0;r=f+104|0;D=f;p=f+100|0;o=f+96|0;n=f+92|0;C=f+88|0;B=f+84|0;A=f+80|0;c[l>>2]=a;c[k>>2]=b;c[g>>2]=d;c[F>>2]=e;c[E>>2]=c[(c[l>>2]|0)+16>>2];c[z>>2]=2;c[y>>2]=3;c[w>>2]=~~+h[(c[E>>2]|0)+152>>3];c[v>>2]=c[(c[E>>2]|0)+16>>2];c[u>>2]=c[(c[E>>2]|0)+56>>2];c[t>>2]=c[11318];c[s>>2]=0;c[r>>2]=(c[F>>2]|0)!=0?20:-1;c[p>>2]=0;c[o>>2]=0;c[n>>2]=0;c[C>>2]=0;c[B>>2]=0;c[A>>2]=(c[g>>2]|0)+1;ld(c[E>>2]|0,x,D);d=c[l>>2]|0;y=c[y>>2]|0;x=c[x>>2]|0;w=c[w>>2]|0;v=c[v>>2]|0;u=c[u>>2]|0;t=c[t>>2]|0;s=c[s>>2]|0;r=c[r>>2]|0;q=+h[D>>3];p=c[p>>2]|0;o=c[o>>2]|0;n=c[n>>2]|0;b=c[C>>2]|0;e=c[B>>2]|0;a=c[A>>2]|0;c[m>>2]=c[z>>2];c[m+4>>2]=y;c[m+8>>2]=x;c[m+12>>2]=w;c[m+16>>2]=v;c[m+20>>2]=u;c[m+24>>2]=t;c[m+28>>2]=s;c[m+32>>2]=r;h[m+40>>3]=q;c[m+48>>2]=p;c[m+52>>2]=o;c[m+56>>2]=n;c[m+60>>2]=b;c[m+64>>2]=e;c[m+68>>2]=a;DF(d,105077,m);md(c[l>>2]|0,c[k>>2]|0,c[g>>2]|0,1);i=f;return}function id(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 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.0;T=i;i=i+320|0;if((i|0)>=(j|0))ba();S=T+192|0;M=T+184|0;O=T+120|0;N=T+112|0;L=T+104|0;P=T+312|0;k=T+308|0;l=T+304|0;m=T+292|0;A=T+288|0;B=T+284|0;J=T+280|0;y=T+276|0;K=T+272|0;D=T+268|0;v=T+264|0;u=T+260|0;E=T+256|0;p=T+252|0;I=T+96|0;t=T+248|0;w=T+244|0;q=T+240|0;z=T+236|0;R=T+232|0;F=T+80|0;o=T+16|0;C=T+224|0;x=T+216|0;H=T+212|0;Q=T+208|0;G=T+204|0;s=T+200|0;r=T+196|0;n=T;c[P>>2]=a;c[k>>2]=b;c[l>>2]=d;c[T+300>>2]=e;c[T+296>>2]=f;c[m>>2]=g;c[A>>2]=c[(c[P>>2]|0)+16>>2];c[B>>2]=3;c[K>>2]=~~+h[(c[A>>2]|0)+152>>3];c[D>>2]=c[(c[A>>2]|0)+16>>2];c[v>>2]=c[(c[A>>2]|0)+56>>2];c[u>>2]=c[11318];c[E>>2]=0;c[t>>2]=0;c[w>>2]=0;c[q>>2]=0;c[z>>2]=c[l>>2];c[Q>>2]=0;if((c[l>>2]|0)<4)db(105128,105135,356,105155);c[s>>2]=A1((((c[z>>2]|0)+1|0)*7|0)*20|0)|0;c[r>>2]=c[s>>2];ld(c[A>>2]|0,y,I);if(c[m>>2]|0){c[J>>2]=5;c[p>>2]=20;c[v>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+56>>2]}else{c[J>>2]=4;c[p>>2]=-1;c[v>>2]=0}h[o+48>>3]=+h[c[k>>2]>>3];h[o+48+8>>3]=+h[(c[k>>2]|0)+8>>3];c[Q>>2]=(c[Q>>2]|0)+1;U=+h[c[k>>2]>>3];c[C>>2]=~~(+h[c[k>>2]>>3]>=0.0?U+.5:U-.5);U=+h[(c[k>>2]|0)+8>>3];c[C+4>>2]=~~(+h[(c[k>>2]|0)+8>>3]>=0.0?U+.5:U-.5);A=c[r>>2]|0;z=c[C+4>>2]|0;c[L>>2]=c[C>>2];c[L+4>>2]=z;c[G>>2]=D3(A,118275,L)|0;c[r>>2]=(c[r>>2]|0)+(c[G>>2]|0);c[R>>2]=0;while(1){if(((c[R>>2]|0)+3|0)>=(c[l>>2]|0))break;L=o+48|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];c[x>>2]=1;while(1){if((c[x>>2]|0)>3)break;h[o+(c[x>>2]<<4)>>3]=+h[(c[k>>2]|0)+((c[R>>2]|0)+(c[x>>2]|0)<<4)>>3];h[o+(c[x>>2]<<4)+8>>3]=+h[(c[k>>2]|0)+((c[R>>2]|0)+(c[x>>2]|0)<<4)+8>>3];c[x>>2]=(c[x>>2]|0)+1}c[H>>2]=1;while(1){if((c[H>>2]|0)>6)break;c[Q>>2]=(c[Q>>2]|0)+1;FO(n,o,3,+(c[H>>2]|0)/6.0,0,0);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];U=+h[F>>3];c[C>>2]=~~(+h[F>>3]>=0.0?U+.5:U-.5);U=+h[F+8>>3];c[C+4>>2]=~~(+h[F+8>>3]>=0.0?U+.5:U-.5);L=c[r>>2]|0;A=c[C+4>>2]|0;c[N>>2]=c[C>>2];c[N+4>>2]=A;c[G>>2]=D3(L,118275,N)|0;c[r>>2]=(c[r>>2]|0)+(c[G>>2]|0);c[H>>2]=(c[H>>2]|0)+1}c[R>>2]=(c[R>>2]|0)+3}N=c[P>>2]|0;d=c[J>>2]|0;z=c[y>>2]|0;A=c[K>>2]|0;C=c[D>>2]|0;D=c[v>>2]|0;F=c[u>>2]|0;G=c[E>>2]|0;H=c[p>>2]|0;U=+h[I>>3];I=c[t>>2]|0;J=c[w>>2]|0;K=c[q>>2]|0;L=c[Q>>2]|0;c[O>>2]=c[B>>2];c[O+4>>2]=d;c[O+8>>2]=z;c[O+12>>2]=A;c[O+16>>2]=C;c[O+20>>2]=D;c[O+24>>2]=F;c[O+28>>2]=G;c[O+32>>2]=H;h[O+40>>3]=U;c[O+48>>2]=I;c[O+52>>2]=J;c[O+56>>2]=K;c[O+60>>2]=L;DF(N,105166,O);O=c[P>>2]|0;c[M>>2]=c[s>>2];DF(O,118282,M);B1(c[s>>2]|0);c[R>>2]=0;while(1){k=c[P>>2]|0;if((c[R>>2]|0)>=(c[Q>>2]|0))break;c[S>>2]=((c[R>>2]|0)%((c[Q>>2]|0)-1|0)|0|0)!=0?1:0;DF(k,118287,S);c[R>>2]=(c[R>>2]|0)+1}yF(k,193472)|0;i=T;return}function jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=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,z=0,A=0,B=0,C=0,D=0;e=i;i=i+160|0;if((i|0)>=(j|0))ba();l=e+8|0;k=e+152|0;g=e+148|0;f=e+144|0;D=e+140|0;z=e+136|0;y=e+132|0;x=e+128|0;w=e+124|0;v=e+120|0;u=e+116|0;t=e+112|0;s=e+108|0;r=e+104|0;C=e;p=e+100|0;o=e+96|0;n=e+92|0;m=e+88|0;B=e+84|0;A=e+80|0;c[k>>2]=a;c[g>>2]=b;c[f>>2]=d;c[D>>2]=c[(c[k>>2]|0)+16>>2];c[z>>2]=2;c[y>>2]=1;c[w>>2]=~~+h[(c[D>>2]|0)+152>>3];c[v>>2]=c[(c[D>>2]|0)+16>>2];c[u>>2]=0;c[t>>2]=c[11318];c[s>>2]=0;c[r>>2]=0;c[p>>2]=0;c[o>>2]=0;c[n>>2]=0;c[m>>2]=0;c[B>>2]=0;c[A>>2]=c[f>>2];ld(c[D>>2]|0,x,C);d=c[k>>2]|0;y=c[y>>2]|0;x=c[x>>2]|0;w=c[w>>2]|0;v=c[v>>2]|0;u=c[u>>2]|0;t=c[t>>2]|0;s=c[s>>2]|0;r=c[r>>2]|0;q=+h[C>>3];p=c[p>>2]|0;o=c[o>>2]|0;n=c[n>>2]|0;m=c[m>>2]|0;b=c[B>>2]|0;a=c[A>>2]|0;c[l>>2]=c[z>>2];c[l+4>>2]=y;c[l+8>>2]=x;c[l+12>>2]=w;c[l+16>>2]=v;c[l+20>>2]=u;c[l+24>>2]=t;c[l+28>>2]=s;c[l+32>>2]=r;h[l+40>>3]=q;c[l+48>>2]=p;c[l+52>>2]=o;c[l+56>>2]=n;c[l+60>>2]=m;c[l+64>>2]=b;c[l+68>>2]=a;DF(d,105077,l);md(c[k>>2]|0,c[g>>2]|0,c[f>>2]|0,0);i=e;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;g=d+8|0;f=d+4|0;c[g>>2]=a;c[f>>2]=b;b=c[g>>2]|0;c[e>>2]=c[f>>2];DF(b,105071,e);i=d;return}function ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();k=g+8|0;e=g+4|0;f=g;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;switch(c[(c[k>>2]|0)+144>>2]|0){case 1:{c[c[e>>2]>>2]=1;h[c[f>>2]>>3]=10.0;i=g;return}case 2:{c[c[e>>2]>>2]=2;h[c[f>>2]>>3]=10.0;i=g;return}default:{c[c[e>>2]>>2]=0;h[c[f>>2]>>3]=0.0;i=g;return}}}function md(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();p=q+8|0;o=q;f=q+40|0;g=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+16|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;r=+h[(c[g>>2]|0)+(c[m>>2]<<4)>>3];c[n>>2]=~~(+h[(c[g>>2]|0)+(c[m>>2]<<4)>>3]>=0.0?r+.5:r-.5);r=+h[(c[g>>2]|0)+(c[m>>2]<<4)+8>>3];c[n+4>>2]=~~(+h[(c[g>>2]|0)+(c[m>>2]<<4)+8>>3]>=0.0?r+.5:r-.5);d=c[f>>2]|0;a=c[n+4>>2]|0;c[o>>2]=c[n>>2];c[o+4>>2]=a;DF(d,118275,o);c[m>>2]=(c[m>>2]|0)+1}if(!(c[l>>2]|0)){p=c[f>>2]|0;yF(p,193472)|0;i=q;return}r=+h[c[g>>2]>>3];c[n>>2]=~~(+h[c[g>>2]>>3]>=0.0?r+.5:r-.5);r=+h[(c[g>>2]|0)+8>>3];c[n+4>>2]=~~(+h[(c[g>>2]|0)+8>>3]>=0.0?r+.5:r-.5);o=c[f>>2]|0;d=c[n+4>>2]|0;c[p>>2]=c[n>>2];c[p+4>>2]=d;DF(o,118275,p);p=c[f>>2]|0;yF(p,193472)|0;i=q;return}function nd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;v=i;i=i+48|0;if((i|0)>=(j|0))ba();g=v+44|0;h=v+40|0;k=v+36|0;l=v+32|0;m=v+28|0;o=v+24|0;p=v+20|0;t=v+16|0;r=v+12|0;n=v+8|0;q=v+4|0;s=v;c[h>>2]=a;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[p>>2]=-1;c[s>>2]=195075;c[c[h>>2]>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[11328]|0))break;c[t>>2]=(b[100448+(c[o>>2]<<1)>>1]|0)-(c[k>>2]|0);c[r>>2]=(b[100960+(c[o>>2]<<1)>>1]|0)-(c[l>>2]|0);c[n>>2]=(b[101472+(c[o>>2]<<1)>>1]|0)-(c[m>>2]|0);d=_(c[t>>2]|0,c[t>>2]|0)|0;d=d+(_(c[r>>2]|0,c[r>>2]|0)|0)|0;c[q>>2]=d+(_(c[n>>2]|0,c[n>>2]|0)|0);if((c[q>>2]|0)<(c[s>>2]|0)){if(!(c[q>>2]|0)){u=5;break}c[s>>2]=c[q>>2];c[p>>2]=c[o>>2]}c[o>>2]=(c[o>>2]|0)+1}if((u|0)==5){c[g>>2]=c[o>>2];u=c[g>>2]|0;i=v;return u|0}u=c[11328]|0;c[11328]=u+1;if((u|0)==256){c[g>>2]=c[p>>2];u=c[g>>2]|0;i=v;return u|0}else{b[100448+(c[o>>2]<<1)>>1]=c[k>>2];b[100960+(c[o>>2]<<1)>>1]=c[l>>2];b[101472+(c[o>>2]<<1)>>1]=c[m>>2];c[c[h>>2]>>2]=1;c[g>>2]=c[o>>2];u=c[g>>2]|0;i=v;return u|0}return 0}function od(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l;e=l+12|0;h=l+8|0;g=l+4|0;f=l+16|0;c[e>>2]=b;c[h>>2]=0;if(!(c[11329]|0)){c[11330]=64;c[11329]=A1(c[11330]|0)|0}c[g>>2]=c[11329];while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;if((c[h>>2]|0)>((c[11330]|0)-8|0)){c[11330]=c[11330]<<1;c[11329]=D1(c[11329]|0,c[11330]|0)|0;c[g>>2]=(c[11329]|0)+(c[h>>2]|0)}if(!(G1(d[f>>0]|0)|0)){b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=92;b=c[g>>2]|0;c[k>>2]=d[f>>0];D3(b,118400,k)|0;c[g>>2]=(c[g>>2]|0)+3;c[h>>2]=(c[h>>2]|0)+4;continue}if((d[f>>0]|0|0)==92){b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=92;c[h>>2]=(c[h>>2]|0)+1}m=a[f>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=m;c[h>>2]=(c[h>>2]|0)+1}a[c[g>>2]>>0]=0;i=l;return c[11329]|0}function pd(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+16>>2];switch(c[(c[d>>2]|0)+60+4>>2]|0){case 0:{yF(c[d>>2]|0,105862)|0;if(!(c[(c[e>>2]|0)+208>>2]|0)){i=g;return}if(!(a[c[(c[e>>2]|0)+208>>2]>>0]|0)){i=g;return}yF(c[d>>2]|0,105876)|0;yF(c[d>>2]|0,kK(c[(c[e>>2]|0)+208>>2]|0)|0)|0;yF(c[d>>2]|0,193472)|0;i=g;return}case 1:{if(!(c[(c[e>>2]|0)+208>>2]|0)){i=g;return}if(!(a[c[(c[e>>2]|0)+208>>2]>>0]|0)){i=g;return}yF(c[d>>2]|0,105876)|0;yF(c[d>>2]|0,kK(c[(c[e>>2]|0)+208>>2]|0)|0)|0;yF(c[d>>2]|0,140312)|0;yF(c[d>>2]|0,kK(MB(c[(c[e>>2]|0)+8>>2]|0)|0)|0)|0;yF(c[d>>2]|0,193472)|0;i=g;return}case 3:{c[f>>2]=kK(MB(c[(c[e>>2]|0)+8>>2]|0)|0)|0;yF(c[d>>2]|0,105885)|0;yF(c[d>>2]|0,c[f>>2]|0)|0;yF(c[d>>2]|0,105895)|0;yF(c[d>>2]|0,c[f>>2]|0)|0;yF(c[d>>2]|0,105850)|0;i=g;return}default:{i=g;return}}}function qd(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];switch(c[(c[b>>2]|0)+60+4>>2]|0){case 2:{sd(c[b>>2]|0,c[(c[d>>2]|0)+264>>2]|0,c[(c[d>>2]|0)+272>>2]|0,c[(c[d>>2]|0)+268>>2]|0,c[(c[d>>2]|0)+208>>2]|0,c[(c[d>>2]|0)+228>>2]|0,c[(c[d>>2]|0)+244>>2]|0,c[(c[d>>2]|0)+212>>2]|0);i=e;return}case 3:{sd(c[b>>2]|0,c[(c[d>>2]|0)+264>>2]|0,c[(c[d>>2]|0)+272>>2]|0,c[(c[d>>2]|0)+268>>2]|0,c[(c[d>>2]|0)+208>>2]|0,c[(c[d>>2]|0)+228>>2]|0,c[(c[d>>2]|0)+244>>2]|0,c[(c[d>>2]|0)+212>>2]|0);yF(c[b>>2]|0,105854)|0;i=e;return}default:{i=e;return}}}function rd(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,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();o=g+20|0;m=g+16|0;l=g+12|0;k=g+8|0;h=g+4|0;n=g;c[o>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[o>>2]|0)+16>>2];sd(c[o>>2]|0,c[(c[n>>2]|0)+264>>2]|0,c[(c[n>>2]|0)+272>>2]|0,c[(c[n>>2]|0)+268>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[h>>2]|0);i=g;return}function sd(b,d,e,f,g,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|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.0;F=i;i=i+176|0;if((i|0)>=(j|0))ba();A=F+120|0;z=F+112|0;y=F+96|0;x=F+80|0;w=F+56|0;D=F+48|0;v=F+40|0;u=F+24|0;t=F;E=F+160|0;n=F+156|0;o=F+152|0;B=F+148|0;p=F+144|0;q=F+140|0;r=F+136|0;s=F+132|0;C=F+128|0;c[E>>2]=b;c[n>>2]=d;c[o>>2]=e;c[B>>2]=f;c[p>>2]=g;c[q>>2]=k;c[r>>2]=l;c[s>>2]=m;if(!((c[o>>2]|0)!=0&(c[B>>2]|0)!=0)){i=F;return}if((c[11406]|0)<(c[B>>2]|0)){c[11406]=(c[B>>2]|0)+10;c[11407]=D1(c[11407]|0,c[11406]<<3)|0}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[B>>2]|0))break;G=+h[(c[o>>2]|0)+(c[C>>2]<<4)>>3];c[(c[11407]|0)+(c[C>>2]<<3)>>2]=~~(+h[(c[o>>2]|0)+(c[C>>2]<<4)>>3]>=0.0?G+.5:G-.5);G=+h[(c[o>>2]|0)+(c[C>>2]<<4)+8>>3];c[(c[11407]|0)+(c[C>>2]<<3)+4>>2]=~~(+h[(c[o>>2]|0)+(c[C>>2]<<4)+8>>3]>=0.0?G+.5:G-.5);c[C>>2]=(c[C>>2]|0)+1}if(((c[p>>2]|0)!=0?(c[(c[E>>2]|0)+60+4>>2]|0)==0:0)?(a[c[p>>2]>>0]|0)!=0:0)switch(c[n>>2]|0){case 0:{E=c[E>>2]|0;A=c[c[11407]>>2]|0;B=c[(c[11407]|0)+8+4>>2]|0;C=c[(c[11407]|0)+8>>2]|0;D=c[(c[11407]|0)+4>>2]|0;c[t>>2]=c[p>>2];c[t+4>>2]=A;c[t+8>>2]=B;c[t+12>>2]=C;c[t+16>>2]=D;DF(E,105590,t);i=F;return}case 1:{E=c[E>>2]|0;B=c[c[11407]>>2]|0;C=c[(c[11407]|0)+4>>2]|0;D=(c[(c[11407]|0)+8>>2]|0)-(c[c[11407]>>2]|0)|0;c[u>>2]=c[p>>2];c[u+4>>2]=B;c[u+8>>2]=C;c[u+12>>2]=D;DF(E,105611,u);i=F;return}case 2:{A=c[E>>2]|0;c[v>>2]=c[p>>2];DF(A,105631,v);c[C>>2]=0;while(1){n=c[E>>2]|0;if((c[C>>2]|0)>=(c[B>>2]|0))break;A=c[(c[11407]|0)+(c[C>>2]<<3)+4>>2]|0;c[D>>2]=c[(c[11407]|0)+(c[C>>2]<<3)>>2];c[D+4>>2]=A;DF(n,105639,D);c[C>>2]=(c[C>>2]|0)+1}yF(n,193472)|0;i=F;return}default:db(176179,105646,65,105666)}if(((c[p>>2]|0)!=0?(c[(c[E>>2]|0)+60+4>>2]|0)==1:0)?(a[c[p>>2]>>0]|0)!=0:0){if(c[n>>2]|0)db(176179,105646,77,105666);E=c[E>>2]|0;z=c[(c[11407]|0)+8+4>>2]|0;A=c[(c[11407]|0)+8>>2]|0;B=c[(c[11407]|0)+4>>2]|0;C=c[p>>2]|0;D=c[q>>2]|0;c[w>>2]=c[c[11407]>>2];c[w+4>>2]=z;c[w+8>>2]=A;c[w+12>>2]=B;c[w+16>>2]=C;c[w+20>>2]=D;DF(E,105683,w);i=F;return}if((c[(c[E>>2]|0)+60+4>>2]|0)!=2?(c[(c[E>>2]|0)+60+4>>2]|0)!=3:0){i=F;return}switch(c[n>>2]|0){case 1:{yF(c[E>>2]|0,105716)|0;break}case 0:{yF(c[E>>2]|0,105737)|0;break}case 2:{yF(c[E>>2]|0,105756)|0;break}default:db(176179,105646,93,105666)}if((c[s>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0){yF(c[E>>2]|0,105775)|0;D=c[E>>2]|0;yF(D,mK(c[s>>2]|0)|0)|0;yF(c[E>>2]|0,136409)|0}if((c[p>>2]|0)!=0?(a[c[p>>2]>>0]|0)!=0:0){yF(c[E>>2]|0,105781)|0;D=c[E>>2]|0;yF(D,mK(c[p>>2]|0)|0)|0;yF(c[E>>2]|0,136409)|0}if((c[r>>2]|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){yF(c[E>>2]|0,111715)|0;D=c[E>>2]|0;yF(D,kK(c[r>>2]|0)|0)|0;yF(c[E>>2]|0,136409)|0}if((c[q>>2]|0)!=0?(a[c[q>>2]>>0]|0)!=0:0){yF(c[E>>2]|0,105789)|0;D=c[E>>2]|0;yF(D,kK(c[q>>2]|0)|0)|0;yF(c[E>>2]|0,136409)|0}yF(c[E>>2]|0,105798)|0;yF(c[E>>2]|0,105806)|0;a:do switch(c[n>>2]|0){case 1:{D=c[E>>2]|0;B=c[(c[11407]|0)+4>>2]|0;C=(c[(c[11407]|0)+8>>2]|0)-(c[c[11407]>>2]|0)|0;c[x>>2]=c[c[11407]>>2];c[x+4>>2]=B;c[x+8>>2]=C;DF(D,105816,x);break}case 0:{D=c[E>>2]|0;A=c[(c[11407]|0)+8+4>>2]|0;B=c[(c[11407]|0)+8>>2]|0;C=c[(c[11407]|0)+4>>2]|0;c[y>>2]=c[c[11407]>>2];c[y+4>>2]=A;c[y+8>>2]=B;c[y+12>>2]=C;DF(D,105825,y);break}case 2:{D=c[E>>2]|0;y=c[(c[11407]|0)+4>>2]|0;c[z>>2]=c[c[11407]>>2];c[z+4>>2]=y;DF(D,105837,z);c[C>>2]=1;while(1){if((c[C>>2]|0)>=(c[B>>2]|0))break a;D=c[E>>2]|0;z=c[(c[11407]|0)+(c[C>>2]<<3)+4>>2]|0;c[A>>2]=c[(c[11407]|0)+(c[C>>2]<<3)>>2];c[A+4>>2]=z;DF(D,105843,A);c[C>>2]=(c[C>>2]|0)+1}}default:{}}while(0);n=c[E>>2]|0;if((c[(c[E>>2]|0)+60+4>>2]|0)==3){yF(n,110653)|0;i=F;return}else{yF(n,105850)|0;i=F;return}}function td(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;b=e+12|0;c[b>>2]=a;yF(c[b>>2]|0,110494)|0;a=c[b>>2]|0;if((c[(c[b>>2]|0)+60+4>>2]|0)==2)yF(a,110509)|0;else yF(a,193472)|0;a=c[b>>2]|0;g=c[(c[c[(c[b>>2]|0)+12>>2]>>2]|0)+4>>2]|0;f=c[(c[c[(c[b>>2]|0)+12>>2]>>2]|0)+8>>2]|0;c[d>>2]=c[c[c[(c[b>>2]|0)+12>>2]>>2]>>2];c[d+4>>2]=g;c[d+8>>2]=f;DF(a,110520,d);i=e;return}function ud(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();e=f+8|0;d=f;b=f+24|0;c[b>>2]=a;yF(c[b>>2]|0,110448)|0;if((c[(c[b>>2]|0)+60+4>>2]|0)!=2){a=c[b>>2]|0;c[d>>2]=c[(c[(c[b>>2]|0)+12>>2]|0)+28>>2];DF(a,110459,d)}if(c[(c[(c[b>>2]|0)+12>>2]|0)+20>>2]|0){e=c[b>>2]|0;yF(e,110474)|0;e=c[b>>2]|0;yF(e,110487)|0;i=f;return}if((c[(c[b>>2]|0)+60+4>>2]|0)==2){e=c[b>>2]|0;yF(e,110474)|0;e=c[b>>2]|0;yF(e,110487)|0;i=f;return}d=c[b>>2]|0;h=c[(c[b>>2]|0)+472+4>>2]|0;g=c[(c[b>>2]|0)+472+8>>2]|0;a=c[(c[b>>2]|0)+472+8+4>>2]|0;c[e>>2]=c[(c[b>>2]|0)+472>>2];c[e+4>>2]=h;c[e+8>>2]=g;c[e+12>>2]=a;DF(d,106812,e);e=c[b>>2]|0;yF(e,110474)|0;e=c[b>>2]|0;yF(e,110487)|0;i=f;return}function vd(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m+24|0;k=m+8|0;e=m;f=m+44|0;h=m+40|0;g=m+32|0;c[f>>2]=b;c[h>>2]=c[(c[f>>2]|0)+16>>2];a[106742]=0;if(!(c[(c[(c[f>>2]|0)+12>>2]|0)+28>>2]|0)){b=c[f>>2]|0;c[e>>2]=MB(c[(c[h>>2]|0)+8>>2]|0)|0;DF(b,106743,e);b=c[f>>2]|0;if((c[(c[f>>2]|0)+60+4>>2]|0)!=2)yF(b,106758)|0;else yF(b,106776)|0;do if(!(c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]|0)){b=c[f>>2]|0;if((c[(c[f>>2]|0)+60+4>>2]|0)!=2){yF(b,106788)|0;break}else{o=c[(c[f>>2]|0)+456+4>>2]|0;n=c[(c[f>>2]|0)+456+8>>2]|0;e=c[(c[f>>2]|0)+456+8+4>>2]|0;c[k>>2]=c[(c[f>>2]|0)+456>>2];c[k+4>>2]=o;c[k+8>>2]=n;c[k+12>>2]=e;DF(b,106812,k);break}}while(0);yF(c[f>>2]|0,106842)|0;WL(c[f>>2]|0,c[(c[(c[f>>2]|0)+12>>2]|0)+24>>2]|0,45876);YL(c[f>>2]|0);if(c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]|0){c[g>>2]=c[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]>>2];c[g+4>>2]=0;WL(c[f>>2]|0,0,g)}}c[11468]=(d[(c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]|0)+115>>0]|0)==1?1:-1;if(!(a[106742]|0)){yF(c[f>>2]|0,106862)|0;a[106742]=1}if(!(c[(c[h>>2]|0)+208>>2]|0)){i=m;return}o=c[f>>2]|0;c[l>>2]=ZL(c[(c[h>>2]|0)+208>>2]|0,c[11468]|0)|0;DF(o,106875,l);i=m;return}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();g=f;l=f+20|0;h=f+12|0;k=f+8|0;c[l>>2]=a;c[f+16>>2]=b;c[h>>2]=d;c[k>>2]=e;e=c[l>>2]|0;b=c[k>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=b;DF(e,106726,g);i=f;return}function xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;p=i;i=i+176|0;if((i|0)>=(j|0))ba();n=p+128|0;m=p+112|0;l=p+72|0;k=p+56|0;f=p+40|0;e=p+32|0;o=p+24|0;g=p+8|0;q=p;b=p+160|0;d=p+144|0;c[b>>2]=a;a=(c[b>>2]|0)+456|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];a=c[b>>2]|0;r=(c[(c[(c[b>>2]|0)+12>>2]|0)+28>>2]|0)+1|0;c[q>>2]=(c[(c[(c[b>>2]|0)+12>>2]|0)+28>>2]|0)+1;c[q+4>>2]=r;DF(a,106353,q);if(!(c[(c[(c[b>>2]|0)+12>>2]|0)+20>>2]|0)){r=c[b>>2]|0;s=c[d+4>>2]|0;a=c[d+8>>2]|0;q=c[d+8+4>>2]|0;c[g>>2]=c[d>>2];c[g+4>>2]=s;c[g+8>>2]=a;c[g+12>>2]=q;DF(r,106370,g)}s=c[b>>2]|0;c[o>>2]=(c[(c[b>>2]|0)+360>>2]|0)!=0?106404:106414;DF(s,106423,o);if((c[(c[b>>2]|0)+60+4>>2]|0)==1){s=c[b>>2]|0;r=c[d+8+4>>2]|0;c[e>>2]=c[d+8>>2];c[e+4>>2]=r;DF(s,106448,e)}s=c[b>>2]|0;q=c[(c[b>>2]|0)+196+4>>2]|0;r=c[(c[b>>2]|0)+204>>2]|0;c[f>>2]=c[(c[b>>2]|0)+196>>2];c[f+4>>2]=q;c[f+8>>2]=r;DF(s,106487,f);if(!(c[(c[(c[b>>2]|0)+12>>2]|0)+20>>2]|0)){s=c[b>>2]|0;o=c[d+4>>2]|0;q=(c[d+8>>2]|0)-(c[d>>2]|0)|0;r=(c[d+8+4>>2]|0)-(c[d+4>>2]|0)|0;c[k>>2]=c[d>>2];c[k+4>>2]=o;c[k+8>>2]=q;c[k+12>>2]=r;DF(s,106507,k)}s=c[b>>2]|0;v=+h[(c[b>>2]|0)+488+8>>3];r=c[(c[b>>2]|0)+360>>2]|0;u=+h[(c[b>>2]|0)+504>>3];t=+h[(c[b>>2]|0)+504+8>>3];h[l>>3]=+h[(c[b>>2]|0)+488>>3];h[l+8>>3]=v;c[l+16>>2]=r;h[l+24>>3]=u;h[l+32>>3]=t;DF(s,106547,l);if((c[(c[b>>2]|0)+60+4>>2]|0)!=1){i=p;return}if(!((c[d+8>>2]|0)<14400?(c[d+8+4>>2]|0)<14400:0)){s=c[(c[(c[b>>2]|0)+12>>2]|0)+16>>2]|0;r=c[d+8+4>>2]|0;c[m>>2]=c[d+8>>2];c[m+4>>2]=r;c[m+8>>2]=14400;Xb[s&31](106590,m)}s=c[b>>2]|0;o=c[d+4>>2]|0;q=c[d+8>>2]|0;r=c[d+8+4>>2]|0;c[n>>2]=c[d>>2];c[n+4>>2]=o;c[n+8>>2]=q;c[n+12>>2]=r;DF(s,106685,n);i=p;return}function yd(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;b=e+4|0;c[b>>2]=a;if(c[(c[(c[b>>2]|0)+12>>2]|0)+20>>2]|0){yF(c[b>>2]|0,106277)|0;WL(c[b>>2]|0,0,(c[(c[(c[b>>2]|0)+12>>2]|0)+20>>2]|0)+4|0)}yF(c[b>>2]|0,106294)|0;yF(c[b>>2]|0,106321)|0;a=c[b>>2]|0;c[d>>2]=c[(c[(c[b>>2]|0)+12>>2]|0)+28>>2];DF(a,106336,d);i=e;return}function zd(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b;d=b+8|0;f=b+4|0;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];a=c[d>>2]|0;c[e>>2]=MB(c[(c[f>>2]|0)+8>>2]|0)|0;DF(a,106270,e);yF(c[d>>2]|0,106263)|0;i=b;return}function Ad(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,121716)|0;i=b;return}function Bd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,106263)|0;i=b;return}function Cd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,121716)|0;i=b;return}function Dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,106263)|0;i=b;return}function Ed(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,121716)|0;i=b;return}function Fd(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,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m;g=m+24|0;h=m+20|0;k=m+4|0;c[g>>2]=a;c[h>>2]=b;c[m+16>>2]=d;c[m+12>>2]=e;c[m+8>>2]=f;c[k>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[h>>2]|0)){i=m;return}if(!(c[(c[k>>2]|0)+272>>2]|0)){i=m;return}yF(c[g>>2]|0,106159)|0;GF(c[g>>2]|0,c[(c[k>>2]|0)+272>>2]|0,2);yF(c[g>>2]|0,106170)|0;b=c[g>>2]|0;c[l>>2]=ZL(c[h>>2]|0,c[11468]|0)|0;DF(b,106174,l);i=m;return}function Gd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();k=n+8|0;m=n;f=n+32|0;g=n+28|0;l=n+24|0;c[f>>2]=b;c[g>>2]=e;if(+h[(c[(c[f>>2]|0)+16>>2]|0)+16+24>>3]<.5){i=n;return}Nd(c[f>>2]|0,(c[(c[f>>2]|0)+16>>2]|0)+16|0);EF(c[f>>2]|0,+h[(c[(c[g>>2]|0)+4>>2]|0)+16>>3]);e=c[f>>2]|0;c[k>>2]=c[c[(c[g>>2]|0)+4>>2]>>2];DF(e,106118,k);c[l>>2]=ZL(c[c[g>>2]>>2]|0,c[11468]|0)|0;switch(a[(c[g>>2]|0)+48>>0]|0){case 114:{h[d>>3]=+h[d>>3]-+h[(c[g>>2]|0)+32>>3];break}case 108:{h[d>>3]=+h[d>>3]-0.0;break}default:h[d>>3]=+h[d>>3]-+h[(c[g>>2]|0)+32>>3]/2.0}e=d+8|0;h[e>>3]=+h[e>>3]+ +h[(c[g>>2]|0)+24>>3];e=c[f>>2]|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];FF(e,k);yF(c[f>>2]|0,106133)|0;EF(c[f>>2]|0,+h[(c[g>>2]|0)+32>>3]);e=c[f>>2]|0;c[m>>2]=c[l>>2];DF(e,106142,m);i=n;return}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0;g=i;i=i+48|0;if((i|0)>=(j|0))ba();e=g+40|0;l=g+36|0;k=g+32|0;f=g;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;a=c[l>>2]|0;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];h[f+16>>3]=+h[(c[l>>2]|0)+16>>3]-+h[c[l>>2]>>3];h[f+16+8>>3]=+h[(c[l>>2]|0)+16+8>>3]-+h[(c[l>>2]|0)+8>>3];if((c[k>>2]|0)!=0?+h[(c[(c[e>>2]|0)+16>>2]|0)+56+24>>3]>.5:0){Nd(c[e>>2]|0,(c[(c[e>>2]|0)+16>>2]|0)+56|0);GF(c[e>>2]|0,f,2);yF(c[e>>2]|0,106076)|0}if(!(+h[(c[(c[e>>2]|0)+16>>2]|0)+16+24>>3]>.5)){i=g;return}Od(c[e>>2]|0);Nd(c[e>>2]|0,(c[(c[e>>2]|0)+16>>2]|0)+16|0);GF(c[e>>2]|0,f,2);yF(c[e>>2]|0,106096)|0;i=g;return}function Id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();f=n;g=n+32|0;k=n+28|0;l=n+24|0;o=n+20|0;m=n+16|0;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[o>>2]=e;if((c[o>>2]|0)!=0?+h[(c[(c[g>>2]|0)+16>>2]|0)+56+24>>3]>.5:0){Nd(c[g>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+56|0);yF(c[g>>2]|0,105997)|0;o=c[g>>2]|0;d=c[k>>2]|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];FF(o,f);yF(c[g>>2]|0,106006)|0;c[m>>2]=1;while(1){b=c[g>>2]|0;if((c[m>>2]|0)>=(c[l>>2]|0))break;o=(c[k>>2]|0)+(c[m>>2]<<4)|0;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];FF(b,f);yF(c[g>>2]|0,106015)|0;c[m>>2]=(c[m>>2]|0)+1}yF(b,106042)|0}if(!(+h[(c[(c[g>>2]|0)+16>>2]|0)+16+24>>3]>.5)){i=n;return}Od(c[g>>2]|0);Nd(c[g>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+16|0);yF(c[g>>2]|0,105997)|0;o=c[g>>2]|0;d=c[k>>2]|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];FF(o,f);yF(c[g>>2]|0,106006)|0;c[m>>2]=1;while(1){b=c[g>>2]|0;if((c[m>>2]|0)>=(c[l>>2]|0))break;o=(c[k>>2]|0)+(c[m>>2]<<4)|0;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];FF(b,f);yF(c[g>>2]|0,106015)|0;c[m>>2]=(c[m>>2]|0)+1}yF(b,106058)|0;i=n;return}function Jd(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 k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();k=p;l=p+40|0;m=p+36|0;n=p+32|0;q=p+20|0;o=p+16|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[p+28>>2]=e;c[p+24>>2]=f;c[q>>2]=g;if((c[q>>2]|0)!=0?+h[(c[(c[l>>2]|0)+16>>2]|0)+56+24>>3]>.5:0){Nd(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+56|0);yF(c[l>>2]|0,105997)|0;q=c[l>>2]|0;d=c[m>>2]|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];FF(q,k);yF(c[l>>2]|0,106006)|0;c[o>>2]=1;while(1){b=c[l>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;GF(b,(c[m>>2]|0)+(c[o>>2]<<4)|0,3);yF(c[l>>2]|0,106032)|0;c[o>>2]=(c[o>>2]|0)+3}yF(b,106042)|0}if(!(+h[(c[(c[l>>2]|0)+16>>2]|0)+16+24>>3]>.5)){i=p;return}Od(c[l>>2]|0);Nd(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+16|0);yF(c[l>>2]|0,105997)|0;q=c[l>>2]|0;d=c[m>>2]|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];FF(q,k);yF(c[l>>2]|0,106006)|0;c[o>>2]=1;while(1){b=c[l>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;GF(b,(c[m>>2]|0)+(c[o>>2]<<4)|0,3);yF(c[l>>2]|0,106032)|0;c[o>>2]=(c[o>>2]|0)+3}yF(b,106024)|0;i=p;return}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m;f=m+28|0;g=m+24|0;k=m+20|0;l=m+16|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;if(!(+h[(c[(c[f>>2]|0)+16>>2]|0)+16+24>>3]>.5)){i=m;return}Od(c[f>>2]|0);Nd(c[f>>2]|0,(c[(c[f>>2]|0)+16>>2]|0)+16|0);yF(c[f>>2]|0,105997)|0;d=c[f>>2]|0;a=c[g>>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];FF(d,e);yF(c[f>>2]|0,106006)|0;c[l>>2]=1;while(1){b=c[f>>2]|0;if((c[l>>2]|0)>=(c[k>>2]|0))break;d=(c[g>>2]|0)+(c[l>>2]<<4)|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];FF(b,e);yF(c[f>>2]|0,106015)|0;c[l>>2]=(c[l>>2]|0)+1}yF(b,106024)|0;i=m;return}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;yF(c[e>>2]|0,105994)|0;yF(c[e>>2]|0,c[f>>2]|0)|0;yF(c[e>>2]|0,193472)|0;i=d;return}function Md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();g=q+16|0;p=q+8|0;o=q;k=q+48|0;l=q+44|0;m=q+40|0;n=q+36|0;r=q+32|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[r>>2]=f;if((c[r>>2]|0)!=0?+h[(c[(c[k>>2]|0)+16>>2]|0)+56+24>>3]>.5:0){Nd(c[k>>2]|0,(c[(c[k>>2]|0)+16>>2]|0)+56|0);yF(c[k>>2]|0,121611)|0;GF(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);yF(c[k>>2]|0,140312)|0;r=c[k>>2]|0;b=c[m>>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];FF(r,g);r=c[k>>2]|0;b=c[l>>2]|0;c[o>>2]=c[n>>2];c[o+4>>2]=b;DF(r,105911,o)}if(!(+h[(c[(c[k>>2]|0)+16>>2]|0)+16+24>>3]>.5)){i=q;return}Od(c[k>>2]|0);Nd(c[k>>2]|0,(c[(c[k>>2]|0)+16>>2]|0)+16|0);yF(c[k>>2]|0,121611)|0;GF(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);yF(c[k>>2]|0,140312)|0;r=c[k>>2]|0;o=c[m>>2]|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];FF(r,g);r=c[k>>2]|0;o=c[l>>2]|0;c[p>>2]=c[n>>2];c[p+4>>2]=o;DF(r,105927,p);i=q;return}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0.0,m=0.0;k=i;i=i+48|0;if((i|0)>=(j|0))ba();g=k;d=k+40|0;e=k+36|0;f=k+32|0;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=k;return}switch(c[(c[(c[d>>2]|0)+16>>2]|0)+4>>2]|0){case 1:case 0:{c[f>>2]=149178;break}case 2:{c[f>>2]=149164;break}case 3:{c[f>>2]=149159;break}default:c[f>>2]=105963}a=c[d>>2]|0;m=+h[(c[e>>2]|0)+8>>3];l=+h[(c[e>>2]|0)+16>>3];f=c[f>>2]|0;h[g>>3]=+h[c[e>>2]>>3];h[g+8>>3]=m;h[g+16>>3]=l;c[g+24>>2]=f;DF(a,105970,g);i=k;return}function Od(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m+16|0;k=m+8|0;d=m+32|0;n=m;f=m+28|0;e=m+24|0;g=m+20|0;c[d>>2]=b;h[n>>3]=+h[(c[(c[d>>2]|0)+16>>2]|0)+152>>3];c[g>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+160>>2];EF(c[d>>2]|0,+h[n>>3]);yF(c[d>>2]|0,105944)|0;while(1){if(!(c[g>>2]|0)){d=12;break}n=c[g>>2]|0;c[g>>2]=n+4;n=c[n>>2]|0;c[e>>2]=n;c[f>>2]=n;if(!n){d=12;break}if(!(a4(c[e>>2]|0,148730)|0))continue;do{n=(a[c[f>>2]>>0]|0)!=0;c[f>>2]=(c[f>>2]|0)+1}while(n);a:while(1){if(!(a[c[f>>2]>>0]|0))break;n=c[d>>2]|0;c[k>>2]=c[f>>2];DF(n,105959,k);while(1){n=(a[c[f>>2]>>0]|0)!=0;c[f>>2]=(c[f>>2]|0)+1;if(!n)continue a}}if(!(a4(c[e>>2]|0,172018)|0))h[(c[(c[d>>2]|0)+16>>2]|0)+152>>3]=0.0;n=c[d>>2]|0;c[l>>2]=c[e>>2];DF(n,135486,l)}if((d|0)==12){i=m;return}}function Pd(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=b;yF(c[d>>2]|0,112069)|0;b=OA(c[(c[c[d>>2]>>2]|0)+168>>2]|0,112125)|0;c[e>>2]=b;if((b|0)!=0?(a[c[e>>2]>>0]|0)!=0:0){yF(c[d>>2]|0,112136)|0;yF(c[d>>2]|0,c[e>>2]|0)|0;yF(c[d>>2]|0,112160)|0}yF(c[d>>2]|0,112181)|0;yF(c[d>>2]|0,112229)|0;yF(c[d>>2]|0,112283)|0;e=c[d>>2]|0;yF(e,kK(c[c[c[(c[d>>2]|0)+12>>2]>>2]>>2]|0)|0)|0;yF(c[d>>2]|0,115386)|0;e=c[d>>2]|0;yF(e,kK(c[(c[c[(c[d>>2]|0)+12>>2]>>2]|0)+4>>2]|0)|0)|0;yF(c[d>>2]|0,115396)|0;e=c[d>>2]|0;yF(e,kK(c[(c[c[(c[d>>2]|0)+12>>2]>>2]|0)+8>>2]|0)|0)|0;yF(c[d>>2]|0,112607)|0;yF(c[d>>2]|0,112710)|0;i=f;return}function Qd(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0.0,n=0.0,o=0.0;l=i;i=i+64|0;if((i|0)>=(j|0))ba();k=l+16|0;g=l+8|0;f=l;d=l+52|0;e=l+48|0;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+16>>2];yF(c[d>>2]|0,111904)|0;if(a[(MB(c[(c[e>>2]|0)+8>>2]|0)|0)>>0]|0){yF(c[d>>2]|0,112570)|0;b=c[d>>2]|0;yF(b,kK(MB(c[(c[e>>2]|0)+8>>2]|0)|0)|0)|0}e=c[d>>2]|0;c[f>>2]=_(c[(c[d>>2]|0)+164>>2]|0,c[(c[d>>2]|0)+164+4>>2]|0)|0;DF(e,111909,f);f=c[d>>2]|0;e=c[(c[d>>2]|0)+452>>2]|0;c[g>>2]=c[(c[d>>2]|0)+448>>2];c[g+4>>2]=e;DF(f,111925,g);g=c[d>>2]|0;o=+h[(c[d>>2]|0)+384+8>>3];n=+h[(c[d>>2]|0)+384+16>>3];m=+h[(c[d>>2]|0)+384+16+8>>3];h[k>>3]=+h[(c[d>>2]|0)+384>>3];h[k+8>>3]=o;h[k+16>>3]=n;h[k+24>>3]=m;DF(g,111958,k);yF(c[d>>2]|0,111989)|0;yF(c[d>>2]|0,112025)|0;yF(c[d>>2]|0,113593)|0;i=l;return}function Rd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,111896)|0;i=b;return}function Sd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+12|0;h=f+8|0;c[g>>2]=a;c[h>>2]=b;c[f+4>>2]=d;c[f>>2]=e;yF(c[g>>2]|0,111725)|0;e=c[g>>2]|0;yF(e,kK(c[h>>2]|0)|0)|0;yF(c[g>>2]|0,111878)|0;i=f;return}function Td(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,111669)|0;i=b;return}function Ud(b){b=b|0;var d=0,e=0,f=0,g=0,k=0.0,l=0.0,m=0,n=0.0;f=i;i=i+48|0;if((i|0)>=(j|0))ba();g=f;d=f+44|0;e=f+40|0;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+16>>2];yF(c[d>>2]|0,111725)|0;b=c[d>>2]|0;yF(b,kK(c[(c[e>>2]|0)+212>>2]|0)|0)|0;yF(c[d>>2]|0,111806)|0;b=c[d>>2]|0;n=+h[(c[d>>2]|0)+488+8>>3];m=0-(c[(c[d>>2]|0)+360>>2]|0)|0;l=+h[(c[d>>2]|0)+504>>3];k=-+h[(c[d>>2]|0)+504+8>>3];h[g>>3]=+h[(c[d>>2]|0)+488>>3];h[g+8>>3]=n;c[g+16>>2]=m;h[g+24>>3]=l;h[g+32>>3]=k;DF(b,111822,g);if(!(a[(MB(c[(c[e>>2]|0)+8>>2]|0)|0)>>0]|0)){i=f;return}yF(c[d>>2]|0,111749)|0;m=c[d>>2]|0;yF(m,kK(MB(c[(c[e>>2]|0)+8>>2]|0)|0)|0)|0;yF(c[d>>2]|0,111757)|0;i=f;return}function Vd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,111669)|0;i=b;return}function Wd(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+16>>2];yF(c[d>>2]|0,111725)|0;a=c[d>>2]|0;yF(a,kK(c[(c[e>>2]|0)+212>>2]|0)|0)|0;yF(c[d>>2]|0,111787)|0;yF(c[d>>2]|0,111749)|0;a=c[d>>2]|0;yF(a,kK(MB(c[(c[e>>2]|0)+8>>2]|0)|0)|0)|0;yF(c[d>>2]|0,111757)|0;i=b;return}function Xd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,111669)|0;i=b;return}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];yF(c[b>>2]|0,111725)|0;a=c[b>>2]|0;yF(a,kK(c[(c[d>>2]|0)+212>>2]|0)|0)|0;if((c[(c[b>>2]|0)+160>>2]|0)>1){a=c[b>>2]|0;c[e>>2]=kK(c[(c[(c[c[b>>2]>>2]|0)+308>>2]|0)+(c[(c[b>>2]|0)+160>>2]<<2)>>2]|0)|0;DF(a,111767,e)}yF(c[b>>2]|0,111771)|0;yF(c[b>>2]|0,111749)|0;e=c[b>>2]|0;yF(e,kK(MB(c[(c[d>>2]|0)+8>>2]|0)|0)|0)|0;yF(c[b>>2]|0,111757)|0;i=f;return}function Zd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,111669)|0;i=b;return}function _d(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b+8|0;f=b+4|0;e=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];yF(c[d>>2]|0,111725)|0;a=c[d>>2]|0;yF(a,kK(c[(c[f>>2]|0)+212>>2]|0)|0)|0;yF(c[d>>2]|0,111733)|0;yF(c[d>>2]|0,111749)|0;c[e>>2]=jK(140006,c[(c[f>>2]|0)+8>>2]|0)|0;a=c[d>>2]|0;yF(a,kK(c[e>>2]|0)|0)|0;B1(c[e>>2]|0);yF(c[d>>2]|0,111757)|0;i=b;return}function $d(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,111669)|0;i=b;return}function ae(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;yF(c[h>>2]|0,111675)|0;if(c[n>>2]|0){yF(c[h>>2]|0,111678)|0;e=c[h>>2]|0;yF(e,kK(c[n>>2]|0)|0)|0;yF(c[h>>2]|0,136409)|0}yF(c[h>>2]|0,111658)|0;yF(c[h>>2]|0,113554)|0;if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0){yF(c[h>>2]|0,111686)|0;yF(c[h>>2]|0,c[k>>2]|0)|0;yF(c[h>>2]|0,136409)|0}if((c[l>>2]|0)!=0?(a[c[l>>2]>>0]|0)!=0:0){yF(c[h>>2]|0,111700)|0;e=c[h>>2]|0;yF(e,kK(c[l>>2]|0)|0)|0;yF(c[h>>2]|0,136409)|0}if(!(c[m>>2]|0)){e=c[h>>2]|0;yF(e,113593)|0;i=o;return}if(!(a[c[m>>2]>>0]|0)){e=c[h>>2]|0;yF(e,113593)|0;i=o;return}yF(c[h>>2]|0,111715)|0;e=c[h>>2]|0;yF(e,kK(c[m>>2]|0)|0)|0;yF(c[h>>2]|0,136409)|0;e=c[h>>2]|0;yF(e,113593)|0;i=o;return}function be(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,113548)|0;yF(c[d>>2]|0,111669)|0;i=b;return}function ce(b,e,f){b=b|0;e=e|0;f=f|0;var g=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.0;M=i;i=i+208|0;if((i|0)>=(j|0))ba();I=M+152|0;H=M+144|0;G=M+136|0;F=M+128|0;E=M+120|0;D=M+112|0;C=M+104|0;B=M+96|0;A=M+88|0;z=M+80|0;y=M+72|0;x=M+64|0;w=M+56|0;v=M+48|0;u=M+40|0;t=M+32|0;K=M+24|0;J=M+16|0;g=M;k=M+200|0;l=M+196|0;p=M+192|0;q=M+188|0;n=M+184|0;L=M+180|0;r=M+176|0;s=M+172|0;o=M+168|0;m=M+164|0;c[k>>2]=b;c[l>>2]=f;c[p>>2]=c[(c[k>>2]|0)+16>>2];c[n>>2]=0;c[L>>2]=0;c[r>>2]=0;c[s>>2]=0;yF(c[k>>2]|0,111286)|0;switch(a[(c[l>>2]|0)+48>>0]|0){case 108:{yF(c[k>>2]|0,111292)|0;break}case 114:{yF(c[k>>2]|0,111313)|0;break}default:yF(c[k>>2]|0,111332)|0}b=e+8|0;h[b>>3]=+h[b>>3]+ +h[(c[l>>2]|0)+24>>3];b=c[k>>2]|0;N=-+h[e+8>>3];h[g>>3]=+h[e>>3];h[g+8>>3]=N;DF(b,111354,g);c[q>>2]=c[(c[(c[l>>2]|0)+4>>2]|0)+8>>2];b=c[k>>2]|0;if(c[q>>2]|0){switch(c[(c[(c[(c[b>>2]|0)+168>>2]|0)+8>>2]|0)+244>>2]|0){case 1:{c[n>>2]=c[c[q>>2]>>2];c[L>>2]=c[(c[q>>2]|0)+8>>2];c[s>>2]=c[(c[q>>2]|0)+16>>2];break}case 2:{c[n>>2]=c[(c[q>>2]|0)+24>>2];c[L>>2]=c[(c[q>>2]|0)+28>>2];c[s>>2]=c[(c[q>>2]|0)+32>>2];break}default:{c[n>>2]=c[(c[q>>2]|0)+4>>2];c[L>>2]=c[(c[q>>2]|0)+8>>2];c[s>>2]=c[(c[q>>2]|0)+16>>2]}}c[r>>2]=c[(c[q>>2]|0)+12>>2];w=c[k>>2]|0;c[J>>2]=c[n>>2];DF(w,111369,J);if(c[(c[q>>2]|0)+24>>2]|0){J=c[k>>2]|0;c[K>>2]=c[(c[q>>2]|0)+24>>2];DF(J,111386,K)}yF(c[k>>2]|0,136409)|0;if(c[L>>2]|0){K=c[k>>2]|0;c[t>>2]=c[L>>2];DF(K,111390,t)}if(c[r>>2]|0){K=c[k>>2]|0;c[u>>2]=c[r>>2];DF(K,111408,u)}if(c[s>>2]|0){K=c[k>>2]|0;c[v>>2]=c[s>>2];DF(K,111427,v)}}else{c[w>>2]=c[c[(c[l>>2]|0)+4>>2]>>2];DF(b,111444,w)}if((c[(c[l>>2]|0)+4>>2]|0)!=0?(K=c[(c[(c[l>>2]|0)+4>>2]|0)+24>>2]&127,c[o>>2]=K,(K|0)!=0):0){if(!((c[o>>2]&1|0)==0|(c[L>>2]|0)!=0))DF(c[k>>2]|0,111462,x);if(!((c[o>>2]&2|0)==0|(c[s>>2]|0)!=0))DF(c[k>>2]|0,111482,y);if(c[o>>2]&100){c[m>>2]=0;DF(c[k>>2]|0,111503,z);if(c[o>>2]&4){DF(c[k>>2]|0,143492,A);c[m>>2]=1}if(c[o>>2]&64){L=c[k>>2]|0;c[B>>2]=(c[m>>2]|0)!=0?138430:178598;DF(L,111522,B);c[m>>2]=1}if(c[o>>2]&32){L=c[k>>2]|0;c[C>>2]=(c[m>>2]|0)!=0?138430:178598;DF(L,111533,C)}DF(c[k>>2]|0,136409,D)}if(c[o>>2]&8)DF(c[k>>2]|0,111548,E);if(c[o>>2]&16)DF(c[k>>2]|0,111572,F)}L=c[k>>2]|0;h[G>>3]=+h[(c[(c[l>>2]|0)+4>>2]|0)+16>>3];DF(L,111594,G);switch(c[(c[p>>2]|0)+16+32>>2]|0){case 5:{if(!(Y3(c[(c[p>>2]|0)+16>>2]|0,174997)|0)){K=c[k>>2]|0;yF(K,111658)|0;K=c[k>>2]|0;L=c[l>>2]|0;L=c[L>>2]|0;L=lK(L,1)|0;yF(K,L)|0;L=c[k>>2]|0;yF(L,111660)|0;i=M;return}K=c[k>>2]|0;c[H>>2]=c[(c[p>>2]|0)+16>>2];DF(K,111612,H);K=c[k>>2]|0;yF(K,111658)|0;K=c[k>>2]|0;L=c[l>>2]|0;L=c[L>>2]|0;L=lK(L,1)|0;yF(K,L)|0;L=c[k>>2]|0;yF(L,111660)|0;i=M;return}case 1:{K=c[k>>2]|0;J=d[(c[p>>2]|0)+16+1>>0]|0;L=d[(c[p>>2]|0)+16+2>>0]|0;c[I>>2]=d[(c[p>>2]|0)+16>>0];c[I+4>>2]=J;c[I+8>>2]=L;DF(K,111623,I);K=c[k>>2]|0;yF(K,111658)|0;K=c[k>>2]|0;L=c[l>>2]|0;L=c[L>>2]|0;L=lK(L,1)|0;yF(K,L)|0;L=c[k>>2]|0;yF(L,111660)|0;i=M;return}default:db(176179,110789,440,111645)}}function de(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();m=n+16|0;l=n;e=n+44|0;f=n+40|0;g=n+36|0;k=n+32|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;if((c[g>>2]|0)!=2){if((c[g>>2]|0)==3)c[k>>2]=le(c[e>>2]|0,c[f>>2]|0,2)|0}else c[k>>2]=ke(c[e>>2]|0,c[f>>2]|0,2)|0;yF(c[e>>2]|0,111243)|0;ie(c[e>>2]|0,c[g>>2]|0,c[k>>2]|0);a=c[e>>2]|0;o=-+h[(c[f>>2]|0)+8>>3];h[l>>3]=+h[c[f>>2]>>3];h[l+8>>3]=o;DF(a,111252,l);l=c[e>>2]|0;o=+h[(c[f>>2]|0)+16+8>>3]-+h[(c[f>>2]|0)+8>>3];h[m>>3]=+h[(c[f>>2]|0)+16>>3]-+h[c[f>>2]>>3];h[m+8>>3]=o;DF(l,111269,m);yF(c[e>>2]|0,122251)|0;i=n;return}function ee(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();p=q+16|0;o=q;k=q+52|0;l=q+48|0;m=q+44|0;f=q+40|0;n=q+36|0;g=q+32|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[f>>2]=e;c[g>>2]=0;if((c[f>>2]|0)!=2){if((c[f>>2]|0)==3)c[g>>2]=le(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0}else c[g>>2]=ke(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;yF(c[k>>2]|0,111228)|0;ie(c[k>>2]|0,c[f>>2]|0,c[g>>2]|0);yF(c[k>>2]|0,110636)|0;c[n>>2]=0;while(1){f=c[k>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;r=-+h[(c[l>>2]|0)+(c[n>>2]<<4)+8>>3];h[o>>3]=+h[(c[l>>2]|0)+(c[n>>2]<<4)>>3];h[o+8>>3]=r;DF(f,110646,o);c[n>>2]=(c[n>>2]|0)+1}r=-+h[(c[l>>2]|0)+8>>3];h[p>>3]=+h[c[l>>2]>>3];h[p+8>>3]=r;DF(f,111237,p);yF(c[k>>2]|0,110653)|0;i=q;return}function fe(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,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o+24|0;k=o+20|0;l=o+16|0;m=o+4|0;n=o;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[o+12>>2]=e;c[o+8>>2]=f;c[m>>2]=g;c[n>>2]=0;if((c[m>>2]|0)!=2){if((c[m>>2]|0)==3)c[n>>2]=le(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0}else c[n>>2]=ke(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;yF(c[h>>2]|0,110825)|0;ie(c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);yF(c[h>>2]|0,110831)|0;me(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);yF(c[h>>2]|0,110653)|0;i=o;return}function ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m;e=m+28|0;f=m+24|0;g=m+20|0;k=m+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;yF(c[e>>2]|0,110626)|0;ie(c[e>>2]|0,0,0);yF(c[e>>2]|0,110636)|0;c[k>>2]=0;while(1){b=c[e>>2]|0;if((c[k>>2]|0)>=(c[g>>2]|0))break;n=-+h[(c[f>>2]|0)+(c[k>>2]<<4)+8>>3];h[l>>3]=+h[(c[f>>2]|0)+(c[k>>2]<<4)>>3];h[l+8>>3]=n;DF(b,110646,l);c[k>>2]=(c[k>>2]|0)+1}yF(b,110653)|0;i=m;return}function he(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;yF(c[e>>2]|0,110620)|0;b=c[e>>2]|0;yF(b,kK(c[f>>2]|0)|0)|0;yF(c[e>>2]|0,112710)|0;i=d;return}function ie(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+112|0;if((i|0)>=(j|0))ba();n=u+56|0;s=u+48|0;r=u+40|0;q=u+32|0;t=u+24|0;m=u+16|0;k=u+8|0;g=u;o=u+108|0;l=u+104|0;f=u+100|0;p=u+96|0;c[o>>2]=a;c[l>>2]=b;c[f>>2]=e;c[p>>2]=c[(c[o>>2]|0)+16>>2];yF(c[o>>2]|0,110658)|0;do if((c[l>>2]|0)!=2){if((c[l>>2]|0)==3){m=c[o>>2]|0;c[k>>2]=c[f>>2];DF(m,110677,k);break}a=c[o>>2]|0;if(!(c[l>>2]|0)){yF(a,173392)|0;break}e=n;b=(c[p>>2]|0)+56|0;f=e+40|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(f|0));je(a,n);if(((c[(c[p>>2]|0)+56+32>>2]|0)==1?(d[(c[p>>2]|0)+56+3>>0]|0|0)>0:0)?(d[(c[p>>2]|0)+56+3>>0]|0|0)<255:0){l=c[o>>2]|0;h[m>>3]=+(d[(c[p>>2]|0)+56+3>>0]|0)/255.0;DF(l,110688,m)}}else{m=c[o>>2]|0;c[g>>2]=c[f>>2];DF(m,110666,g)}while(0);yF(c[o>>2]|0,110707)|0;a=c[o>>2]|0;e=n;b=(c[p>>2]|0)+16|0;f=e+40|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(f|0));je(a,n);if(+h[(c[p>>2]|0)+152>>3]!=1.0){n=c[o>>2]|0;h[t>>3]=+h[(c[p>>2]|0)+152>>3];DF(n,110718,t)}if((c[(c[p>>2]|0)+144>>2]|0)!=1){if((c[(c[p>>2]|0)+144>>2]|0)==2){t=c[o>>2]|0;c[r>>2]=c[11840];DF(t,110737,r)}}else{t=c[o>>2]|0;c[q>>2]=c[11839];DF(t,110737,q)}if((c[(c[p>>2]|0)+16+32>>2]|0)!=1){t=c[o>>2]|0;yF(t,136409)|0;i=u;return}if((d[(c[p>>2]|0)+16+3>>0]|0|0)<=0){t=c[o>>2]|0;yF(t,136409)|0;i=u;return}if((d[(c[p>>2]|0)+16+3>>0]|0|0)>=255){t=c[o>>2]|0;yF(t,136409)|0;i=u;return}t=c[o>>2]|0;h[s>>3]=+(d[(c[p>>2]|0)+16+3>>0]|0)/255.0;DF(t,110760,s);t=c[o>>2]|0;yF(t,136409)|0;i=u;return}function je(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g;e=g+12|0;c[e>>2]=a;switch(c[b+32>>2]|0){case 5:{yF(c[e>>2]|0,c[b>>2]|0)|0;i=g;return}case 1:{e=c[e>>2]|0;if(!(d[b+3>>0]|0)){yF(e,173392)|0;i=g;return}else{h=d[b+1>>0]|0;a=d[b+2>>0]|0;c[f>>2]=d[b>>0];c[f+4>>2]=h;c[f+8>>2]=a;DF(e,112919,f);i=g;return}}default:db(176179,110789,83,110809)}}function ke(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0;r=i;i=i+144|0;if((i|0)>=(j|0))ba();m=r+72|0;q=r+64|0;l=r+56|0;k=r+48|0;f=r+40|0;w=r+32|0;n=r+132|0;z=r+128|0;y=r+124|0;v=r;x=r+120|0;o=r+116|0;p=r+112|0;c[n>>2]=a;c[z>>2]=b;c[y>>2]=e;b=c[11842]|0;c[11842]=b+1;c[o>>2]=b;c[p>>2]=c[(c[n>>2]|0)+16>>2];g[x>>2]=+(c[(c[p>>2]|0)+136>>2]|0)*3.141592653589793/180.0;h[v+16+8>>3]=0.0;h[v+16>>3]=0.0;h[v+8>>3]=0.0;h[v>>3]=0.0;eP(c[z>>2]|0,v,c[y>>2]|0,+g[x>>2],0);b=c[n>>2]|0;c[w>>2]=c[o>>2];DF(b,111056,w);b=c[n>>2]|0;u=+h[v+8>>3];t=+h[v+16>>3];s=+h[v+16+8>>3];h[m>>3]=+h[v>>3];h[m+8>>3]=u;h[m+16>>3]=t;h[m+24>>3]=s;DF(b,111121,m);b=c[n>>2]|0;if(+g[(c[p>>2]|0)+140>>2]>0.0){h[f>>3]=+g[(c[p>>2]|0)+140>>2]-.001;DF(b,111156,f)}else yF(b,110928)|0;b=c[n>>2]|0;f=m;e=(c[p>>2]|0)+56|0;a=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(a|0));je(b,m);yF(c[n>>2]|0,110964)|0;if(((c[(c[p>>2]|0)+56+32>>2]|0)==1?(d[(c[p>>2]|0)+56+3>>0]|0|0)>0:0)?(d[(c[p>>2]|0)+56+3>>0]|0|0)<255:0){z=c[n>>2]|0;h[k>>3]=+(d[(c[p>>2]|0)+56+3>>0]|0)/255.0;DF(z,137024,k)}else yF(c[n>>2]|0,110979)|0;yF(c[n>>2]|0,110982)|0;b=c[n>>2]|0;if(+g[(c[p>>2]|0)+140>>2]>0.0){h[l>>3]=+g[(c[p>>2]|0)+140>>2];DF(b,111156,l)}else yF(b,110988)|0;b=c[n>>2]|0;f=m;e=(c[p>>2]|0)+96|0;a=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(a|0));je(b,m);yF(c[n>>2]|0,110964)|0;if(((c[(c[p>>2]|0)+96+32>>2]|0)==1?(d[(c[p>>2]|0)+96+3>>0]|0|0)>0:0)?(d[(c[p>>2]|0)+96+3>>0]|0|0)<255:0){z=c[n>>2]|0;h[q>>3]=+(d[(c[p>>2]|0)+96+3>>0]|0)/255.0;DF(z,137024,q);z=c[n>>2]|0;yF(z,111196)|0;z=c[o>>2]|0;i=r;return z|0}yF(c[n>>2]|0,110979)|0;z=c[n>>2]|0;yF(z,111196)|0;z=c[o>>2]|0;i=r;return z|0}function le(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+96|0;if((i|0)>=(j|0))ba();n=s+16|0;r=s+8|0;m=s;o=s+84|0;l=s+72|0;k=s+68|0;f=s+64|0;p=s+60|0;q=s+56|0;c[o>>2]=a;c[s+80>>2]=b;c[s+76>>2]=e;e=c[11841]|0;c[11841]=e+1;c[p>>2]=e;c[q>>2]=c[(c[o>>2]|0)+16>>2];g[l>>2]=+(c[(c[q>>2]|0)+136>>2]|0)*3.141592653589793/180.0;if(+g[l>>2]==0.0){c[f>>2]=50;c[k>>2]=50}else{c[k>>2]=~~((+Q(+(+g[l>>2]))+1.0)*50.0);c[f>>2]=~~((1.0-+R(+(+g[l>>2])))*50.0)}l=c[o>>2]|0;k=c[k>>2]|0;f=c[f>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=k;c[n+8>>2]=f;DF(l,110844,n);yF(c[o>>2]|0,110928)|0;f=c[o>>2]|0;k=n;l=(c[q>>2]|0)+56|0;b=k+40|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(b|0));je(f,n);yF(c[o>>2]|0,110964)|0;if(((c[(c[q>>2]|0)+56+32>>2]|0)==1?(d[(c[q>>2]|0)+56+3>>0]|0|0)>0:0)?(d[(c[q>>2]|0)+56+3>>0]|0|0)<255:0){e=c[o>>2]|0;h[m>>3]=+(d[(c[q>>2]|0)+56+3>>0]|0)/255.0;DF(e,137024,m)}else yF(c[o>>2]|0,110979)|0;yF(c[o>>2]|0,110982)|0;yF(c[o>>2]|0,110988)|0;f=c[o>>2]|0;k=n;l=(c[q>>2]|0)+96|0;b=k+40|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(b|0));je(f,n);yF(c[o>>2]|0,110964)|0;if(((c[(c[q>>2]|0)+96+32>>2]|0)==1?(d[(c[q>>2]|0)+96+3>>0]|0|0)>0:0)?(d[(c[q>>2]|0)+96+3>>0]|0|0)<255:0){n=c[o>>2]|0;h[r>>3]=+(d[(c[q>>2]|0)+96+3>>0]|0)/255.0;DF(n,137024,r);r=c[o>>2]|0;yF(r,111024)|0;r=c[p>>2]|0;i=s;return r|0}yF(c[o>>2]|0,110979)|0;r=c[o>>2]|0;yF(r,111024)|0;r=c[p>>2]|0;i=s;return r|0}function me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();n=o;f=o+36|0;g=o+32|0;k=o+28|0;m=o+24|0;l=o+40|0;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;a[l>>0]=77;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;e=c[f>>2]|0;q=+h[(c[g>>2]|0)+(c[m>>2]<<4)>>3];p=-+h[(c[g>>2]|0)+(c[m>>2]<<4)+8>>3];c[n>>2]=a[l>>0];h[n+8>>3]=q;h[n+16>>3]=p;DF(e,110836,n);if(!(c[m>>2]|0))a[l>>0]=67;else a[l>>0]=32;c[m>>2]=(c[m>>2]|0)+1}i=o;return}function ne(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,112591)|0;a=c[d>>2]|0;yF(a,xe(c[c[c[(c[d>>2]|0)+12>>2]>>2]>>2]|0)|0)|0;yF(c[d>>2]|0,115386)|0;a=c[d>>2]|0;yF(a,xe(c[(c[c[(c[d>>2]|0)+12>>2]>>2]|0)+4>>2]|0)|0)|0;yF(c[d>>2]|0,115396)|0;a=c[d>>2]|0;yF(a,xe(c[(c[c[(c[d>>2]|0)+12>>2]>>2]|0)+8>>2]|0)|0)|0;yF(c[d>>2]|0,112607)|0;i=b;return}function oe(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g;d=g+8|0;e=g+4|0;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+16>>2];yF(c[d>>2]|0,112568)|0;if(a[(MB(c[(c[e>>2]|0)+8>>2]|0)|0)>>0]|0){yF(c[d>>2]|0,112570)|0;b=c[d>>2]|0;yF(b,xe(MB(c[(c[e>>2]|0)+8>>2]|0)|0)|0)|0}e=c[d>>2]|0;c[f>>2]=_(c[(c[d>>2]|0)+164>>2]|0,c[(c[d>>2]|0)+164+4>>2]|0)|0;DF(e,112579,f);i=g;return}function pe(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;c[11893]=1;i=b;return}function qe(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;c[11893]=-1;i=b;return}function re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+80|0;if((i|0)>=(j|0))ba();k=r+8|0;q=r;l=r+68|0;m=r+64|0;g=r+60|0;n=r+56|0;o=r+52|0;p=r+48|0;c[l>>2]=b;c[m>>2]=e;c[g>>2]=c[(c[l>>2]|0)+16>>2];if(!(c[(c[g>>2]|0)+144>>2]|0)){i=r;return}c[p>>2]=~~(+h[(c[(c[m>>2]|0)+4>>2]|0)+16>>3]*+h[(c[l>>2]|0)+352>>3]);if(!(c[p>>2]|0)){i=r;return}ye(c[l>>2]|0);yF(c[l>>2]|0,112507)|0;b=d+8|0;h[b>>3]=+h[b>>3]-+(c[p>>2]|0)*.55;b=c[l>>2]|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];FF(b,k);yF(c[l>>2]|0,112521)|0;yF(c[l>>2]|0,c[c[m>>2]>>2]|0)|0;yF(c[l>>2]|0,112530)|0;yF(c[l>>2]|0,112328)|0;b=c[l>>2]|0;f=k;e=(c[g>>2]|0)+16|0;d=f+40|0;do{c[f>>2]=c[e>>2];f=f+4|0;e=e+4|0}while((f|0)<(d|0));ze(b,k);yF(c[l>>2]|0,112532)|0;c[o>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+8>>2];if(c[o>>2]|0)c[n>>2]=c[(c[o>>2]|0)+4>>2];else c[n>>2]=c[c[(c[m>>2]|0)+4>>2]>>2];yF(c[l>>2]|0,136409)|0;yF(c[l>>2]|0,c[n>>2]|0)|0;yF(c[l>>2]|0,136409)|0;o=c[l>>2]|0;c[q>>2]=c[p>>2];DF(o,112541,q);switch(a[(c[m>>2]|0)+48>>0]|0){case 108:{yF(c[l>>2]|0,112546)|0;break}case 114:{yF(c[l>>2]|0,112557)|0;break}default:{}}Ae(c[l>>2]|0);yF(c[l>>2]|0,193472)|0;i=r;return}function se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;if((i|0)>=(j|0))ba();k=n+16|0;l=n+68|0;f=n+64|0;e=n+60|0;m=n+56|0;g=n;c[l>>2]=a;c[f>>2]=b;c[e>>2]=d;c[m>>2]=c[(c[l>>2]|0)+16>>2];if(!(c[(c[m>>2]|0)+144>>2]|0)){i=n;return}h[g>>3]=+h[(c[f>>2]|0)+16>>3]-+h[c[f>>2]>>3];h[g+8>>3]=+h[(c[f>>2]|0)+16+8>>3]-+h[(c[f>>2]|0)+8>>3];a=c[f>>2]|0;h[a>>3]=+h[a>>3]-+h[g>>3];a=(c[f>>2]|0)+8|0;h[a>>3]=+h[a>>3]-+h[g+8>>3];ye(c[l>>2]|0);yF(c[l>>2]|0,112493)|0;GF(c[l>>2]|0,c[f>>2]|0,2);yF(c[l>>2]|0,112328)|0;do if(!(c[e>>2]|0)){d=c[l>>2]|0;if(c[11893]|0){yF(d,174881)|0;break}else{yF(d,134418)|0;break}}else{d=c[l>>2]|0;b=k;e=(c[m>>2]|0)+56|0;f=b+40|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));ze(d,k)}while(0);if((c[11893]|0)==1)c[11893]=0;yF(c[l>>2]|0,112439)|0;EF(c[l>>2]|0,+h[(c[m>>2]|0)+152>>3]);yF(c[l>>2]|0,112482)|0;d=c[l>>2]|0;b=k;e=(c[m>>2]|0)+16|0;f=b+40|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));ze(d,k);if((c[(c[m>>2]|0)+144>>2]|0)==1)yF(c[l>>2]|0,112336)|0;if((c[(c[m>>2]|0)+144>>2]|0)==2)yF(c[l>>2]|0,112345)|0;Ae(c[l>>2]|0);yF(c[l>>2]|0,193472)|0;i=n;return}function te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();l=o;m=o+56|0;k=o+52|0;g=o+48|0;f=o+44|0;n=o+40|0;c[m>>2]=a;c[k>>2]=b;c[g>>2]=d;c[f>>2]=e;c[n>>2]=c[(c[m>>2]|0)+16>>2];if(!(c[(c[n>>2]|0)+144>>2]|0)){i=o;return}ye(c[m>>2]|0);yF(c[m>>2]|0,112465)|0;GF(c[m>>2]|0,c[k>>2]|0,c[g>>2]|0);yF(c[m>>2]|0,112328)|0;do if(!(c[f>>2]|0)){b=c[m>>2]|0;if(c[11893]|0){yF(b,174881)|0;break}else{yF(b,134418)|0;break}}else{b=c[m>>2]|0;f=l;g=(c[n>>2]|0)+56|0;k=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(k|0));ze(b,l)}while(0);if((c[11893]|0)==1)c[11893]=0;yF(c[m>>2]|0,112439)|0;EF(c[m>>2]|0,+h[(c[n>>2]|0)+152>>3]);yF(c[m>>2]|0,112482)|0;b=c[m>>2]|0;f=l;g=(c[n>>2]|0)+16|0;k=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(k|0));ze(b,l);if((c[(c[n>>2]|0)+144>>2]|0)==1)yF(c[m>>2]|0,112336)|0;if((c[(c[n>>2]|0)+144>>2]|0)==2)yF(c[m>>2]|0,112345)|0;Ae(c[m>>2]|0);yF(c[m>>2]|0,193472)|0;i=o;return}function ue(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 k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;if((i|0)>=(j|0))ba();m=p;n=p+64|0;l=p+60|0;k=p+56|0;o=p+40|0;c[n>>2]=a;c[l>>2]=b;c[k>>2]=d;c[p+52>>2]=e;c[p+48>>2]=f;c[p+44>>2]=g;c[o>>2]=c[(c[n>>2]|0)+16>>2];if(!(c[(c[o>>2]|0)+144>>2]|0)){i=p;return}ye(c[n>>2]|0);yF(c[n>>2]|0,112314)|0;GF(c[n>>2]|0,c[l>>2]|0,c[k>>2]|0);yF(c[n>>2]|0,112328)|0;f=c[n>>2]|0;b=m;k=(c[o>>2]|0)+16|0;l=b+40|0;do{c[b>>2]=c[k>>2];b=b+4|0;k=k+4|0}while((b|0)<(l|0));ze(f,m);yF(c[n>>2]|0,112439)|0;EF(c[n>>2]|0,+h[(c[o>>2]|0)+152>>3]);if((c[(c[o>>2]|0)+144>>2]|0)==1)yF(c[n>>2]|0,112336)|0;if((c[(c[o>>2]|0)+144>>2]|0)==2)yF(c[n>>2]|0,112345)|0;yF(c[n>>2]|0,112448)|0;Ae(c[n>>2]|0);yF(c[n>>2]|0,193472)|0;i=p;return}function ve(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+64|0;if((i|0)>=(j|0))ba();g=l;h=l+52|0;f=l+48|0;e=l+44|0;k=l+40|0;c[h>>2]=a;c[f>>2]=b;c[e>>2]=d;c[k>>2]=c[(c[h>>2]|0)+16>>2];if(!(c[(c[k>>2]|0)+144>>2]|0)){i=l;return}ye(c[h>>2]|0);yF(c[h>>2]|0,112314)|0;GF(c[h>>2]|0,c[f>>2]|0,c[e>>2]|0);yF(c[h>>2]|0,112328)|0;a=c[h>>2]|0;b=g;e=(c[k>>2]|0)+16|0;f=b+40|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));ze(a,g);if((c[(c[k>>2]|0)+144>>2]|0)==1)yF(c[h>>2]|0,112336)|0;if((c[(c[k>>2]|0)+144>>2]|0)==2)yF(c[h>>2]|0,112345)|0;Ae(c[h>>2]|0);yF(c[h>>2]|0,193472)|0;i=l;return}function we(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;yF(c[e>>2]|0,112311)|0;b=c[e>>2]|0;yF(b,xe(c[f>>2]|0)|0)|0;yF(c[e>>2]|0,193472)|0;i=d;return}function xe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[d>>2]|0}function ye(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;b=c[d>>2]|0;if(a[(c[d>>2]|0)+144>>0]|0){yF(b,c[(c[d>>2]|0)+148>>2]|0)|0;i=e;return}else{yF(b,112436)|0;i=e;return}}function ze(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g;e=g+12|0;c[e>>2]=a;switch(c[b+32>>2]|0){case 5:{yF(c[e>>2]|0,c[b>>2]|0)|0;i=g;return}case 1:{e=c[e>>2]|0;if(!(d[b+3>>0]|0)){yF(e,134418)|0;i=g;return}else{h=d[b+1>>0]|0;a=d[b+2>>0]|0;c[f>>2]=d[b>>0];c[f+4>>2]=h;c[f+8>>2]=a;DF(e,112919,f);i=g;return}}default:db(176179,112366,51,112418)}}function Ae(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();h=k;b=k+28|0;f=k+24|0;e=k+20|0;g=k+16|0;d=k+12|0;c[b>>2]=a;c[g>>2]=c[(c[b>>2]|0)+16>>2];switch(c[(c[g>>2]|0)+12>>2]|0){case 8:{c[f>>2]=149164;c[d>>2]=1;c[e>>2]=(c[c[(c[g>>2]|0)+8>>2]>>2]|0)>>>4;break}case 10:{c[f>>2]=149164;c[d>>2]=0;c[e>>2]=(c[c[(c[g>>2]|0)+8>>2]>>2]|0)>>>4;break}case 3:case 2:case 9:{c[f>>2]=149159;c[d>>2]=1;c[e>>2]=(c[c[(c[g>>2]|0)+8>>2]>>2]|0)>>>4;break}case 7:case 6:case 11:{c[f>>2]=149159;c[d>>2]=0;c[e>>2]=(c[c[(c[g>>2]|0)+8>>2]>>2]|0)>>>4;break}case 0:{c[f>>2]=149178;c[d>>2]=1;c[e>>2]=-1;break}case 4:{c[d>>2]=0;c[f>>2]=112354;c[e>>2]=-1;break}case 1:{c[f>>2]=149178;c[d>>2]=1;c[e>>2]=(c[c[(c[g>>2]|0)+8>>2]>>2]|0)>>>4;break}case 5:{c[f>>2]=149178;c[d>>2]=0;c[e>>2]=(c[c[(c[g>>2]|0)+8>>2]>>2]|0)>>>4;break}default:db(176179,112366,108,112385)}g=c[b>>2]|0;f=c[f>>2]|0;a=c[e>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=f;c[h+8>>2]=a;DF(g,112402,h);i=k;return}function Be(b){b=b|0;var e=0,f=0,g=0,h=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=i;i=i+64|0;if((i|0)>=(j|0))ba();s=v;e=v+40|0;m=v+36|0;q=v+32|0;o=v+28|0;k=v+24|0;n=v+20|0;r=v+16|0;h=v+12|0;p=v+8|0;t=v+48|0;g=v+4|0;f=v+45|0;l=v+44|0;c[e>>2]=b;c[o>>2]=0;c[n>>2]=0;c[p>>2]=0;c[g>>2]=0;if(!(c[11946]|0)){c[11947]=64;c[11946]=rK(c[11947]|0)|0}c[m>>2]=c[11946];a:while(1){if(!(c[e>>2]|0)){u=42;break}if(!(a[c[e>>2]>>0]|0)){u=42;break}if((c[n>>2]|0)>((c[11947]|0)-8|0)){c[11947]=c[11947]<<1;c[11946]=tK(c[11946]|0,c[11947]|0)|0;c[m>>2]=(c[11946]|0)+(c[n>>2]|0)}if((a[c[e>>2]>>0]|0)==38?(Ce(c[e>>2]|0)|0)==0:0){c[q>>2]=139961;c[k>>2]=5}else u=11;do if((u|0)==11){u=0;if((a[c[e>>2]>>0]|0)==60){c[q>>2]=139967;c[k>>2]=4;break}if((a[c[e>>2]>>0]|0)==62){c[q>>2]=139972;c[k>>2]=4;break}if((a[c[e>>2]>>0]|0)==45){c[q>>2]=139977;c[k>>2]=5;break}if(((c[o>>2]|0)!=0?(a[c[e>>2]>>0]|0)==32:0)?(a[c[o>>2]>>0]|0)==32:0){c[q>>2]=139983;c[k>>2]=6;break}if((a[c[e>>2]>>0]|0)==34){c[q>>2]=139990;c[k>>2]=6;break}if((a[c[e>>2]>>0]|0)==39){c[q>>2]=139997;c[k>>2]=5;break}b=c[e>>2]|0;if((d[c[e>>2]>>0]|0)<=127){c[q>>2]=b;c[k>>2]=1;break}a[f>>0]=a[b>>0]|0;c[h>>2]=0;a[l>>0]=127;while(1){b=c[h>>2]|0;if((d[l>>0]|0)>=(d[f>>0]|0))break;c[h>>2]=b+1;a[f>>0]=d[f>>0]&d[l>>0];a[l>>0]=d[l>>0]>>1}if((b|0)>1){c[g>>2]=d[f>>0];c[p>>2]=(c[h>>2]|0)-1}else{c[g>>2]=c[g>>2]<<6;c[g>>2]=(c[g>>2]|0)+(d[f>>0]|0);c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>0){c[e>>2]=(c[e>>2]|0)+1;continue a}a[t+15>>0]=59;c[q>>2]=t+14;c[k>>2]=3;do{c[r>>2]=((c[g>>2]|0)>>>0)%10|0;w=48+(c[r>>2]|0)&255;b=c[q>>2]|0;c[q>>2]=b+-1;a[b>>0]=w;c[g>>2]=((c[g>>2]|0)>>>0)/10|0;c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>12){u=35;break a}}while((c[g>>2]|0)>>>0>0);w=c[q>>2]|0;c[q>>2]=w+-1;a[w>>0]=35;a[c[q>>2]>>0]=38}while(0);while(1){w=c[k>>2]|0;c[k>>2]=w+-1;if(!w)break;b=c[q>>2]|0;c[q>>2]=b+1;b=a[b>>0]|0;w=c[m>>2]|0;c[m>>2]=w+1;a[w>>0]=b;c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=c[e>>2];c[e>>2]=(c[e>>2]|0)+1}if((u|0)==35){p3(c[24742]|0,112610,s)|0;Qb(1)}else if((u|0)==42){a[c[m>>2]>>0]=0;i=v;return c[11946]|0}return 0}function Ce(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+4|0;e=g;c[e>>2]=b;c[e>>2]=(c[e>>2]|0)+1;a:do if((a[c[e>>2]>>0]|0)==35){c[e>>2]=(c[e>>2]|0)+1;if((a[c[e>>2]>>0]|0)!=120?(a[c[e>>2]>>0]|0)!=88:0)while(1){if((a[c[e>>2]>>0]|0)<48)break a;if((a[c[e>>2]>>0]|0)>57)break a;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=(c[e>>2]|0)+1;while(1){if(!((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=57:0))f=7;do if((f|0)==7){f=0;if((a[c[e>>2]>>0]|0)>=97?(a[c[e>>2]>>0]|0)<=102:0)break;if((a[c[e>>2]>>0]|0)<65)break a;if((a[c[e>>2]>>0]|0)>70)break a}while(0);c[e>>2]=(c[e>>2]|0)+1}}else while(1){if(!((a[c[e>>2]>>0]|0)>=97?(a[c[e>>2]>>0]|0)<=122:0)){if((a[c[e>>2]>>0]|0)<65)break a;if((a[c[e>>2]>>0]|0)>90)break a}c[e>>2]=(c[e>>2]|0)+1}while(0);if((a[c[e>>2]>>0]|0)==59){c[d>>2]=1;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function De(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,115358)|0;yF(c[d>>2]|0,115366)|0;a=c[d>>2]|0;yF(a,Be(c[c[c[(c[d>>2]|0)+12>>2]>>2]>>2]|0)|0)|0;yF(c[d>>2]|0,115386)|0;a=c[d>>2]|0;yF(a,Be(c[(c[c[(c[d>>2]|0)+12>>2]>>2]|0)+4>>2]|0)|0)|0;yF(c[d>>2]|0,115396)|0;a=c[d>>2]|0;yF(a,Be(c[(c[c[(c[d>>2]|0)+12>>2]>>2]|0)+8>>2]|0)|0)|0;yF(c[d>>2]|0,115399)|0;i=b;return}function Ee(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m+24|0;k=m+16|0;g=m+8|0;f=m;d=m+40|0;n=m+36|0;e=m+32|0;c[d>>2]=b;c[n>>2]=c[(c[d>>2]|0)+16>>2];c[11944]=~~(+h[(c[d>>2]|0)+208+16+8>>3]-+h[(c[d>>2]|0)+208+8>>3]);c[11945]=~~(+h[(c[d>>2]|0)+208+16>>3]-+h[(c[d>>2]|0)+208>>3]);yF(c[d>>2]|0,114045)|0;yF(c[d>>2]|0,114052)|0;c[e>>2]=MB(c[(c[n>>2]|0)+8>>2]|0)|0;if(a[c[e>>2]>>0]|0){yF(c[d>>2]|0,114121)|0;n=c[d>>2]|0;yF(n,Be(c[e>>2]|0)|0)|0;yF(c[d>>2]|0,114129)|0}n=c[d>>2]|0;c[f>>2]=_(c[(c[d>>2]|0)+164>>2]|0,c[(c[d>>2]|0)+164+4>>2]|0)|0;DF(n,114138,f);yF(c[d>>2]|0,114158)|0;yF(c[d>>2]|0,114193)|0;yF(c[d>>2]|0,114221)|0;yF(c[d>>2]|0,114227)|0;yF(c[d>>2]|0,114270)|0;yF(c[d>>2]|0,114311)|0;yF(c[d>>2]|0,114330)|0;yF(c[d>>2]|0,114347)|0;yF(c[d>>2]|0,114395)|0;yF(c[d>>2]|0,114448)|0;yF(c[d>>2]|0,114524)|0;yF(c[d>>2]|0,114600)|0;yF(c[d>>2]|0,114609)|0;yF(c[d>>2]|0,114632)|0;yF(c[d>>2]|0,114659)|0;yF(c[d>>2]|0,114712)|0;yF(c[d>>2]|0,114734)|0;yF(c[d>>2]|0,114779)|0;yF(c[d>>2]|0,114791)|0;yF(c[d>>2]|0,114801)|0;yF(c[d>>2]|0,114827)|0;yF(c[d>>2]|0,114712)|0;yF(c[d>>2]|0,114879)|0;yF(c[d>>2]|0,114779)|0;yF(c[d>>2]|0,114791)|0;yF(c[d>>2]|0,114923)|0;yF(c[d>>2]|0,114632)|0;yF(c[d>>2]|0,114659)|0;yF(c[d>>2]|0,114712)|0;yF(c[d>>2]|0,114879)|0;yF(c[d>>2]|0,114779)|0;yF(c[d>>2]|0,114791)|0;yF(c[d>>2]|0,114801)|0;yF(c[d>>2]|0,114827)|0;yF(c[d>>2]|0,114712)|0;yF(c[d>>2]|0,114734)|0;yF(c[d>>2]|0,114779)|0;yF(c[d>>2]|0,114791)|0;yF(c[d>>2]|0,114936)|0;yF(c[d>>2]|0,114944)|0;yF(c[d>>2]|0,114950)|0;yF(c[d>>2]|0,114964)|0;yF(c[d>>2]|0,114972)|0;yF(c[d>>2]|0,115005)|0;n=c[d>>2]|0;f=10+(c[11944]|0)|0;c[g>>2]=c[11945];c[g+4>>2]=f;DF(n,115082,g);yF(c[d>>2]|0,115112)|0;yF(c[d>>2]|0,115121)|0;yF(c[d>>2]|0,115179)|0;yF(c[d>>2]|0,115189)|0;yF(c[d>>2]|0,115254)|0;n=c[d>>2]|0;g=c[11944]|0;c[k>>2]=c[11945];c[k+4>>2]=g;DF(n,115291,k);n=c[d>>2]|0;k=c[11944]|0;c[l>>2]=c[11945];c[l+4>>2]=k;DF(n,115319,l);i=m;return}function Fe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,113596)|0;yF(c[d>>2]|0,113608)|0;yF(c[d>>2]|0,113616)|0;yF(c[d>>2]|0,113679)|0;yF(c[d>>2]|0,113608)|0;yF(c[d>>2]|0,113724)|0;yF(c[d>>2]|0,113773)|0;yF(c[d>>2]|0,113827)|0;yF(c[d>>2]|0,113608)|0;yF(c[d>>2]|0,113927)|0;yF(c[d>>2]|0,113976)|0;yF(c[d>>2]|0,113608)|0;yF(c[d>>2]|0,114028)|0;i=b;return}function Ge(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();p=q+16|0;o=q+8|0;n=q;h=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q+20>>2]=g;yF(c[h>>2]|0,113554)|0;if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0){e=c[h>>2]|0;c[n>>2]=Be(c[k>>2]|0)|0;DF(e,113557,n)}if((c[l>>2]|0)!=0?(a[c[l>>2]>>0]|0)!=0:0){n=c[h>>2]|0;c[o>>2]=Be(c[l>>2]|0)|0;DF(n,113568,o)}if(!(c[m>>2]|0)){p=c[h>>2]|0;yF(p,113593)|0;i=q;return}if(!(a[c[m>>2]>>0]|0)){p=c[h>>2]|0;yF(p,113593)|0;i=q;return}o=c[h>>2]|0;c[p>>2]=Be(c[m>>2]|0)|0;DF(o,113580,p);p=c[h>>2]|0;yF(p,113593)|0;i=q;return}function He(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,113548)|0;i=b;return}function Ie(b,e,f){b=b|0;e=e|0;f=f|0;var g=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;B=i;i=i+160|0;if((i|0)>=(j|0))ba();z=B+128|0;y=B+120|0;x=B+112|0;w=B+104|0;v=B+96|0;u=B+88|0;t=B+80|0;A=B+72|0;o=B+56|0;n=B+40|0;m=B+32|0;p=B+152|0;q=B+148|0;k=B+16|0;l=B;r=B+144|0;s=B+140|0;c[p>>2]=b;c[q>>2]=f;c[r>>2]=c[(c[p>>2]|0)+16>>2];switch(a[(c[q>>2]|0)+48>>0]|0){case 108:{h[k>>3]=+h[e>>3];break}case 114:{h[k>>3]=+h[e>>3]-+h[(c[q>>2]|0)+32>>3];break}default:h[k>>3]=+h[e>>3]-+h[(c[q>>2]|0)+32>>3]/2.0}h[l>>3]=+h[k>>3]+ +h[(c[q>>2]|0)+32>>3];if(+h[(c[q>>2]|0)+32+8>>3]<+h[(c[(c[q>>2]|0)+4>>2]|0)+16>>3])h[(c[q>>2]|0)+32+8>>3]=+h[(c[(c[q>>2]|0)+4>>2]|0)+16>>3]*1.1+1.0;h[k>>3]=+h[k>>3]-8.0;h[l>>3]=+h[l>>3]+8.0;h[l+8>>3]=+((c[11944]|0)>>>0)-+h[e+8>>3];h[k+8>>3]=+h[l+8>>3]-+h[(c[q>>2]|0)+32+8>>3];g=+h[(c[(c[q>>2]|0)+4>>2]|0)+16>>3]/5.0;if(+h[(c[(c[q>>2]|0)+4>>2]|0)+16>>3]<12.0){f=k+8|0;h[f>>3]=+h[f>>3]+(1.4+g);f=l+8|0;h[f>>3]=+h[f>>3]+(+h[(c[(c[q>>2]|0)+4>>2]|0)+16>>3]/5.0+1.4)}else{f=k+8|0;h[f>>3]=+h[f>>3]+(2.0+g);f=l+8|0;h[f>>3]=+h[f>>3]+(+h[(c[(c[q>>2]|0)+4>>2]|0)+16>>3]/5.0+2.0)}DF(c[p>>2]|0,113210,m);b=c[p>>2]|0;g=+h[k+8>>3];h[n>>3]=+h[k>>3];h[n+8>>3]=g;DF(b,113147,n);b=c[p>>2]|0;g=+h[l+8>>3]-+h[k+8>>3];h[o>>3]=+h[l>>3]-+h[k>>3];h[o+8>>3]=g;DF(b,113171,o);yF(c[p>>2]|0,113245)|0;yF(c[p>>2]|0,113279)|0;c[s>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+8>>2];b=c[p>>2]|0;if(c[s>>2]|0){c[A>>2]=c[(c[s>>2]|0)+4>>2];DF(b,113369,A);if(c[(c[s>>2]|0)+8>>2]|0){A=c[p>>2]|0;c[t>>2]=c[(c[s>>2]|0)+8>>2];DF(A,113388,t)}if(c[(c[s>>2]|0)+12>>2]|0){A=c[p>>2]|0;c[u>>2]=c[(c[s>>2]|0)+12>>2];DF(A,113405,u)}if(c[(c[s>>2]|0)+16>>2]|0){A=c[p>>2]|0;c[v>>2]=c[(c[s>>2]|0)+16>>2];DF(A,113423,v)}}else{c[w>>2]=c[c[(c[q>>2]|0)+4>>2]>>2];DF(b,113369,w)}A=c[p>>2]|0;h[x>>3]=+h[(c[(c[q>>2]|0)+4>>2]|0)+16>>3];DF(A,113439,x);switch(c[(c[r>>2]|0)+16+32>>2]|0){case 5:{if(!(Y3(c[(c[r>>2]|0)+16>>2]|0,174997)|0)){z=c[p>>2]|0;yF(z,113503)|0;z=c[p>>2]|0;A=c[q>>2]|0;A=c[A>>2]|0;A=Be(A)|0;yF(z,A)|0;A=c[p>>2]|0;yF(A,113514)|0;A=c[p>>2]|0;yF(A,113537)|0;i=B;return}z=c[p>>2]|0;c[y>>2]=c[(c[r>>2]|0)+16>>2];DF(z,113459,y);z=c[p>>2]|0;yF(z,113503)|0;z=c[p>>2]|0;A=c[q>>2]|0;A=c[A>>2]|0;A=Be(A)|0;yF(z,A)|0;A=c[p>>2]|0;yF(A,113514)|0;A=c[p>>2]|0;yF(A,113537)|0;i=B;return}case 1:{A=c[p>>2]|0;x=d[(c[r>>2]|0)+16+1>>0]|0;y=d[(c[r>>2]|0)+16+2>>0]|0;c[z>>2]=d[(c[r>>2]|0)+16>>0];c[z+4>>2]=x;c[z+8>>2]=y;DF(A,113469,z);z=c[p>>2]|0;yF(z,113503)|0;z=c[p>>2]|0;A=c[q>>2]|0;A=c[A>>2]|0;A=Be(A)|0;yF(z,A)|0;A=c[p>>2]|0;yF(A,113514)|0;A=c[p>>2]|0;yF(A,113537)|0;i=B;return}default:db(176179,112933,439,113490)}}function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+96|0;if((i|0)>=(j|0))ba();k=e+64|0;o=e+48|0;f=e+88|0;r=e+84|0;g=e+80|0;m=e+40|0;n=e+32|0;p=e+24|0;q=e+8|0;c[f>>2]=a;c[r>>2]=b;c[g>>2]=d;yF(c[f>>2]|0,113111)|0;h[m>>3]=+h[(c[r>>2]|0)+16>>3]-+h[c[r>>2]>>3];h[n>>3]=+h[(c[r>>2]|0)+16+8>>3]-+h[(c[r>>2]|0)+8>>3];h[q>>3]=+((c[11944]|0)>>>0)-(+h[(c[r>>2]|0)+8>>3]+ +h[n>>3]);h[e>>3]=+h[q>>3]+ +h[n>>3]+ +h[n>>3];h[p>>3]=+h[c[r>>2]>>3]-+h[m>>3];h[e+16>>3]=+h[(c[r>>2]|0)+16>>3];a=c[f>>2]|0;l=+h[q>>3];h[o>>3]=+h[p>>3];h[o+8>>3]=l;DF(a,113147,o);a=c[f>>2]|0;l=+h[n>>3]*2.0;h[k>>3]=+h[m>>3]*2.0;h[k+8>>3]=l;DF(a,113171,k);Qe(c[f>>2]|0,c[g>>2]|0);yF(c[f>>2]|0,112993)|0;Oe(c[f>>2]|0,c[g>>2]|0);yF(c[f>>2]|0,113199)|0;i=e;return}function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;p=i;i=i+64|0;if((i|0)>=(j|0))ba();o=p+24|0;r=p+16|0;f=p+56|0;g=p+52|0;k=p+48|0;q=p+44|0;l=p+40|0;m=p+8|0;n=p;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[q>>2]=e;yF(c[f>>2]|0,112716)|0;d=c[f>>2]|0;a=c[11944]|0;c[r>>2]=c[11945];c[r+4>>2]=a;DF(d,112969,r);Qe(c[f>>2]|0,c[q>>2]|0);yF(c[f>>2]|0,112993)|0;Oe(c[f>>2]|0,c[q>>2]|0);yF(c[f>>2]|0,112996)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;h[m>>3]=+h[(c[g>>2]|0)+(c[l>>2]<<4)>>3];h[n>>3]=+((c[11944]|0)>>>0)-+h[(c[g>>2]|0)+(c[l>>2]<<4)+8>>3];if(!(c[l>>2]|0))yF(c[f>>2]|0,113023)|0;r=c[f>>2]|0;s=+h[n>>3];h[o>>3]=+h[m>>3];h[o+8>>3]=s;DF(r,113089,o);if(!(c[l>>2]|0))yF(c[f>>2]|0,113100)|0;if((c[l>>2]|0)==((c[k>>2]|0)-1|0))yF(c[f>>2]|0,113103)|0;c[l>>2]=(c[l>>2]|0)+1}yF(c[f>>2]|0,112832)|0;i=p;return}function Le(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,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();o=h;k=h+28|0;m=h+24|0;l=h+20|0;n=h+8|0;c[k>>2]=a;c[m>>2]=b;c[l>>2]=d;c[h+16>>2]=e;c[h+12>>2]=f;c[n>>2]=g;yF(c[k>>2]|0,112716)|0;d=c[k>>2]|0;a=c[11944]|0;c[o>>2]=c[11945];c[o+4>>2]=a;DF(d,112969,o);Qe(c[k>>2]|0,c[n>>2]|0);yF(c[k>>2]|0,112993)|0;Oe(c[k>>2]|0,c[n>>2]|0);yF(c[k>>2]|0,112996)|0;Re(c[k>>2]|0,c[m>>2]|0,c[l>>2]|0);yF(c[k>>2]|0,113009)|0;i=h;return}function Me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m+8|0;n=m;e=m+36|0;f=m+32|0;g=m+28|0;k=m+24|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;yF(c[e>>2]|0,112716)|0;d=c[e>>2]|0;a=c[11944]|0;c[n>>2]=c[11945];c[n+4>>2]=a;DF(d,112753,n);yF(c[e>>2]|0,112793)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;if(!(c[k>>2]|0))yF(c[e>>2]|0,112805)|0;n=c[e>>2]|0;o=+((c[11944]|0)>>>0)-+h[(c[f>>2]|0)+(c[k>>2]<<4)+8>>3];h[l>>3]=+h[(c[f>>2]|0)+(c[k>>2]<<4)>>3];h[l+8>>3]=o;DF(n,112809,l);if(!(c[k>>2]|0))yF(c[e>>2]|0,112820)|0;if((c[k>>2]|0)==((c[g>>2]|0)-1|0))yF(c[e>>2]|0,112824)|0;c[k>>2]=(c[k>>2]|0)+1}yF(c[e>>2]|0,112828)|0;Oe(c[e>>2]|0,0);yF(c[e>>2]|0,112832)|0;i=m;return}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;yF(c[e>>2]|0,112698)|0;b=c[e>>2]|0;yF(b,Be(c[f>>2]|0)|0)|0;yF(c[e>>2]|0,112710)|0;i=d;return}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+64|0;if((i|0)>=(j|0))ba();f=m+8|0;l=m;g=m+56|0;k=m+48|0;c[g>>2]=a;c[m+52>>2]=b;c[k>>2]=c[(c[g>>2]|0)+16>>2];yF(c[g>>2]|0,112844)|0;a=c[g>>2]|0;b=f;d=(c[k>>2]|0)+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Pe(a,f);if(+h[(c[k>>2]|0)+152>>3]!=1.0){f=c[g>>2]|0;h[l>>3]=+h[(c[k>>2]|0)+152>>3];DF(f,112862,l)}if((c[(c[k>>2]|0)+144>>2]|0)==1){yF(c[g>>2]|0,112879)|0;l=c[g>>2]|0;yF(l,112914)|0;i=m;return}if((c[(c[k>>2]|0)+144>>2]|0)!=2){l=c[g>>2]|0;yF(l,112914)|0;i=m;return}yF(c[g>>2]|0,112897)|0;l=c[g>>2]|0;yF(l,112914)|0;i=m;return}function Pe(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g;e=g+12|0;c[e>>2]=a;switch(c[b+32>>2]|0){case 5:{yF(c[e>>2]|0,c[b>>2]|0)|0;i=g;return}case 1:{e=c[e>>2]|0;if(!(d[b+3>>0]|0)){yF(e,173392)|0;i=g;return}else{h=d[b+1>>0]|0;a=d[b+2>>0]|0;c[f>>2]=d[b>>0];c[f+4>>2]=h;c[f+8>>2]=a;DF(e,112919,f);i=g;return}}default:db(176179,112933,95,112953)}}function Qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+64|0;if((i|0)>=(j|0))ba();g=k;h=k+48|0;e=k+44|0;f=k+40|0;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[h>>2]|0)+16>>2];b=c[h>>2]|0;if(c[e>>2]|0){yF(b,113042)|0;d=c[h>>2]|0;e=g;a=(c[f>>2]|0)+56|0;b=e+40|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(b|0));Pe(d,g);yF(c[h>>2]|0,113069)|0;i=k;return}else{yF(b,113072)|0;i=k;return}}function Re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();m=n;e=n+40|0;f=n+36|0;g=n+32|0;l=n+28|0;k=n+24|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=113023;c[l>>2]=0;while(1){b=c[e>>2]|0;if((c[l>>2]|0)>=(c[g>>2]|0))break;p=+h[(c[f>>2]|0)+(c[l>>2]<<4)>>3];o=+((c[11944]|0)>>>0)-+h[(c[f>>2]|0)+(c[l>>2]<<4)+8>>3];c[m>>2]=c[k>>2];h[m+8>>3]=p;h[m+16>>3]=o;DF(b,113026,m);if(!(c[l>>2]|0))c[k>>2]=113039;else c[k>>2]=178598;c[l>>2]=(c[l>>2]|0)+1}yF(b,136409)|0;i=n;return}function Se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+1072|0;if((i|0)>=(j|0))ba();m=n;e=n+36|0;f=n+32|0;h=n+40|0;k=n+28|0;l=n+24|0;g=n+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=J3(h,1024,c[f>>2]|0,g)|0;if((c[k>>2]|0)>>>0<0){d=c[(c[(c[e>>2]|0)+12>>2]|0)+16>>2]|0;c[m>>2]=d2(c[(c2()|0)>>2]|0)|0;Xb[d&31](115406,m);c[l>>2]=d4(178598)|0;d=c[l>>2]|0;i=n;return d|0}if((c[k>>2]|0)>>>0>=1024){c[l>>2]=A1((c[k>>2]|0)+1|0)|0;c[g>>2]=d;c[k>>2]=K3(c[l>>2]|0,c[f>>2]|0,g)|0;d=c[l>>2]|0;i=n;return d|0}else{c[l>>2]=d4(h)|0;d=c[l>>2]|0;i=n;return d|0}return 0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+32|0;if((i|0)>=(j|0))ba();d=b+8|0;f=b;e=b+16|0;c[e>>2]=a;yF(c[e>>2]|0,118048)|0;yF(c[e>>2]|0,118063)|0;yF(c[e>>2]|0,118102)|0;yF(c[e>>2]|0,118151)|0;a=c[e>>2]|0;c[f>>2]=174997;c[f+4>>2]=118239;DF(a,118220,f);a=c[e>>2]|0;c[d>>2]=174881;c[d+4>>2]=118245;DF(a,118220,d);i=b;return}function Ue(a){a=a|0;var b=0,d=0,e=0,f=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0;b=i;i=i+96|0;if((i|0)>=(j|0))ba();e=b+8|0;t=b;d=b+84|0;o=b+80|0;r=b+76|0;s=b+72|0;q=b+68|0;p=b+64|0;c[d>>2]=a;a=c[d>>2]|0;c[t>>2]=MB(c[(c[(c[d>>2]|0)+16>>2]|0)+8>>2]|0)|0;DF(a,117001,t);g[o>>2]=+h[(c[d>>2]|0)+368>>3]/2.0*+h[(c[d>>2]|0)+488>>3];g[r>>2]=+h[(c[d>>2]|0)+368+8>>3]/2.0*+h[(c[d>>2]|0)+488+8>>3];g[s>>2]=-500.0;g[q>>2]=+V(+(+g[o>>2]/+(N(~~+g[s>>2]|0)|0)))*180.0/3.141592653589793*2.0;g[p>>2]=+V(+(+g[r>>2]/+(N(~~+g[s>>2]|0)|0)))*180.0/3.141592653589793*2.0;a=c[d>>2]|0;n=+g[r>>2];m=+g[s>>2];l=+g[o>>2];k=+g[r>>2];f=(+g[q>>2]>+g[p>>2]?+g[q>>2]:+g[p>>2])*1.2;h[e>>3]=+g[o>>2];h[e+8>>3]=n;h[e+16>>3]=m;h[e+24>>3]=l;h[e+32>>3]=k;h[e+40>>3]=0.0;h[e+48>>3]=f;DF(a,117023,e);yF(c[d>>2]|0,117170)|0;yF(c[d>>2]|0,118e3)|0;i=b;return}function Ve(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,116984)|0;i=b;return}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();k=f;n=f+24|0;l=f+20|0;h=f+16|0;m=f+12|0;c[n>>2]=a;c[l>>2]=b;c[h>>2]=d;c[m>>2]=e;e=c[n>>2]|0;d=c[h>>2]|0;b=c[m>>2]|0;c[k>>2]=c[l>>2];c[k+4>>2]=d;c[k+8>>2]=b;DF(e,116954,k);g[12136]=+(_(c[h>>2]|0,-10)|0);i=f;return}function Xe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,116937)|0;i=b;return}function Ye(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,116919)|0;i=b;return}function Ze(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,116903)|0;i=b;return}function _e(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,116882)|0;g[12136]=+g[12136]-2.0;i=b;return}function $e(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,116863)|0;i=b;return}function af(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;e=b+4|0;c[e>>2]=a;a=c[e>>2]|0;c[d>>2]=MB(c[(c[(c[e>>2]|0)+16>>2]|0)+8>>2]|0)|0;DF(a,116841,d);i=b;return}function bf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,116825)|0;i=b;return}function cf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,116807)|0;g[12136]=+g[12136]-5.0;i=b;return}function df(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;yF(c[d>>2]|0,116791)|0;g[12136]=+g[12136]+5.0;i=b;return}function ef(b,d,e){b=b|0;d=d|0;e=e|0;var f=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.0,z=0.0;w=i;i=i+192|0;if((i|0)>=(j|0))ba();n=w+120|0;v=w+72|0;k=w+48|0;f=w+40|0;x=w+16|0;o=w+184|0;p=w+180|0;l=w+8|0;m=w;r=w+176|0;t=w+172|0;s=w+168|0;u=w+164|0;q=w+160|0;c[o>>2]=b;c[p>>2]=e;b=c[o>>2]|0;y=+h[(c[(c[p>>2]|0)+4>>2]|0)+16>>3];e=c[c[(c[p>>2]|0)+4>>2]>>2]|0;c[x>>2]=c[c[p>>2]>>2];h[x+8>>3]=y;c[x+16>>2]=e;DF(b,116637,x);g[12137]=+g[12136]-9.0;switch(a[(c[p>>2]|0)+48>>0]|0){case 108:break;case 114:{h[d>>3]=+h[d>>3]-+h[(c[p>>2]|0)+32>>3];break}default:h[d>>3]=+h[d>>3]-+h[(c[p>>2]|0)+32>>3]/2.0}h[l>>3]=(+h[d>>3]+ +h[(c[o>>2]|0)+504>>3])*+h[(c[o>>2]|0)+488>>3];h[m>>3]=(+h[d+8>>3]+ +h[(c[o>>2]|0)+504+8>>3])*+h[(c[o>>2]|0)+488+8>>3];e=c[o>>2]|0;h[f>>3]=+h[(c[(c[p>>2]|0)+4>>2]|0)+16>>3]*+h[(c[o>>2]|0)+488>>3];c[t>>2]=Se(e,116689,f)|0;f=c[o>>2]|0;z=+(c[(c[o>>2]|0)+360>>2]|0);h[k>>3]=0.0;h[k+8>>3]=0.0;h[k+16>>3]=z;c[s>>2]=Se(f,115928,k)|0;f=c[o>>2]|0;z=+h[m>>3];y=+g[12137];h[n>>3]=+h[l>>3];h[n+8>>3]=z;h[n+16>>3]=y;c[u>>2]=Se(f,115960,n)|0;f=c[o>>2]|0;e=n;b=(c[(c[o>>2]|0)+16>>2]|0)+16|0;d=e+40|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(d|0));c[q>>2]=lf(f,n,0.0)|0;x=c[o>>2]|0;d=c[c[p>>2]>>2]|0;k=c[t>>2]|0;l=c[s>>2]|0;m=c[u>>2]|0;n=c[q>>2]|0;c[v>>2]=c[c[(c[p>>2]|0)+4>>2]>>2];h[v+8>>3]=.25;h[v+16>>3]=0.0;c[v+24>>2]=d;c[v+28>>2]=116776;c[v+32>>2]=k;c[v+36>>2]=l;c[v+40>>2]=m;c[v+44>>2]=n;c[r>>2]=Se(x,116701,v)|0;yF(c[o>>2]|0,c[r>>2]|0)|0;B1(c[r>>2]|0);B1(c[s>>2]|0);B1(c[q>>2]|0);B1(c[u>>2]|0);B1(c[t>>2]|0);i=w;return}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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.0,E=0.0,F=0;C=i;i=i+288|0;if((i|0)>=(j|0))ba();u=C+192|0;B=C+152|0;s=C+128|0;r=C+104|0;q=C+80|0;p=C+48|0;e=C+24|0;f=C;v=C+280|0;F=C+276|0;k=C+272|0;x=C+268|0;z=C+264|0;y=C+260|0;A=C+256|0;w=C+252|0;l=C+248|0;m=C+244|0;n=C+240|0;o=C+236|0;t=C+232|0;c[v>>2]=a;c[F>>2]=b;c[k>>2]=d;yF(c[v>>2]|0,116514)|0;g[12137]=+g[12136]-6.0;g[l>>2]=(+h[c[F>>2]>>3]+ +h[(c[v>>2]|0)+504>>3])*+h[(c[v>>2]|0)+488>>3];g[m>>2]=(+h[(c[F>>2]|0)+8>>3]+ +h[(c[v>>2]|0)+504+8>>3])*+h[(c[v>>2]|0)+488+8>>3];g[n>>2]=(+h[(c[F>>2]|0)+16>>3]-+h[c[F>>2]>>3])*+h[(c[v>>2]|0)+488>>3];g[o>>2]=(+h[(c[F>>2]|0)+16+8>>3]-+h[(c[F>>2]|0)+8>>3])*+h[(c[v>>2]|0)+488+8>>3];g[t>>2]=+h[(c[(c[v>>2]|0)+16>>2]|0)+152>>3]/(+g[n>>2]+ +g[o>>2])/2.0*5.0;a=c[v>>2]|0;D=(+g[n>>2]+ +g[o>>2])/4.0;E=+g[o>>2];h[f>>3]=+g[n>>2];h[f+8>>3]=D;h[f+16>>3]=E;c[z>>2]=Se(a,115896,f)|0;a=c[v>>2]|0;E=+(c[(c[v>>2]|0)+360>>2]|0);h[e>>3]=90.0;h[e+8>>3]=0.0;h[e+16>>3]=E;c[y>>2]=Se(a,115928,e)|0;a=c[v>>2]|0;E=+g[m>>2];D=+g[12137];h[u>>3]=+g[l>>2];h[u+8>>3]=E;h[u+16>>3]=D;c[A>>2]=Se(a,115960,u)|0;a=c[v>>2]|0;d=u;e=(c[(c[v>>2]|0)+16>>2]|0)+16|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));c[w>>2]=lf(a,u,0.0)|0;F=c[v>>2]|0;E=+g[t>>2];a=c[z>>2]|0;e=c[y>>2]|0;f=c[A>>2]|0;t=c[w>>2]|0;h[p>>3]=1.0;h[p+8>>3]=E;c[p+16>>2]=a;c[p+20>>2]=e;c[p+24>>2]=f;c[p+28>>2]=t;c[x>>2]=Se(F,116529,p)|0;yF(c[v>>2]|0,c[x>>2]|0)|0;B1(c[z>>2]|0);B1(c[y>>2]|0);B1(c[A>>2]|0);B1(c[w>>2]|0);B1(c[x>>2]|0);if(!(c[k>>2]|0)){i=C;return}b=c[v>>2]|0;D=+g[o>>2];h[q>>3]=+g[n>>2];h[q+8>>3]=D;h[q+16>>3]=1.0;c[z>>2]=Se(b,115896,q)|0;b=c[v>>2]|0;D=+(c[(c[v>>2]|0)+360>>2]|0);h[r>>3]=0.0;h[r+8>>3]=0.0;h[r+16>>3]=D;c[y>>2]=Se(b,115928,r)|0;b=c[v>>2]|0;D=+g[m>>2];E=+g[12137];h[s>>3]=+g[l>>2];h[s+8>>3]=D;h[s+16>>3]=E;c[A>>2]=Se(b,115960,s)|0;b=c[v>>2]|0;d=u;e=(c[(c[v>>2]|0)+16>>2]|0)+56|0;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));c[w>>2]=lf(b,u,0.0)|0;F=c[v>>2]|0;r=c[z>>2]|0;s=c[y>>2]|0;t=c[A>>2]|0;u=c[w>>2]|0;h[B>>3]=0.0;h[B+8>>3]=0.0;h[B+16>>3]=0.0;c[B+24>>2]=r;c[B+28>>2]=s;c[B+32>>2]=t;c[B+36>>2]=u;c[x>>2]=Se(F,116575,B)|0;yF(c[v>>2]|0,c[x>>2]|0)|0;B1(c[z>>2]|0);B1(c[y>>2]|0);B1(c[A>>2]|0);B1(c[w>>2]|0);B1(c[x>>2]|0);i=C;return}function gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=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.0,N=0,O=0,P=0.0;L=i;i=i+384|0;if((i|0)>=(j|0))ba();u=L+296|0;J=L+288|0;I=L+272|0;H=L+264|0;G=L+240|0;v=L+232|0;t=L+208|0;s=L+184|0;r=L+160|0;q=L+152|0;p=L+136|0;o=L+128|0;n=L+96|0;m=L+88|0;l=L+56|0;f=L+48|0;N=L+24|0;O=L;w=L+380|0;x=L+376|0;y=L+372|0;k=L+368|0;B=L+364|0;D=L+360|0;C=L+356|0;E=L+352|0;A=L+348|0;F=L+344|0;K=L+340|0;z=L+336|0;c[w>>2]=a;c[x>>2]=b;c[y>>2]=d;c[k>>2]=e;yF(c[w>>2]|0,116379)|0;g[12137]=+g[12136]-2.0;b=c[w>>2]|0;M=+h[(c[w>>2]|0)+488+8>>3];h[O>>3]=+h[(c[w>>2]|0)+488>>3];h[O+8>>3]=M;h[O+16>>3]=1.0;c[D>>2]=Se(b,115896,O)|0;b=c[w>>2]|0;M=+(c[(c[w>>2]|0)+360>>2]|0);h[N>>3]=0.0;h[N+8>>3]=0.0;h[N+16>>3]=M;c[C>>2]=Se(b,115928,N)|0;b=c[w>>2]|0;M=+g[12137]-2.0;h[u>>3]=0.0;h[u+8>>3]=0.0;h[u+16>>3]=M;c[E>>2]=Se(b,115960,u)|0;b=c[w>>2]|0;d=u;a=(c[(c[w>>2]|0)+16>>2]|0)+16|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));c[A>>2]=lf(b,u,0.0)|0;O=c[w>>2]|0;N=(c[y>>2]|0)+1|0;c[f>>2]=116023;c[f+4>>2]=N;c[B>>2]=Se(O,115992,f)|0;c[z>>2]=0;while(1){b=c[w>>2]|0;if((c[z>>2]|0)>=(c[y>>2]|0))break;P=+h[(c[x>>2]|0)+(c[z>>2]<<4)+8>>3]+ +h[(c[w>>2]|0)+504+8>>3];M=+h[(c[(c[w>>2]|0)+16>>2]|0)+152>>3];h[l>>3]=+h[(c[x>>2]|0)+(c[z>>2]<<4)>>3]+ +h[(c[w>>2]|0)+504>>3];h[l+8>>3]=P;h[l+16>>3]=0.0;h[l+24>>3]=M;c[F>>2]=Se(b,116037,l)|0;O=c[w>>2]|0;N=c[F>>2]|0;c[m>>2]=c[B>>2];c[m+4>>2]=N;c[K>>2]=Se(O,116066,m)|0;B1(c[F>>2]|0);B1(c[B>>2]|0);c[B>>2]=c[K>>2];c[z>>2]=(c[z>>2]|0)+1}M=+h[(c[x>>2]|0)+8>>3]+ +h[(c[w>>2]|0)+504+8>>3];P=+h[(c[(c[w>>2]|0)+16>>2]|0)+152>>3];h[n>>3]=+h[c[x>>2]>>3]+ +h[(c[w>>2]|0)+504>>3];h[n+8>>3]=M;h[n+16>>3]=0.0;h[n+24>>3]=P;c[F>>2]=Se(b,116037,n)|0;O=c[w>>2]|0;n=c[F>>2]|0;c[o>>2]=c[B>>2];c[o+4>>2]=n;c[K>>2]=Se(O,116066,o)|0;B1(c[F>>2]|0);B1(c[B>>2]|0);c[B>>2]=c[K>>2];O=c[w>>2]|0;n=c[C>>2]|0;o=c[E>>2]|0;N=c[A>>2]|0;c[p>>2]=c[D>>2];c[p+4>>2]=n;c[p+8>>2]=o;c[p+12>>2]=N;c[K>>2]=Se(O,116394,p)|0;O=c[w>>2]|0;N=c[K>>2]|0;c[q>>2]=c[B>>2];c[q+4>>2]=N;c[B>>2]=Se(O,116121,q)|0;B1(c[K>>2]|0);yF(c[w>>2]|0,c[B>>2]|0)|0;B1(c[D>>2]|0);B1(c[C>>2]|0);B1(c[E>>2]|0);B1(c[A>>2]|0);B1(c[B>>2]|0);if(!(c[k>>2]|0)){i=L;return}b=c[w>>2]|0;P=+h[(c[w>>2]|0)+488+8>>3];h[r>>3]=+h[(c[w>>2]|0)+488>>3];h[r+8>>3]=P;h[r+16>>3]=1.0;c[D>>2]=Se(b,115896,r)|0;b=c[w>>2]|0;P=+(c[(c[w>>2]|0)+360>>2]|0);h[s>>3]=0.0;h[s+8>>3]=0.0;h[s+16>>3]=P;c[C>>2]=Se(b,115928,s)|0;b=c[w>>2]|0;P=+g[12137]-2.0;h[t>>3]=0.0;h[t+8>>3]=0.0;h[t+16>>3]=P;c[E>>2]=Se(b,115960,t)|0;b=c[w>>2]|0;d=u;a=(c[(c[w>>2]|0)+16>>2]|0)+56|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));c[A>>2]=lf(b,u,.25)|0;O=c[w>>2]|0;c[v>>2]=c[y>>2];c[B>>2]=Se(O,116439,v)|0;c[z>>2]=0;while(1){b=c[w>>2]|0;if((c[z>>2]|0)>=(c[y>>2]|0))break;P=+h[(c[x>>2]|0)+(c[z>>2]<<4)+8>>3]+ +h[(c[w>>2]|0)+504+8>>3];h[G>>3]=+h[(c[x>>2]|0)+(c[z>>2]<<4)>>3]+ +h[(c[w>>2]|0)+504>>3];h[G+8>>3]=P;h[G+16>>3]=0.0;c[F>>2]=Se(b,116454,G)|0;O=c[w>>2]|0;N=c[F>>2]|0;c[H>>2]=c[B>>2];c[H+4>>2]=N;c[K>>2]=Se(O,116476,H)|0;B1(c[F>>2]|0);B1(c[B>>2]|0);c[B>>2]=c[K>>2];c[z>>2]=(c[z>>2]|0)+1}H=c[C>>2]|0;N=c[E>>2]|0;O=c[A>>2]|0;c[I>>2]=c[D>>2];c[I+4>>2]=H;c[I+8>>2]=N;c[I+12>>2]=O;c[K>>2]=Se(b,116486,I)|0;O=c[w>>2]|0;N=c[K>>2]|0;c[J>>2]=c[B>>2];c[J+4>>2]=N;c[B>>2]=Se(O,116121,J)|0;B1(c[K>>2]|0);yF(c[w>>2]|0,c[B>>2]|0)|0;B1(c[D>>2]|0);B1(c[C>>2]|0);B1(c[E>>2]|0);B1(c[A>>2]|0);B1(c[B>>2]|0);i=L;return}function hf(a,b,d,e,f,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|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.0,G=0,H=0,I=0.0;E=i;i=i+256|0;if((i|0)>=(j|0))ba();l=E+160|0;C=E+152|0;B=E+136|0;A=E+128|0;z=E+96|0;y=E+88|0;x=E+56|0;m=E+48|0;G=E+24|0;H=E;n=E+252|0;o=E+248|0;p=E+244|0;q=E+228|0;w=E+224|0;D=E+220|0;s=E+216|0;u=E+212|0;t=E+208|0;v=E+204|0;r=E+200|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[E+240>>2]=e;c[E+236>>2]=f;c[E+232>>2]=k;yF(c[n>>2]|0,116306)|0;g[12137]=+g[12136]-4.0;k=c[n>>2]|0;F=+h[(c[n>>2]|0)+488+8>>3];h[H>>3]=+h[(c[n>>2]|0)+488>>3];h[H+8>>3]=F;h[H+16>>3]=1.0;c[u>>2]=Se(k,115896,H)|0;k=c[n>>2]|0;F=+(c[(c[n>>2]|0)+360>>2]|0);h[G>>3]=0.0;h[G+8>>3]=0.0;h[G+16>>3]=F;c[t>>2]=Se(k,115928,G)|0;k=c[n>>2]|0;F=+g[12137]-2.0;h[l>>3]=0.0;h[l+8>>3]=0.0;h[l+16>>3]=F;c[v>>2]=Se(k,115960,l)|0;k=c[n>>2]|0;e=l;f=(c[(c[n>>2]|0)+16>>2]|0)+56|0;b=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(b|0));c[r>>2]=lf(k,l,0.0)|0;H=c[n>>2]|0;G=(c[p>>2]|0)+2|0;c[m>>2]=116320;c[m+4>>2]=G;c[s>>2]=Se(H,115992,m)|0;c[q>>2]=0;while(1){k=c[n>>2]|0;if((c[q>>2]|0)>=(c[p>>2]|0))break;I=+h[(c[o>>2]|0)+(c[q>>2]<<4)+8>>3]+ +h[(c[n>>2]|0)+504+8>>3];F=+h[(c[(c[n>>2]|0)+16>>2]|0)+152>>3];h[x>>3]=+h[(c[o>>2]|0)+(c[q>>2]<<4)>>3]+ +h[(c[n>>2]|0)+504>>3];h[x+8>>3]=I;h[x+16>>3]=0.0;h[x+24>>3]=F;c[w>>2]=Se(k,116037,x)|0;H=c[n>>2]|0;G=c[w>>2]|0;c[y>>2]=c[s>>2];c[y+4>>2]=G;c[D>>2]=Se(H,116066,y)|0;B1(c[w>>2]|0);B1(c[s>>2]|0);c[s>>2]=c[D>>2];if(!((c[q>>2]|0)!=0?(c[q>>2]|0)!=((c[p>>2]|0)-1|0):0)){H=c[n>>2]|0;F=+h[(c[o>>2]|0)+(c[q>>2]<<4)+8>>3]+ +h[(c[n>>2]|0)+504+8>>3];I=+h[(c[(c[n>>2]|0)+16>>2]|0)+152>>3];h[z>>3]=+h[(c[o>>2]|0)+(c[q>>2]<<4)>>3]+ +h[(c[n>>2]|0)+504>>3];h[z+8>>3]=F;h[z+16>>3]=0.0;h[z+24>>3]=I;c[w>>2]=Se(H,116037,z)|0;H=c[n>>2]|0;G=c[w>>2]|0;c[A>>2]=c[s>>2];c[A+4>>2]=G;c[D>>2]=Se(H,116066,A)|0;B1(c[w>>2]|0);B1(c[s>>2]|0);c[s>>2]=c[D>>2]}c[q>>2]=(c[q>>2]|0)+1}A=c[t>>2]|0;G=c[v>>2]|0;H=c[r>>2]|0;c[B>>2]=c[u>>2];c[B+4>>2]=A;c[B+8>>2]=G;c[B+12>>2]=H;c[D>>2]=Se(k,116329,B)|0;H=c[n>>2]|0;G=c[D>>2]|0;c[C>>2]=c[s>>2];c[C+4>>2]=G;c[s>>2]=Se(H,116121,C)|0;B1(c[D>>2]|0);yF(c[n>>2]|0,c[s>>2]|0)|0;B1(c[u>>2]|0);B1(c[t>>2]|0);B1(c[v>>2]|0);B1(c[r>>2]|0);B1(c[s>>2]|0);i=E;return}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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.0,C=0,D=0.0;A=i;i=i+208|0;if((i|0)>=(j|0))ba();f=A+120|0;y=A+112|0;x=A+96|0;w=A+88|0;v=A+56|0;k=A+48|0;e=A+24|0;C=A;l=A+200|0;m=A+196|0;n=A+192|0;q=A+188|0;s=A+184|0;r=A+180|0;t=A+176|0;p=A+172|0;u=A+168|0;z=A+164|0;o=A+160|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;yF(c[l>>2]|0,115880)|0;g[12137]=+g[12136]-6.0;d=c[l>>2]|0;B=+h[(c[l>>2]|0)+488+8>>3];h[C>>3]=+h[(c[l>>2]|0)+488>>3];h[C+8>>3]=B;h[C+16>>3]=1.0;c[s>>2]=Se(d,115896,C)|0;d=c[l>>2]|0;B=+(c[(c[l>>2]|0)+360>>2]|0);h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=B;c[r>>2]=Se(d,115928,e)|0;d=c[l>>2]|0;B=+g[12137];h[f>>3]=0.0;h[f+8>>3]=0.0;h[f+16>>3]=B;c[t>>2]=Se(d,115960,f)|0;d=c[l>>2]|0;a=f;b=(c[(c[l>>2]|0)+16>>2]|0)+16|0;e=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));c[p>>2]=lf(d,f,0.0)|0;f=c[l>>2]|0;e=c[n>>2]|0;c[k>>2]=116023;c[k+4>>2]=e;c[q>>2]=Se(f,115992,k)|0;c[o>>2]=0;while(1){b=c[l>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;D=+h[(c[m>>2]|0)+(c[o>>2]<<4)+8>>3]+ +h[(c[l>>2]|0)+504+8>>3];B=+h[(c[(c[l>>2]|0)+16>>2]|0)+152>>3];h[v>>3]=+h[(c[m>>2]|0)+(c[o>>2]<<4)>>3]+ +h[(c[l>>2]|0)+504>>3];h[v+8>>3]=D;h[v+16>>3]=0.0;h[v+24>>3]=B;c[u>>2]=Se(b,116037,v)|0;k=c[l>>2]|0;f=c[u>>2]|0;c[w>>2]=c[q>>2];c[w+4>>2]=f;c[z>>2]=Se(k,116066,w)|0;B1(c[u>>2]|0);B1(c[q>>2]|0);c[q>>2]=c[z>>2];c[o>>2]=(c[o>>2]|0)+1}u=c[r>>2]|0;v=c[t>>2]|0;w=c[p>>2]|0;c[x>>2]=c[s>>2];c[x+4>>2]=u;c[x+8>>2]=v;c[x+12>>2]=w;c[z>>2]=Se(b,116075,x)|0;x=c[l>>2]|0;w=c[z>>2]|0;c[y>>2]=c[q>>2];c[y+4>>2]=w;c[q>>2]=Se(x,116121,y)|0;B1(c[z>>2]|0);yF(c[l>>2]|0,c[q>>2]|0)|0;B1(c[s>>2]|0);B1(c[r>>2]|0);B1(c[t>>2]|0);B1(c[p>>2]|0);B1(c[q>>2]|0);i=A;return}function kf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;g=d+8|0;f=d+4|0;c[g>>2]=a;c[f>>2]=b;b=c[g>>2]|0;c[e>>2]=c[f>>2];DF(b,115861,e);i=d;return}function lf(a,b,e){a=a|0;b=b|0;e=+e;var f=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.0,w=0.0;u=i;i=i+128|0;if((i|0)>=(j|0))ba();s=u+104|0;m=u+96|0;k=u+64|0;r=u+48|0;t=u+32|0;l=u+16|0;f=u;n=u+120|0;o=u+116|0;q=u+112|0;p=u+108|0;c[n>>2]=a;g[o>>2]=e;a:do switch(c[b+32>>2]|0){case 5:{if(!(a4(c[b>>2]|0,173985)|0)){t=c[n>>2]|0;e=+g[o>>2];c[f>>2]=116143;h[f+8>>3]=e;c[p>>2]=Se(t,116126,f)|0;break a}if(!(a4(c[b>>2]|0,171115)|0)){t=c[n>>2]|0;e=+g[o>>2];c[l>>2]=116147;h[l+8>>3]=e;c[p>>2]=Se(t,116126,l)|0;break a}l=(a4(c[b>>2]|0,169114)|0)!=0;a=c[n>>2]|0;if(l){e=+g[o>>2];c[r>>2]=c[b>>2];h[r+8>>3]=e;c[p>>2]=Se(a,116126,r)|0;break a}else{e=+g[o>>2];c[t>>2]=116153;h[t+8>>3]=e;c[p>>2]=Se(a,116126,t)|0;break a}}case 1:{t=c[n>>2]|0;w=+(d[b+1>>0]|0|0)/256.0;v=+(d[b+2>>0]|0|0)/256.0;e=+g[o>>2];h[k>>3]=+(d[b>>0]|0|0)/256.0;h[k+8>>3]=w;h[k+16>>3]=v;h[k+24>>3]=e;c[p>>2]=Se(t,116158,k)|0;break}default:{t=c[24742]|0;o=c[b>>2]|0;c[m>>2]=c[b+32>>2];c[m+4>>2]=o;p3(t,116197,m)|0;db(176179,116247,438,116267)}}while(0);t=c[n>>2]|0;c[s>>2]=c[p>>2];c[q>>2]=Se(t,116284,s)|0;B1(c[p>>2]|0);i=u;return c[q>>2]|0}function mf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;b=i;i=i+48|0;if((i|0)>=(j|0))ba();d=b+24|0;f=b+16|0;h=b;e=b+32|0;g=b+28|0;c[e>>2]=a;c[g>>2]=c[(c[e>>2]|0)+16>>2];a=c[e>>2]|0;m=c[c[c[(c[e>>2]|0)+12>>2]>>2]>>2]|0;l=c[(c[c[(c[e>>2]|0)+12>>2]>>2]|0)+4>>2]|0;k=c[(c[c[(c[e>>2]|0)+12>>2]>>2]|0)+8>>2]|0;c[h>>2]=c[12188];c[h+4>>2]=m;c[h+8>>2]=l;c[h+12>>2]=k;DF(a,120880,h);a=c[e>>2]|0;h=c[12188]|0;g=MB(c[(c[g>>2]|0)+8>>2]|0)|0;c[f>>2]=h;c[f+4>>2]=g;DF(a,120912,f);a=c[e>>2]|0;c[d>>2]=c[12188];DF(a,120926,d);i=b;return}function nf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;e=b+4|0;c[e>>2]=a;a=c[e>>2]|0;c[d>>2]=c[12188];DF(a,120828,d);i=b;return}function of(a){a=a|0;var b=0,d=0,e=0,f=0,g=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,Q=0,R=0,S=0,T=0,U=0,V=0.0;U=i;i=i+352|0;if((i|0)>=(j|0))ba();S=U+320|0;R=U+312|0;Q=U+296|0;N=U+288|0;M=U+280|0;L=U+272|0;K=U+264|0;J=U+256|0;I=U+248|0;H=U+240|0;G=U+232|0;F=U+224|0;E=U+216|0;D=U+208|0;C=U+200|0;B=U+192|0;A=U+184|0;z=U+176|0;x=U+168|0;w=U+160|0;v=U+152|0;u=U+144|0;t=U+136|0;s=U+128|0;r=U+120|0;q=U+112|0;p=U+104|0;o=U+96|0;m=U+88|0;l=U+80|0;k=U+72|0;O=U+64|0;y=U+48|0;n=U+40|0;g=U+24|0;b=U+344|0;e=U+328|0;d=U+16|0;T=U+8|0;f=U;c[b>>2]=a;a=(c[b>>2]|0)+456|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];if(((c[12261]|0)!=0?(c[(c[b>>2]|0)+360>>2]|0)!=0:0)?(c[(c[b>>2]|0)+360>>2]|0)!=90:0){Af(129351);c[12261]=0}h[d>>3]=(+(c[e+8+4>>2]|0)-+(c[e+4>>2]|0))/72.0;h[T>>3]=(+(c[e+8>>2]|0)-+(c[e>>2]|0))/72.0;if((c[(c[b>>2]|0)+360>>2]|0)==90){h[f>>3]=+h[T>>3];h[T>>3]=+h[d>>3];h[d>>3]=+h[f>>3]}f=c[b>>2]|0;V=+h[d>>3];h[g>>3]=+h[T>>3];h[g+8>>3]=V;DF(f,118457,g);g=c[b>>2]|0;c[n>>2]=c[12188];DF(g,118472,n);if(+h[T>>3]>0.0){h[137]=+x2(+h[T>>3]);h[137]=+h[137]+(3.0-+(~~+h[137]|0))}else h[137]=3.0;h[137]=+P(10.0,+(+h[137]));n=c[b>>2]|0;V=+h[137];h[y>>3]=+h[137];h[y+8>>3]=V;DF(n,118641,y);y=c[b>>2]|0;c[O>>2]=c[12188];DF(y,118676,O);O=c[b>>2]|0;c[k>>2]=c[12188];DF(O,118734,k);O=c[b>>2]|0;c[l>>2]=c[12188];DF(O,118794,l);O=c[b>>2]|0;c[m>>2]=c[12188];DF(O,118843,m);O=c[b>>2]|0;c[o>>2]=c[12188];DF(O,118882,o);O=c[b>>2]|0;c[p>>2]=c[12188];DF(O,118933,p);O=c[b>>2]|0;c[q>>2]=c[12188];DF(O,118995,q);O=c[b>>2]|0;c[r>>2]=c[12188];DF(O,119105,r);O=c[b>>2]|0;c[s>>2]=c[12188];DF(O,119196,s);O=c[b>>2]|0;c[t>>2]=c[12188];DF(O,119250,t);O=c[b>>2]|0;c[u>>2]=c[12188];DF(O,119319,u);DF(c[b>>2]|0,119355,v);O=c[b>>2]|0;c[w>>2]=c[12188];DF(O,119480,w);O=c[b>>2]|0;c[x>>2]=c[12188];DF(O,119509,x);DF(c[b>>2]|0,119549,z);O=c[b>>2]|0;c[A>>2]=c[12188];DF(O,119642,A);O=c[b>>2]|0;c[B>>2]=c[12188];DF(O,119701,B);O=c[b>>2]|0;c[C>>2]=c[12188];DF(O,119782,C);DF(c[b>>2]|0,119852,D);O=c[b>>2]|0;c[E>>2]=c[12188];DF(O,119941,E);O=c[b>>2]|0;c[F>>2]=c[12188];DF(O,120046,F);O=c[b>>2]|0;c[G>>2]=c[12188];DF(O,120122,G);O=c[b>>2]|0;c[H>>2]=c[12188];DF(O,120161,H);O=c[b>>2]|0;c[I>>2]=c[12188];DF(O,120260,I);O=c[b>>2]|0;c[J>>2]=c[12188];DF(O,120306,J);DF(c[b>>2]|0,120395,K);O=c[b>>2]|0;c[L>>2]=c[12188];DF(O,120436,L);O=c[b>>2]|0;c[M>>2]=c[12188];DF(O,120519,M);O=c[b>>2]|0;c[N>>2]=c[12188];DF(O,120620,N);O=c[b>>2]|0;V=+h[T>>3];h[Q>>3]=+h[d>>3];h[Q+8>>3]=V;DF(O,120684,Q);DF(c[b>>2]|0,120712,R);DF(c[b>>2]|0,120720,S);i=U;return}function pf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b+4|0;c[d>>2]=a;DF(c[d>>2]|0,118450,b);i=b;return}function qf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();n=o+24|0;m=o+8|0;l=o;f=o+56|0;g=o+52|0;k=o+48|0;c[f>>2]=b;c[g>>2]=e;switch(a[(c[g>>2]|0)+48>>0]|0){case 108:break;case 114:{h[d>>3]=+h[d>>3]-+h[(c[g>>2]|0)+32>>3];break}default:h[d>>3]=+h[d>>3]-+h[(c[g>>2]|0)+32>>3]/2.0}e=d+8|0;h[e>>3]=+h[e>>3]+ +h[(c[(c[g>>2]|0)+4>>2]|0)+16>>3]/216.0;h[d>>3]=+h[d>>3]+ +h[(c[g>>2]|0)+32>>3]/144.0;do if(c[c[(c[g>>2]|0)+4>>2]>>2]|0){if((c[12189]|0)!=0?(a4(c[12189]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0)|0)==0:0)break;e=c[f>>2]|0;c[l>>2]=yf(c[c[(c[g>>2]|0)+4>>2]>>2]|0)|0;DF(e,118349,l);c[12189]=c[c[(c[g>>2]|0)+4>>2]>>2]}while(0);c[k>>2]=~~+h[(c[(c[g>>2]|0)+4>>2]|0)+16>>3];c[k>>2]=1;if((c[k>>2]|0)==(c[12190]|0)){m=c[f>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;l=zf(l)|0;q=+h[d>>3];k=d+8|0;p=+h[k>>3];c[n>>2]=l;l=n+8|0;h[l>>3]=q;l=n+16|0;h[l>>3]=p;DF(m,118378,n);i=o;return}l=c[f>>2]|0;p=+h[137];c[m>>2]=c[k>>2];h[m+8>>3]=p;DF(l,118357,m);c[12190]=c[k>>2];m=c[f>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;l=zf(l)|0;p=+h[d>>3];k=d+8|0;q=+h[k>>3];c[n>>2]=l;l=n+8|0;h[l>>3]=p;l=n+16|0;h[l>>3]=q;DF(m,118378,n);i=o;return}function rf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0;e=i;i=i+64|0;if((i|0)>=(j|0))ba();f=e;p=e+48|0;n=e+44|0;o=e+40|0;c[p>>2]=a;c[n>>2]=b;c[o>>2]=d;a=c[p>>2]|0;d=(c[o>>2]|0)!=0?118291:178598;m=(+h[(c[n>>2]|0)+16>>3]-+h[c[n>>2]>>3])*2.0/72.0;l=(+h[(c[n>>2]|0)+16+8>>3]-+h[(c[n>>2]|0)+8>>3])*2.0/72.0;k=+h[c[n>>2]>>3]/72.0;g=+h[(c[n>>2]|0)+8>>3]/72.0;c[f>>2]=1;c[f+4>>2]=d;h[f+8>>3]=m;h[f+16>>3]=l;h[f+24>>3]=k;h[f+32>>3]=g;DF(a,118297,f);i=e;return}function sf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0;f=i;i=i+96|0;if((i|0)>=(j|0))ba();l=f+80|0;k=f+76|0;g=f+72|0;n=f+68|0;m=f+64|0;c[l>>2]=a;c[k>>2]=b;c[g>>2]=d;c[n>>2]=e;c[m>>2]=c[(c[l>>2]|0)+16>>2];c[f+60>>2]=2;c[f+56>>2]=3;c[f+48>>2]=~~+h[(c[m>>2]|0)+152>>3];c[f+44>>2]=c[(c[m>>2]|0)+16>>2];c[f+40>>2]=c[(c[m>>2]|0)+56>>2];c[f+36>>2]=0;c[f+32>>2]=(c[n>>2]|0)!=0?20:-1;c[f+28>>2]=0;c[f+24>>2]=0;c[f+20>>2]=0;c[f+16>>2]=0;c[f+12>>2]=0;c[f+8>>2]=(c[g>>2]|0)+1;wf(c[m>>2]|0,f+52|0,f);xf(c[l>>2]|0,c[k>>2]|0,c[g>>2]|0,1);i=f;return}function tf(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 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.0;F=i;i=i+256|0;if((i|0)>=(j|0))ba();E=F+128|0;A=F+120|0;z=F+112|0;y=F+104|0;B=F+244|0;k=F+240|0;l=F+236|0;G=F+224|0;H=F+220|0;x=F+212|0;r=F+196|0;o=F+188|0;I=F+172|0;D=F+168|0;u=F+80|0;n=F+16|0;t=F+160|0;s=F+152|0;w=F+148|0;C=F+144|0;v=F+140|0;q=F+136|0;p=F+132|0;m=F;c[B>>2]=a;c[k>>2]=b;c[l>>2]=d;c[F+232>>2]=e;c[F+228>>2]=f;c[G>>2]=g;c[H>>2]=c[(c[B>>2]|0)+16>>2];c[F+216>>2]=3;c[F+204>>2]=~~+h[(c[H>>2]|0)+152>>3];c[F+200>>2]=c[(c[H>>2]|0)+16>>2];c[r>>2]=c[(c[H>>2]|0)+56>>2];c[F+192>>2]=0;c[F+184>>2]=0;c[F+180>>2]=0;c[F+176>>2]=0;c[I>>2]=c[l>>2];c[C>>2]=0;c[q>>2]=A1((((c[I>>2]|0)+1|0)*7|0)*20|0)|0;c[p>>2]=c[q>>2];wf(c[H>>2]|0,F+208|0,F+96|0);if(c[G>>2]|0){c[x>>2]=5;c[o>>2]=20;c[r>>2]=c[(c[(c[B>>2]|0)+16>>2]|0)+56>>2]}else{c[x>>2]=4;c[o>>2]=-1;c[r>>2]=0}h[n+48>>3]=+h[c[k>>2]>>3];h[n+48+8>>3]=+h[(c[k>>2]|0)+8>>3];c[C>>2]=(c[C>>2]|0)+1;J=+h[c[k>>2]>>3];c[t>>2]=~~(+h[c[k>>2]>>3]>=0.0?J+.5:J-.5);J=+h[(c[k>>2]|0)+8>>3];c[t+4>>2]=~~(+h[(c[k>>2]|0)+8>>3]>=0.0?J+.5:J-.5);I=c[p>>2]|0;H=c[t+4>>2]|0;c[y>>2]=c[t>>2];c[y+4>>2]=H;c[v>>2]=D3(I,118275,y)|0;c[p>>2]=(c[p>>2]|0)+(c[v>>2]|0);c[D>>2]=0;while(1){if(((c[D>>2]|0)+3|0)>=(c[l>>2]|0))break;I=n+48|0;c[n>>2]=c[I>>2];c[n+4>>2]=c[I+4>>2];c[n+8>>2]=c[I+8>>2];c[n+12>>2]=c[I+12>>2];c[s>>2]=1;while(1){if((c[s>>2]|0)>3)break;h[n+(c[s>>2]<<4)>>3]=+h[(c[k>>2]|0)+((c[D>>2]|0)+(c[s>>2]|0)<<4)>>3];h[n+(c[s>>2]<<4)+8>>3]=+h[(c[k>>2]|0)+((c[D>>2]|0)+(c[s>>2]|0)<<4)+8>>3];c[s>>2]=(c[s>>2]|0)+1}c[w>>2]=1;while(1){if((c[w>>2]|0)>6)break;c[C>>2]=(c[C>>2]|0)+1;FO(m,n,3,+(c[w>>2]|0)/6.0,0,0);c[u>>2]=c[m>>2];c[u+4>>2]=c[m+4>>2];c[u+8>>2]=c[m+8>>2];c[u+12>>2]=c[m+12>>2];J=+h[u>>3];c[t>>2]=~~(+h[u>>3]>=0.0?J+.5:J-.5);J=+h[u+8>>3];c[t+4>>2]=~~(+h[u+8>>3]>=0.0?J+.5:J-.5);I=c[p>>2]|0;H=c[t+4>>2]|0;c[z>>2]=c[t>>2];c[z+4>>2]=H;c[v>>2]=D3(I,118275,z)|0;c[p>>2]=(c[p>>2]|0)+(c[v>>2]|0);c[w>>2]=(c[w>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+3}I=c[B>>2]|0;c[A>>2]=c[q>>2];DF(I,118282,A);B1(c[q>>2]|0);c[D>>2]=0;while(1){k=c[B>>2]|0;if((c[D>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=((c[D>>2]|0)%((c[C>>2]|0)-1|0)|0|0)!=0?1:0;DF(k,118287,E);c[D>>2]=(c[D>>2]|0)+1}yF(k,193472)|0;i=F;return}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0;e=i;i=i+80|0;if((i|0)>=(j|0))ba();k=e+76|0;g=e+72|0;f=e+68|0;l=e+64|0;c[k>>2]=a;c[g>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[k>>2]|0)+16>>2];c[e+60>>2]=2;c[e+56>>2]=1;c[e+48>>2]=~~+h[(c[l>>2]|0)+152>>3];c[e+44>>2]=c[(c[l>>2]|0)+16>>2];c[e+40>>2]=0;c[e+36>>2]=0;c[e+32>>2]=0;c[e+28>>2]=0;c[e+24>>2]=0;c[e+20>>2]=0;c[e+16>>2]=0;c[e+12>>2]=0;c[e+8>>2]=c[f>>2];wf(c[l>>2]|0,e+52|0,e);xf(c[k>>2]|0,c[g>>2]|0,c[f>>2]|0,0);i=e;return}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;g=d+12|0;f=d+8|0;c[g>>2]=a;c[f>>2]=b;b=c[g>>2]|0;a=c[f>>2]|0;c[e>>2]=c[12188];c[e+4>>2]=a;DF(b,118263,e);i=d;return}function wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();k=g+8|0;e=g+4|0;f=g;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;switch(c[(c[k>>2]|0)+144>>2]|0){case 1:{c[c[e>>2]>>2]=1;h[c[f>>2]>>3]=10.0;i=g;return}case 2:{c[c[e>>2]>>2]=2;h[c[f>>2]>>3]=10.0;i=g;return}default:{c[c[e>>2]>>2]=0;h[c[f>>2]>>3]=0.0;i=g;return}}}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();p=q+8|0;o=q;f=q+40|0;g=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+16|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;r=+h[(c[g>>2]|0)+(c[m>>2]<<4)>>3];c[n>>2]=~~(+h[(c[g>>2]|0)+(c[m>>2]<<4)>>3]>=0.0?r+.5:r-.5);r=+h[(c[g>>2]|0)+(c[m>>2]<<4)+8>>3];c[n+4>>2]=~~(+h[(c[g>>2]|0)+(c[m>>2]<<4)+8>>3]>=0.0?r+.5:r-.5);d=c[f>>2]|0;a=c[n+4>>2]|0;c[o>>2]=c[n>>2];c[o+4>>2]=a;DF(d,118275,o);c[m>>2]=(c[m>>2]|0)+1}if(!(c[l>>2]|0)){p=c[f>>2]|0;yF(p,193472)|0;i=q;return}r=+h[c[g>>2]>>3];c[n>>2]=~~(+h[c[g>>2]>>3]>=0.0?r+.5:r-.5);r=+h[(c[g>>2]|0)+8>>3];c[n+4>>2]=~~(+h[(c[g>>2]|0)+8>>3]>=0.0?r+.5:r-.5);o=c[f>>2]|0;d=c[n+4>>2]|0;c[p>>2]=c[n>>2];c[p+4>>2]=d;DF(o,118275,p);p=c[f>>2]|0;yF(p,193472)|0;i=q;return}function yf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();g=h;d=h+16|0;f=h+12|0;e=h+8|0;c[d>>2]=b;c[e>>2]=48772;while(1){if(!(c[(c[e>>2]|0)+4>>2]|0))break;if(!(a4(c[(c[e>>2]|0)+4>>2]|0,c[d>>2]|0)|0))break;c[e>>2]=(c[e>>2]|0)+8}if(c[(c[e>>2]|0)+4>>2]|0){c[f>>2]=c[e>>2];g=c[f>>2]|0;i=h;return g|0}b=c[d>>2]|0;c[g>>2]=118431;c[g+4>>2]=b;pA(1,118405,g)|0;g=j4(c[d>>2]|0,45)|0;c[f>>2]=g;if(g){a[c[f>>2]>>0]=0;c[f>>2]=yf(c[d>>2]|0)|0;g=c[f>>2]|0;i=h;return g|0}else{c[f>>2]=118448;g=c[f>>2]|0;i=h;return g|0}return 0}function zf(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l;e=l+12|0;h=l+8|0;g=l+4|0;f=l+16|0;c[e>>2]=b;c[h>>2]=0;if(!(c[12191]|0)){c[12192]=64;c[12191]=A1(c[12192]|0)|0}c[g>>2]=c[12191];while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;if((c[h>>2]|0)>((c[12192]|0)-8|0)){c[12192]=c[12192]<<1;c[12191]=D1(c[12191]|0,c[12192]|0)|0;c[g>>2]=(c[12191]|0)+(c[h>>2]|0)}if(!(G1(d[f>>0]|0)|0)){b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=92;b=c[g>>2]|0;c[k>>2]=d[f>>0];D3(b,118400,k)|0;c[g>>2]=(c[g>>2]|0)+3;c[h>>2]=(c[h>>2]|0)+4;continue}if((d[f>>0]|0|0)==92){b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=92;c[h>>2]=(c[h>>2]|0)+1}m=a[f>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=m;c[h>>2]=(c[h>>2]|0)+1}a[c[g>>2]>>0]=0;i=l;return c[12191]|0}function Af(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;e=b+8|0;c[e>>2]=a;a=c[e>>2]|0;c[d>>2]=118431;c[d+4>>2]=a;pA(0,120810,d)|0;i=b;return}function Bf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();c[e+4>>2]=b;c[e>>2]=d;a[e+8>>0]=f;i=e;return}function Cf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0;g=i;i=i+48|0;if((i|0)>=(j|0))ba();k=g+8|0;p=g;o=g+36|0;n=g+32|0;c[o>>2]=b;c[n>>2]=d;a[g+40>>0]=f;d=c[o>>2]|0;b=c[(c[n>>2]|0)+8>>2]|0;c[p>>2]=c[(c[n>>2]|0)+8>>2];c[p+4>>2]=b;DF(d,121387,p);d=c[o>>2]|0;m=(+h[e+16>>3]+ +h[e>>3])/2.0;l=(+h[e+16+8>>3]+ +h[e+8>>3])/2.0;c[k>>2]=c[(c[n>>2]|0)+8>>2];h[k+8>>3]=m;h[k+16>>3]=l;DF(d,121429,k);i=g;return}function Df(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;g=i;i=i+64|0;if((i|0)>=(j|0))ba();l=g;k=g+48|0;q=g+44|0;r=g+40|0;c[k>>2]=b;c[q>>2]=d;a[g+52>>0]=f;c[r>>2]=~~(+h[(c[k>>2]|0)+208+16+8>>3]-+h[(c[k>>2]|0)+208+8>>3]);d=c[k>>2]|0;p=+h[e+16>>3]-+h[e>>3];o=+h[e+16+8>>3]-+h[e+8>>3];n=+h[e>>3];m=+((c[r>>2]|0)>>>0)-+h[e+16+8>>3];c[l>>2]=c[(c[q>>2]|0)+8>>2];h[l+8>>3]=p;h[l+16>>3]=o;h[l+24>>3]=n;h[l+32>>3]=m;DF(d,121474,l);yF(c[k>>2]|0,121566)|0;i=g;return}function Ef(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=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.0;v=i;i=i+192|0;if((i|0)>=(j|0))ba();u=v+152|0;t=v+136|0;s=v+120|0;l=v+112|0;n=v+104|0;m=v+88|0;k=v+72|0;o=v+172|0;p=v+168|0;g=v+176|0;r=v+164|0;q=v;c[o>>2]=b;c[p>>2]=d;a[g>>0]=f;if(!(c[o>>2]|0))db(148924,121571,214,121590);if(!(c[p>>2]|0))db(148954,121571,215,121590);if(!(c[(c[p>>2]|0)+8>>2]|0))db(148957,121571,216,121590);d=c[(c[p>>2]|0)+52>>2]|0;c[v+160>>2]=d;if(!d){i=v;return};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];d=q+32|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];h[q+16>>3]=+h[q>>3];h[q+16+8>>3]=+h[q+32+8>>3];h[q+48>>3]=+h[q+32>>3];h[q+48+8>>3]=+h[q+8>>3];if(a[g>>0]|0){DF(c[o>>2]|0,121611,v+64|0);c[r>>2]=0;while(1){g=c[o>>2]|0;if((c[r>>2]|0)>=4)break;w=+h[q+(c[r>>2]<<4)+8>>3];h[k>>3]=+h[q+(c[r>>2]<<4)>>3];h[k+8>>3]=w;DF(g,121614,k);c[r>>2]=(c[r>>2]|0)+1}w=+h[q+8>>3];h[m>>3]=+h[q>>3];h[m+8>>3]=w;DF(g,121614,m);m=c[o>>2]|0;k=c[(c[p>>2]|0)+8>>2]|0;c[n>>2]=4;c[n+4>>2]=k;DF(m,121621,n)}DF(c[o>>2]|0,121611,l);c[r>>2]=0;while(1){g=c[o>>2]|0;if((c[r>>2]|0)>=4)break;w=+h[q+(c[r>>2]<<4)+8>>3];h[s>>3]=+h[q+(c[r>>2]<<4)>>3];h[s+8>>3]=w;DF(g,121614,s);c[r>>2]=(c[r>>2]|0)+1}w=+h[q+8>>3];h[t>>3]=+h[q>>3];h[t+8>>3]=w;DF(g,121614,t);t=c[o>>2]|0;s=c[(c[p>>2]|0)+8>>2]|0;c[u>>2]=4;c[u+4>>2]=s;DF(t,121636,u);i=v;return}function Ff(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+128|0;if((i|0)>=(j|0))ba();p=q+24|0;o=q+16|0;l=q;m=q+112|0;n=q+108|0;g=q+104|0;k=q+28|0;c[m>>2]=b;c[n>>2]=d;a[q+116>>0]=f;if(!(c[m>>2]|0))db(148924,121571,155,121652);if(!(c[n>>2]|0))db(148954,121571,156,121652);if(!(c[(c[n>>2]|0)+8>>2]|0))db(148957,121571,157,121652);if((c[(c[n>>2]|0)+52>>2]|0)!=0?(c[(c[n>>2]|0)+60>>2]|0)!=91:0){Vb[c[(c[n>>2]|0)+60>>2]&127](c[n>>2]|0);c[(c[n>>2]|0)+52>>2]=0;c[(c[n>>2]|0)+60>>2]=0;c[(c[n>>2]|0)+56>>2]=0}if(!(c[(c[n>>2]|0)+52>>2]|0)){if(!((RF(c[n>>2]|0)|0)<<24>>24)){i=q;return}c[g>>2]=n3(c[(c[n>>2]|0)+20>>2]|0)|0;if(((c[(c[n>>2]|0)+24>>2]|0)+-6|0)>>>0<2){V2(c[g>>2]|0,k)|0;c[(c[n>>2]|0)+56>>2]=c[k+36>>2];d=C2(0,c[k+36>>2]|0,1,1,c[g>>2]|0,0)|0;c[(c[n>>2]|0)+52>>2]=d;a[(c[n>>2]|0)+16>>0]=1}if(c[(c[n>>2]|0)+52>>2]|0)c[(c[n>>2]|0)+60>>2]=91;SF(c[n>>2]|0)}if(!(c[(c[n>>2]|0)+52>>2]|0)){i=q;return}g=c[m>>2]|0;r=+h[e+8>>3]-+(c[(c[n>>2]|0)+36>>2]|0);h[l>>3]=+h[e>>3]-+(c[(c[n>>2]|0)+32>>2]|0);h[l+8>>3]=r;DF(g,121670,l);g=c[m>>2]|0;e=c[n>>2]|0;if(a[(c[n>>2]|0)+16>>0]|0)XL(g,e);else{c[o>>2]=c[e+12>>2];DF(g,121701,o)}DF(c[m>>2]|0,121716,p);i=q;return}function Gf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;D2(c[(c[d>>2]|0)+52>>2]|0,c[(c[d>>2]|0)+56>>2]|0)|0;i=b;return}function Hf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;m=i;i=i+96|0;if((i|0)>=(j|0))ba();l=m+48|0;e=m+80|0;g=m+76|0;k=m+72|0;h=m+68|0;c[e>>2]=b;c[g>>2]=d;a[m+84>>0]=f;if(!(c[e>>2]|0))db(148924,121571,123,121726);c[k>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[k>>2]|0))db(137654,121571,125,121726);if(!(c[g>>2]|0))db(148954,121571,126,121726);if(!(c[(c[g>>2]|0)+8>>2]|0))db(148957,121571,127,121726);c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+8>>2];if(c[h>>2]|0){DF(c[e>>2]|0,121746,m);DF(c[e>>2]|0,121755,m+8|0);DF(c[e>>2]|0,121782,m+16|0);DF(c[e>>2]|0,121807,m+24|0);DF(c[e>>2]|0,121836,m+32|0);DF(c[e>>2]|0,121864,m+40|0);d=c[e>>2]|0;c[l>>2]=c[(c[g>>2]|0)+8>>2];DF(d,121871,l);DF(c[e>>2]|0,121910,m+56|0);DF(c[e>>2]|0,148706,m+64|0);i=m;return}else db(176697,121571,130,121726)}function If(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=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.0,H=0,I=0,J=0,K=0;F=i;i=i+224|0;if((i|0)>=(j|0))ba();E=F+88|0;D=F+8|0;g=F+212|0;k=F+208|0;w=F+204|0;B=F+200|0;u=F+196|0;C=F+192|0;x=F+188|0;q=F+184|0;p=F+180|0;y=F+176|0;l=F+172|0;A=F;t=F+168|0;o=F+164|0;z=F+160|0;s=F+156|0;n=F+152|0;v=F+148|0;r=F+144|0;m=F+128|0;c[g>>2]=b;c[k>>2]=d;a[F+216>>0]=f;c[w>>2]=2;c[B>>2]=5;c[u>>2]=0;c[C>>2]=0;c[x>>2]=0;c[q>>2]=-1;c[p>>2]=1;c[y>>2]=-1;c[l>>2]=0;h[A>>3]=0.0;c[t>>2]=0;c[o>>2]=0;c[z>>2]=0;c[s>>2]=0;c[n>>2]=0;c[v>>2]=5;c[r>>2]=0;if(!(c[g>>2]|0))db(148924,121571,99,121915);if(!(c[k>>2]|0))db(148954,121571,100,121915);if(c[(c[k>>2]|0)+8>>2]|0){G=+h[e>>3];c[m>>2]=~~(+h[e>>3]>=0.0?G+.5:G-.5);G=+h[e+8>>3];c[m+4>>2]=~~(+h[e+8>>3]>=0.0?G+.5:G-.5);G=+h[e+16>>3];c[m+8>>2]=~~(+h[e+16>>3]>=0.0?G+.5:G-.5);G=+h[e+16+8>>3];c[m+8+4>>2]=~~(+h[e+16+8>>3]>=0.0?G+.5:G-.5);d=c[g>>2]|0;K=c[B>>2]|0;J=c[u>>2]|0;I=c[C>>2]|0;H=c[x>>2]|0;e=c[q>>2]|0;q=c[p>>2]|0;f=c[y>>2]|0;b=c[l>>2]|0;G=+h[A>>3];u=c[t>>2]|0;C=c[o>>2]|0;B=c[z>>2]|0;A=c[s>>2]|0;z=c[n>>2]|0;y=c[v>>2]|0;x=c[r>>2]|0;v=c[(c[k>>2]|0)+8>>2]|0;c[D>>2]=c[w>>2];c[D+4>>2]=K;c[D+8>>2]=J;c[D+12>>2]=I;c[D+16>>2]=H;c[D+20>>2]=e;c[D+24>>2]=q;c[D+28>>2]=f;c[D+32>>2]=b;h[D+40>>3]=G;c[D+48>>2]=u;c[D+52>>2]=C;c[D+56>>2]=B;c[D+60>>2]=A;c[D+64>>2]=z;c[D+68>>2]=y;c[D+72>>2]=x;c[D+76>>2]=v;DF(d,121934,D);D=c[g>>2]|0;v=c[m+4>>2]|0;w=c[m>>2]|0;x=c[m+8+4>>2]|0;y=c[m+8>>2]|0;z=c[m+8+4>>2]|0;A=c[m+8>>2]|0;B=c[m+4>>2]|0;C=c[m>>2]|0;d=c[m+4>>2]|0;c[E>>2]=c[m>>2];c[E+4>>2]=v;c[E+8>>2]=w;c[E+12>>2]=x;c[E+16>>2]=y;c[E+20>>2]=z;c[E+24>>2]=A;c[E+28>>2]=B;c[E+32>>2]=C;c[E+36>>2]=d;DF(D,121992,E);i=F;return}else db(148957,121571,101,121915)}function Jf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;s=i;i=i+144|0;if((i|0)>=(j|0))ba();q=s+88|0;p=s+64|0;o=s+32|0;k=s+124|0;g=s+120|0;r=s+24|0;l=s+16|0;m=s+8|0;n=s;c[k>>2]=b;c[g>>2]=d;a[s+128>>0]=f;h[r>>3]=+h[e+16>>3]-+h[e>>3];h[l>>3]=+h[e+16+8>>3]-+h[e+8>>3];h[m>>3]=(+h[e+16>>3]+ +h[e>>3]-+h[r>>3])/2.0;h[n>>3]=(+h[e+16+8>>3]+ +h[e+8>>3]+ +h[l>>3])/2.0;if(!(c[k>>2]|0))db(148924,121571,55,122024);if(!(c[g>>2]|0))db(148954,121571,56,122024);if(!(c[(c[g>>2]|0)+8>>2]|0))db(148957,121571,57,122024);yF(c[k>>2]|0,122043)|0;yF(c[k>>2]|0,c[(c[g>>2]|0)+8>>2]|0)|0;g=c[k>>2]|0;if(c[(c[k>>2]|0)+360>>2]|0){v=+h[r>>3];t=+h[m>>3];u=-+h[n>>3];h[o>>3]=+h[l>>3];h[o+8>>3]=v;h[o+16>>3]=t;h[o+24>>3]=u;DF(g,122063,o);r=c[k>>2]|0;u=+h[m>>3];t=-+h[n>>3];c[p>>2]=c[(c[k>>2]|0)+360>>2];h[p+8>>3]=u;h[p+16>>3]=t;DF(r,122142,p);r=c[k>>2]|0;yF(r,122251)|0;i=s;return}else{t=+h[l>>3];u=+h[m>>3];v=-+h[n>>3];h[q>>3]=+h[r>>3];h[q+8>>3]=t;h[q+16>>3]=u;h[q+24>>3]=v;DF(g,122172,q);r=c[k>>2]|0;yF(r,122251)|0;i=s;return}}function Kf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;Of(c[e>>2]|0);c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[d>>2]=cB(c[b>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;Pf(c[d>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}i=f;return}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;Qf(c[(c[(c[b>>2]|0)+8>>2]|0)+192>>2]|0);c[e>>2]=pC(c[b>>2]|0)|0;while(1){a=c[b>>2]|0;if(!(c[e>>2]|0))break;c[d>>2]=cB(a,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;gP(c[d>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}Rf(c[e>>2]|0);c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}Sf(a);i=f;return}function Mf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(AB(c[b>>2]|0)|0)Tf(c[b>>2]|0);CL(c[b>>2]|0);i=d;return}function Nf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=c[(c[(HC(c[d>>2]|0)|0)+8>>2]|0)+188>>2]|0;i=b;return a|0}function Of(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aD(c[d>>2]|0,175106,304,1)|0;MO(c[d>>2]|0);a=c[d>>2]|0;iP(a,c[(c[(GC(c[d>>2]|0)|0)+8>>2]|0)+116>>2]&1);c[(c[(c[d>>2]|0)+8>>2]|0)+172+4>>2]=0;a=qK(20)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+172>>2]=a;c[(c[(c[d>>2]|0)+8>>2]|0)+180+4>>2]=0;a=qK(20)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]=a;c[(c[(c[d>>2]|0)+8>>2]|0)+196+4>>2]=0;a=qK(12)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]=a;c[(c[(c[d>>2]|0)+8>>2]|0)+188+4>>2]=0;a=qK(12)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+188>>2]=a;c[(c[(c[d>>2]|0)+8>>2]|0)+204+4>>2]=0;a=qK(12)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+204>>2]=a;c[(c[(c[d>>2]|0)+8>>2]|0)+216>>2]=1;i=b;return}function Pf(d){d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+8|0;h=f+4|0;g=f;c[e>>2]=d;aD(c[e>>2]|0,175399,176,1)|0;NO(c[e>>2]|0)|0;d=tO(c[e>>2]|0,c[13851]|0,1,0)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+156>>2]=d;d=c[e>>2]|0;c[h>>2]=wO(c[((c[c[e>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0,c[13845]|0,178598)|0;d=c[e>>2]|0;c[g>>2]=wO(c[((c[c[e>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0,c[13845]|0,178598)|0;b[(c[(c[e>>2]|0)+8>>2]|0)+154>>1]=1;b[(c[(c[e>>2]|0)+8>>2]|0)+168>>1]=1;if((a[c[h>>2]>>0]|0)!=0?(c[h>>2]|0)==(c[g>>2]|0):0){b[(c[(c[e>>2]|0)+8>>2]|0)+154>>1]=1e3;h=(c[(c[e>>2]|0)+8>>2]|0)+156|0;c[h>>2]=(c[h>>2]|0)*100}if(!(Ak(c[e>>2]|0)|0)){h=c[e>>2]|0;g=c[13871]|0;g=tO(h,g,0,0)|0;g=g&255;h=c[e>>2]|0;h=h+8|0;h=c[h>>2]|0;h=h+152|0;a[h>>0]=g;h=c[e>>2]|0;g=c[13852]|0;g=tO(h,g,1,0)|0;g=g&65535;h=c[e>>2]|0;h=h+8|0;h=c[h>>2]|0;h=h+170|0;b[h>>1]=g;i=f;return}b[(c[(c[e>>2]|0)+8>>2]|0)+154>>1]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+156>>2]=0;h=c[e>>2]|0;g=c[13871]|0;g=tO(h,g,0,0)|0;g=g&255;h=c[e>>2]|0;h=h+8|0;h=c[h>>2]|0;h=h+152|0;a[h>>0]=g;h=c[e>>2]|0;g=c[13852]|0;g=tO(h,g,1,0)|0;g=g&65535;h=c[e>>2]|0;h=h+8|0;h=c[h>>2]|0;h=h+170|0;b[h>>1]=g;i=f;return}function Qf(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=b;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2];ag(c[d>>2]|0);if((a[(c[(c[d>>2]|0)+8>>2]|0)+156>>0]|0)==1){if(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0)B1(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0);if(c[(c[(c[d>>2]|0)+8>>2]|0)+172>>2]|0)B1(c[(c[(c[d>>2]|0)+8>>2]|0)+172>>2]|0);B1(c[(c[d>>2]|0)+8>>2]|0);B1(c[d>>2]|0)}c[d>>2]=c[e>>2]}i=f;return}function Rf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(c[(c[(c[b>>2]|0)+8>>2]|0)+172>>2]|0)B1(c[(c[(c[b>>2]|0)+8>>2]|0)+172>>2]|0);if(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0)B1(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0);if(c[(c[(c[b>>2]|0)+8>>2]|0)+188>>2]|0)B1(c[(c[(c[b>>2]|0)+8>>2]|0)+188>>2]|0);if(c[(c[(c[b>>2]|0)+8>>2]|0)+196>>2]|0)B1(c[(c[(c[b>>2]|0)+8>>2]|0)+196>>2]|0);if(c[(c[(c[b>>2]|0)+8>>2]|0)+204>>2]|0)B1(c[(c[(c[b>>2]|0)+8>>2]|0)+204>>2]|0);hK(c[(c[(c[b>>2]|0)+8>>2]|0)+104>>2]|0);hK(c[(c[(c[b>>2]|0)+8>>2]|0)+108>>2]|0);if(!(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)){a=c[b>>2]|0;bD(a,175106)|0;i=d;return}Vb[c[(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+4>>2]&127](c[b>>2]|0);a=c[b>>2]|0;bD(a,175106)|0;i=d;return}function Sf(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g+8|0;d=g+4|0;e=g;c[f>>2]=a;c[e>>2]=vD(c[f>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;Sf(c[e>>2]|0);c[e>>2]=wD(c[e>>2]|0)|0}if(c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]|0)B1(c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]|0);if(c[(c[(c[f>>2]|0)+8>>2]|0)+268>>2]|0)B1(c[(c[(c[f>>2]|0)+8>>2]|0)+268>>2]|0);if(c[(c[(c[f>>2]|0)+8>>2]|0)+216>>2]|0)B1(c[(c[(c[f>>2]|0)+8>>2]|0)+216>>2]|0);do if(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0){c[d>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[d>>2]|0)>(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0))break;B1(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[d>>2]<<6)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}a=c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0;if((b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1]|0)==-1){B1(a+-64|0);break}else{B1(a);break}}while(0);e=c[f>>2]|0;if((e|0)==(HC(c[f>>2]|0)|0)){i=g;return}bD(c[f>>2]|0,175129)|0;i=g;return}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+64|0;if((i|0)>=(j|0))ba();e=m+56|0;f=m+52|0;l=m+48|0;h=m+44|0;g=m+40|0;k=m+8|0;b=m+4|0;d=m;c[e>>2]=a;c[b>>2]=YG(c[e>>2]|0,-1,8)|0;c[d>>2]=XG(c[e>>2]|0,0,k)|0;VG(c[e>>2]|0,2,8,k)|0;if((c[d>>2]|0)==0&(c[b>>2]|0)<0){Uf(c[e>>2]|0);i=m;return}if(c[d>>2]|0){if((c[b>>2]|0)<0)c[b>>2]=8}else c[k+16>>2]=2;c[k+8>>2]=c[b>>2];c[k+20>>2]=0;c[f>>2]=wG(c[e>>2]|0,h,0)|0;b=c[e>>2]|0;do if((c[h>>2]|0)==1)Uf(b);else{if(c[(c[(c[b+8>>2]|0)+8>>2]|0)+84>>2]|0){Uf(c[e>>2]|0);break}c[k+12>>2]=1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];Vf(c[l>>2]|0,c[e>>2]|0);Uf(c[l>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Wf(c[e>>2]|0);UG(c[h>>2]|0,c[f>>2]|0,c[e>>2]|0,k)|0;Xf(c[e>>2]|0)}while(0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[h>>2]|0))break;B1(c[(c[(c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0)+8>>2]|0)+8>>2]|0);FC(c[e>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}B1(c[f>>2]|0);i=m;return}function Uf(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+64|0;if((i|0)>=(j|0))ba();h=l+40|0;k=l+52|0;f=l;d=l+48|0;g=l+44|0;c[k>>2]=a;b=c[k>>2]|0;c[g>>2]=tO(b,GA(c[k>>2]|0,0,122266,0)|0,-1,1)|0;dP(c[k>>2]|0,10);c[d>>2]=pk(c[k>>2]|0,f)|0;Yf(c[k>>2]|0,c[k>>2]|0);Kf(c[k>>2]|0);while(1){lj(c[k>>2]|0,c[d>>2]|0);if((c[g>>2]|0)==1){a=3;break}if(c[f+32>>2]|0){pA(0,122272,h)|0;c[d>>2]=0;c[f+24>>2]=0}uh(c[k>>2]|0,(c[d>>2]|0)!=0&1);b=c[k>>2]|0;if((c[g>>2]|0)==2){a=7;break}yi(b,c[d>>2]|0);if((c[g>>2]|0)==3){a=9;break}b=f+28|0;c[b>>2]=(c[b>>2]|0)+-1;if(!((c[f+24>>2]|0)!=0?(c[f+28>>2]|0)!=0:0)){a=11;break}}if((a|0)==3){Zf(c[k>>2]|0,1);i=l;return}else if((a|0)==7){Zf(b,2);i=l;return}else if((a|0)==9){Zf(c[k>>2]|0,2);i=l;return}else if((a|0)==11){if((e[(c[(c[k>>2]|0)+8>>2]|0)+136>>1]|0)&16)_f(c[k>>2]|0);fk(c[k>>2]|0);cg(c[k>>2]|0);if(!((zO(OA(c[k>>2]|0,122363)|0)|0)<<24>>24)){i=l;return}$k(c[k>>2]|0);i=l;return}}function Vf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;aD(c[f>>2]|0,175129,280,1)|0;b=qK(96)|0;c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]=b;h[c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]>>3]=+h[c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]>>3];h[(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0)+24>>3]=+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+24>>3];c[(c[(c[f>>2]|0)+8>>2]|0)+144>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+144>>2];a[(c[(c[f>>2]|0)+8>>2]|0)+115>>0]=a[(c[(c[g>>2]|0)+8>>2]|0)+115>>0]|0;c[(c[(c[f>>2]|0)+8>>2]|0)+116>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2];c[(c[(c[f>>2]|0)+8>>2]|0)+248>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+248>>2];c[(c[(c[f>>2]|0)+8>>2]|0)+252>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+252>>2];c[(c[(c[f>>2]|0)+8>>2]|0)+244>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+244>>2];i=e;return}function Wf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[e>>2]=qK((AB(c[b>>2]|0)|0)<<1<<3)|0;c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]=c[e>>2];h[c[e>>2]>>3]=+h[(c[(c[d>>2]|0)+8>>2]|0)+16>>3]/72.0;h[(c[e>>2]|0)+8>>3]=+h[(c[(c[d>>2]|0)+8>>2]|0)+16+8>>3]/72.0;c[e>>2]=(c[e>>2]|0)+16;c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}i=f;return}function Xf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[d>>2]=pC(c[b>>2]|0)|0;c[f>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2];c[e>>2]=c[f>>2];c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]=0;h[(c[(c[d>>2]|0)+8>>2]|0)+16>>3]=+h[c[e>>2]>>3]*72.0;h[(c[(c[d>>2]|0)+8>>2]|0)+16+8>>3]=+h[(c[e>>2]|0)+8>>3]*72.0;c[e>>2]=(c[e>>2]|0)+16;c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}B1(c[f>>2]|0);i=g;return}function Yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((a|0)!=(HC(c[d>>2]|0)|0))aD(c[d>>2]|0,175129,280,1)|0;if((c[d>>2]|0)==(c[e>>2]|0)){a=c[e>>2]|0;c[(c[(HC(c[d>>2]|0)|0)+8>>2]|0)+188>>2]=a}c[f>>2]=vD(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;Yf(c[f>>2]|0,c[e>>2]|0);c[f>>2]=wD(c[f>>2]|0)|0}i=g;return}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+1056|0;if((i|0)>=(j|0))ba();m=n+8|0;l=n;d=n+28|0;e=n+24|0;k=n+20|0;h=n+16|0;g=n+12|0;f=n+32|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=GA(c[d>>2]|0,1,124181,178598)|0;c[h>>2]=GA(c[d>>2]|0,1,122406,178598)|0;c[g>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;if((c[e>>2]|0)>=1){c[l>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+232>>2];D3(f,175103,l)|0;RA(c[g>>2]|0,c[k>>2]|0,f)|0}if((c[e>>2]|0)>=2){c[m>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+236>>2];D3(f,175103,m)|0;RA(c[g>>2]|0,c[h>>2]|0,f)|0}c[g>>2]=qC(c[d>>2]|0,c[g>>2]|0)|0}i=n;return}function _f(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[f>>2]=uD(c[b>>2]|0,123685,0)|0;if(!(c[f>>2]|0)){i=g;return}c[d>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=qC(c[f>>2]|0,c[d>>2]|0)|0;ih(c[b>>2]|0,c[d>>2]|0);$f(c[b>>2]|0,c[d>>2]|0);Rf(c[d>>2]|0);xC(c[b>>2]|0,c[d>>2]|0)|0;c[d>>2]=c[e>>2]}yD(c[b>>2]|0,c[f>>2]|0)|0;i=g;return}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+16|0;e=l+12|0;h=l+8|0;f=l+4|0;g=l;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+232>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]|0))break;c[h>>2]=c[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+4>>2]|0)+(c[f>>2]<<2)>>2];b=(c[h>>2]|0)==(c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1;if(b){k=4;break}}if((k|0)==4){while(1){if((c[f>>2]|0)>=(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]|0))break;c[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+4>>2]|0)+((c[f>>2]|0)-1<<2)>>2]=c[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+4>>2]|0)+(c[f>>2]<<2)>>2];c[f>>2]=(c[f>>2]|0)+1;k=4}k=(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)|0;c[k>>2]=(c[k>>2]|0)+-1}if((c[h>>2]|0)==(c[e>>2]|0)){i=l;return}else db(122372,122379,243,122389)}function ag(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[e>>2]=(c[(c[(c[b>>2]|0)+8>>2]|0)+172+4>>2]|0)-1;while(1){if((c[e>>2]|0)<0)break;c[d>>2]=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+172>>2]|0)+(c[e>>2]<<2)>>2];bh(c[d>>2]|0);B1(c[(c[d>>2]|0)+8>>2]|0);B1(c[d>>2]|0);c[e>>2]=(c[e>>2]|0)+-1}c[e>>2]=(c[(c[(c[b>>2]|0)+8>>2]|0)+180+4>>2]|0)-1;while(1){if((c[e>>2]|0)<0)break;c[d>>2]=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0)+(c[e>>2]<<2)>>2];bh(c[d>>2]|0);B1(c[(c[d>>2]|0)+8>>2]|0);B1(c[d>>2]|0);c[e>>2]=(c[e>>2]|0)+-1}i=f;return}function bg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+4|0;g=k;f=d[a+28>>0]|0;if(!(d[b+28>>0]|0)){c[e>>2]=(f|0)!=0?1:0;g=c[e>>2]|0;i=k;return g|0}if(!f){c[e>>2]=-1;g=c[e>>2]|0;i=k;return g|0}c[g>>2]=~~(+h[a>>3]-+h[b>>3]);if(!(c[g>>2]|0))c[g>>2]=~~(+h[a+8>>3]-+h[b+8>>3]);c[e>>2]=c[g>>2];g=c[e>>2]|0;i=k;return g|0}function cg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;dg(c[d>>2]|0,1);i=b;return}function dg(f,g){f=f|0;g=g|0;var k=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,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;Y=i;i=i+736|0;if((i|0)>=(j|0))ba();s=Y+408|0;t=Y+368|0;n=Y+360|0;R=Y+716|0;u=Y+712|0;F=Y+708|0;l=Y+704|0;p=Y+700|0;k=Y+696|0;L=Y+692|0;G=Y+688|0;w=Y+684|0;W=Y+680|0;C=Y+616|0;D=Y+552|0;T=Y+544|0;y=Y+540|0;z=Y+536|0;A=Y+532|0;B=Y+528|0;J=Y+524|0;K=Y+520|0;U=Y+516|0;S=Y+512|0;X=Y+492|0;V=Y+488|0;m=Y+484|0;q=Y;E=Y+720|0;M=Y+480|0;H=Y+476|0;N=Y+472|0;I=Y+468|0;v=Y+464|0;P=Y+460|0;O=Y+456|0;Q=Y+452|0;x=Y+448|0;c[R>>2]=f;c[u>>2]=g;c[V>>2]=e[(c[(c[R>>2]|0)+8>>2]|0)+136>>1]&14;c[C+8>>2]=Y+184;c[D+8>>2]=Y+8;if(!(c[V>>2]|0)){i=Y;return}a:do if((c[V>>2]|0)!=4){n=c[R>>2]|0;if((c[V>>2]|0)==8){eg(n);k=c[R>>2]|0;if(d[(c[(c[R>>2]|0)+8>>2]|0)+113>>0]&1){fg(k);NP(c[R>>2]|0,1);break}else{NP(k,0);break}}Sk(n);if(cM()|0){i=Y;return}c[S>>2]=qK(96)|0;c[X+8>>2]=(c[(c[(c[R>>2]|0)+8>>2]|0)+248>>2]|0)/4|0;c[X+12>>2]=c[(c[(c[R>>2]|0)+8>>2]|0)+248>>2];c[U>>2]=qK(512)|0;c[X+4>>2]=0;c[X>>2]=0;c[k>>2]=0;c[L>>2]=0;c[F>>2]=b[(c[(c[R>>2]|0)+8>>2]|0)+236>>1];b:while(1){if((c[F>>2]|0)>(b[(c[(c[R>>2]|0)+8>>2]|0)+238>>1]|0))break;c[k>>2]=(c[k>>2]|0)+(c[(c[(c[(c[R>>2]|0)+8>>2]|0)+196>>2]|0)+(c[F>>2]<<6)>>2]|0);f=c[c[(c[(c[(c[R>>2]|0)+8>>2]|0)+196>>2]|0)+(c[F>>2]<<6)+4>>2]>>2]|0;c[W>>2]=f;if(f){if(+(c[X>>2]|0)<+h[(c[(c[W>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[W>>2]|0)+8>>2]|0)+88>>3])o=+(c[X>>2]|0);else o=+h[(c[(c[W>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[W>>2]|0)+8>>2]|0)+88>>3];c[X>>2]=~~o}if((c[(c[(c[(c[R>>2]|0)+8>>2]|0)+196>>2]|0)+(c[F>>2]<<6)>>2]|0)!=0?(f=c[(c[(c[(c[(c[R>>2]|0)+8>>2]|0)+196>>2]|0)+(c[F>>2]<<6)+4>>2]|0)+((c[(c[(c[(c[R>>2]|0)+8>>2]|0)+196>>2]|0)+(c[F>>2]<<6)>>2]|0)-1<<2)>>2]|0,c[W>>2]=f,(f|0)!=0):0){if(+(c[X+4>>2]|0)>+h[(c[(c[W>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[W>>2]|0)+8>>2]|0)+96>>3])o=+(c[X+4>>2]|0);else o=+h[(c[(c[W>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[W>>2]|0)+8>>2]|0)+96>>3];c[X+4>>2]=~~o}c[X>>2]=(c[X>>2]|0)-16;f=X+4|0;c[f>>2]=(c[f>>2]|0)+16;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[(c[(c[R>>2]|0)+8>>2]|0)+196>>2]|0)+(c[F>>2]<<6)>>2]|0))break;c[W>>2]=c[(c[(c[(c[(c[R>>2]|0)+8>>2]|0)+196>>2]|0)+(c[F>>2]<<6)+4>>2]|0)+(c[l>>2]<<2)>>2];if(c[(c[(c[W>>2]|0)+8>>2]|0)+112>>2]|0){c[m>>2]=c[(c[(c[W>>2]|0)+8>>2]|0)+112>>2];if(!(c[(c[(c[m>>2]|0)+8>>2]|0)+96>>2]|0)){r=33;break b}f=(c[(c[(c[m>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;g=(c[(c[W>>2]|0)+8>>2]|0)+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];a[(c[(c[(c[m>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]=1}if(!((a[(c[(c[W>>2]|0)+8>>2]|0)+156>>0]|0)!=0?((Zb[c[50164>>2]&63](c[W>>2]|0)|0)&255|0)==0:0))r=37;c:do if((r|0)==37){r=0;c[p>>2]=0;while(1){f=c[(c[(c[(c[W>>2]|0)+8>>2]|0)+180>>2]|0)+(c[p>>2]<<2)>>2]|0;c[T>>2]=f;if(!f)break;if(((a[(c[(c[T>>2]|0)+8>>2]|0)+112>>0]|0)!=4?(a[(c[(c[T>>2]|0)+8>>2]|0)+112>>0]|0)!=6:0)?(gg(c[T>>2]|0,1,16,64),g=c[T>>2]|0,f=c[L>>2]|0,c[L>>2]=f+1,c[(c[U>>2]|0)+(f<<2)>>2]=g,((c[L>>2]|0)%128|0|0)==0):0){if(c[U>>2]|0)n=tK(c[U>>2]|0,(c[L>>2]|0)+128<<2)|0;else n=rK((c[L>>2]|0)+128<<2)|0;c[U>>2]=n}c[p>>2]=(c[p>>2]|0)+1}d:do if(c[(c[(c[W>>2]|0)+8>>2]|0)+188>>2]|0){c[p>>2]=0;while(1){f=c[(c[(c[(c[W>>2]|0)+8>>2]|0)+188>>2]|0)+(c[p>>2]<<2)>>2]|0;c[T>>2]=f;if(!f)break d;gg(c[T>>2]|0,2,0,128);g=c[T>>2]|0;f=c[L>>2]|0;c[L>>2]=f+1;c[(c[U>>2]|0)+(f<<2)>>2]=g;if(!((c[L>>2]|0)%128|0)){if(c[U>>2]|0)n=tK(c[U>>2]|0,(c[L>>2]|0)+128<<2)|0;else n=rK((c[L>>2]|0)+128<<2)|0;c[U>>2]=n}c[p>>2]=(c[p>>2]|0)+1}}while(0);if(c[(c[(c[W>>2]|0)+8>>2]|0)+204>>2]|0){if(!(a[(c[(c[W>>2]|0)+8>>2]|0)+156>>0]|0)){h[q>>3]=+h[(c[(c[W>>2]|0)+8>>2]|0)+96>>3];h[(c[(c[W>>2]|0)+8>>2]|0)+96>>3]=+h[(c[(c[W>>2]|0)+8>>2]|0)+240>>3];h[(c[(c[W>>2]|0)+8>>2]|0)+240>>3]=+h[q>>3]}c[p>>2]=0;while(1){f=c[(c[(c[(c[W>>2]|0)+8>>2]|0)+204>>2]|0)+(c[p>>2]<<2)>>2]|0;c[T>>2]=f;if(!f)break c;gg(c[T>>2]|0,0,0,128);g=c[T>>2]|0;f=c[L>>2]|0;c[L>>2]=f+1;c[(c[U>>2]|0)+(f<<2)>>2]=g;if(!((c[L>>2]|0)%128|0)){if(c[U>>2]|0)n=tK(c[U>>2]|0,(c[L>>2]|0)+128<<2)|0;else n=rK((c[L>>2]|0)+128<<2)|0;c[U>>2]=n}c[p>>2]=(c[p>>2]|0)+1}}}while(0);c[l>>2]=(c[l>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}if((r|0)==33)db(122480,122493,319,122506);P3(c[U>>2]|0,c[L>>2]|0,4,58);r=qK((c[k>>2]|0)+360<<5)|0;c[(c[S>>2]|0)+84>>2]=r;c[X+16>>2]=qK(c[F>>2]<<5)|0;e:do if((c[V>>2]|0)==2){c[W>>2]=c[(c[(c[R>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[W>>2]|0))break e;if((a[(c[(c[W>>2]|0)+8>>2]|0)+156>>0]|0)==1?(c[(c[(c[W>>2]|0)+8>>2]|0)+104>>2]|0)!=0:0)ig(c[W>>2]|0);c[W>>2]=c[(c[(c[W>>2]|0)+8>>2]|0)+164>>2]}}while(0);c[F>>2]=0;f:while(1){if((c[F>>2]|0)>=(c[L>>2]|0))break;c[G>>2]=c[F>>2];r=c[F>>2]|0;c[F>>2]=r+1;r=c[(c[U>>2]|0)+(r<<2)>>2]|0;c[y>>2]=r;c[J>>2]=jg(r)|0;if((d[(c[(c[y>>2]|0)+8>>2]|0)+16+28>>0]|0)==0?(d[(c[(c[y>>2]|0)+8>>2]|0)+56+28>>0]|0)==0:0){a[E>>0]=0;c[A>>2]=c[J>>2]}else{a[E>>0]=1;c[A>>2]=c[y>>2]}if(c[(c[(c[A>>2]|0)+8>>2]|0)+164>>2]&32){c[M>>2]=C;c[H>>2]=c[(c[M>>2]|0)+8>>2];n5(c[H>>2]|0,c[(c[A>>2]|0)+8>>2]|0,176)|0;l=c[M>>2]|0;m=c[A>>2]|0;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];c[l+16>>2]=c[m+16>>2];c[l+20>>2]=c[m+20>>2];c[l+24>>2]=c[m+24>>2];c[l+28>>2]=c[m+28>>2];c[(c[M>>2]|0)+8>>2]=c[H>>2];l=c[A>>2]|0;m=c[M>>2]|0;c[((c[c[M>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]=c[((c[c[A>>2]>>2]&3|0)==2?l:l+-32|0)+28>>2];m=c[A>>2]|0;l=c[M>>2]|0;c[((c[c[M>>2]>>2]&3|0)==2?l:l+-32|0)+28>>2]=c[((c[c[A>>2]>>2]&3|0)==3?m:m+32|0)+28>>2];l=(c[(c[M>>2]|0)+8>>2]|0)+16|0;m=(c[(c[A>>2]|0)+8>>2]|0)+56|0;n=l+40|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=(c[(c[M>>2]|0)+8>>2]|0)+56|0;m=(c[(c[A>>2]|0)+8>>2]|0)+16|0;n=l+40|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));a[(c[(c[M>>2]|0)+8>>2]|0)+112>>0]=1;c[(c[(c[M>>2]|0)+8>>2]|0)+116>>2]=c[A>>2];c[A>>2]=C}c[w>>2]=1;while(1){if((c[F>>2]|0)>=(c[L>>2]|0))break;q=c[J>>2]|0;r=c[(c[U>>2]|0)+(c[F>>2]<<2)>>2]|0;c[z>>2]=r;r=jg(r)|0;c[K>>2]=r;if((q|0)!=(r|0))break;if(!(a[(c[(c[y>>2]|0)+8>>2]|0)+113>>0]|0)){if((d[(c[(c[z>>2]|0)+8>>2]|0)+16+28>>0]|0)==0?(d[(c[(c[z>>2]|0)+8>>2]|0)+56+28>>0]|0)==0:0){if(a[E>>0]|0)break;c[B>>2]=c[K>>2]}else{if(!(a[E>>0]|0))break;c[B>>2]=c[z>>2]}if(c[(c[(c[B>>2]|0)+8>>2]|0)+164>>2]&32){c[N>>2]=D;c[I>>2]=c[(c[N>>2]|0)+8>>2];n5(c[I>>2]|0,c[(c[B>>2]|0)+8>>2]|0,176)|0;l=c[N>>2]|0;m=c[B>>2]|0;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];c[l+16>>2]=c[m+16>>2];c[l+20>>2]=c[m+20>>2];c[l+24>>2]=c[m+24>>2];c[l+28>>2]=c[m+28>>2];c[(c[N>>2]|0)+8>>2]=c[I>>2];l=c[B>>2]|0;m=c[N>>2]|0;c[((c[c[N>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]=c[((c[c[B>>2]>>2]&3|0)==2?l:l+-32|0)+28>>2];m=c[B>>2]|0;l=c[N>>2]|0;c[((c[c[N>>2]>>2]&3|0)==2?l:l+-32|0)+28>>2]=c[((c[c[B>>2]>>2]&3|0)==3?m:m+32|0)+28>>2];l=(c[(c[N>>2]|0)+8>>2]|0)+16|0;m=(c[(c[B>>2]|0)+8>>2]|0)+56|0;n=l+40|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=(c[(c[N>>2]|0)+8>>2]|0)+56|0;m=(c[(c[B>>2]|0)+8>>2]|0)+16|0;n=l+40|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));a[(c[(c[N>>2]|0)+8>>2]|0)+112>>0]=1;c[(c[(c[N>>2]|0)+8>>2]|0)+116>>2]=c[B>>2];c[B>>2]=D}k=(c[(c[B>>2]|0)+8>>2]|0)+16|0;l=t;m=(c[(c[A>>2]|0)+8>>2]|0)+16|0;n=l+40|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=s;m=k;n=l+40|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(bg(t,s)|0)break;k=(c[(c[B>>2]|0)+8>>2]|0)+56|0;l=t;m=(c[(c[A>>2]|0)+8>>2]|0)+56|0;n=l+40|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=s;m=k;n=l+40|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if(bg(t,s)|0)break;if((c[(c[(c[y>>2]|0)+8>>2]|0)+164>>2]&15|0)==2?(c[(c[(c[y>>2]|0)+8>>2]|0)+96>>2]|0)!=(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0):0)break;if(c[(c[(c[(c[U>>2]|0)+(c[F>>2]<<2)>>2]|0)+8>>2]|0)+164>>2]&64)break}c[w>>2]=(c[w>>2]|0)+1;c[F>>2]=(c[F>>2]|0)+1}q=c[y>>2]|0;r=c[y>>2]|0;n=c[y>>2]|0;n=c[((c[c[y>>2]>>2]&3|0)==3?n:n+32|0)+28>>2]|0;if((c[((c[c[y>>2]>>2]&3|0)==3?q:q+32|0)+28>>2]|0)!=(c[((c[c[y>>2]>>2]&3|0)==2?r:r+-32|0)+28>>2]|0)){r=c[y>>2]|0;m=c[R>>2]|0;l=c[S>>2]|0;k=c[U>>2]|0;p=c[G>>2]|0;g=c[w>>2]|0;f=c[V>>2]|0;if((c[(c[n+8>>2]|0)+232>>2]|0)==(c[(c[(c[((c[c[y>>2]>>2]&3|0)==2?r:r+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)){kg(m,X,l,k,p,g,f);continue}else{lg(m,X,l,k,p,g,f);continue}}c[W>>2]=n;c[O>>2]=c[(c[(c[W>>2]|0)+8>>2]|0)+232>>2];k=c[O>>2]|0;do if((c[O>>2]|0)==(b[(c[(c[R>>2]|0)+8>>2]|0)+238>>1]|0))if((k|0)>0){c[P>>2]=~~(+h[(c[(c[c[(c[(c[(c[R>>2]|0)+8>>2]|0)+196>>2]|0)+((c[O>>2]|0)-1<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[W>>2]|0)+8>>2]|0)+16+8>>3]);break}else{c[P>>2]=~~+h[(c[(c[W>>2]|0)+8>>2]|0)+80>>3];break}else if((k|0)==(b[(c[(c[R>>2]|0)+8>>2]|0)+236>>1]|0)){c[P>>2]=~~(+h[(c[(c[W>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[c[(c[(c[(c[R>>2]|0)+8>>2]|0)+196>>2]|0)+((c[O>>2]|0)+1<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]);break}else{c[Q>>2]=~~(+h[(c[(c[c[(c[(c[(c[R>>2]|0)+8>>2]|0)+196>>2]|0)+((c[O>>2]|0)-1<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[W>>2]|0)+8>>2]|0)+16+8>>3]);c[x>>2]=~~(+h[(c[(c[W>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[c[(c[(c[(c[R>>2]|0)+8>>2]|0)+196>>2]|0)+((c[O>>2]|0)+1<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]);c[P>>2]=(c[Q>>2]|0)<(c[x>>2]|0)?c[Q>>2]|0:c[x>>2]|0;break}while(0);DN(c[S>>2]|0,c[U>>2]|0,c[G>>2]|0,c[w>>2]|0,+(c[X+12>>2]|0),+((c[P>>2]|0)/2|0|0),50160);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))continue f;c[T>>2]=c[(c[U>>2]|0)+((c[G>>2]|0)+(c[v>>2]|0)<<2)>>2];if(c[(c[(c[T>>2]|0)+8>>2]|0)+96>>2]|0)PO(c[R>>2]|0,c[(c[(c[T>>2]|0)+8>>2]|0)+96>>2]|0);c[v>>2]=(c[v>>2]|0)+1}}c[W>>2]=c[(c[(c[R>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[W>>2]|0))break;if((a[(c[(c[W>>2]|0)+8>>2]|0)+156>>0]|0)==1?(c[(c[(c[W>>2]|0)+8>>2]|0)+104>>2]|0)!=0:0){ig(c[W>>2]|0);PO(c[R>>2]|0,c[(c[(c[W>>2]|0)+8>>2]|0)+104>>2]|0)}c[W>>2]=c[(c[(c[W>>2]|0)+8>>2]|0)+164>>2]}if(c[u>>2]|0)mg(c[R>>2]|0)}else{eg(c[R>>2]|0);if(d[(c[(c[R>>2]|0)+8>>2]|0)+113>>0]&1)pA(0,122412,n)|0;c[W>>2]=pC(c[R>>2]|0)|0;while(1){if(!(c[W>>2]|0))break a;c[T>>2]=cB(c[R>>2]|0,c[W>>2]|0)|0;while(1){k=c[R>>2]|0;if(!(c[T>>2]|0))break;gM(k,c[T>>2]|0,c[V>>2]|0,50160);c[T>>2]=eB(c[R>>2]|0,c[T>>2]|0)|0}c[W>>2]=qC(k,c[W>>2]|0)|0}}while(0);g:do if((c[13881]|0)!=0|(c[13882]|0)!=0?(c[13887]|0)!=0|(c[13886]|0)!=0:0){c[W>>2]=pC(c[R>>2]|0)|0;while(1){if(!(c[W>>2]|0))break g;h:do if(c[13881]|0){c[T>>2]=fB(c[R>>2]|0,c[W>>2]|0)|0;while(1){if(!(c[T>>2]|0))break h;Q=c[T>>2]|0;if(c[(c[((c[c[T>>2]>>2]&3|0)==2?Q:Q+-32|0)+8>>2]|0)+100>>2]|0){Q=c[T>>2]|0;FN((c[c[T>>2]>>2]&3|0)==2?Q:Q+-32|0,1)|0;Q=c[T>>2]|0;PO(c[R>>2]|0,c[(c[((c[c[T>>2]>>2]&3|0)==2?Q:Q+-32|0)+8>>2]|0)+100>>2]|0)}c[T>>2]=gB(c[R>>2]|0,c[T>>2]|0)|0}}while(0);i:do if(c[13882]|0){c[T>>2]=cB(c[R>>2]|0,c[W>>2]|0)|0;while(1){if(!(c[T>>2]|0))break i;if((c[(c[(c[T>>2]|0)+8>>2]|0)+104>>2]|0)!=0?(FN(c[T>>2]|0,0)|0)!=0:0)PO(c[R>>2]|0,c[(c[(c[T>>2]|0)+8>>2]|0)+104>>2]|0);c[T>>2]=eB(c[R>>2]|0,c[T>>2]|0)|0}}while(0);c[W>>2]=qC(c[R>>2]|0,c[W>>2]|0)|0}}while(0);if((c[V>>2]|0)!=8&(c[V>>2]|0)!=4){B1(c[U>>2]|0);B1(c[(c[S>>2]|0)+84>>2]|0);B1(c[S>>2]|0);B1(c[X+16>>2]|0);dM()}c[13800]=1;c[13801]=1;i=Y;return}function eg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;if(c[(c[(c[d>>2]|0)+8>>2]|0)+204>>2]|0){h[e>>3]=+h[(c[(c[d>>2]|0)+8>>2]|0)+96>>3];h[(c[(c[d>>2]|0)+8>>2]|0)+96>>3]=+h[(c[(c[d>>2]|0)+8>>2]|0)+240>>3];h[(c[(c[d>>2]|0)+8>>2]|0)+240>>3]=+h[e>>3]}c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}i=f;return}function fg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=b;c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0)){b=13;break}if((a[(c[(c[g>>2]|0)+8>>2]|0)+156>>0]|0)==1){b=c[(c[g>>2]|0)+8>>2]|0;if(!(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)){b=c[b+104>>2]|0;c[f>>2]=b;if(b)ig(c[g>>2]|0)}else{c[e>>2]=c[b+112>>2];b=c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2]|0;c[f>>2]=b;if(!b){b=6;break}b=(c[f>>2]|0)+56|0;k=(c[(c[g>>2]|0)+8>>2]|0)+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];a[(c[f>>2]|0)+81>>0]=1}if(c[f>>2]|0)PO(c[d>>2]|0,c[f>>2]|0)}c[g>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+164>>2]}if((b|0)==6)db(122557,122493,234,122576);else if((b|0)==13){i=h;return}}function gg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o+20|0;g=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[g>>2]=b;c[k>>2]=e;c[l>>2]=f;do if(c[g>>2]|0)c[m>>2]=c[g>>2];else{b=c[h>>2]|0;e=c[h>>2]|0;g=c[h>>2]|0;if((c[((c[c[h>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)!=(c[((c[c[h>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)){b=c[h>>2]|0;e=c[h>>2]|0;if((c[(c[(c[((c[g>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)==(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)){c[m>>2]=2;break}else{c[m>>2]=1;break}}if((d[(c[g+8>>2]|0)+16+28>>0]|0|0)==0?(d[(c[(c[h>>2]|0)+8>>2]|0)+56+28>>0]|0|0)==0:0){c[m>>2]=8;break}c[m>>2]=4}while(0);do if(!(c[k>>2]|0)){if((c[m>>2]|0)==1){e=c[h>>2]|0;k=c[h>>2]|0;c[n>>2]=(c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)<(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)?16:32;break}if((c[m>>2]|0)==2){e=c[h>>2]|0;k=c[h>>2]|0;c[n>>2]=(c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)<(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)?16:32;break}else{c[n>>2]=16;break}}else c[n>>2]=c[k>>2];while(0);c[(c[(c[h>>2]|0)+8>>2]|0)+164>>2]=c[m>>2]|c[n>>2]|c[l>>2];i=o;return}function hg(b,e){b=b|0;e=e|0;var f=0,g=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;E=i;i=i+656|0;if((i|0)>=(j|0))ba();w=E+408|0;v=E+368|0;z=E+648|0;G=E+644|0;F=E+640|0;o=E+576|0;r=E+512|0;A=E+504|0;B=E+500|0;x=E+496|0;u=E+492|0;g=E+488|0;p=E+484|0;C=E+480|0;D=E+476|0;l=E+472|0;m=E+468|0;y=E+464|0;f=E+8|0;k=E;q=E+460|0;n=E+456|0;t=E+452|0;s=E+448|0;c[G>>2]=b;c[F>>2]=e;c[o+8>>2]=E+192;c[r+8>>2]=E+16;c[A>>2]=c[c[G>>2]>>2];c[B>>2]=c[c[F>>2]>>2];c[C>>2]=c[(c[(c[A>>2]|0)+8>>2]|0)+164>>2]&15;c[D>>2]=c[(c[(c[B>>2]|0)+8>>2]|0)+164>>2]&15;if((c[C>>2]|0)!=(c[D>>2]|0)){c[z>>2]=(c[D>>2]|0)-(c[C>>2]|0);G=c[z>>2]|0;i=E;return G|0}c[g>>2]=jg(c[A>>2]|0)|0;c[p>>2]=jg(c[B>>2]|0)|0;G=c[g>>2]|0;F=c[g>>2]|0;h[f>>3]=+((c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?G:G+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?F:F+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)|0);F=c[p>>2]|0;G=c[p>>2]|0;h[k>>3]=+((c[(c[(c[((c[c[p>>2]>>2]&3|0)==3?F:F+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[p>>2]>>2]&3|0)==2?G:G+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)|0);G=~~+h[f>>3];c[l>>2]=(~~+h[f>>3]|0)>=0?G:0-G|0;G=~~+h[k>>3];c[m>>2]=(~~+h[k>>3]|0)>=0?G:0-G|0;if((c[l>>2]|0)!=(c[m>>2]|0)){c[z>>2]=(c[l>>2]|0)-(c[m>>2]|0);G=c[z>>2]|0;i=E;return G|0}G=c[g>>2]|0;F=c[g>>2]|0;h[f>>3]=+h[(c[(c[((c[c[g>>2]>>2]&3|0)==3?G:G+32|0)+28>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[((c[c[g>>2]>>2]&3|0)==2?F:F+-32|0)+28>>2]|0)+8>>2]|0)+16>>3];F=c[p>>2]|0;G=c[p>>2]|0;h[k>>3]=+h[(c[(c[((c[c[p>>2]>>2]&3|0)==3?F:F+32|0)+28>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[((c[c[p>>2]>>2]&3|0)==2?G:G+-32|0)+28>>2]|0)+8>>2]|0)+16>>3];G=~~+h[f>>3];c[l>>2]=(~~+h[f>>3]|0)>=0?G:0-G|0;G=~~+h[k>>3];c[m>>2]=(~~+h[k>>3]|0)>=0?G:0-G|0;if((c[l>>2]|0)!=(c[m>>2]|0)){c[z>>2]=(c[l>>2]|0)-(c[m>>2]|0);G=c[z>>2]|0;i=E;return G|0}if(((c[c[g>>2]>>2]|0)>>>4|0)!=((c[c[p>>2]>>2]|0)>>>4|0)){c[z>>2]=((c[c[g>>2]>>2]|0)>>>4)-((c[c[p>>2]>>2]|0)>>>4);G=c[z>>2]|0;i=E;return G|0}if((d[(c[(c[A>>2]|0)+8>>2]|0)+16+28>>0]|0|0)==0?(d[(c[(c[A>>2]|0)+8>>2]|0)+56+28>>0]|0|0)==0:0)f=c[g>>2]|0;else f=c[A>>2]|0;c[x>>2]=f;if(c[(c[(c[x>>2]|0)+8>>2]|0)+164>>2]&32){c[q>>2]=o;c[n>>2]=c[(c[q>>2]|0)+8>>2];n5(c[n>>2]|0,c[(c[x>>2]|0)+8>>2]|0,176)|0;e=c[q>>2]|0;b=c[x>>2]|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];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];c[(c[q>>2]|0)+8>>2]=c[n>>2];e=c[x>>2]|0;b=c[q>>2]|0;c[((c[c[q>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]=c[((c[c[x>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2];b=c[x>>2]|0;e=c[q>>2]|0;c[((c[c[q>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]=c[((c[c[x>>2]>>2]&3|0)==3?b:b+32|0)+28>>2];e=(c[(c[q>>2]|0)+8>>2]|0)+16|0;b=(c[(c[x>>2]|0)+8>>2]|0)+56|0;g=e+40|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));e=(c[(c[q>>2]|0)+8>>2]|0)+56|0;b=(c[(c[x>>2]|0)+8>>2]|0)+16|0;g=e+40|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));a[(c[(c[q>>2]|0)+8>>2]|0)+112>>0]=1;c[(c[(c[q>>2]|0)+8>>2]|0)+116>>2]=c[x>>2];c[x>>2]=o}if((d[(c[(c[B>>2]|0)+8>>2]|0)+16+28>>0]|0|0)==0?(d[(c[(c[B>>2]|0)+8>>2]|0)+56+28>>0]|0|0)==0:0)f=c[p>>2]|0;else f=c[B>>2]|0;c[u>>2]=f;if(c[(c[(c[u>>2]|0)+8>>2]|0)+164>>2]&32){c[t>>2]=r;c[s>>2]=c[(c[t>>2]|0)+8>>2];n5(c[s>>2]|0,c[(c[u>>2]|0)+8>>2]|0,176)|0;e=c[t>>2]|0;b=c[u>>2]|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];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];c[(c[t>>2]|0)+8>>2]=c[s>>2];e=c[u>>2]|0;b=c[t>>2]|0;c[((c[c[t>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]=c[((c[c[u>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2];b=c[u>>2]|0;e=c[t>>2]|0;c[((c[c[t>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]=c[((c[c[u>>2]>>2]&3|0)==3?b:b+32|0)+28>>2];e=(c[(c[t>>2]|0)+8>>2]|0)+16|0;b=(c[(c[u>>2]|0)+8>>2]|0)+56|0;g=e+40|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));e=(c[(c[t>>2]|0)+8>>2]|0)+56|0;b=(c[(c[u>>2]|0)+8>>2]|0)+16|0;g=e+40|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));a[(c[(c[t>>2]|0)+8>>2]|0)+112>>0]=1;c[(c[(c[t>>2]|0)+8>>2]|0)+116>>2]=c[u>>2];c[u>>2]=r}f=(c[(c[u>>2]|0)+8>>2]|0)+16|0;e=v;b=(c[(c[x>>2]|0)+8>>2]|0)+16|0;g=e+40|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));e=w;b=f;g=e+40|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));G=bg(v,w)|0;c[y>>2]=G;if(G){c[z>>2]=c[y>>2];G=c[z>>2]|0;i=E;return G|0}f=(c[(c[u>>2]|0)+8>>2]|0)+56|0;e=v;b=(c[(c[x>>2]|0)+8>>2]|0)+56|0;g=e+40|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));e=w;b=f;g=e+40|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));G=bg(v,w)|0;c[y>>2]=G;if(G){c[z>>2]=c[y>>2];G=c[z>>2]|0;i=E;return G|0}c[C>>2]=c[(c[(c[A>>2]|0)+8>>2]|0)+164>>2]&192;c[D>>2]=c[(c[(c[B>>2]|0)+8>>2]|0)+164>>2]&192;f=c[C>>2]|0;if((c[C>>2]|0)!=(c[D>>2]|0)){c[z>>2]=f-(c[D>>2]|0);G=c[z>>2]|0;i=E;return G|0}if((f|0)==2?(c[(c[(c[A>>2]|0)+8>>2]|0)+96>>2]|0)!=(c[(c[(c[B>>2]|0)+8>>2]|0)+96>>2]|0):0){c[z>>2]=((c[(c[(c[A>>2]|0)+8>>2]|0)+96>>2]|0)-(c[(c[(c[B>>2]|0)+8>>2]|0)+96>>2]|0)|0)/88|0;G=c[z>>2]|0;i=E;return G|0}c[z>>2]=((c[c[A>>2]>>2]|0)>>>4)-((c[c[B>>2]>>2]|0)>>>4);G=c[z>>2]|0;i=E;return G|0}function ig(b){b=b|0;var d=0,e=0,f=0,g=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+28|0;e=k+8|0;g=k;f=k+24|0;c[d>>2]=b;if(!(c[(c[(c[d>>2]|0)+8>>2]|0)+172+4>>2]|0)){i=k;return}c[f>>2]=c[c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]>>2];while(1){b=c[(c[f>>2]|0)+8>>2]|0;if(!(a[(c[(c[f>>2]|0)+8>>2]|0)+112>>0]|0))break;c[f>>2]=c[b+116>>2]}b=(c[b+96>>2]|0)+24|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];b=(c[(c[(GC(c[d>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;h[g>>3]=b?+h[e+8>>3]:+h[e>>3];h[(c[(c[(c[f>>2]|0)+8>>2]|0)+96>>2]|0)+56>>3]=+h[(c[(c[d>>2]|0)+8>>2]|0)+16>>3]+ +h[g>>3]/2.0;h[(c[(c[(c[f>>2]|0)+8>>2]|0)+96>>2]|0)+56+8>>3]=+h[(c[(c[d>>2]|0)+8>>2]|0)+16+8>>3];a[(c[(c[(c[f>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]=1;i=k;return}function jg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[(c[(c[b>>2]|0)+8>>2]|0)+172>>2]|0))break;c[b>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+172>>2]}while(1){a=c[b>>2]|0;if(!(c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]|0))break;c[b>>2]=c[(c[a+8>>2]|0)+116>>2]}i=d;return a|0}function kg(b,e,f,g,k,l,m){b=b|0;e=e|0;f=f|0;g=g|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,O=0,P=0,Q=0,R=0,S=0;S=i;i=i+1824|0;if((i|0)>=(j|0))ba();B=S+1624|0;u=S+1808|0;v=S+1804|0;C=S+1800|0;D=S+1796|0;E=S+1792|0;F=S+1788|0;G=S+1784|0;z=S+1780|0;w=S+1776|0;o=S+1712|0;J=S+1704|0;M=S+1700|0;L=S+1696|0;y=S+1692|0;p=S+1688|0;P=S+1440|0;Q=S+1432|0;A=S+1424|0;t=S+1684|0;s=S+1680|0;N=S+1676|0;O=S+1672|0;R=S+728|0;K=S+32|0;q=S+1668|0;n=S+1664|0;x=S+1660|0;I=S+1656|0;H=S;c[u>>2]=b;c[v>>2]=e;c[C>>2]=f;c[D>>2]=g;c[E>>2]=k;c[F>>2]=l;c[G>>2]=m;c[o+8>>2]=S+1448;c[J>>2]=c[(c[D>>2]|0)+(c[E>>2]<<2)>>2];c[p>>2]=a[(c[(c[J>>2]|0)+8>>2]|0)+113>>0];if(c[(c[(c[J>>2]|0)+8>>2]|0)+164>>2]&32){c[q>>2]=o;c[n>>2]=c[(c[q>>2]|0)+8>>2];n5(c[n>>2]|0,c[(c[J>>2]|0)+8>>2]|0,176)|0;f=c[q>>2]|0;l=c[J>>2]|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[f+16>>2]=c[l+16>>2];c[f+20>>2]=c[l+20>>2];c[f+24>>2]=c[l+24>>2];c[f+28>>2]=c[l+28>>2];c[(c[q>>2]|0)+8>>2]=c[n>>2];f=c[J>>2]|0;l=c[q>>2]|0;c[((c[c[q>>2]>>2]&3|0)==3?l:l+32|0)+28>>2]=c[((c[c[J>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2];l=c[J>>2]|0;f=c[q>>2]|0;c[((c[c[q>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]=c[((c[c[J>>2]>>2]&3|0)==3?l:l+32|0)+28>>2];f=(c[(c[q>>2]|0)+8>>2]|0)+16|0;l=(c[(c[J>>2]|0)+8>>2]|0)+56|0;g=f+40|0;do{c[f>>2]=c[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(g|0));f=(c[(c[q>>2]|0)+8>>2]|0)+56|0;l=(c[(c[J>>2]|0)+8>>2]|0)+16|0;g=f+40|0;do{c[f>>2]=c[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(g|0));a[(c[(c[q>>2]|0)+8>>2]|0)+112>>0]=1;c[(c[(c[q>>2]|0)+8>>2]|0)+116>>2]=c[J>>2];c[J>>2]=o}c[L>>2]=1;while(1){if((c[L>>2]|0)>=(c[F>>2]|0))break;if(a[(c[(c[(c[D>>2]|0)+((c[E>>2]|0)+(c[L>>2]|0)<<2)>>2]|0)+8>>2]|0)+113>>0]|0){r=6;break}c[L>>2]=(c[L>>2]|0)+1}if((r|0)==6)c[p>>2]=1;if(c[p>>2]|0){Jg(c[u>>2]|0,c[C>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[J>>2]|0,c[G>>2]|0);i=S;return}if(c[(c[(c[J>>2]|0)+8>>2]|0)+96>>2]|0){Kg(c[u>>2]|0,c[v>>2]|0,c[C>>2]|0,c[J>>2]|0,c[G>>2]|0);i=S;return}g=c[J>>2]|0;if((c[G>>2]|0)==2){Q=c[J>>2]|0;R=c[J>>2]|0;Lg(c[((c[g>>2]&3|0)==3?Q:Q+32|0)+28>>2]|0,c[((c[c[J>>2]>>2]&3|0)==2?R:R+-32|0)+28>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[G>>2]|0);i=S;return}c[t>>2]=d[(c[g+8>>2]|0)+16+33>>0];c[s>>2]=d[(c[(c[J>>2]|0)+8>>2]|0)+56+33>>0];if(!((c[t>>2]|0)==1&(c[s>>2]|0)!=4)?!((c[s>>2]|0)==1&(c[t>>2]|0)!=4):0){g=c[J>>2]|0;c[z>>2]=c[((c[c[J>>2]>>2]&3|0)==3?g:g+32|0)+28>>2];g=c[J>>2]|0;c[w>>2]=c[((c[c[J>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2];c[y>>2]=c[(c[(c[z>>2]|0)+8>>2]|0)+232>>2];g=c[(c[u>>2]|0)+8>>2]|0;if((c[y>>2]|0)>0){l=c[(c[(c[u>>2]|0)+8>>2]|0)+196>>2]|0;f=c[y>>2]|0;if(d[g+113>>0]&1)c[x>>2]=l+(f-2<<6);else c[x>>2]=l+(f-1<<6);h[A>>3]=+h[(c[(c[c[(c[x>>2]|0)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[x>>2]|0)+16>>3]-+h[(c[(c[z>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[(c[u>>2]|0)+8>>2]|0)+196>>2]|0)+(c[y>>2]<<6)+24>>3]}else h[A>>3]=+(c[g+252>>2]|0);h[P>>3]=+(c[(c[v>>2]|0)+12>>2]|0)/+((c[F>>2]|0)+1|0);h[Q>>3]=+h[A>>3]/+((c[F>>2]|0)+1|0);Ng(c[u>>2]|0,c[v>>2]|0,c[C>>2]|0,c[z>>2]|0,c[J>>2]|0,R,1);Ng(c[u>>2]|0,c[v>>2]|0,c[C>>2]|0,c[w>>2]|0,c[J>>2]|0,K,0);c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[F>>2]|0)){r=39;break}c[J>>2]=c[(c[D>>2]|0)+((c[E>>2]|0)+(c[L>>2]|0)<<2)>>2];c[I>>2]=0;A=R+56+((c[R+52>>2]|0)-1<<5)|0;c[H>>2]=c[A>>2];c[H+4>>2]=c[A+4>>2];c[H+8>>2]=c[A+8>>2];c[H+12>>2]=c[A+12>>2];c[H+16>>2]=c[A+16>>2];c[H+20>>2]=c[A+20>>2];c[H+24>>2]=c[A+24>>2];c[H+28>>2]=c[A+28>>2];h[1104+(c[I>>2]<<5)>>3]=+h[H>>3];h[1104+(c[I>>2]<<5)+8>>3]=+h[H+16+8>>3];h[1104+(c[I>>2]<<5)+16>>3]=+h[H+16>>3]+ +((c[L>>2]|0)+1|0)*+h[P>>3];h[1104+(c[I>>2]<<5)+16+8>>3]=+h[H+16+8>>3]+ +((c[L>>2]|0)+1|0)*+h[Q>>3];c[I>>2]=(c[I>>2]|0)+1;h[1104+(c[I>>2]<<5)>>3]=+h[R+56+((c[R+52>>2]|0)-1<<5)>>3];h[1104+(c[I>>2]<<5)+8>>3]=+h[1104+((c[I>>2]|0)-1<<5)+16+8>>3];h[1104+(c[I>>2]<<5)+16>>3]=+h[K+56+((c[K+52>>2]|0)-1<<5)+16>>3];h[1104+(c[I>>2]<<5)+16+8>>3]=+h[1104+(c[I>>2]<<5)+8>>3]+ +h[Q>>3];c[I>>2]=(c[I>>2]|0)+1;A=K+56+((c[K+52>>2]|0)-1<<5)|0;c[H>>2]=c[A>>2];c[H+4>>2]=c[A+4>>2];c[H+8>>2]=c[A+8>>2];c[H+12>>2]=c[A+12>>2];c[H+16>>2]=c[A+16>>2];c[H+20>>2]=c[A+20>>2];c[H+24>>2]=c[A+24>>2];c[H+28>>2]=c[A+28>>2];h[1104+(c[I>>2]<<5)+16>>3]=+h[H+16>>3];h[1104+(c[I>>2]<<5)+8>>3]=+h[H+16+8>>3];h[1104+(c[I>>2]<<5)>>3]=+h[H>>3]-+((c[L>>2]|0)+1|0)*+h[P>>3];h[1104+(c[I>>2]<<5)+16+8>>3]=+h[1104+((c[I>>2]|0)-1<<5)+8>>3];c[I>>2]=(c[I>>2]|0)+1;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[R+52>>2]|0))break;A=c[C>>2]|0;z=R+56+(c[M>>2]<<5)|0;c[B>>2]=c[z>>2];c[B+4>>2]=c[z+4>>2];c[B+8>>2]=c[z+8>>2];c[B+12>>2]=c[z+12>>2];c[B+16>>2]=c[z+16>>2];c[B+20>>2]=c[z+20>>2];c[B+24>>2]=c[z+24>>2];c[B+28>>2]=c[z+28>>2];zN(A,B);c[M>>2]=(c[M>>2]|0)+1}c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[I>>2]|0))break;A=c[C>>2]|0;z=1104+(c[M>>2]<<5)|0;c[B>>2]=c[z>>2];c[B+4>>2]=c[z+4>>2];c[B+8>>2]=c[z+8>>2];c[B+12>>2]=c[z+12>>2];c[B+16>>2]=c[z+16>>2];c[B+20>>2]=c[z+20>>2];c[B+24>>2]=c[z+24>>2];c[B+28>>2]=c[z+28>>2];zN(A,B);c[M>>2]=(c[M>>2]|0)+1}c[M>>2]=(c[K+52>>2]|0)-1;while(1){if((c[M>>2]|0)<0)break;A=c[C>>2]|0;z=K+56+(c[M>>2]<<5)|0;c[B>>2]=c[z>>2];c[B+4>>2]=c[z+4>>2];c[B+8>>2]=c[z+8>>2];c[B+12>>2]=c[z+12>>2];c[B+16>>2]=c[z+16>>2];c[B+20>>2]=c[z+20>>2];c[B+24>>2]=c[z+24>>2];c[B+28>>2]=c[z+28>>2];zN(A,B);c[M>>2]=(c[M>>2]|0)+-1}g=c[C>>2]|0;if((c[G>>2]|0)==10)c[O>>2]=eM(g,N)|0;else c[O>>2]=fM(g,N)|0;if(!(c[N>>2]|0)){r=39;break}A=c[J>>2]|0;yN(c[J>>2]|0,c[((c[c[J>>2]>>2]&3|0)==2?A:A+-32|0)+28>>2]|0,c[O>>2]|0,c[N>>2]|0,50160);c[(c[C>>2]|0)+80>>2]=0;c[L>>2]=(c[L>>2]|0)+1}if((r|0)==39){i=S;return}}Mg(c[u>>2]|0,c[v>>2]|0,c[C>>2]|0,c[D>>2]|0,c[E>>2]|0,c[F>>2]|0,c[J>>2]|0,(c[G>>2]|0)==10&1);i=S;return}function lg(b,e,f,g,k,l,m){b=b|0;e=e|0;f=f|0;g=g|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,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,aa=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.0;oa=i;i=i+2672|0;if((i|0)>=(j|0))ba();I=oa+2304|0;x=oa+2656|0;$=oa+2652|0;S=oa+2648|0;aa=oa+2644|0;ca=oa+2640|0;da=oa+2636|0;T=oa+2632|0;Q=oa+2628|0;ia=oa+2624|0;n=oa+2128|0;o=oa+1952|0;v=oa+2560|0;U=oa+2496|0;ha=oa+2432|0;fa=oa+2424|0;ga=oa+2420|0;w=oa+2416|0;Y=oa+2412|0;X=oa+2408|0;P=oa+1080|0;K=oa+384|0;H=oa+352|0;J=oa+2404|0;N=oa+2400|0;M=oa+2396|0;O=oa+2392|0;ja=oa+2388|0;la=oa+2384|0;ea=oa+2380|0;W=oa+2376|0;V=oa+2372|0;L=oa+2368|0;na=oa+2364|0;r=oa+2360|0;p=oa+2356|0;s=oa+2352|0;q=oa+2348|0;Z=oa+2344|0;t=oa+320|0;u=oa+288|0;G=oa+256|0;y=oa+224|0;z=oa+192|0;A=oa+160|0;B=oa+128|0;C=oa+96|0;D=oa+64|0;E=oa+32|0;F=oa;ma=oa+2340|0;ka=oa+2336|0;c[x>>2]=b;c[$>>2]=e;c[S>>2]=f;c[aa>>2]=g;c[ca>>2]=k;c[da>>2]=l;c[T>>2]=m;c[v+8>>2]=n;c[U+8>>2]=o;c[ha+8>>2]=oa+1776;if(!(c[12543]|0)){c[12543]=rK(32e3)|0;c[12544]=rK(32e3)|0;c[12545]=2e3;c[12546]=2e3}c[N>>2]=0;c[fa>>2]=c[(c[aa>>2]|0)+(c[ca>>2]<<2)>>2];c[V>>2]=0;b=c[fa>>2]|0;k=c[fa>>2]|0;f=c[fa>>2]|0;e=c[fa>>2]|0;e=(c[(c[(c[((c[c[fa>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[fa>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)|0;f=c[fa>>2]|0;if(((((c[(c[(c[((c[c[fa>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[fa>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)|0)>=0?e:0-e|0)|0)<=1){if(c[(c[f+8>>2]|0)+164>>2]&32){c[s>>2]=v;c[q>>2]=c[(c[s>>2]|0)+8>>2];n5(c[q>>2]|0,c[(c[fa>>2]|0)+8>>2]|0,176)|0;g=c[s>>2]|0;l=c[fa>>2]|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];c[g+16>>2]=c[l+16>>2];c[g+20>>2]=c[l+20>>2];c[g+24>>2]=c[l+24>>2];c[g+28>>2]=c[l+28>>2];c[(c[s>>2]|0)+8>>2]=c[q>>2];g=c[fa>>2]|0;l=c[s>>2]|0;c[((c[c[s>>2]>>2]&3|0)==3?l:l+32|0)+28>>2]=c[((c[c[fa>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2];l=c[fa>>2]|0;g=c[s>>2]|0;c[((c[c[s>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]=c[((c[c[fa>>2]>>2]&3|0)==3?l:l+32|0)+28>>2];g=(c[(c[s>>2]|0)+8>>2]|0)+16|0;l=(c[(c[fa>>2]|0)+8>>2]|0)+56|0;f=g+40|0;do{c[g>>2]=c[l>>2];g=g+4|0;l=l+4|0}while((g|0)<(f|0));g=(c[(c[s>>2]|0)+8>>2]|0)+56|0;l=(c[(c[fa>>2]|0)+8>>2]|0)+16|0;f=g+40|0;do{c[g>>2]=c[l>>2];g=g+4|0;l=l+4|0}while((g|0)<(f|0));a[(c[(c[s>>2]|0)+8>>2]|0)+112>>0]=1;c[(c[(c[s>>2]|0)+8>>2]|0)+116>>2]=c[fa>>2];c[fa>>2]=v}}else{n5(n|0,c[f+8>>2]|0,176)|0;s=c[fa>>2]|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[v+16>>2]=c[s+16>>2];c[v+20>>2]=c[s+20>>2];c[v+24>>2]=c[s+24>>2];c[v+28>>2]=c[s+28>>2];c[v+8>>2]=n;if(c[(c[(c[fa>>2]|0)+8>>2]|0)+164>>2]&32){c[r>>2]=U;c[p>>2]=c[(c[r>>2]|0)+8>>2];n5(c[p>>2]|0,c[(c[fa>>2]|0)+8>>2]|0,176)|0;g=c[r>>2]|0;l=c[fa>>2]|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];c[g+16>>2]=c[l+16>>2];c[g+20>>2]=c[l+20>>2];c[g+24>>2]=c[l+24>>2];c[g+28>>2]=c[l+28>>2];c[(c[r>>2]|0)+8>>2]=c[p>>2];g=c[fa>>2]|0;l=c[r>>2]|0;c[((c[c[r>>2]>>2]&3|0)==3?l:l+32|0)+28>>2]=c[((c[c[fa>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2];l=c[fa>>2]|0;g=c[r>>2]|0;c[((c[c[r>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]=c[((c[c[fa>>2]>>2]&3|0)==3?l:l+32|0)+28>>2];g=(c[(c[r>>2]|0)+8>>2]|0)+16|0;l=(c[(c[fa>>2]|0)+8>>2]|0)+56|0;f=g+40|0;do{c[g>>2]=c[l>>2];g=g+4|0;l=l+4|0}while((g|0)<(f|0));g=(c[(c[r>>2]|0)+8>>2]|0)+56|0;l=(c[(c[fa>>2]|0)+8>>2]|0)+16|0;f=g+40|0;do{c[g>>2]=c[l>>2];g=g+4|0;l=l+4|0}while((g|0)<(f|0));a[(c[(c[r>>2]|0)+8>>2]|0)+112>>0]=1;c[(c[(c[r>>2]|0)+8>>2]|0)+116>>2]=c[fa>>2];g=c[fa>>2]|0;c[((c[v>>2]&3|0)==3?v:v+32|0)+28>>2]=c[((c[c[fa>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2];g=(c[v+8>>2]|0)+16|0;l=(c[(c[fa>>2]|0)+8>>2]|0)+56|0;f=g+40|0;do{c[g>>2]=c[l>>2];g=g+4|0;l=l+4|0}while((g|0)<(f|0))}else{n5(o|0,c[(c[fa>>2]|0)+8>>2]|0,176)|0;s=c[fa>>2]|0;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[U+16>>2]=c[s+16>>2];c[U+20>>2]=c[s+20>>2];c[U+24>>2]=c[s+24>>2];c[U+28>>2]=c[s+28>>2];c[U+8>>2]=o;s=c[fa>>2]|0;c[((c[v>>2]&3|0)==3?v:v+32|0)+28>>2]=c[((c[c[fa>>2]>>2]&3|0)==3?s:s+32|0)+28>>2]}c[w>>2]=jg(c[fa>>2]|0)|0;while(1){g=c[w>>2]|0;if(!(c[(c[(c[w>>2]|0)+8>>2]|0)+172>>2]|0))break;c[w>>2]=c[(c[g+8>>2]|0)+172>>2]}w=c[w>>2]|0;c[((c[v>>2]&3|0)==2?v:v+-32|0)+28>>2]=c[((c[g>>2]&3|0)==2?w:w+-32|0)+28>>2];a[(c[v+8>>2]|0)+56+28>>0]=0;a[(c[v+8>>2]|0)+112>>0]=1;h[(c[v+8>>2]|0)+56+8>>3]=0.0;h[(c[v+8>>2]|0)+56>>3]=0.0;c[(c[v+8>>2]|0)+116>>2]=c[fa>>2];c[fa>>2]=v;c[V>>2]=1}c[ga>>2]=c[fa>>2];if(!((c[T>>2]|0)==2?(w=pg(c[x>>2]|0,c[ga>>2]|0,c[12543]|0,ia)|0,c[na>>2]=w,(w|0)!=0):0)){c[Z>>2]=(c[T>>2]|0)==10&1;c[J>>2]=0;c[na>>2]=0;c[Y>>2]=c[fa>>2];v=c[fa>>2]|0;c[Q>>2]=c[((c[c[fa>>2]>>2]&3|0)==3?v:v+32|0)+28>>2];v=c[fa>>2]|0;c[ia>>2]=c[((c[c[fa>>2]>>2]&3|0)==2?v:v+-32|0)+28>>2];qg(t,c[x>>2]|0,c[$>>2]|0,c[Q>>2]|0,0,c[fa>>2]|0);c[P>>2]=c[t>>2];c[P+4>>2]=c[t+4>>2];c[P+8>>2]=c[t+8>>2];c[P+12>>2]=c[t+12>>2];c[P+16>>2]=c[t+16>>2];c[P+20>>2]=c[t+20>>2];c[P+24>>2]=c[t+24>>2];c[P+28>>2]=c[t+28>>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];c[H+16>>2]=c[P+16>>2];c[H+20>>2]=c[P+20>>2];c[H+24>>2]=c[P+24>>2];c[H+28>>2]=c[P+28>>2];v=c[S>>2]|0;w=c[fa>>2]|0;AN(v,w,1,P,rg(c[Q>>2]|0)|0);h[H+16+8>>3]=+h[P+56+((c[P+52>>2]|0)-1<<5)+16+8>>3];h[H+8>>3]=+h[P+56+((c[P+52>>2]|0)-1<<5)+8>>3];pa=+h[(c[(c[Q>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[(c[x>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[Q>>2]|0)+8>>2]|0)+232>>2]<<6)+16>>3];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[I+16>>2]=c[H+16>>2];c[I+20>>2]=c[H+20>>2];c[I+24>>2]=c[H+24>>2];c[I+28>>2]=c[H+28>>2];sg(u,I,1,pa);c[H>>2]=c[u>>2];c[H+4>>2]=c[u+4>>2];c[H+8>>2]=c[u+8>>2];c[H+12>>2]=c[u+12>>2];c[H+16>>2]=c[u+16>>2];c[H+20>>2]=c[u+20>>2];c[H+24>>2]=c[u+24>>2];c[H+28>>2]=c[u+28>>2];if(+h[H>>3]<+h[H+16>>3]?+h[H+8>>3]<+h[H+16+8>>3]:0){v=P+52|0;w=c[v>>2]|0;c[v>>2]=w+1;w=P+56+(w<<5)|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];c[w+16>>2]=c[H+16>>2];c[w+20>>2]=c[H+20>>2];c[w+24>>2]=c[H+24>>2];c[w+28>>2]=c[H+28>>2]}c[L>>2]=0;c[O>>2]=0;c[M>>2]=-1;while(1){if((a[(c[(c[ia>>2]|0)+8>>2]|0)+156>>0]|0)!=1)break;if(!((Zb[c[50164>>2]&63](c[ia>>2]|0)|0)<<24>>24!=0^1))break;c[L>>2]=1;w=c[J>>2]|0;c[J>>2]=w+1;w=1104+(w<<5)|0;tg(G,c[$>>2]|0,c[x>>2]|0,c[(c[(c[Q>>2]|0)+8>>2]|0)+232>>2]|0);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[w+16>>2]=c[G+16>>2];c[w+20>>2]=c[G+20>>2];c[w+24>>2]=c[G+24>>2];c[w+28>>2]=c[G+28>>2];if((c[O>>2]|0)==0?(w=ug(c[ia>>2]|0)|0,c[N>>2]=w,(w|0)>=(((d[(c[(c[x>>2]|0)+8>>2]|0)+113>>0]&1|0)!=0?5:3)|0)):0){c[O>>2]=1;c[M>>2]=1;c[N>>2]=(c[N>>2]|0)-2}if((c[O>>2]|0)==0|(c[M>>2]|0)>0){c[M>>2]=(c[M>>2]|0)+-1;w=c[J>>2]|0;c[J>>2]=w+1;w=1104+(w<<5)|0;qg(y,c[x>>2]|0,c[$>>2]|0,c[ia>>2]|0,c[fa>>2]|0,c[c[(c[(c[ia>>2]|0)+8>>2]|0)+180>>2]>>2]|0);c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];c[fa>>2]=c[c[(c[(c[ia>>2]|0)+8>>2]|0)+180>>2]>>2];w=c[fa>>2]|0;c[Q>>2]=c[((c[c[fa>>2]>>2]&3|0)==3?w:w+32|0)+28>>2];w=c[fa>>2]|0;c[ia>>2]=c[((c[c[fa>>2]>>2]&3|0)==2?w:w+-32|0)+28>>2];continue}qg(z,c[x>>2]|0,c[$>>2]|0,c[ia>>2]|0,c[fa>>2]|0,c[c[(c[(c[ia>>2]|0)+8>>2]|0)+180>>2]>>2]|0);c[K>>2]=c[z>>2];c[K+4>>2]=c[z+4>>2];c[K+8>>2]=c[z+8>>2];c[K+12>>2]=c[z+12>>2];c[K+16>>2]=c[z+16>>2];c[K+20>>2]=c[z+20>>2];c[K+24>>2]=c[z+24>>2];c[K+28>>2]=c[z+28>>2];u=c[S>>2]|0;v=c[fa>>2]|0;w=c[fa>>2]|0;BN(u,v,1,K,rg(c[((c[c[fa>>2]>>2]&3|0)==2?w:w+-32|0)+28>>2]|0)|0);w=K+56+((c[K+52>>2]|0)-1<<5)|0;pa=+h[(c[(c[ia>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[(c[x>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[ia>>2]|0)+8>>2]|0)+232>>2]<<6)+24>>3];c[I>>2]=c[w>>2];c[I+4>>2]=c[w+4>>2];c[I+8>>2]=c[w+8>>2];c[I+12>>2]=c[w+12>>2];c[I+16>>2]=c[w+16>>2];c[I+20>>2]=c[w+20>>2];c[I+24>>2]=c[w+24>>2];c[I+28>>2]=c[w+28>>2];sg(A,I,4,pa);c[H>>2]=c[A>>2];c[H+4>>2]=c[A+4>>2];c[H+8>>2]=c[A+8>>2];c[H+12>>2]=c[A+12>>2];c[H+16>>2]=c[A+16>>2];c[H+20>>2]=c[A+20>>2];c[H+24>>2]=c[A+24>>2];c[H+28>>2]=c[A+28>>2];if(+h[H>>3]<+h[H+16>>3]?+h[H+8>>3]<+h[H+16+8>>3]:0){v=K+52|0;w=c[v>>2]|0;c[v>>2]=w+1;w=K+56+(w<<5)|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];c[w+16>>2]=c[H+16>>2];c[w+20>>2]=c[H+20>>2];c[w+24>>2]=c[H+24>>2];c[w+28>>2]=c[H+28>>2]}h[(c[S>>2]|0)+40+16>>3]=1.5707963267948966;a[(c[S>>2]|0)+40+29>>0]=1;vg(c[S>>2]|0,c[Y>>2]|0,c[fa>>2]|0,P,K,1104,c[J>>2]|0,1);g=c[S>>2]|0;if(!(c[Z>>2]|0)){c[X>>2]=fM(g,W)|0;if((c[T>>2]|0)==2&(c[W>>2]|0)>4){w=(c[X>>2]|0)+16|0;v=c[X>>2]|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];w=(c[X>>2]|0)+48|0;v=(c[X>>2]|0)+32|0;u=(c[X>>2]|0)+((c[W>>2]|0)-1<<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[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];c[W>>2]=4}}else c[X>>2]=eM(g,W)|0;if(!(c[W>>2]|0)){R=82;break}if(((c[na>>2]|0)+(c[W>>2]|0)|0)>(c[12545]|0)){c[12545]=(c[na>>2]|0)+(c[W>>2]|0)<<1;c[12543]=tK(c[12543]|0,c[12545]<<4)|0}c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[W>>2]|0))break;w=c[na>>2]|0;c[na>>2]=w+1;w=(c[12543]|0)+(w<<4)|0;v=(c[X>>2]|0)+(c[ja>>2]<<4)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];c[ja>>2]=(c[ja>>2]|0)+1}c[fa>>2]=wg(c[c[(c[(c[ia>>2]|0)+8>>2]|0)+180>>2]>>2]|0,c[N>>2]|0,c[12543]|0,na)|0;xg(c[Y>>2]|0,c[S>>2]|0);c[Y>>2]=c[fa>>2];v=c[fa>>2]|0;c[Q>>2]=c[((c[c[fa>>2]>>2]&3|0)==3?v:v+32|0)+28>>2];v=c[fa>>2]|0;c[ia>>2]=c[((c[c[fa>>2]>>2]&3|0)==2?v:v+-32|0)+28>>2];c[J>>2]=0;qg(B,c[x>>2]|0,c[$>>2]|0,c[Q>>2]|0,c[c[(c[(c[Q>>2]|0)+8>>2]|0)+172>>2]>>2]|0,c[fa>>2]|0);c[P>>2]=c[B>>2];c[P+4>>2]=c[B+4>>2];c[P+8>>2]=c[B+8>>2];c[P+12>>2]=c[B+12>>2];c[P+16>>2]=c[B+16>>2];c[P+20>>2]=c[B+20>>2];c[P+24>>2]=c[B+24>>2];c[P+28>>2]=c[B+28>>2];v=c[S>>2]|0;w=c[fa>>2]|0;AN(v,w,1,P,rg(c[Q>>2]|0)|0);w=P+56+((c[P+52>>2]|0)-1<<5)|0;pa=+h[(c[(c[Q>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[(c[x>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[Q>>2]|0)+8>>2]|0)+232>>2]<<6)+16>>3];c[I>>2]=c[w>>2];c[I+4>>2]=c[w+4>>2];c[I+8>>2]=c[w+8>>2];c[I+12>>2]=c[w+12>>2];c[I+16>>2]=c[w+16>>2];c[I+20>>2]=c[w+20>>2];c[I+24>>2]=c[w+24>>2];c[I+28>>2]=c[w+28>>2];sg(C,I,1,pa);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];c[H+16>>2]=c[C+16>>2];c[H+20>>2]=c[C+20>>2];c[H+24>>2]=c[C+24>>2];c[H+28>>2]=c[C+28>>2];if(+h[H>>3]<+h[H+16>>3]?+h[H+8>>3]<+h[H+16+8>>3]:0){v=P+52|0;w=c[v>>2]|0;c[v>>2]=w+1;w=P+56+(w<<5)|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];c[w+16>>2]=c[H+16>>2];c[w+20>>2]=c[H+20>>2];c[w+24>>2]=c[H+24>>2];c[w+28>>2]=c[H+28>>2]}h[(c[S>>2]|0)+16>>3]=-1.5707963267948966;a[(c[S>>2]|0)+29>>0]=1;c[O>>2]=0}if((R|0)==82){i=oa;return}O=c[J>>2]|0;c[J>>2]=O+1;O=1104+(O<<5)|0;tg(D,c[$>>2]|0,c[x>>2]|0,c[(c[(c[Q>>2]|0)+8>>2]|0)+232>>2]|0);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];c[O+16>>2]=c[D+16>>2];c[O+20>>2]=c[D+20>>2];c[O+24>>2]=c[D+24>>2];c[O+28>>2]=c[D+28>>2];qg(E,c[x>>2]|0,c[$>>2]|0,c[ia>>2]|0,c[fa>>2]|0,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[K+16>>2]=c[E+16>>2];c[K+20>>2]=c[E+20>>2];c[K+24>>2]=c[E+24>>2];c[K+28>>2]=c[E+28>>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];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];O=c[S>>2]|0;Q=(c[V>>2]|0)!=0?U:c[fa>>2]|0;R=c[fa>>2]|0;BN(O,Q,1,K,rg(c[((c[c[fa>>2]>>2]&3|0)==2?R:R+-32|0)+28>>2]|0)|0);h[H+16+8>>3]=+h[K+56+((c[K+52>>2]|0)-1<<5)+16+8>>3];h[H+8>>3]=+h[K+56+((c[K+52>>2]|0)-1<<5)+8>>3];pa=+h[(c[(c[ia>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[(c[x>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[ia>>2]|0)+8>>2]|0)+232>>2]<<6)+24>>3];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[I+16>>2]=c[H+16>>2];c[I+20>>2]=c[H+20>>2];c[I+24>>2]=c[H+24>>2];c[I+28>>2]=c[H+28>>2];sg(F,I,4,pa);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[H+16>>2]=c[F+16>>2];c[H+20>>2]=c[F+20>>2];c[H+24>>2]=c[F+24>>2];c[H+28>>2]=c[F+28>>2];if(+h[H>>3]<+h[H+16>>3]?+h[H+8>>3]<+h[H+16+8>>3]:0){Q=K+52|0;R=c[Q>>2]|0;c[Q>>2]=R+1;R=K+56+(R<<5)|0;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[R+16>>2]=c[H+16>>2];c[R+20>>2]=c[H+20>>2];c[R+24>>2]=c[H+24>>2];c[R+28>>2]=c[H+28>>2]}vg(c[S>>2]|0,c[Y>>2]|0,c[fa>>2]|0,P,K,1104,c[J>>2]|0,c[L>>2]|0);g=c[S>>2]|0;if(c[Z>>2]|0)c[X>>2]=eM(g,W)|0;else c[X>>2]=fM(g,W)|0;if((c[T>>2]|0)==2&(c[W>>2]|0)>4){Z=(c[X>>2]|0)+16|0;T=c[X>>2]|0;c[Z>>2]=c[T>>2];c[Z+4>>2]=c[T+4>>2];c[Z+8>>2]=c[T+8>>2];c[Z+12>>2]=c[T+12>>2];Z=(c[X>>2]|0)+48|0;T=(c[X>>2]|0)+32|0;R=(c[X>>2]|0)+((c[W>>2]|0)-1<<4)|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];c[Z>>2]=c[T>>2];c[Z+4>>2]=c[T+4>>2];c[Z+8>>2]=c[T+8>>2];c[Z+12>>2]=c[T+12>>2];c[W>>2]=4}if(!(c[W>>2]|0)){i=oa;return}if(((c[na>>2]|0)+(c[W>>2]|0)|0)>(c[12545]|0)){c[12545]=(c[na>>2]|0)+(c[W>>2]|0)<<1;c[12543]=tK(c[12543]|0,c[12545]<<4)|0}c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[W>>2]|0))break;Z=c[na>>2]|0;c[na>>2]=Z+1;Z=(c[12543]|0)+(Z<<4)|0;T=(c[X>>2]|0)+(c[ja>>2]<<4)|0;c[Z>>2]=c[T>>2];c[Z+4>>2]=c[T+4>>2];c[Z+8>>2]=c[T+8>>2];c[Z+12>>2]=c[T+12>>2];c[ja>>2]=(c[ja>>2]|0)+1}xg(c[Y>>2]|0,c[S>>2]|0);if(c[V>>2]|0)g=c[((c[U>>2]&3|0)==2?U:U+-32|0)+28>>2]|0;else{g=c[fa>>2]|0;g=c[((c[c[fa>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0}c[ia>>2]=g}if((c[da>>2]|0)==1){yN(c[ga>>2]|0,c[ia>>2]|0,c[12543]|0,c[na>>2]|0,50160);i=oa;return}c[ea>>2]=(_(c[(c[$>>2]|0)+12>>2]|0,(c[da>>2]|0)-1|0)|0)/2|0;c[ja>>2]=1;while(1){if((c[ja>>2]|0)>=((c[na>>2]|0)-1|0))break;Z=(c[12543]|0)+(c[ja>>2]<<4)|0;h[Z>>3]=+h[Z>>3]-+(c[ea>>2]|0);c[ja>>2]=(c[ja>>2]|0)+1}if((c[12545]|0)>(c[12546]|0)){c[12546]=c[12545];c[12544]=tK(c[12544]|0,c[12546]<<4)|0}c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[na>>2]|0))break;ea=(c[12544]|0)+(c[ja>>2]<<4)|0;Z=(c[12543]|0)+(c[ja>>2]<<4)|0;c[ea>>2]=c[Z>>2];c[ea+4>>2]=c[Z+4>>2];c[ea+8>>2]=c[Z+8>>2];c[ea+12>>2]=c[Z+12>>2];c[ja>>2]=(c[ja>>2]|0)+1}yN(c[ga>>2]|0,c[ia>>2]|0,c[12544]|0,c[na>>2]|0,50160);c[la>>2]=1;while(1){if((c[la>>2]|0)>=(c[da>>2]|0))break;c[fa>>2]=c[(c[aa>>2]|0)+((c[ca>>2]|0)+(c[la>>2]|0)<<2)>>2];if(c[(c[(c[fa>>2]|0)+8>>2]|0)+164>>2]&32){c[ma>>2]=ha;c[ka>>2]=c[(c[ma>>2]|0)+8>>2];n5(c[ka>>2]|0,c[(c[fa>>2]|0)+8>>2]|0,176)|0;g=c[ma>>2]|0;l=c[fa>>2]|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];c[g+16>>2]=c[l+16>>2];c[g+20>>2]=c[l+20>>2];c[g+24>>2]=c[l+24>>2];c[g+28>>2]=c[l+28>>2];c[(c[ma>>2]|0)+8>>2]=c[ka>>2];g=c[fa>>2]|0;l=c[ma>>2]|0;c[((c[c[ma>>2]>>2]&3|0)==3?l:l+32|0)+28>>2]=c[((c[c[fa>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2];l=c[fa>>2]|0;g=c[ma>>2]|0;c[((c[c[ma>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]=c[((c[c[fa>>2]>>2]&3|0)==3?l:l+32|0)+28>>2];g=(c[(c[ma>>2]|0)+8>>2]|0)+16|0;l=(c[(c[fa>>2]|0)+8>>2]|0)+56|0;f=g+40|0;do{c[g>>2]=c[l>>2];g=g+4|0;l=l+4|0}while((g|0)<(f|0));g=(c[(c[ma>>2]|0)+8>>2]|0)+56|0;l=(c[(c[fa>>2]|0)+8>>2]|0)+16|0;f=g+40|0;do{c[g>>2]=c[l>>2];g=g+4|0;l=l+4|0}while((g|0)<(f|0));a[(c[(c[ma>>2]|0)+8>>2]|0)+112>>0]=1;c[(c[(c[ma>>2]|0)+8>>2]|0)+116>>2]=c[fa>>2];c[fa>>2]=ha}c[ja>>2]=1;while(1){if((c[ja>>2]|0)>=((c[na>>2]|0)-1|0))break;ia=(c[12543]|0)+(c[ja>>2]<<4)|0;h[ia>>3]=+h[ia>>3]+ +(c[(c[$>>2]|0)+12>>2]|0);c[ja>>2]=(c[ja>>2]|0)+1}c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[na>>2]|0))break;ia=(c[12544]|0)+(c[ja>>2]<<4)|0;ga=(c[12543]|0)+(c[ja>>2]<<4)|0;c[ia>>2]=c[ga>>2];c[ia+4>>2]=c[ga+4>>2];c[ia+8>>2]=c[ga+8>>2];c[ia+12>>2]=c[ga+12>>2];c[ja>>2]=(c[ja>>2]|0)+1}ia=c[fa>>2]|0;yN(c[fa>>2]|0,c[((c[c[fa>>2]>>2]&3|0)==2?ia:ia+-32|0)+28>>2]|0,c[12544]|0,c[na>>2]|0,50160);c[la>>2]=(c[la>>2]|0)+1}i=oa;return}function mg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[d>>2]=cB(c[b>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;if(((Zb[c[50160>>2]&63](c[d>>2]|0)|0)&255|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0)ng(c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}i=f;return}function ng(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();b=k+20|0;e=k+16|0;f=k+12|0;g=k+8|0;d=k+4|0;h=k;c[b>>2]=a;c[h>>2]=c[(c[b>>2]|0)+4>>2];c[e>>2]=rK((c[h>>2]|0)*48|0)|0;c[f>>2]=c[e>>2];c[g>>2]=(c[c[b>>2]>>2]|0)+(((c[h>>2]|0)-1|0)*48|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[h>>2]|0))break;l=c[g>>2]|0;c[g>>2]=l+-48;a=c[f>>2]|0;c[f>>2]=a+48;og(l,a);c[d>>2]=(c[d>>2]|0)+1}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[h>>2]|0))break;B1(c[(c[c[b>>2]>>2]|0)+((c[d>>2]|0)*48|0)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}B1(c[c[b>>2]>>2]|0);c[c[b>>2]>>2]=c[e>>2];i=k;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();d=m+24|0;e=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;f=m+4|0;l=m;c[d>>2]=a;c[e>>2]=b;c[l>>2]=c[(c[d>>2]|0)+4>>2];c[g>>2]=rK(c[l>>2]<<4)|0;c[h>>2]=c[g>>2];c[k>>2]=(c[c[d>>2]>>2]|0)+((c[l>>2]|0)-1<<4);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[l>>2]|0))break;a=c[h>>2]|0;c[h>>2]=a+16;b=c[k>>2]|0;c[k>>2]=b+-16;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)+1}c[c[e>>2]>>2]=c[g>>2];c[(c[e>>2]|0)+4>>2]=c[l>>2];c[(c[e>>2]|0)+8>>2]=c[(c[d>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+8>>2];l=(c[e>>2]|0)+16|0;k=(c[d>>2]|0)+32|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];l=(c[e>>2]|0)+32|0;k=(c[d>>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];i=m;return}function pg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var k=0.0,l=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+240|0;if((i|0)>=(j|0))ba();y=J+176|0;z=J+160|0;w=J+144|0;C=J+228|0;m=J+224|0;n=J+220|0;D=J+216|0;o=J+212|0;t=J+208|0;H=J+204|0;x=J+200|0;A=J+196|0;v=J+192|0;I=J+128|0;E=J+112|0;G=J+96|0;u=J+80|0;B=J+72|0;F=J+64|0;p=J+48|0;q=J+32|0;r=J+16|0;s=J;c[m>>2]=b;c[n>>2]=e;c[D>>2]=f;c[o>>2]=g;c[v>>2]=c[n>>2];while(1){e=c[v>>2]|0;if(!(a[(c[(c[v>>2]|0)+8>>2]|0)+112>>0]|0))break;c[v>>2]=c[(c[e+8>>2]|0)+116>>2]}f=c[v>>2]|0;c[x>>2]=c[((c[e>>2]&3|0)==2?f:f+-32|0)+28>>2];f=c[v>>2]|0;c[A>>2]=c[((c[c[v>>2]>>2]&3|0)==3?f:f+32|0)+28>>2];f=(c[(c[(c[x>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[A>>2]|0)+8>>2]|0)+232>>2]|0)|0;c[t>>2]=((c[(c[(c[x>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[A>>2]|0)+8>>2]|0)+232>>2]|0)|0)>=0?f:0-f|0;do if((c[t>>2]|0)!=1){if((c[t>>2]|0)==2?(d[(c[(c[m>>2]|0)+8>>2]|0)+113>>0]&1|0)!=0:0)break;m=c[n>>2]|0;t=c[v>>2]|0;if((c[((c[c[n>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]|0)==(c[((c[c[v>>2]>>2]&3|0)==3?t:t+32|0)+28>>2]|0)){c[c[o>>2]>>2]=c[x>>2];A=(c[(c[A>>2]|0)+8>>2]|0)+16|0;t=(c[(c[v>>2]|0)+8>>2]|0)+16|0;c[z>>2]=c[A>>2];c[z+4>>2]=c[A+4>>2];c[z+8>>2]=c[A+8>>2];c[z+12>>2]=c[A+12>>2];c[y>>2]=c[t>>2];c[y+4>>2]=c[t+4>>2];c[y+8>>2]=c[t+8>>2];c[y+12>>2]=c[t+12>>2];Hg(p,z,y);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];t=(c[(c[x>>2]|0)+8>>2]|0)+16|0;A=(c[(c[v>>2]|0)+8>>2]|0)+56|0;c[z>>2]=c[t>>2];c[z+4>>2]=c[t+4>>2];c[z+8>>2]=c[t+8>>2];c[z+12>>2]=c[t+12>>2];c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];Hg(q,z,y);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]}else{c[c[o>>2]>>2]=c[A>>2];q=(c[(c[x>>2]|0)+8>>2]|0)+16|0;t=(c[(c[v>>2]|0)+8>>2]|0)+56|0;c[z>>2]=c[q>>2];c[z+4>>2]=c[q+4>>2];c[z+8>>2]=c[q+8>>2];c[z+12>>2]=c[q+12>>2];c[y>>2]=c[t>>2];c[y+4>>2]=c[t+4>>2];c[y+8>>2]=c[t+8>>2];c[y+12>>2]=c[t+12>>2];Hg(r,z,y);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];t=(c[(c[A>>2]|0)+8>>2]|0)+16|0;A=(c[(c[v>>2]|0)+8>>2]|0)+16|0;c[z>>2]=c[t>>2];c[z+4>>2]=c[t+4>>2];c[z+8>>2]=c[t+8>>2];c[z+12>>2]=c[t+12>>2];c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];Hg(s,z,y);c[E>>2]=c[s>>2];c[E+4>>2]=c[s+4>>2];c[E+8>>2]=c[s+8>>2];c[E+12>>2]=c[s+12>>2]}if(c[(c[(c[v>>2]|0)+8>>2]|0)+96>>2]|0){A=(c[(c[(c[v>>2]|0)+8>>2]|0)+96>>2]|0)+24|0;c[u>>2]=c[A>>2];c[u+4>>2]=c[A+4>>2];c[u+8>>2]=c[A+8>>2];c[u+12>>2]=c[A+12>>2];if(c[(c[(GC(c[x>>2]|0)|0)+8>>2]|0)+116>>2]&1){h[B>>3]=+h[u+8>>3];h[F>>3]=+h[u>>3]}else{h[B>>3]=+h[u>>3];h[F>>3]=+h[u+8>>3]}A=(c[(c[(c[v>>2]|0)+8>>2]|0)+96>>2]|0)+56|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];c[w>>2]=c[E>>2];c[w+4>>2]=c[E+4>>2];c[w+8>>2]=c[E+8>>2];c[w+12>>2]=c[E+12>>2];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[y>>2]=c[G>>2];c[y+4>>2]=c[G+4>>2];c[y+8>>2]=c[G+8>>2];c[y+12>>2]=c[G+12>>2];A=(Ig(w,z,y)|0)!=0;k=+h[B>>3]/2.0;l=+h[G>>3];if(A){h[G>>3]=l+k;B=G+8|0;h[B>>3]=+h[B>>3]-+h[F>>3]/2.0}else{h[G>>3]=l-k;B=G+8|0;h[B>>3]=+h[B>>3]+ +h[F>>3]/2.0}F=(c[D>>2]|0)+16|0;B=c[D>>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];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];I=(c[D>>2]|0)+32|0;F=(c[D>>2]|0)+48|0;B=(c[D>>2]|0)+64|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[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[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];I=(c[D>>2]|0)+80|0;G=(c[D>>2]|0)+96|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[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[H>>2]=7}else{G=(c[D>>2]|0)+16|0;F=c[D>>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[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=(c[D>>2]|0)+48|0;G=(c[D>>2]|0)+32|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[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[H>>2]=4}c[C>>2]=c[H>>2];I=c[C>>2]|0;i=J;return I|0}while(0);c[C>>2]=0;I=c[C>>2]|0;i=J;return I|0}function qg(b,d,e,f,g,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|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.0;x=i;i=i+96|0;if((i|0)>=(j|0))ba();u=x+80|0;n=x+76|0;v=x+72|0;o=x+68|0;p=x+64|0;q=x+40|0;r=x+32|0;m=x+60|0;t=x+56|0;l=x+52|0;s=x+48|0;w=x;c[u>>2]=d;c[n>>2]=e;c[v>>2]=f;c[o>>2]=g;c[p>>2]=k;c[t>>2]=0;c[m>>2]=0;h[q>>3]=+h[(c[(c[v>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[v>>2]|0)+8>>2]|0)+88>>3]-4.0;f=Dg(c[u>>2]|0,c[v>>2]|0,c[o>>2]|0,c[p>>2]|0,-1)|0;c[l>>2]=f;if(f){f=Eg(c[u>>2]|0,c[v>>2]|0,c[l>>2]|0)|0;c[m>>2]=f;do if(!f){h[r>>3]=+h[(c[(c[l>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[l>>2]|0)+8>>2]|0)+240>>3];if(!(a[(c[(c[l>>2]|0)+8>>2]|0)+156>>0]|0)){h[r>>3]=+h[r>>3]+ +(c[(c[(c[u>>2]|0)+8>>2]|0)+248>>2]|0)/2.0;break}else{h[r>>3]=+h[r>>3]+ +(c[(c[n>>2]|0)+8>>2]|0);break}}else h[r>>3]=+h[(c[(c[m>>2]|0)+8>>2]|0)+16+16>>3]+ +(c[(c[n>>2]|0)+8>>2]|0);while(0);if(+h[r>>3]<+h[q>>3])h[q>>3]=+h[r>>3];y=+h[q>>3];h[w>>3]=+(~~(+h[q>>3]>=0.0?y+.5:y-.5)|0)}else{y=+h[q>>3];if((~~(+h[q>>3]>=0.0?y+.5:y-.5)|0)<(c[c[n>>2]>>2]|0)){y=+h[q>>3];d=~~(+h[q>>3]>=0.0?y+.5:y-.5)}else d=c[c[n>>2]>>2]|0;h[w>>3]=+(d|0)}if((a[(c[(c[v>>2]|0)+8>>2]|0)+156>>0]|0)==1?(c[(c[(c[v>>2]|0)+8>>2]|0)+104>>2]|0)!=0:0)h[q>>3]=+h[(c[(c[v>>2]|0)+8>>2]|0)+16>>3]+10.0;else h[q>>3]=+h[(c[(c[v>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[v>>2]|0)+8>>2]|0)+96>>3]+4.0;p=Dg(c[u>>2]|0,c[v>>2]|0,c[o>>2]|0,c[p>>2]|0,1)|0;c[s>>2]=p;if(p){p=Eg(c[u>>2]|0,c[v>>2]|0,c[s>>2]|0)|0;c[t>>2]=p;do if(!p){h[r>>3]=+h[(c[(c[s>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[s>>2]|0)+8>>2]|0)+88>>3];if(!(a[(c[(c[s>>2]|0)+8>>2]|0)+156>>0]|0)){h[r>>3]=+h[r>>3]-+(c[(c[(c[u>>2]|0)+8>>2]|0)+248>>2]|0)/2.0;break}else{h[r>>3]=+h[r>>3]-+(c[(c[n>>2]|0)+8>>2]|0);break}}else h[r>>3]=+h[(c[(c[t>>2]|0)+8>>2]|0)+16>>3]-+(c[(c[n>>2]|0)+8>>2]|0);while(0);if(+h[r>>3]>+h[q>>3])h[q>>3]=+h[r>>3];y=+h[q>>3];h[w+16>>3]=+(~~(+h[q>>3]>=0.0?y+.5:y-.5)|0)}else{y=+h[q>>3];if((~~(+h[q>>3]>=0.0?y+.5:y-.5)|0)>(c[(c[n>>2]|0)+4>>2]|0)){y=+h[q>>3];d=~~(+h[q>>3]>=0.0?y+.5:y-.5)}else d=c[(c[n>>2]|0)+4>>2]|0;h[w+16>>3]=+(d|0)}if(((a[(c[(c[v>>2]|0)+8>>2]|0)+156>>0]|0)==1?(c[(c[(c[v>>2]|0)+8>>2]|0)+104>>2]|0)!=0:0)?(t=w+16|0,h[t>>3]=+h[t>>3]-+h[(c[(c[v>>2]|0)+8>>2]|0)+96>>3],+h[w+16>>3]<+h[w>>3]):0)h[w+16>>3]=+h[(c[(c[v>>2]|0)+8>>2]|0)+16>>3];h[w+8>>3]=+h[(c[(c[v>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[(c[u>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[v>>2]|0)+8>>2]|0)+232>>2]<<6)+16>>3];h[w+16+8>>3]=+h[(c[(c[v>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[(c[u>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[v>>2]|0)+8>>2]|0)+232>>2]<<6)+24>>3];c[b>>2]=c[w>>2];c[b+4>>2]=c[w+4>>2];c[b+8>>2]=c[w+8>>2];c[b+12>>2]=c[w+12>>2];c[b+16>>2]=c[w+16>>2];c[b+20>>2]=c[w+20>>2];c[b+24>>2]=c[w+24>>2];c[b+28>>2]=c[w+28>>2];i=x;return}function rg(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;if((a[(c[(c[d>>2]|0)+8>>2]|0)+156>>0]|0)==1)if((c[(c[(c[d>>2]|0)+8>>2]|0)+172+4>>2]|0)>1)d=1;else d=(c[(c[(c[d>>2]|0)+8>>2]|0)+180+4>>2]|0)>1;else d=0;i=e;return d&1|0}function sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0;m=i;i=i+112|0;if((i|0)>=(j|0))ba();n=m+104|0;f=m+96|0;l=m+64|0;g=m+32|0;k=m;c[n>>2]=d;h[f>>3]=e;switch(c[n>>2]|0){case 1:{Cg(g,+h[b>>3],+h[f>>3],+h[b+16>>3],+h[b+8>>3]);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[l+16>>2]=c[g+16>>2];c[l+20>>2]=c[g+20>>2];c[l+24>>2]=c[g+24>>2];c[l+28>>2]=c[g+28>>2];break}case 4:{Cg(k,+h[b>>3],+h[b+16+8>>3],+h[b+16>>3],+h[f>>3]);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[l+16>>2]=c[k+16>>2];c[l+20>>2]=c[k+20>>2];c[l+24>>2]=c[k+24>>2];c[l+28>>2]=c[k+28>>2];break}default:{}}c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];c[a+16>>2]=c[l+16>>2];c[a+20>>2]=c[l+20>>2];c[a+24>>2]=c[l+24>>2];c[a+28>>2]=c[l+28>>2];i=m;return}function tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();f=o+48|0;g=o+44|0;k=o+40|0;l=o;m=o+36|0;n=o+32|0;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;b=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<5)|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];c[l+16>>2]=c[b+16>>2];c[l+20>>2]=c[b+20>>2];c[l+24>>2]=c[b+24>>2];c[l+28>>2]=c[b+28>>2];if(!(+h[l>>3]==+h[l+16>>3])){c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];c[a+16>>2]=c[l+16>>2];c[a+20>>2]=c[l+20>>2];c[a+24>>2]=c[l+24>>2];c[a+28>>2]=c[l+28>>2];i=o;return}c[m>>2]=c[c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[k>>2]<<6)+4>>2]>>2];c[n>>2]=c[c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[k>>2]|0)+1<<6)+4>>2]>>2];h[l>>3]=+(c[c[f>>2]>>2]|0);h[l+8>>3]=+h[(c[(c[n>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[k>>2]|0)+1<<6)+24>>3];h[l+16>>3]=+(c[(c[f>>2]|0)+4>>2]|0);h[l+16+8>>3]=+h[(c[(c[m>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[k>>2]<<6)+16>>3];b=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<5)|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];c[b+16>>2]=c[l+16>>2];c[b+20>>2]=c[l+20>>2];c[b+24>>2]=c[l+24>>2];c[b+28>>2]=c[l+28>>2];c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];c[a+16>>2]=c[l+16>>2];c[a+20>>2]=c[l+20>>2];c[a+24>>2]=c[l+24>>2];c[a+28>>2]=c[l+28>>2];i=o;return}function ug(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[d>>2];while(1){b=c[c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]>>2]|0;c[e>>2]=c[((c[c[c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2];if((a[(c[(c[e>>2]|0)+8>>2]|0)+156>>0]|0)!=1){d=7;break}if((c[(c[(c[e>>2]|0)+8>>2]|0)+180+4>>2]|0)!=1){d=7;break}if((c[(c[(c[e>>2]|0)+8>>2]|0)+172+4>>2]|0)!=1){d=7;break}if(+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3]!=+h[(c[(c[d>>2]|0)+8>>2]|0)+16>>3]){d=7;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==7){i=g;return c[f>>2]|0}return 0}function vg(a,b,d,e,f,g,h,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;C=i;i=i+112|0;if((i|0)>=(j|0))ba();w=C;x=C+100|0;D=C+96|0;l=C+92|0;t=C+88|0;y=C+84|0;u=C+80|0;v=C+76|0;r=C+68|0;s=C+64|0;m=C+60|0;n=C+56|0;A=C+52|0;z=C+48|0;B=C+44|0;q=C+40|0;p=C+36|0;o=C+32|0;c[x>>2]=a;c[D>>2]=b;c[l>>2]=d;c[t>>2]=e;c[y>>2]=f;c[u>>2]=g;c[v>>2]=h;c[C+72>>2]=k;c[B>>2]=-1;c[z>>2]=-1;c[s>>2]=0;c[r>>2]=0;c[r>>2]=zg(c[D>>2]|0,-1)|0;c[s>>2]=zg(c[D>>2]|0,1)|0;do if(c[r>>2]|0){D=IN(c[r>>2]|0)|0;c[q>>2]=D;if(D){c[p>>2]=c[c[c[q>>2]>>2]>>2];c[o>>2]=c[(c[c[q>>2]>>2]|0)+4>>2];break}else{i=C;return}}while(0);do if(c[s>>2]|0){D=IN(c[s>>2]|0)|0;c[q>>2]=D;if(D){c[p>>2]=c[c[c[q>>2]>>2]>>2];c[o>>2]=c[(c[c[q>>2]>>2]|0)+4>>2];break}else{i=C;return}}while(0);c[n>>2]=0;c[m>>2]=0;c[m>>2]=Ag(c[l>>2]|0,-1)|0;c[n>>2]=Ag(c[l>>2]|0,1)|0;do if(c[m>>2]|0){D=IN(c[m>>2]|0)|0;c[q>>2]=D;if(D){c[p>>2]=c[(c[c[q>>2]>>2]|0)+(((c[(c[q>>2]|0)+4>>2]|0)-1|0)*48|0)>>2];c[o>>2]=c[(c[c[q>>2]>>2]|0)+(((c[(c[q>>2]|0)+4>>2]|0)-1|0)*48|0)+4>>2];break}else{i=C;return}}while(0);do if(c[n>>2]|0){D=IN(c[n>>2]|0)|0;c[q>>2]=D;if(D){c[p>>2]=c[(c[c[q>>2]>>2]|0)+(((c[(c[q>>2]|0)+4>>2]|0)-1|0)*48|0)>>2];c[o>>2]=c[(c[c[q>>2]>>2]|0)+(((c[(c[q>>2]|0)+4>>2]|0)-1|0)*48|0)+4>>2];break}else{i=C;return}}while(0);c[A>>2]=0;while(1){l=c[x>>2]|0;if((c[A>>2]|0)>=(c[(c[t>>2]|0)+52>>2]|0))break;D=(c[t>>2]|0)+56+(c[A>>2]<<5)|0;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[w+16>>2]=c[D+16>>2];c[w+20>>2]=c[D+20>>2];c[w+24>>2]=c[D+24>>2];c[w+28>>2]=c[D+28>>2];zN(l,w);c[A>>2]=(c[A>>2]|0)+1}c[z>>2]=(c[l+80>>2]|0)+1;c[B>>2]=(c[z>>2]|0)+(c[v>>2]|0)-3;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[v>>2]|0))break;D=c[x>>2]|0;t=(c[u>>2]|0)+(c[A>>2]<<5)|0;c[w>>2]=c[t>>2];c[w+4>>2]=c[t+4>>2];c[w+8>>2]=c[t+8>>2];c[w+12>>2]=c[t+12>>2];c[w+16>>2]=c[t+16>>2];c[w+20>>2]=c[t+20>>2];c[w+24>>2]=c[t+24>>2];c[w+28>>2]=c[t+28>>2];zN(D,w);c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=(c[(c[y>>2]|0)+52>>2]|0)-1;while(1){l=c[x>>2]|0;if((c[A>>2]|0)<0)break;D=(c[y>>2]|0)+56+(c[A>>2]<<5)|0;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[w+16>>2]=c[D+16>>2];c[w+20>>2]=c[D+20>>2];c[w+24>>2]=c[D+24>>2];c[w+28>>2]=c[D+28>>2];zN(l,w);c[A>>2]=(c[A>>2]|0)+-1}Bg(l,c[z>>2]|0,c[B>>2]|0);i=C;return}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();n=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;k=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[c[h>>2]>>2];c[k>>2]=c[n>>2];while(1){n=c[f>>2]|0;c[f>>2]=n+-1;if(!n)break;n=c[k>>2]|0;c[k>>2]=c[c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2]|0)+8>>2]|0)+180>>2]>>2]}n=c[h>>2]|0;d=c[n>>2]|0;c[n>>2]=d+1;d=(c[g>>2]|0)+(d<<4)|0;n=(c[g>>2]|0)+((c[l>>2]|0)-1<<4)|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];d=c[h>>2]|0;n=c[d>>2]|0;c[d>>2]=n+1;n=(c[g>>2]|0)+(n<<4)|0;d=(c[g>>2]|0)+((c[l>>2]|0)-1<<4)|0;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];n=(c[g>>2]|0)+(c[c[h>>2]>>2]<<4)|0;d=c[k>>2]|0;d=(c[(c[((c[c[k>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+16|0;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];i=m;return c[k>>2]|0}function xg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();m=l+12|0;f=l+8|0;g=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=0;e=c[m>>2]|0;c[k>>2]=c[((c[c[m>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2];while(1){if((a[(c[(c[k>>2]|0)+8>>2]|0)+156>>0]|0)!=1){d=14;break}if(!((Zb[c[50164>>2]&63](c[k>>2]|0)|0)<<24>>24!=0^1)){d=14;break}while(1){if((c[g>>2]|0)<(c[(c[f>>2]|0)+80>>2]|0))d=+h[(c[(c[f>>2]|0)+84>>2]|0)+(c[g>>2]<<5)+8>>3]>+h[(c[(c[k>>2]|0)+8>>2]|0)+16+8>>3];else d=0;b=c[g>>2]|0;if(!d)break;c[g>>2]=b+1}if((b|0)>=(c[(c[f>>2]|0)+80>>2]|0)){d=14;break}do if(!(+h[(c[(c[f>>2]|0)+84>>2]|0)+(c[g>>2]<<5)+16+8>>3]<+h[(c[(c[k>>2]|0)+8>>2]|0)+16+8>>3])){b=c[k>>2]|0;d=~~+h[(c[(c[f>>2]|0)+84>>2]|0)+(c[g>>2]<<5)>>3];e=(c[(c[f>>2]|0)+84>>2]|0)+(c[g>>2]<<5)|0;if(c[(c[(c[k>>2]|0)+8>>2]|0)+104>>2]|0){yg(b,d,~~+h[e+16>>3],~~(+h[(c[(c[f>>2]|0)+84>>2]|0)+(c[g>>2]<<5)+16>>3]+ +h[(c[(c[k>>2]|0)+8>>2]|0)+96>>3]));break}else{yg(b,d,~~((+h[e>>3]+ +h[(c[(c[f>>2]|0)+84>>2]|0)+(c[g>>2]<<5)+16>>3])/2.0),~~+h[(c[(c[f>>2]|0)+84>>2]|0)+(c[g>>2]<<5)+16>>3]);break}}while(0);m=c[c[(c[(c[k>>2]|0)+8>>2]|0)+180>>2]>>2]|0;c[k>>2]=c[((c[c[c[(c[(c[k>>2]|0)+8>>2]|0)+180>>2]>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2]}if((d|0)==14){i=l;return}}function yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+12|0;m=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=e;h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3]=+(c[k>>2]|0);h[(c[(c[g>>2]|0)+8>>2]|0)+88>>3]=+((c[k>>2]|0)-(c[m>>2]|0)|0);h[(c[(c[g>>2]|0)+8>>2]|0)+96>>3]=+((c[l>>2]|0)-(c[k>>2]|0)|0);i=f;return}function zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[h>>2]=0;while(1){b=c[d>>2]|0;b=c[(c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+180>>2]|0)+(c[h>>2]<<2)>>2]|0;c[g>>2]=b;if(!b)break;a=c[g>>2]|0;b=c[d>>2]|0;do if((_(c[e>>2]|0,(c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)-(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)|0)|0)>0){if(!(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)){if(!(c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]|0))break;if(!(c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]|0)+8>>2]|0)+8>>2]|0))break}if((c[f>>2]|0)!=0?(a=c[f>>2]|0,b=c[g>>2]|0,(_(c[e>>2]|0,(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)-(c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)|0)|0)<=0):0)break;c[f>>2]=c[g>>2]}while(0);c[h>>2]=(c[h>>2]|0)+1}i=k;return c[f>>2]|0}function Ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[h>>2]=0;while(1){b=c[d>>2]|0;b=c[(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0)+(c[h>>2]<<2)>>2]|0;c[g>>2]=b;if(!b)break;a=c[g>>2]|0;b=c[d>>2]|0;do if((_(c[e>>2]|0,(c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)-(c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)|0)|0)>0){if(!(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)){if(!(c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]|0))break;if(!(c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]|0)+8>>2]|0)+8>>2]|0))break}if((c[f>>2]|0)!=0?(a=c[f>>2]|0,b=c[g>>2]|0,(_(c[e>>2]|0,(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)-(c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)|0)|0)<=0):0)break;c[f>>2]=c[g>>2]}while(0);c[h>>2]=(c[h>>2]|0)+1}i=k;return c[f>>2]|0}function Bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();f=q+24|0;g=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[n>>2]=(c[g>>2]|0)-1;while(1){if((c[n>>2]|0)>=((c[k>>2]|0)+1|0))break;c[l>>2]=(c[(c[f>>2]|0)+84>>2]|0)+(c[n>>2]<<5);e=+h[c[l>>2]>>3];if(!(((c[n>>2]|0)-(c[g>>2]|0)|0)%2|0)){if(e>=+h[(c[l>>2]|0)+16>>3]){c[o>>2]=~~((+h[c[l>>2]>>3]+ +h[(c[l>>2]|0)+16>>3])/2.0);h[c[l>>2]>>3]=+((c[o>>2]|0)-8|0);h[(c[l>>2]|0)+16>>3]=+((c[o>>2]|0)+8|0)}}else if(e+16.0>+h[(c[l>>2]|0)+16>>3]){c[o>>2]=~~((+h[c[l>>2]>>3]+ +h[(c[l>>2]|0)+16>>3])/2.0);h[c[l>>2]>>3]=+((c[o>>2]|0)-8|0);h[(c[l>>2]|0)+16>>3]=+((c[o>>2]|0)+8|0)}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[f>>2]|0)+80>>2]|0)-1|0))break;c[l>>2]=(c[(c[f>>2]|0)+84>>2]|0)+(c[n>>2]<<5);c[m>>2]=(c[(c[f>>2]|0)+84>>2]|0)+((c[n>>2]|0)+1<<5);if(((c[n>>2]|0)>=(c[g>>2]|0)?(c[n>>2]|0)<=(c[k>>2]|0):0)?(((c[n>>2]|0)-(c[g>>2]|0)|0)%2|0|0)==0:0){if(+h[c[l>>2]>>3]+16.0>+h[(c[m>>2]|0)+16>>3])h[(c[m>>2]|0)+16>>3]=+h[c[l>>2]>>3]+16.0;if(+h[(c[l>>2]|0)+16>>3]-16.0<+h[c[m>>2]>>3])h[c[m>>2]>>3]=+h[(c[l>>2]|0)+16>>3]-16.0}else p=18;if((((p|0)==18?(p=0,((c[n>>2]|0)+1|0)>=(c[g>>2]|0)):0)?(c[n>>2]|0)<(c[k>>2]|0):0)?(((c[n>>2]|0)+1-(c[g>>2]|0)|0)%2|0|0)==0:0){if(+h[c[l>>2]>>3]+16.0>+h[(c[m>>2]|0)+16>>3])h[c[l>>2]>>3]=+h[(c[m>>2]|0)+16>>3]-16.0;if(+h[(c[l>>2]|0)+16>>3]-16.0<+h[c[m>>2]>>3])h[(c[l>>2]|0)+16>>3]=+h[c[m>>2]>>3]+16.0}c[n>>2]=(c[n>>2]|0)+1}i=q;return}function Cg(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+64|0;if((i|0)>=(j|0))ba();o=g+56|0;n=g+48|0;m=g+40|0;l=g+32|0;k=g;h[o>>3]=b;h[n>>3]=d;h[m>>3]=e;h[l>>3]=f;h[k>>3]=+h[o>>3];h[k+8>>3]=+h[n>>3];h[k+16>>3]=+h[m>>3];h[k+16+8>>3]=+h[l>>3];c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];c[a+16>>2]=c[k+16>>2];c[a+20>>2]=c[k+20>>2];c[a+24>>2]=c[k+24>>2];c[a+28>>2]=c[k+28>>2];i=g;return}function Dg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();s=r+32|0;h=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;q=r+4|0;o=r;c[s>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[q>>2]=0;c[o>>2]=(c[(c[(c[s>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]<<6);c[n>>2]=(c[(c[(c[h>>2]|0)+8>>2]|0)+236>>2]|0)+(c[m>>2]|0);while(1){if((c[n>>2]|0)<0){b=12;break}if((c[n>>2]|0)>=(c[c[o>>2]>>2]|0)){b=12;break}c[p>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<2)>>2];if((a[(c[(c[p>>2]|0)+8>>2]|0)+156>>0]|0)==1?(c[(c[(c[p>>2]|0)+8>>2]|0)+104>>2]|0)!=0:0){b=6;break}g=c[p>>2]|0;if(!(a[(c[(c[p>>2]|0)+8>>2]|0)+156>>0]|0)){b=8;break}if(!((Gg(g,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)&255)){b=10;break}c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0)}if((b|0)==6){c[q>>2]=c[p>>2];s=c[q>>2]|0;i=r;return s|0}else if((b|0)==8){c[q>>2]=g;s=c[q>>2]|0;i=r;return s|0}else if((b|0)==10){c[q>>2]=c[p>>2];s=c[q>>2]|0;i=r;return s|0}else if((b|0)==12){s=c[q>>2]|0;i=r;return s|0}return 0}function Eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+28|0;p=o+24|0;h=o+20|0;m=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;g=o;c[f>>2]=b;c[p>>2]=d;c[h>>2]=e;c[m>>2]=0;e=c[(c[p>>2]|0)+8>>2]|0;if(!(a[(c[(c[p>>2]|0)+8>>2]|0)+156>>0]|0)){p=c[e+212>>2]|0;c[l>>2]=p;c[n>>2]=p}else{c[g>>2]=c[(c[(c[c[e+180>>2]>>2]|0)+8>>2]|0)+116>>2];p=c[g>>2]|0;c[n>>2]=c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?p:p+32|0)+28>>2]|0)+8>>2]|0)+212>>2];p=c[g>>2]|0;c[l>>2]=c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0)+8>>2]|0)+212>>2]}e=c[(c[h>>2]|0)+8>>2]|0;if(!(a[(c[(c[h>>2]|0)+8>>2]|0)+156>>0]|0)){if((c[e+212>>2]|0)==(c[f>>2]|0))e=0;else e=c[(c[(c[h>>2]|0)+8>>2]|0)+212>>2]|0;c[k>>2]=e;if(!(c[k>>2]|0)){p=c[m>>2]|0;i=o;return p|0}if((c[k>>2]|0)==(c[n>>2]|0)){p=c[m>>2]|0;i=o;return p|0}if((c[k>>2]|0)==(c[l>>2]|0)){p=c[m>>2]|0;i=o;return p|0}c[m>>2]=c[k>>2];p=c[m>>2]|0;i=o;return p|0}c[g>>2]=c[(c[(c[c[e+180>>2]>>2]|0)+8>>2]|0)+116>>2];p=c[g>>2]|0;if((c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?p:p+32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0)==(c[f>>2]|0))e=0;else{e=c[g>>2]|0;e=c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0}c[k>>2]=e;if((((c[k>>2]|0)!=0?(c[k>>2]|0)!=(c[n>>2]|0):0)?(c[k>>2]|0)!=(c[l>>2]|0):0)?(Fg(c[k>>2]|0,c[h>>2]|0)|0)!=0:0){c[m>>2]=c[k>>2];p=c[m>>2]|0;i=o;return p|0}p=c[g>>2]|0;if((c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0)==(c[f>>2]|0))e=0;else{e=c[g>>2]|0;e=c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0}c[k>>2]=e;if(!(c[k>>2]|0)){p=c[m>>2]|0;i=o;return p|0}if((c[k>>2]|0)==(c[n>>2]|0)){p=c[m>>2]|0;i=o;return p|0}if((c[k>>2]|0)==(c[l>>2]|0)){p=c[m>>2]|0;i=o;return p|0}if(!(Fg(c[k>>2]|0,c[h>>2]|0)|0)){p=c[m>>2]|0;i=o;return p|0}c[m>>2]=c[k>>2];p=c[m>>2]|0;i=o;return p|0}function Fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(+h[(c[(c[d>>2]|0)+8>>2]|0)+16>>3]<=+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3])){b=0;b=b&1;i=f;return b|0}if(!(+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3]<=+h[(c[(c[d>>2]|0)+8>>2]|0)+16+16>>3])){b=0;b=b&1;i=f;return b|0}if(!(+h[(c[(c[d>>2]|0)+8>>2]|0)+16+8>>3]<=+h[(c[(c[e>>2]|0)+8>>2]|0)+16+8>>3])){b=0;b=b&1;i=f;return b|0}b=+h[(c[(c[e>>2]|0)+8>>2]|0)+16+8>>3]<=+h[(c[(c[d>>2]|0)+8>>2]|0)+16+16+8>>3];b=b&1;i=f;return b|0}function Gg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();g=s+40|0;h=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;q=s+8|0;r=s+4|0;m=s;c[h>>2]=b;c[t>>2]=d;c[k>>2]=e;c[l>>2]=f;c[r>>2]=(c[(c[(c[h>>2]|0)+8>>2]|0)+236>>2]|0)>(c[(c[(c[t>>2]|0)+8>>2]|0)+236>>2]|0)&1;if((c[(c[(c[h>>2]|0)+8>>2]|0)+180+4>>2]|0)!=1?(c[(c[(c[h>>2]|0)+8>>2]|0)+180+4>>2]|0)!=1:0){a[g>>0]=0;t=a[g>>0]|0;i=s;return t|0}c[o>>2]=c[l>>2];a:do if((c[o>>2]|0)!=0?(c[(c[(c[h>>2]|0)+8>>2]|0)+180+4>>2]|0)==1:0){c[n>>2]=c[c[(c[(c[h>>2]|0)+8>>2]|0)+180>>2]>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=2)break a;f=c[n>>2]|0;f=c[((c[c[n>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0;c[p>>2]=f;t=c[o>>2]|0;t=c[((c[c[o>>2]>>2]&3|0)==2?t:t+-32|0)+28>>2]|0;c[q>>2]=t;if((f|0)==(t|0))break a;if((c[r>>2]|0)!=((c[(c[(c[p>>2]|0)+8>>2]|0)+236>>2]|0)>(c[(c[(c[q>>2]|0)+8>>2]|0)+236>>2]|0)|0))break;if((c[(c[(c[p>>2]|0)+8>>2]|0)+180+4>>2]|0)!=1)break a;if(!(a[(c[(c[p>>2]|0)+8>>2]|0)+156>>0]|0))break a;c[n>>2]=c[c[(c[(c[p>>2]|0)+8>>2]|0)+180>>2]>>2];if((c[(c[(c[q>>2]|0)+8>>2]|0)+180+4>>2]|0)!=1)break a;if(!(a[(c[(c[q>>2]|0)+8>>2]|0)+156>>0]|0))break a;c[o>>2]=c[c[(c[(c[q>>2]|0)+8>>2]|0)+180>>2]>>2];c[m>>2]=(c[m>>2]|0)+1}a[g>>0]=1;t=a[g>>0]|0;i=s;return t|0}while(0);c[o>>2]=c[k>>2];b:do if((c[o>>2]|0)!=0?(c[(c[(c[h>>2]|0)+8>>2]|0)+172+4>>2]|0)==1:0){c[n>>2]=c[c[(c[(c[h>>2]|0)+8>>2]|0)+172>>2]>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=2)break b;f=c[n>>2]|0;f=c[((c[c[n>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0;c[p>>2]=f;t=c[o>>2]|0;t=c[((c[c[o>>2]>>2]&3|0)==3?t:t+32|0)+28>>2]|0;c[q>>2]=t;if((f|0)==(t|0))break b;if((c[r>>2]|0)!=((c[(c[(c[p>>2]|0)+8>>2]|0)+236>>2]|0)>(c[(c[(c[q>>2]|0)+8>>2]|0)+236>>2]|0)|0))break;if((c[(c[(c[p>>2]|0)+8>>2]|0)+172+4>>2]|0)!=1)break b;if(!(a[(c[(c[p>>2]|0)+8>>2]|0)+156>>0]|0))break b;c[n>>2]=c[c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]>>2];if((c[(c[(c[q>>2]|0)+8>>2]|0)+172+4>>2]|0)!=1)break b;if(!(a[(c[(c[q>>2]|0)+8>>2]|0)+156>>0]|0))break b;c[o>>2]=c[c[(c[(c[q>>2]|0)+8>>2]|0)+172>>2]>>2];c[m>>2]=(c[m>>2]|0)+1}a[g>>0]=1;t=a[g>>0]|0;i=s;return t|0}while(0);a[g>>0]=0;t=a[g>>0]|0;i=s;return t|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=+h[b>>3]+ +h[d>>3];h[f+8>>3]=+h[b+8>>3]+ +h[d+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[f>>2]=~~((+h[a+8>>3]-+h[b+8>>3])*(+h[d>>3]-+h[b>>3])-(+h[d+8>>3]-+h[b+8>>3])*(+h[a>>3]-+h[b>>3]));i=e;return (c[f>>2]|0)>0|0}function Jg(b,e,f,g,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;k=k|0;l=l|0;m=m|0;var 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,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;_=i;i=i+352|0;if((i|0)>=(j|0))ba();Q=_+208|0;A=_+192|0;B=_+336|0;W=_+328|0;Y=_+324|0;Z=_+320|0;$=_+316|0;X=_+312|0;v=_+308|0;z=_+304|0;x=_+300|0;R=_+296|0;V=_+292|0;p=_+288|0;M=_+284|0;q=_+280|0;y=_+276|0;r=_+272|0;L=_+268|0;T=_+264|0;U=_+260|0;t=_+256|0;u=_+252|0;s=_+248|0;w=_+244|0;P=_+176|0;S=_+240|0;J=_+236|0;o=_+232|0;K=_+228|0;N=_+224|0;G=_+160|0;H=_+144|0;O=_+80|0;I=_+64|0;C=_+48|0;D=_+32|0;E=_+16|0;F=_;c[B>>2]=b;c[_+332>>2]=e;c[W>>2]=f;c[Y>>2]=g;c[Z>>2]=k;c[$>>2]=l;c[X>>2]=m;c[V>>2]=0;c[p>>2]=0;c[S>>2]=0;g=c[$>>2]|0;c[z>>2]=c[((c[c[$>>2]>>2]&3|0)==3?g:g+32|0)+28>>2];g=c[$>>2]|0;c[x>>2]=c[((c[c[$>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2];c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[Z>>2]|0))break;c[R>>2]=c[(c[W>>2]|0)+((c[Y>>2]|0)+(c[T>>2]|0)<<2)>>2];if(c[(c[(c[R>>2]|0)+8>>2]|0)+96>>2]|0)c[V>>2]=(c[V>>2]|0)+1;if(!((d[(c[(c[R>>2]|0)+8>>2]|0)+16+28>>0]|0)==0?(d[(c[(c[R>>2]|0)+8>>2]|0)+56+28>>0]|0)==0:0))c[p>>2]=1;c[T>>2]=(c[T>>2]|0)+1}if(!(c[p>>2]|0)){e=c[z>>2]|0;k=c[x>>2]|0;l=c[W>>2]|0;f=c[Y>>2]|0;m=c[Z>>2]|0;b=c[X>>2]|0;if(!(c[V>>2]|0)){Lg(e,k,l,f,m,b);i=_;return}else{Qg(e,k,l,f,m,b,c[V>>2]|0);i=_;return}}c[J>>2]=qK(156)|0;c[M>>2]=Rg(c[B>>2]|0,c[J>>2]|0)|0;c[q>>2]=uD(c[M>>2]|0,122519,1)|0;aD(c[q>>2]|0,175129,280,1)|0;QA(c[q>>2]|0,124181,124195)|0;c[w>>2]=~~+h[(c[(c[x>>2]|0)+8>>2]|0)+16>>3];c[s>>2]=~~+h[(c[(c[z>>2]|0)+8>>2]|0)+16>>3];if(c[(c[(c[B>>2]|0)+8>>2]|0)+116>>2]&1){c[o>>2]=c[z>>2];c[z>>2]=c[x>>2];c[x>>2]=c[o>>2]}c[y>>2]=Sg(c[q>>2]|0,c[z>>2]|0,c[(c[(c[B>>2]|0)+8>>2]|0)+116>>2]&1)|0;c[r>>2]=Sg(c[M>>2]|0,c[x>>2]|0,c[(c[(c[B>>2]|0)+8>>2]|0)+116>>2]&1)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[Z>>2]|0))break;c[R>>2]=c[(c[W>>2]|0)+((c[Y>>2]|0)+(c[T>>2]|0)<<2)>>2];while(1){e=c[R>>2]|0;if(!(a[(c[(c[R>>2]|0)+8>>2]|0)+112>>0]|0))break;c[R>>2]=c[(c[e+8>>2]|0)+116>>2]}V=c[R>>2]|0;k=c[M>>2]|0;if((c[((c[e>>2]&3|0)==3?V:V+32|0)+28>>2]|0)==(c[z>>2]|0))c[L>>2]=Tg(k,c[y>>2]|0,c[r>>2]|0,c[R>>2]|0)|0;else c[L>>2]=Tg(k,c[r>>2]|0,c[y>>2]|0,c[R>>2]|0)|0;c[(c[(c[R>>2]|0)+8>>2]|0)+120>>2]=c[L>>2];if(((c[S>>2]|0)==0?(a[(c[(c[R>>2]|0)+8>>2]|0)+16+28>>0]|0)==0:0)?(a[(c[(c[R>>2]|0)+8>>2]|0)+56+28>>0]|0)==0:0){c[S>>2]=c[L>>2];c[(c[(c[S>>2]|0)+8>>2]|0)+120>>2]=c[R>>2]}c[T>>2]=(c[T>>2]|0)+1}if(!(c[S>>2]|0))c[S>>2]=jB(c[M>>2]|0,c[y>>2]|0,c[r>>2]|0,0,1)|0;RA(c[S>>2]|0,c[13851]|0,122523)|0;c[(c[(c[M>>2]|0)+8>>2]|0)+144>>2]=c[(c[(c[B>>2]|0)+8>>2]|0)+144>>2];c[(c[(c[M>>2]|0)+8>>2]|0)+188>>2]=c[M>>2];dP(c[M>>2]|0,c[X>>2]|0);Kf(c[M>>2]|0);lj(c[M>>2]|0,0);uh(c[M>>2]|0,0);yi(c[M>>2]|0,0);c[t>>2]=~~((+h[(c[(c[z>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[z>>2]|0)+8>>2]|0)+96>>3]+ +h[(c[(c[x>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[x>>2]|0)+8>>2]|0)+88>>3])/2.0);c[u>>2]=~~((+h[(c[(c[y>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[r>>2]|0)+8>>2]|0)+16>>3])/2.0);c[v>>2]=c[(c[(c[M>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[v>>2]|0))break;do if((c[v>>2]|0)!=(c[y>>2]|0))if((c[v>>2]|0)==(c[r>>2]|0)){h[(c[(c[v>>2]|0)+8>>2]|0)+16+8>>3]=+(c[s>>2]|0);h[(c[(c[v>>2]|0)+8>>2]|0)+16>>3]=+(c[u>>2]|0);break}else{h[(c[(c[v>>2]|0)+8>>2]|0)+16+8>>3]=+(c[t>>2]|0);break}else{h[(c[(c[v>>2]|0)+8>>2]|0)+16+8>>3]=+(c[w>>2]|0);h[(c[(c[v>>2]|0)+8>>2]|0)+16>>3]=+(c[u>>2]|0)}while(0);c[v>>2]=c[(c[(c[v>>2]|0)+8>>2]|0)+164>>2]}fk(c[M>>2]|0);dg(c[M>>2]|0,0);CL(c[M>>2]|0);n=+h[(c[(c[z>>2]|0)+8>>2]|0)+16>>3];e=(c[(c[y>>2]|0)+8>>2]|0)+16|0;if(c[(c[(c[B>>2]|0)+8>>2]|0)+116>>2]&1){h[P>>3]=n-+h[e+8>>3];h[P+8>>3]=+h[(c[(c[z>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[y>>2]|0)+8>>2]|0)+16>>3]}else{h[P>>3]=n-+h[e>>3];h[P+8>>3]=+h[(c[(c[z>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[y>>2]|0)+8>>2]|0)+16+8>>3]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[Z>>2]|0))break;c[R>>2]=c[(c[W>>2]|0)+((c[Y>>2]|0)+(c[T>>2]|0)<<2)>>2];while(1){e=c[(c[R>>2]|0)+8>>2]|0;if(!(a[(c[(c[R>>2]|0)+8>>2]|0)+112>>0]|0))break;c[R>>2]=c[e+116>>2]}c[L>>2]=c[e+120>>2];if(!((c[L>>2]|0)==(c[S>>2]|0)&(((c[(c[(c[L>>2]|0)+8>>2]|0)+120>>2]|0)!=0^1)&1))){c[K>>2]=c[c[(c[(c[L>>2]|0)+8>>2]|0)+8>>2]>>2];c[N>>2]=xN(c[R>>2]|0,c[(c[K>>2]|0)+4>>2]|0)|0;c[(c[N>>2]|0)+8>>2]=c[(c[K>>2]|0)+8>>2];X=(c[N>>2]|0)+16|0;V=(c[K>>2]|0)+16|0;z=c[(c[(c[B>>2]|0)+8>>2]|0)+116>>2]&1;c[A>>2]=c[V>>2];c[A+4>>2]=c[V+4>>2];c[A+8>>2]=c[V+8>>2];c[A+12>>2]=c[V+12>>2];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];Ug(G,A,Q,z);c[X>>2]=c[G>>2];c[X+4>>2]=c[G+4>>2];c[X+8>>2]=c[G+8>>2];c[X+12>>2]=c[G+12>>2];c[(c[N>>2]|0)+12>>2]=c[(c[K>>2]|0)+12>>2];X=(c[N>>2]|0)+32|0;z=(c[K>>2]|0)+32|0;V=c[(c[(c[B>>2]|0)+8>>2]|0)+116>>2]&1;c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];c[A+12>>2]=c[z+12>>2];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];Ug(H,A,Q,V);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[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break;X=(c[c[N>>2]>>2]|0)+(c[U>>2]<<4)|0;z=(c[c[K>>2]>>2]|0)+(c[U>>2]<<4)|0;V=c[(c[(c[B>>2]|0)+8>>2]|0)+116>>2]&1;c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];c[A+12>>2]=c[z+12>>2];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];Ug(I,A,Q,V);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[O>>2]=c[X>>2];c[O+4>>2]=c[X+4>>2];c[O+8>>2]=c[X+8>>2];c[O+12>>2]=c[X+12>>2];c[U>>2]=(c[U>>2]|0)+1;if((c[U>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break;X=O+16|0;z=(c[c[N>>2]>>2]|0)+(c[U>>2]<<4)|0;V=(c[c[K>>2]>>2]|0)+(c[U>>2]<<4)|0;y=c[(c[(c[B>>2]|0)+8>>2]|0)+116>>2]&1;c[A>>2]=c[V>>2];c[A+4>>2]=c[V+4>>2];c[A+8>>2]=c[V+8>>2];c[A+12>>2]=c[V+12>>2];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];Ug(C,A,Q,y);c[z>>2]=c[C>>2];c[z+4>>2]=c[C+4>>2];c[z+8>>2]=c[C+8>>2];c[z+12>>2]=c[C+12>>2];c[X>>2]=c[z>>2];c[X+4>>2]=c[z+4>>2];c[X+8>>2]=c[z+8>>2];c[X+12>>2]=c[z+12>>2];c[U>>2]=(c[U>>2]|0)+1;X=O+32|0;z=(c[c[N>>2]>>2]|0)+(c[U>>2]<<4)|0;y=(c[c[K>>2]>>2]|0)+(c[U>>2]<<4)|0;V=c[(c[(c[B>>2]|0)+8>>2]|0)+116>>2]&1;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];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];Ug(D,A,Q,V);c[z>>2]=c[D>>2];c[z+4>>2]=c[D+4>>2];c[z+8>>2]=c[D+8>>2];c[z+12>>2]=c[D+12>>2];c[X>>2]=c[z>>2];c[X+4>>2]=c[z+4>>2];c[X+8>>2]=c[z+8>>2];c[X+12>>2]=c[z+12>>2];c[U>>2]=(c[U>>2]|0)+1;X=O+48|0;z=(c[c[K>>2]>>2]|0)+(c[U>>2]<<4)|0;V=c[(c[(c[B>>2]|0)+8>>2]|0)+116>>2]&1;c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];c[A+12>>2]=c[z+12>>2];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];Ug(E,A,Q,V);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];SH((c[(c[B>>2]|0)+8>>2]|0)+16|0,O)}if(c[(c[(c[R>>2]|0)+8>>2]|0)+96>>2]|0){X=(c[(c[(c[R>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;z=(c[(c[(c[L>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;V=c[(c[(c[B>>2]|0)+8>>2]|0)+116>>2]&1;c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];c[A+12>>2]=c[z+12>>2];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];Ug(F,A,Q,V);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];a[(c[(c[(c[R>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]=1;PO(c[B>>2]|0,c[(c[(c[R>>2]|0)+8>>2]|0)+96>>2]|0)}}c[T>>2]=(c[T>>2]|0)+1}Vg(c[M>>2]|0,c[J>>2]|0);i=_;return}function Kg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|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,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=i;i=i+1728|0;if((i|0)>=(j|0))ba();l=J+1632|0;k=J+1616|0;m=J+1716|0;n=J+1712|0;o=J+1708|0;F=J+1704|0;G=J+1700|0;D=J+1696|0;v=J+1692|0;y=J+1688|0;I=J+1684|0;C=J+920|0;u=J+224|0;x=J+192|0;r=J+1680|0;w=J+1676|0;H=J+1672|0;E=J+1668|0;t=J+1664|0;A=J+80|0;B=J+64|0;s=J+48|0;z=J+32|0;p=J+16|0;q=J;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[F>>2]=f;c[G>>2]=g;d=c[F>>2]|0;c[D>>2]=c[((c[c[F>>2]>>2]&3|0)==3?d:d+32|0)+28>>2];d=c[F>>2]|0;c[v>>2]=c[((c[c[F>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2];c[t>>2]=c[(c[(c[F>>2]|0)+8>>2]|0)+172>>2];while(1){e=c[t>>2]|0;if(!(c[(c[(c[t>>2]|0)+8>>2]|0)+172>>2]|0))break;c[t>>2]=c[(c[e+8>>2]|0)+172>>2]}t=c[t>>2]|0;c[y>>2]=c[((c[e>>2]&3|0)==3?t:t+32|0)+28>>2];t=(c[(c[(c[F>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;d=(c[(c[y>>2]|0)+8>>2]|0)+16|0;c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];a[(c[(c[(c[F>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]=1;if((c[G>>2]|0)!=2){h[x>>3]=+h[(c[(c[y>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[y>>2]|0)+8>>2]|0)+88>>3];h[x+16>>3]=+h[(c[(c[y>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[y>>2]|0)+8>>2]|0)+96>>3];h[x+16+8>>3]=+h[(c[(c[y>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[y>>2]|0)+8>>2]|0)+80>>3]/2.0;c[E>>2]=~~(+h[(c[(c[y>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[(c[m>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[D>>2]|0)+8>>2]|0)+232>>2]<<6)+16>>3]-+h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[(c[m>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[D>>2]|0)+8>>2]|0)+232>>2]<<6)+24>>3]);c[E>>2]=~~(+(c[E>>2]|0)/6.0);h[x+8>>3]=+h[x+16+8>>3]-(5.0>+(c[E>>2]|0)?5.0:+(c[E>>2]|0));c[r>>2]=0;Ng(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[D>>2]|0,c[F>>2]|0,C,1);Ng(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[v>>2]|0,c[F>>2]|0,u,0);h[1104+(c[r>>2]<<5)>>3]=+h[C+56+((c[C+52>>2]|0)-1<<5)>>3];h[1104+(c[r>>2]<<5)+8>>3]=+h[C+56+((c[C+52>>2]|0)-1<<5)+16+8>>3];h[1104+(c[r>>2]<<5)+16>>3]=+h[x>>3];h[1104+(c[r>>2]<<5)+16+8>>3]=+h[x+8>>3];c[r>>2]=(c[r>>2]|0)+1;h[1104+(c[r>>2]<<5)>>3]=+h[C+56+((c[C+52>>2]|0)-1<<5)>>3];h[1104+(c[r>>2]<<5)+8>>3]=+h[x+8>>3];h[1104+(c[r>>2]<<5)+16>>3]=+h[u+56+((c[u+52>>2]|0)-1<<5)+16>>3];h[1104+(c[r>>2]<<5)+16+8>>3]=+h[x+16+8>>3];c[r>>2]=(c[r>>2]|0)+1;h[1104+(c[r>>2]<<5)>>3]=+h[x+16>>3];h[1104+(c[r>>2]<<5)+16+8>>3]=+h[x+8>>3];h[1104+(c[r>>2]<<5)+8>>3]=+h[u+56+((c[u+52>>2]|0)-1<<5)+16+8>>3];h[1104+(c[r>>2]<<5)+16>>3]=+h[u+56+((c[u+52>>2]|0)-1<<5)+16>>3];c[r>>2]=(c[r>>2]|0)+1;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C+52>>2]|0))break;E=c[o>>2]|0;D=C+56+(c[w>>2]<<5)|0;c[l>>2]=c[D>>2];c[l+4>>2]=c[D+4>>2];c[l+8>>2]=c[D+8>>2];c[l+12>>2]=c[D+12>>2];c[l+16>>2]=c[D+16>>2];c[l+20>>2]=c[D+20>>2];c[l+24>>2]=c[D+24>>2];c[l+28>>2]=c[D+28>>2];zN(E,l);c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[r>>2]|0))break;E=c[o>>2]|0;D=1104+(c[w>>2]<<5)|0;c[l>>2]=c[D>>2];c[l+4>>2]=c[D+4>>2];c[l+8>>2]=c[D+8>>2];c[l+12>>2]=c[D+12>>2];c[l+16>>2]=c[D+16>>2];c[l+20>>2]=c[D+20>>2];c[l+24>>2]=c[D+24>>2];c[l+28>>2]=c[D+28>>2];zN(E,l);c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=(c[u+52>>2]|0)-1;while(1){if((c[w>>2]|0)<0)break;E=c[o>>2]|0;D=u+56+(c[w>>2]<<5)|0;c[l>>2]=c[D>>2];c[l+4>>2]=c[D+4>>2];c[l+8>>2]=c[D+8>>2];c[l+12>>2]=c[D+12>>2];c[l+16>>2]=c[D+16>>2];c[l+20>>2]=c[D+20>>2];c[l+24>>2]=c[D+24>>2];c[l+28>>2]=c[D+28>>2];zN(E,l);c[w>>2]=(c[w>>2]|0)+-1}e=c[o>>2]|0;if((c[G>>2]|0)==10)c[I>>2]=eM(e,H)|0;else c[I>>2]=fM(e,H)|0;if(!(c[H>>2]|0)){i=J;return}}else{G=(c[(c[D>>2]|0)+8>>2]|0)+16|0;E=(c[(c[F>>2]|0)+8>>2]|0)+16|0;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[l>>2]=c[E>>2];c[l+4>>2]=c[E+4>>2];c[l+8>>2]=c[E+8>>2];c[l+12>>2]=c[E+12>>2];Hg(p,k,l);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];E=(c[(c[v>>2]|0)+8>>2]|0)+16|0;G=(c[(c[F>>2]|0)+8>>2]|0)+56|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[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];Hg(q,k,l);c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];G=(c[(c[(c[F>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;c[z>>2]=c[G>>2];c[z+4>>2]=c[G+4>>2];c[z+8>>2]=c[G+8>>2];c[z+12>>2]=c[G+12>>2];G=z+8|0;h[G>>3]=+h[G>>3]-+h[(c[(c[(c[F>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]/2.0;G=A+16|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[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];G=A+32|0;E=A+48|0;D=A+64|0;c[D>>2]=c[z>>2];c[D+4>>2]=c[z+4>>2];c[D+8>>2]=c[z+8>>2];c[D+12>>2]=c[z+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[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=A+80|0;E=A+96|0;c[E>>2]=c[s>>2];c[E+4>>2]=c[s+4>>2];c[E+8>>2]=c[s+8>>2];c[E+12>>2]=c[s+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[I>>2]=A;c[H>>2]=7}G=c[F>>2]|0;yN(c[F>>2]|0,c[((c[c[F>>2]>>2]&3|0)==2?G:G+-32|0)+28>>2]|0,c[I>>2]|0,c[H>>2]|0,50160);i=J;return}function Lg(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 k=0.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=i;i=i+448|0;if((i|0)>=(j|0))ba();I=G+384|0;J=G+368|0;l=G+432|0;K=G+428|0;s=G+424|0;t=G+420|0;u=G+416|0;v=G+412|0;z=G+408|0;D=G+208|0;F=G+192|0;A=G+176|0;B=G+404|0;C=G+400|0;E=G+168|0;y=G+160|0;L=G+144|0;H=G+128|0;w=G+112|0;x=G+96|0;m=G+80|0;n=G+64|0;o=G+48|0;p=G+32|0;q=G+16|0;r=G;c[l>>2]=a;c[K>>2]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[z>>2]=c[(c[s>>2]|0)+(c[t>>2]<<2)>>2];a=(c[(c[l>>2]|0)+8>>2]|0)+16|0;e=(c[(c[z>>2]|0)+8>>2]|0)+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[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];Hg(L,J,I);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];e=(c[(c[K>>2]|0)+8>>2]|0)+16|0;a=(c[(c[z>>2]|0)+8>>2]|0)+56|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];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];Hg(H,J,I);c[A>>2]=c[H>>2];c[A+4>>2]=c[H+4>>2];c[A+8>>2]=c[H+8>>2];c[A+12>>2]=c[H+12>>2];if((c[u>>2]|0)>1)k=+h[(c[(c[l>>2]|0)+8>>2]|0)+80>>3]/+((c[u>>2]|0)-1|0);else k=0.0;h[E>>3]=k;if((c[u>>2]|0)>1)k=+h[(c[(c[l>>2]|0)+8>>2]|0)+80>>3]/2.0;else k=0.0;h[y>>3]=+h[F+8>>3]-k;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[u>>2]|0))break;c[z>>2]=c[(c[s>>2]|0)+((c[t>>2]|0)+(c[B>>2]|0)<<2)>>2];c[C>>2]=0;L=(c[v>>2]|0)==10|(c[v>>2]|0)==2;f=c[C>>2]|0;c[C>>2]=f+1;f=D+(f<<4)|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];f=c[C>>2]|0;c[C>>2]=f+1;f=D+(f<<4)|0;if(L){Pg(w,(+h[F>>3]*2.0+ +h[A>>3])/3.0,+h[y>>3]);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];L=c[C>>2]|0;c[C>>2]=L+1;L=D+(L<<4)|0;Pg(x,(+h[A>>3]*2.0+ +h[F>>3])/3.0,+h[y>>3]);c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];L=c[C>>2]|0;c[C>>2]=L+1;L=D+(L<<4)|0;c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2]}else{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];L=c[C>>2]|0;c[C>>2]=L+1;L=D+(L<<4)|0;Pg(m,(+h[F>>3]*2.0+ +h[A>>3])/3.0,+h[y>>3]);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];L=c[C>>2]|0;c[C>>2]=L+1;L=D+(L<<4)|0;Pg(n,(+h[F>>3]*2.0+ +h[A>>3])/3.0,+h[y>>3]);c[L>>2]=c[n>>2];c[L+4>>2]=c[n+4>>2];c[L+8>>2]=c[n+8>>2];c[L+12>>2]=c[n+12>>2];L=c[C>>2]|0;c[C>>2]=L+1;L=D+(L<<4)|0;Pg(o,(+h[F>>3]*2.0+ +h[A>>3])/3.0,+h[y>>3]);c[L>>2]=c[o>>2];c[L+4>>2]=c[o+4>>2];c[L+8>>2]=c[o+8>>2];c[L+12>>2]=c[o+12>>2];L=c[C>>2]|0;c[C>>2]=L+1;L=D+(L<<4)|0;Pg(p,(+h[A>>3]*2.0+ +h[F>>3])/3.0,+h[y>>3]);c[L>>2]=c[p>>2];c[L+4>>2]=c[p+4>>2];c[L+8>>2]=c[p+8>>2];c[L+12>>2]=c[p+12>>2];L=c[C>>2]|0;c[C>>2]=L+1;L=D+(L<<4)|0;Pg(q,(+h[A>>3]*2.0+ +h[F>>3])/3.0,+h[y>>3]);c[L>>2]=c[q>>2];c[L+4>>2]=c[q+4>>2];c[L+8>>2]=c[q+8>>2];c[L+12>>2]=c[q+12>>2];L=c[C>>2]|0;c[C>>2]=L+1;L=D+(L<<4)|0;Pg(r,(+h[A>>3]*2.0+ +h[F>>3])/3.0,+h[y>>3]);c[L>>2]=c[r>>2];c[L+4>>2]=c[r+4>>2];c[L+8>>2]=c[r+8>>2];c[L+12>>2]=c[r+12>>2];L=c[C>>2]|0;c[C>>2]=L+1;L=D+(L<<4)|0;c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];L=c[C>>2]|0;c[C>>2]=L+1;L=D+(L<<4)|0;c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2]}h[y>>3]=+h[y>>3]+ +h[E>>3];L=c[z>>2]|0;yN(c[z>>2]|0,c[((c[c[z>>2]>>2]&3|0)==2?L:L+-32|0)+28>>2]|0,D,c[C>>2]|0,50160);c[B>>2]=(c[B>>2]|0)+1}i=G;return}function Mg(a,d,e,f,g,k,l,m){a=a|0;d=d|0;e=e|0;f=f|0;g=g|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;L=i;i=i+1552|0;if((i|0)>=(j|0))ba();u=L+1448|0;n=L+1544|0;o=L+1540|0;v=L+1536|0;w=L+1532|0;x=L+1528|0;y=L+1524|0;z=L+1520|0;A=L+1516|0;s=L+1512|0;p=L+1508|0;F=L+1504|0;E=L+1500|0;r=L+1496|0;I=L+1440|0;J=L+1432|0;t=L+1424|0;q=L+1492|0;G=L+1488|0;H=L+1484|0;K=L+728|0;D=L+32|0;C=L+1480|0;B=L;c[n>>2]=a;c[o>>2]=d;c[v>>2]=e;c[w>>2]=f;c[x>>2]=g;c[y>>2]=k;c[z>>2]=l;c[A>>2]=m;e=c[z>>2]|0;c[s>>2]=c[((c[c[z>>2]>>2]&3|0)==3?e:e+32|0)+28>>2];e=c[z>>2]|0;c[p>>2]=c[((c[c[z>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2];c[r>>2]=c[(c[(c[s>>2]|0)+8>>2]|0)+232>>2];e=c[(c[n>>2]|0)+8>>2]|0;if((c[r>>2]|0)<(b[(c[(c[n>>2]|0)+8>>2]|0)+238>>1]|0)){c[q>>2]=(c[e+196>>2]|0)+((c[r>>2]|0)+1<<6);h[t>>3]=+h[(c[(c[s>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[(c[n>>2]|0)+8>>2]|0)+196>>2]|0)+(c[r>>2]<<6)+32>>3]-(+h[(c[(c[c[(c[q>>2]|0)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[q>>2]|0)+40>>3])}else h[t>>3]=+(c[e+252>>2]|0);h[I>>3]=+(c[(c[o>>2]|0)+12>>2]|0)/+((c[y>>2]|0)+1|0);h[J>>3]=+h[t>>3]/+((c[y>>2]|0)+1|0);Og(c[n>>2]|0,c[o>>2]|0,c[v>>2]|0,c[s>>2]|0,c[z>>2]|0,K,1);Og(c[n>>2]|0,c[o>>2]|0,c[v>>2]|0,c[p>>2]|0,c[z>>2]|0,D,0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[y>>2]|0)){e=20;break}c[z>>2]=c[(c[w>>2]|0)+((c[x>>2]|0)+(c[E>>2]|0)<<2)>>2];c[C>>2]=0;t=K+56+((c[K+52>>2]|0)-1<<5)|0;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[B+16>>2]=c[t+16>>2];c[B+20>>2]=c[t+20>>2];c[B+24>>2]=c[t+24>>2];c[B+28>>2]=c[t+28>>2];h[1104+(c[C>>2]<<5)>>3]=+h[B>>3];h[1104+(c[C>>2]<<5)+16+8>>3]=+h[B+8>>3];h[1104+(c[C>>2]<<5)+16>>3]=+h[B+16>>3]+ +((c[E>>2]|0)+1|0)*+h[I>>3];h[1104+(c[C>>2]<<5)+8>>3]=+h[B+8>>3]-+((c[E>>2]|0)+1|0)*+h[J>>3];c[C>>2]=(c[C>>2]|0)+1;h[1104+(c[C>>2]<<5)>>3]=+h[K+56+((c[K+52>>2]|0)-1<<5)>>3];h[1104+(c[C>>2]<<5)+16+8>>3]=+h[1104+((c[C>>2]|0)-1<<5)+8>>3];h[1104+(c[C>>2]<<5)+16>>3]=+h[D+56+((c[D+52>>2]|0)-1<<5)+16>>3];h[1104+(c[C>>2]<<5)+8>>3]=+h[1104+(c[C>>2]<<5)+16+8>>3]-+h[J>>3];c[C>>2]=(c[C>>2]|0)+1;t=D+56+((c[D+52>>2]|0)-1<<5)|0;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[B+16>>2]=c[t+16>>2];c[B+20>>2]=c[t+20>>2];c[B+24>>2]=c[t+24>>2];c[B+28>>2]=c[t+28>>2];h[1104+(c[C>>2]<<5)+16>>3]=+h[B+16>>3];h[1104+(c[C>>2]<<5)+16+8>>3]=+h[B+8>>3];h[1104+(c[C>>2]<<5)>>3]=+h[B>>3]-+((c[E>>2]|0)+1|0)*+h[I>>3];h[1104+(c[C>>2]<<5)+8>>3]=+h[1104+((c[C>>2]|0)-1<<5)+16+8>>3];c[C>>2]=(c[C>>2]|0)+1;c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[K+52>>2]|0))break;t=c[v>>2]|0;s=K+56+(c[F>>2]<<5)|0;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[u+16>>2]=c[s+16>>2];c[u+20>>2]=c[s+20>>2];c[u+24>>2]=c[s+24>>2];c[u+28>>2]=c[s+28>>2];zN(t,u);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[C>>2]|0))break;t=c[v>>2]|0;s=1104+(c[F>>2]<<5)|0;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[u+16>>2]=c[s+16>>2];c[u+20>>2]=c[s+20>>2];c[u+24>>2]=c[s+24>>2];c[u+28>>2]=c[s+28>>2];zN(t,u);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=(c[D+52>>2]|0)-1;while(1){if((c[F>>2]|0)<0)break;t=c[v>>2]|0;s=D+56+(c[F>>2]<<5)|0;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[u+16>>2]=c[s+16>>2];c[u+20>>2]=c[s+20>>2];c[u+24>>2]=c[s+24>>2];c[u+28>>2]=c[s+28>>2];zN(t,u);c[F>>2]=(c[F>>2]|0)+-1}e=c[v>>2]|0;if(c[A>>2]|0)c[H>>2]=eM(e,G)|0;else c[H>>2]=fM(e,G)|0;if(!(c[G>>2]|0)){e=20;break}t=c[z>>2]|0;yN(c[z>>2]|0,c[((c[c[z>>2]>>2]&3|0)==2?t:t+-32|0)+28>>2]|0,c[H>>2]|0,c[G>>2]|0,50160);c[(c[v>>2]|0)+80>>2]=0;c[E>>2]=(c[E>>2]|0)+1}if((e|0)==20){i=L;return}}function Ng(b,d,e,f,g,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|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.0;s=i;i=i+160|0;if((i|0)>=(j|0))ba();r=s+96|0;m=s+148|0;x=s+144|0;v=s+140|0;n=s+136|0;u=s+132|0;o=s+128|0;t=s+152|0;q=s+64|0;w=s+32|0;p=s;c[m>>2]=b;c[x>>2]=d;c[v>>2]=e;c[n>>2]=f;c[u>>2]=g;c[o>>2]=k;a[t>>0]=l;k=c[o>>2]|0;qg(w,c[m>>2]|0,c[x>>2]|0,c[n>>2]|0,0,c[u>>2]|0);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];c[k+16>>2]=c[w+16>>2];c[k+20>>2]=c[w+20>>2];c[k+24>>2]=c[w+24>>2];c[k+28>>2]=c[w+28>>2];c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[q+16>>2]=c[k+16>>2];c[q+20>>2]=c[k+20>>2];c[q+24>>2]=c[k+24>>2];c[q+28>>2]=c[k+28>>2];c[(c[o>>2]|0)+48>>2]=4;k=c[v>>2]|0;g=c[u>>2]|0;e=c[o>>2]|0;if(a[t>>0]|0)AN(k,g,2,e,0);else BN(k,g,2,e,0);h[q+16+8>>3]=+h[(c[o>>2]|0)+56+((c[(c[o>>2]|0)+52>>2]|0)-1<<5)+16+8>>3];h[q+8>>3]=+h[(c[o>>2]|0)+56+((c[(c[o>>2]|0)+52>>2]|0)-1<<5)+8>>3];y=+h[(c[(c[n>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[(c[m>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[n>>2]|0)+8>>2]|0)+232>>2]<<6)+24>>3];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];c[r+16>>2]=c[q+16>>2];c[r+20>>2]=c[q+20>>2];c[r+24>>2]=c[q+24>>2];c[r+28>>2]=c[q+28>>2];sg(p,r,4,y);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];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];if(!(+h[q>>3]<+h[q+16>>3])){i=s;return}if(!(+h[q+8>>3]<+h[q+16+8>>3])){i=s;return}w=(c[o>>2]|0)+52|0;x=c[w>>2]|0;c[w>>2]=x+1;x=(c[o>>2]|0)+56+(x<<5)|0;c[x>>2]=c[q>>2];c[x+4>>2]=c[q+4>>2];c[x+8>>2]=c[q+8>>2];c[x+12>>2]=c[q+12>>2];c[x+16>>2]=c[q+16>>2];c[x+20>>2]=c[q+20>>2];c[x+24>>2]=c[q+24>>2];c[x+28>>2]=c[q+28>>2];i=s;return}function Og(b,d,e,f,g,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|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.0;s=i;i=i+160|0;if((i|0)>=(j|0))ba();r=s+96|0;m=s+148|0;x=s+144|0;v=s+140|0;n=s+136|0;u=s+132|0;o=s+128|0;t=s+152|0;q=s+64|0;w=s+32|0;p=s;c[m>>2]=b;c[x>>2]=d;c[v>>2]=e;c[n>>2]=f;c[u>>2]=g;c[o>>2]=k;a[t>>0]=l;k=c[o>>2]|0;qg(w,c[m>>2]|0,c[x>>2]|0,c[n>>2]|0,0,c[u>>2]|0);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];c[k+16>>2]=c[w+16>>2];c[k+20>>2]=c[w+20>>2];c[k+24>>2]=c[w+24>>2];c[k+28>>2]=c[w+28>>2];c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[q+16>>2]=c[k+16>>2];c[q+20>>2]=c[k+20>>2];c[q+24>>2]=c[k+24>>2];c[q+28>>2]=c[k+28>>2];c[(c[o>>2]|0)+48>>2]=1;k=c[v>>2]|0;g=c[u>>2]|0;e=c[o>>2]|0;if(a[t>>0]|0)AN(k,g,2,e,0);else BN(k,g,2,e,0);h[q+16+8>>3]=+h[(c[o>>2]|0)+56+((c[(c[o>>2]|0)+52>>2]|0)-1<<5)+16+8>>3];h[q+8>>3]=+h[(c[o>>2]|0)+56+((c[(c[o>>2]|0)+52>>2]|0)-1<<5)+8>>3];y=+h[(c[(c[n>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[(c[m>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[n>>2]|0)+8>>2]|0)+232>>2]<<6)+24>>3];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];c[r+16>>2]=c[q+16>>2];c[r+20>>2]=c[q+20>>2];c[r+24>>2]=c[q+24>>2];c[r+28>>2]=c[q+28>>2];sg(p,r,1,y);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];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];if(!(+h[q>>3]<+h[q+16>>3])){i=s;return}if(!(+h[q+8>>3]<+h[q+16+8>>3])){i=s;return}w=(c[o>>2]|0)+52|0;x=c[w>>2]|0;c[w>>2]=x+1;x=(c[o>>2]|0)+56+(x<<5)|0;c[x>>2]=c[q>>2];c[x+4>>2]=c[q+4>>2];c[x+8>>2]=c[q+8>>2];c[x+12>>2]=c[q+12>>2];c[x+16>>2]=c[q+16>>2];c[x+20>>2]=c[q+20>>2];c[x+24>>2]=c[q+24>>2];c[x+28>>2]=c[q+28>>2];i=s;return}function Pg(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();k=e+24|0;g=e+16|0;f=e;h[k>>3]=b;h[g>>3]=d;h[f>>3]=+h[k>>3];h[f+8>>3]=+h[g>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function Qg(b,d,e,f,g,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|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=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=i;i=i+416|0;if((i|0)>=(j|0))ba();L=T+336|0;A=T+320|0;P=T+304|0;m=T+412|0;n=T+408|0;o=T+404|0;p=T+400|0;q=T+396|0;r=T+392|0;s=T+388|0;M=T+384|0;K=T+376|0;H=T+368|0;x=T+364|0;J=T+144|0;O=T+128|0;z=T+112|0;B=T+360|0;I=T+356|0;C=T+104|0;N=T+96|0;v=T+88|0;w=T+80|0;G=T+72|0;F=T+64|0;R=T+56|0;Q=T+48|0;E=T+40|0;D=T+32|0;y=T+352|0;t=T+16|0;u=T;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=k;c[s>>2]=l;c[x>>2]=c[(c[o>>2]|0)+(c[p>>2]<<2)>>2];c[y>>2]=qK(c[q>>2]<<2)|0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[q>>2]|0))break;c[(c[y>>2]|0)+(c[B>>2]<<2)>>2]=c[(c[o>>2]|0)+((c[p>>2]|0)+(c[B>>2]|0)<<2)>>2];c[B>>2]=(c[B>>2]|0)+1}P3(c[y>>2]|0,c[q>>2]|0,4,59);b=(c[(c[m>>2]|0)+8>>2]|0)+16|0;l=(c[(c[x>>2]|0)+8>>2]|0)+16|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[L>>2]=c[l>>2];c[L+4>>2]=c[l+4>>2];c[L+8>>2]=c[l+8>>2];c[L+12>>2]=c[l+12>>2];Hg(t,A,L);c[O>>2]=c[t>>2];c[O+4>>2]=c[t+4>>2];c[O+8>>2]=c[t+8>>2];c[O+12>>2]=c[t+12>>2];l=(c[(c[n>>2]|0)+8>>2]|0)+16|0;b=(c[(c[x>>2]|0)+8>>2]|0)+56|0;c[A>>2]=c[l>>2];c[A+4>>2]=c[l+4>>2];c[A+8>>2]=c[l+8>>2];c[A+12>>2]=c[l+12>>2];c[L>>2]=c[b>>2];c[L+4>>2]=c[b+4>>2];c[L+8>>2]=c[b+8>>2];c[L+12>>2]=c[b+12>>2];Hg(u,A,L);c[z>>2]=c[u>>2];c[z+4>>2]=c[u+4>>2];c[z+8>>2]=c[u+8>>2];c[z+12>>2]=c[u+12>>2];h[C>>3]=+h[O>>3]+ +h[(c[(c[m>>2]|0)+8>>2]|0)+96>>3];h[N>>3]=+h[z>>3]-+h[(c[(c[n>>2]|0)+8>>2]|0)+88>>3];h[v>>3]=(+h[C>>3]+ +h[N>>3])/2.0;c[x>>2]=c[c[y>>2]>>2];c[I>>2]=0;b=c[I>>2]|0;c[I>>2]=b+1;b=J+(b<<4)|0;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];b=c[I>>2]|0;c[I>>2]=b+1;b=J+(b<<4)|0;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];b=c[I>>2]|0;c[I>>2]=b+1;b=J+(b<<4)|0;c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];b=c[I>>2]|0;c[I>>2]=b+1;b=J+(b<<4)|0;c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];b=c[x>>2]|0;yN(c[x>>2]|0,c[((c[c[x>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,J,c[I>>2]|0,50160);h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+56>>3]=+h[v>>3];h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+56+8>>3]=+h[O+8>>3]+(+h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]+6.0)/2.0;a[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]=1;h[G>>3]=+h[O+8>>3]+3.0;h[F>>3]=+h[G>>3]+ +h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3];h[R>>3]=+h[v>>3]-+h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+24>>3]/2.0;h[Q>>3]=+h[v>>3]+ +h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+24>>3]/2.0;c[B>>2]=1;while(1){if((c[B>>2]|0)>=(c[s>>2]|0))break;c[x>>2]=c[(c[y>>2]|0)+(c[B>>2]<<2)>>2];if((c[B>>2]|0)%2|0){if((c[B>>2]|0)==1){h[E>>3]=+h[v>>3]-+h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+24>>3]/2.0;h[D>>3]=+h[v>>3]+ +h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+24>>3]/2.0}h[G>>3]=+h[G>>3]-(+h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]+6.0);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];h[J+16>>3]=+h[O>>3];h[J+16+8>>3]=+h[G>>3]-6.0;h[J+32>>3]=+h[z>>3];h[J+32+8>>3]=+h[J+16+8>>3];b=J+48|0;c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];h[J+64>>3]=+h[D>>3];h[J+64+8>>3]=+h[z+8>>3];h[J+80>>3]=+h[D>>3];h[J+80+8>>3]=+h[G>>3];h[J+96>>3]=+h[E>>3];h[J+96+8>>3]=+h[G>>3];h[J+112>>3]=+h[E>>3];h[J+112+8>>3]=+h[O+8>>3];h[w>>3]=+h[G>>3]+ +h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]/2.0}else{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];h[J+16>>3]=+h[R>>3];h[J+16+8>>3]=+h[O+8>>3];h[J+32>>3]=+h[R>>3];h[J+32+8>>3]=+h[F>>3];h[J+48>>3]=+h[Q>>3];h[J+48+8>>3]=+h[F>>3];h[J+64>>3]=+h[Q>>3];h[J+64+8>>3]=+h[z+8>>3];h[J+80>>3]=+h[z>>3];h[J+80+8>>3]=+h[z+8>>3];h[J+96>>3]=+h[z>>3];h[J+96+8>>3]=+h[F>>3]+6.0;h[J+112>>3]=+h[O>>3];h[J+112+8>>3]=+h[F>>3]+6.0;h[w>>3]=+h[F>>3]+ +h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]/2.0+6.0;h[F>>3]=+h[F>>3]+(+h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]+6.0)}c[K+4>>2]=8;c[K>>2]=J;b=(c[r>>2]|0)==6&1;c[P>>2]=c[O>>2];c[P+4>>2]=c[O+4>>2];c[P+8>>2]=c[O+8>>2];c[P+12>>2]=c[O+12>>2];c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];c[A+12>>2]=c[z+12>>2];c[L>>2]=c[K>>2];c[L+4>>2]=c[K+4>>2];c[M>>2]=bM(P,A,L,H,b)|0;if(!(c[H>>2]|0)){S=22;break}h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+56>>3]=+h[v>>3];h[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+56+8>>3]=+h[w>>3];a[(c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]=1;b=c[x>>2]|0;yN(c[x>>2]|0,c[((c[c[x>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,c[M>>2]|0,c[H>>2]|0,50160);c[B>>2]=(c[B>>2]|0)+1}if((S|0)==22){i=T;return}while(1){if((c[B>>2]|0)>=(c[q>>2]|0))break;c[x>>2]=c[(c[y>>2]|0)+(c[B>>2]<<2)>>2];if((c[B>>2]|0)%2|0){if((c[B>>2]|0)==1){h[E>>3]=(+h[C>>3]*2.0+ +h[N>>3])/3.0;h[D>>3]=(+h[C>>3]+ +h[N>>3]*2.0)/3.0}h[G>>3]=+h[G>>3]-6.0;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];h[J+16>>3]=+h[O>>3];h[J+16+8>>3]=+h[G>>3]-6.0;h[J+32>>3]=+h[z>>3];h[J+32+8>>3]=+h[J+16+8>>3];b=J+48|0;c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];h[J+64>>3]=+h[D>>3];h[J+64+8>>3]=+h[z+8>>3];h[J+80>>3]=+h[D>>3];h[J+80+8>>3]=+h[G>>3];h[J+96>>3]=+h[E>>3];h[J+96+8>>3]=+h[G>>3];h[J+112>>3]=+h[E>>3];h[J+112+8>>3]=+h[O+8>>3]}else{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];h[J+16>>3]=+h[R>>3];h[J+16+8>>3]=+h[O+8>>3];h[J+32>>3]=+h[R>>3];h[J+32+8>>3]=+h[F>>3];h[J+48>>3]=+h[Q>>3];h[J+48+8>>3]=+h[F>>3];h[J+64>>3]=+h[Q>>3];h[J+64+8>>3]=+h[z+8>>3];h[J+80>>3]=+h[z>>3];h[J+80+8>>3]=+h[z+8>>3];h[J+96>>3]=+h[z>>3];h[J+96+8>>3]=+h[F>>3]+6.0;h[J+112>>3]=+h[O>>3];h[J+112+8>>3]=+h[F>>3]+6.0;h[F>>3]=+h[F>>3]+6.0}c[K+4>>2]=8;c[K>>2]=J;b=(c[r>>2]|0)==6&1;c[P>>2]=c[O>>2];c[P+4>>2]=c[O+4>>2];c[P+8>>2]=c[O+8>>2];c[P+12>>2]=c[O+12>>2];c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];c[A+12>>2]=c[z+12>>2];c[L>>2]=c[K>>2];c[L+4>>2]=c[K+4>>2];c[M>>2]=bM(P,A,L,H,b)|0;if(!(c[H>>2]|0)){S=22;break}b=c[x>>2]|0;yN(c[x>>2]|0,c[((c[c[x>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,c[M>>2]|0,c[H>>2]|0,50160);c[B>>2]=(c[B>>2]|0)+1}if((S|0)==22){i=T;return}B1(c[y>>2]|0);i=T;return}function Rg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+16|0;f=m+12|0;g=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=d;if(DB(c[f>>2]|0)|0){c[e>>2]=c[13065];c[k>>2]=wB(122534,e,0)|0}else{c[e>>2]=c[13067];c[k>>2]=wB(122534,e,0)|0}aD(c[k>>2]|0,175129,280,1)|0;GA(c[k>>2]|0,0,124181,178598)|0;e=qK(96)|0;c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]=e;h[c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]>>3]=+h[c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]>>3];h[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+24>>3]=+h[(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0)+24>>3];a[(c[(c[k>>2]|0)+8>>2]|0)+115>>0]=a[(c[(c[f>>2]|0)+8>>2]|0)+115>>0]|0;e=(c[(c[k>>2]|0)+8>>2]|0)+116|0;if(c[(c[(c[f>>2]|0)+8>>2]|0)+116>>2]&1)c[e>>2]=0;else c[e>>2]=1;c[(c[(c[k>>2]|0)+8>>2]|0)+248>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+248>>2];c[(c[(c[k>>2]|0)+8>>2]|0)+252>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+252>>2];c[l>>2]=HA(HC(c[f>>2]|0)|0,1,0)|0;while(1){if(!(c[l>>2]|0))break;GA(c[k>>2]|0,1,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0)|0;b=HC(c[f>>2]|0)|0;c[l>>2]=HA(b,1,c[l>>2]|0)|0}c[l>>2]=HA(HC(c[f>>2]|0)|0,2,0)|0;while(1){e=c[k>>2]|0;if(!(c[l>>2]|0))break;GA(e,2,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0)|0;b=HC(c[f>>2]|0)|0;c[l>>2]=HA(b,2,c[l>>2]|0)|0}if(!(GA(e,2,149141,0)|0))GA(c[k>>2]|0,2,149141,178598)|0;if(GA(c[k>>2]|0,2,149150,0)|0){f=c[k>>2]|0;l=c[g>>2]|0;Wg(f,l);l=c[k>>2]|0;i=m;return l|0}GA(c[k>>2]|0,2,149150,178598)|0;f=c[k>>2]|0;l=c[g>>2]|0;Wg(f,l);l=c[k>>2]|0;i=m;return l|0}function Sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l;m=l+24|0;e=l+20|0;h=l+12|0;g=l+8|0;f=l+4|0;c[m>>2]=a;c[e>>2]=b;c[l+16>>2]=d;b=c[m>>2]|0;c[h>>2]=vC(b,MB(c[e>>2]|0)|0,1)|0;aD(c[h>>2]|0,175106,304,1)|0;TA(c[e>>2]|0,c[h>>2]|0)|0;if((sM(c[e>>2]|0)|0)!=2){m=c[h>>2]|0;i=l;return m|0}c[g>>2]=e4(c[c[(c[(c[e>>2]|0)+8>>2]|0)+104>>2]>>2]|0)|0;c[f>>2]=rK((c[g>>2]|0)+3|0)|0;m=c[f>>2]|0;c[k>>2]=c[c[(c[(c[e>>2]|0)+8>>2]|0)+104>>2]>>2];D3(m,122529,k)|0;QA(c[h>>2]|0,147736,c[f>>2]|0)|0;m=c[h>>2]|0;i=l;return m|0}function Tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();m=f+16|0;l=f+12|0;k=f+8|0;h=f+4|0;g=f;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[h>>2]=e;c[g>>2]=jB(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,0,1)|0;aD(c[g>>2]|0,175399,176,1)|0;TA(c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[g>>2]|0}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0;l=i;i=i+48|0;if((i|0)>=(j|0))ba();f=l+24|0;k=l+8|0;m=l+40|0;g=l;c[m>>2]=e;if(c[m>>2]|0){h[g>>3]=+h[b>>3];h[b>>3]=+h[b+8>>3];h[b+8>>3]=-+h[g>>3]};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];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];Hg(a,k,f);i=l;return}function Vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[13873]=c[c[f>>2]>>2];c[13877]=c[(c[f>>2]|0)+4>>2];c[13878]=c[(c[f>>2]|0)+8>>2];c[13851]=c[(c[f>>2]|0)+12>>2];c[13852]=c[(c[f>>2]|0)+16>>2];c[13865]=c[(c[f>>2]|0)+20>>2];c[13864]=c[(c[f>>2]|0)+24>>2];c[13863]=c[(c[f>>2]|0)+28>>2];c[13889]=c[(c[f>>2]|0)+32>>2];c[13881]=c[(c[f>>2]|0)+36>>2];c[13866]=c[(c[f>>2]|0)+40>>2];c[13876]=c[(c[f>>2]|0)+44>>2];c[13885]=c[(c[f>>2]|0)+48>>2];c[13884]=c[(c[f>>2]|0)+52>>2];c[13883]=c[(c[f>>2]|0)+56>>2];c[13888]=c[(c[f>>2]|0)+60>>2];c[13882]=c[(c[f>>2]|0)+64>>2];c[13867]=c[(c[f>>2]|0)+68>>2];c[13814]=c[(c[f>>2]|0)+72>>2];c[13815]=c[(c[f>>2]|0)+76>>2];c[13816]=c[(c[f>>2]|0)+80>>2];c[13834]=c[(c[f>>2]|0)+84>>2];c[13827]=c[(c[f>>2]|0)+88>>2];c[13828]=c[(c[f>>2]|0)+92>>2];c[13829]=c[(c[f>>2]|0)+96>>2];c[13831]=c[(c[f>>2]|0)+100>>2];c[13832]=c[(c[f>>2]|0)+104>>2];c[13835]=c[(c[f>>2]|0)+108>>2];c[13838]=c[(c[f>>2]|0)+112>>2];c[13836]=c[(c[f>>2]|0)+116>>2];c[13837]=c[(c[f>>2]|0)+120>>2];c[13840]=c[(c[f>>2]|0)+124>>2];c[13839]=c[(c[f>>2]|0)+128>>2];c[13841]=c[(c[f>>2]|0)+132>>2];c[13842]=c[(c[f>>2]|0)+136>>2];c[13833]=c[(c[f>>2]|0)+140>>2];c[13845]=c[(c[f>>2]|0)+144>>2];c[13809]=c[(c[f>>2]|0)+148>>2];c[13800]=c[(c[f>>2]|0)+152>>2];B1(c[f>>2]|0);Lf(c[e>>2]|0);zB(c[e>>2]|0)|0;i=d;return}function Wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;c[c[f>>2]>>2]=c[13873];c[(c[f>>2]|0)+4>>2]=c[13877];c[(c[f>>2]|0)+8>>2]=c[13878];c[(c[f>>2]|0)+12>>2]=c[13851];c[(c[f>>2]|0)+16>>2]=c[13852];c[(c[f>>2]|0)+20>>2]=c[13865];c[(c[f>>2]|0)+24>>2]=c[13864];c[(c[f>>2]|0)+28>>2]=c[13863];c[(c[f>>2]|0)+32>>2]=c[13889];c[(c[f>>2]|0)+36>>2]=c[13881];c[(c[f>>2]|0)+40>>2]=c[13866];c[(c[f>>2]|0)+44>>2]=c[13876];c[(c[f>>2]|0)+48>>2]=c[13885];c[(c[f>>2]|0)+52>>2]=c[13884];c[(c[f>>2]|0)+56>>2]=c[13883];c[(c[f>>2]|0)+60>>2]=c[13888];c[(c[f>>2]|0)+64>>2]=c[13882];c[(c[f>>2]|0)+68>>2]=c[13867];c[(c[f>>2]|0)+72>>2]=c[13814];c[(c[f>>2]|0)+76>>2]=c[13815];c[(c[f>>2]|0)+80>>2]=c[13816];c[(c[f>>2]|0)+84>>2]=c[13834];c[(c[f>>2]|0)+88>>2]=c[13827];c[(c[f>>2]|0)+92>>2]=c[13828];c[(c[f>>2]|0)+96>>2]=c[13829];c[(c[f>>2]|0)+100>>2]=c[13831];c[(c[f>>2]|0)+104>>2]=c[13832];c[(c[f>>2]|0)+108>>2]=c[13835];c[(c[f>>2]|0)+112>>2]=c[13838];c[(c[f>>2]|0)+116>>2]=c[13836];c[(c[f>>2]|0)+120>>2]=c[13837];c[(c[f>>2]|0)+124>>2]=c[13840];c[(c[f>>2]|0)+128>>2]=c[13839];c[(c[f>>2]|0)+132>>2]=c[13841];c[(c[f>>2]|0)+136>>2]=c[13842];c[(c[f>>2]|0)+140>>2]=c[13833];c[(c[f>>2]|0)+144>>2]=c[13845];c[(c[f>>2]|0)+152>>2]=c[13800];c[(c[f>>2]|0)+148>>2]=c[13809];c[13873]=0;c[13877]=GA(c[d>>2]|0,2,124422,0)|0;c[13878]=GA(c[d>>2]|0,2,124431,0)|0;c[13851]=GA(c[d>>2]|0,2,139413,0)|0;if(!(c[13851]|0))c[13851]=GA(c[d>>2]|0,2,139413,178598)|0;c[13852]=0;c[13865]=0;c[13864]=GA(c[d>>2]|0,2,139309,0)|0;c[13863]=GA(c[d>>2]|0,2,139300,0)|0;c[13889]=GA(c[d>>2]|0,2,139589,0)|0;c[13881]=0;c[13866]=GA(c[d>>2]|0,2,147736,0)|0;c[13876]=GA(c[d>>2]|0,2,122539,0)|0;c[13885]=0;c[13884]=GA(c[d>>2]|0,2,139489,0)|0;c[13883]=GA(c[d>>2]|0,2,139475,0)|0;c[13888]=GA(c[d>>2]|0,2,139580,0)|0;c[13882]=0;c[13867]=0;c[13814]=GA(c[d>>2]|0,1,179137,0)|0;c[13815]=GA(c[d>>2]|0,1,179205,0)|0;c[13816]=GA(c[d>>2]|0,1,147742,0)|0;c[13834]=0;c[13827]=GA(c[d>>2]|0,1,139300,0)|0;c[13828]=GA(c[d>>2]|0,1,139309,0)|0;c[13829]=0;c[13831]=GA(c[d>>2]|0,1,147736,0)|0;c[13832]=0;c[13835]=0;c[13838]=GA(c[d>>2]|0,1,139281,0)|0;c[13836]=GA(c[d>>2]|0,1,179165,0)|0;c[13837]=GA(c[d>>2]|0,1,139344,0)|0;c[13840]=GA(c[d>>2]|0,1,139356,0)|0;c[13839]=GA(c[d>>2]|0,1,139220,0)|0;c[13841]=GA(c[d>>2]|0,1,139361,0)|0;c[13842]=GA(c[d>>2]|0,1,122551,0)|0;c[13833]=0;c[13845]=0;c[13809]=GA(c[d>>2]|0,0,139281,0)|0;i=e;return}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;l=i;i=i+64|0;if((i|0)>=(j|0))ba();d=l+48|0;n=l+44|0;m=l+40|0;e=l+36|0;f=l+32|0;g=l+16|0;k=l;c[n>>2]=a;c[m>>2]=b;c[e>>2]=c[c[n>>2]>>2];c[f>>2]=c[c[m>>2]>>2];a=(c[(c[(c[f>>2]|0)+8>>2]|0)+96>>2]|0)!=0;do if(c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2]|0){if(!a){c[d>>2]=-1;break}n=(c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2]|0)+24|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];n=(c[(c[(c[f>>2]|0)+8>>2]|0)+96>>2]|0)+24|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];if(+h[g>>3]>+h[k>>3]){c[d>>2]=-1;break}if(+h[g>>3]<+h[k>>3]){c[d>>2]=1;break}if(+h[g+8>>3]>+h[k+8>>3]){c[d>>2]=-1;break}if(+h[g+8>>3]<+h[k+8>>3]){c[d>>2]=1;break}else{c[d>>2]=0;break}}else if(a){c[d>>2]=1;break}else{c[d>>2]=0;break}while(0);i=l;return c[d>>2]|0}function Yg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[e>>2]=b;while(1){b=c[e>>2]|0;if(!(c[(c[(c[e>>2]|0)+8>>2]|0)+116>>2]|0))break;c[e>>2]=c[(c[b+8>>2]|0)+116>>2]}h=c[e>>2]|0;g=c[e>>2]|0;if((c[(c[(c[((c[b>>2]&3|0)==2?h:h+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)>(c[(c[(c[((c[c[e>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)){a[d>>0]=0;h=a[d>>0]|0;i=f;return h|0}g=c[e>>2]|0;h=c[e>>2]|0;if((c[(c[(c[((c[c[e>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)<(c[(c[(c[((c[c[e>>2]>>2]&3|0)==3?h:h+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)){a[d>>0]=1;h=a[d>>0]|0;i=f;return h|0}g=c[e>>2]|0;h=c[e>>2]|0;if((c[(c[(c[((c[c[e>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)>=(c[(c[(c[((c[c[e>>2]>>2]&3|0)==3?h:h+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)){a[d>>0]=0;h=a[d>>0]|0;i=f;return h|0}else{a[d>>0]=1;h=a[d>>0]|0;i=f;return h|0}return 0}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();e=d+16|0;f=d+8|0;h=d+4|0;g=d;c[h>>2]=a;c[g>>2]=b;a=c[h>>2]|0;h=(c[(c[h>>2]|0)+8>>2]|0)+180|0;b=c[g>>2]|0;g=(c[(c[g>>2]|0)+8>>2]|0)+172|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=oh(a,f,b,e)|0;i=d;return b|0}function _g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();e=d+16|0;f=d+8|0;h=d+4|0;g=d;c[h>>2]=a;c[g>>2]=b;a=c[h>>2]|0;h=(c[(c[h>>2]|0)+8>>2]|0)+188|0;b=c[g>>2]|0;g=(c[(c[g>>2]|0)+8>>2]|0)+196|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=oh(a,f,b,e)|0;i=d;return b|0}function $g(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;a=c[b>>2]|0;a=(c[(c[((c[c[b>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+180|0;if(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?c[b>>2]|0:(c[b>>2]|0)+32|0)+28>>2]|0)+8>>2]|0)+180>>2]|0){e=c[b>>2]|0;a=tK(c[a>>2]|0,(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+180+4>>2]|0)+2<<2)|0}else a=rK((c[a+4>>2]|0)+2<<2)|0;f=c[b>>2]|0;c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+180>>2]=a;f=c[b>>2]|0;e=c[b>>2]|0;e=(c[(c[((c[c[b>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+180+4|0;a=c[e>>2]|0;c[e>>2]=a+1;e=c[b>>2]|0;c[(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+180>>2]|0)+(a<<2)>>2]=f;a=c[b>>2]|0;e=c[b>>2]|0;c[(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+180>>2]|0)+(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+180+4>>2]<<2)>>2]=0;a=c[b>>2]|0;a=(c[(c[((c[c[b>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+172|0;if(c[(c[(c[((c[c[b>>2]>>2]&3|0)==2?c[b>>2]|0:(c[b>>2]|0)+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0){f=c[b>>2]|0;a=tK(c[a>>2]|0,(c[(c[(c[((c[c[b>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0)+8>>2]|0)+172+4>>2]|0)+2<<2)|0}else a=rK((c[a+4>>2]|0)+2<<2)|0;e=c[b>>2]|0;c[(c[(c[((c[c[b>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]=a;a=c[b>>2]|0;e=c[b>>2]|0;e=(c[(c[((c[c[b>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+172+4|0;f=c[e>>2]|0;c[e>>2]=f+1;e=c[b>>2]|0;c[(c[(c[(c[((c[c[b>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0)+(f<<2)>>2]=a;f=c[b>>2]|0;e=c[b>>2]|0;c[(c[(c[(c[((c[c[b>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0)+(c[(c[(c[((c[c[b>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0)+8>>2]|0)+172+4>>2]<<2)>>2]=0;i=d;return c[b>>2]|0}function ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){g=6;break}if((c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0))break;c[f>>2]=(c[f>>2]|0)+1}if((g|0)==6){i=h;return}g=(c[d>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+-1;c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[c[d>>2]>>2]|0)+(c[(c[d>>2]|0)+4>>2]<<2)>>2];c[(c[c[d>>2]>>2]|0)+(c[(c[d>>2]|0)+4>>2]<<2)>>2]=0;i=h;return}function bh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;ah((c[(c[((c[c[b>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+180|0,c[b>>2]|0);a=c[b>>2]|0;ah((c[(c[((c[c[b>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+172|0,c[b>>2]|0);i=d;return}else db(122592,122602,117,122611)}function ch(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;a=c[b>>2]|0;a=(c[(c[((c[c[b>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+204|0;if(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?c[b>>2]|0:(c[b>>2]|0)+32|0)+28>>2]|0)+8>>2]|0)+204>>2]|0){e=c[b>>2]|0;a=tK(c[a>>2]|0,(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+204+4>>2]|0)+2<<2)|0}else a=rK((c[a+4>>2]|0)+2<<2)|0;f=c[b>>2]|0;c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+204>>2]=a;f=c[b>>2]|0;a=c[b>>2]|0;a=(c[(c[((c[c[b>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+204+4|0;e=c[a>>2]|0;c[a>>2]=e+1;a=c[b>>2]|0;c[(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+204>>2]|0)+(e<<2)>>2]=f;e=c[b>>2]|0;a=c[b>>2]|0;c[(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+204>>2]|0)+(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+204+4>>2]<<2)>>2]=0;i=d;return}function dh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=c[d>>2]|0;ph(c[d>>2]|0,(c[(c[((c[c[d>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+204|0);i=b;return}function eh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();n=l+16|0;m=l+12|0;h=l+8|0;k=l+4|0;g=l;c[n>>2]=d;c[m>>2]=e;c[h>>2]=f;c[g>>2]=qK(64)|0;e=(c[g>>2]|0)+32|0;c[e>>2]=c[e>>2]&-4|3;e=c[g>>2]|0;c[e>>2]=c[e>>2]&-4|2;e=qK(176)|0;c[(c[g>>2]|0)+8>>2]=e;c[k>>2]=c[g>>2];e=c[k>>2]|0;c[((c[c[k>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]=c[n>>2];e=c[k>>2]|0;c[((c[c[k>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]=c[m>>2];a[(c[(c[k>>2]|0)+8>>2]|0)+112>>0]=1;if(!(c[h>>2]|0)){c[(c[(c[k>>2]|0)+8>>2]|0)+156>>2]=1;b[(c[(c[k>>2]|0)+8>>2]|0)+154>>1]=1;b[(c[(c[k>>2]|0)+8>>2]|0)+168>>1]=1;b[(c[(c[k>>2]|0)+8>>2]|0)+170>>1]=1;n=c[k>>2]|0;i=l;return n|0}m=c[k>>2]|0;c[m>>2]=c[m>>2]&15|((c[c[h>>2]>>2]|0)>>>4&268435455)<<4;m=(c[g>>2]|0)+32|0;c[m>>2]=c[m>>2]&15|((c[c[h>>2]>>2]|0)>>>4&268435455)<<4;b[(c[(c[k>>2]|0)+8>>2]|0)+168>>1]=b[(c[(c[h>>2]|0)+8>>2]|0)+168>>1]|0;b[(c[(c[k>>2]|0)+8>>2]|0)+154>>1]=b[(c[(c[h>>2]|0)+8>>2]|0)+154>>1]|0;c[(c[(c[k>>2]|0)+8>>2]|0)+156>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+156>>2];b[(c[(c[k>>2]|0)+8>>2]|0)+170>>1]=b[(c[(c[h>>2]|0)+8>>2]|0)+170>>1]|0;m=c[k>>2]|0;n=c[h>>2]|0;d=c[k>>2]|0;if((c[((c[c[k>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]|0)!=(c[((c[c[h>>2]>>2]&3|0)==3?n:n+32|0)+28>>2]|0)){m=c[k>>2]|0;n=c[h>>2]|0;if((c[((c[d>>2]&3|0)==3?m:m+32|0)+28>>2]|0)==(c[((c[c[h>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2]|0)){d=(c[(c[k>>2]|0)+8>>2]|0)+16|0;f=(c[(c[h>>2]|0)+8>>2]|0)+56|0;g=d+40|0;do{c[d>>2]=c[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0))}}else{d=(c[d+8>>2]|0)+16|0;f=(c[(c[h>>2]|0)+8>>2]|0)+16|0;g=d+40|0;do{c[d>>2]=c[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0))}m=c[k>>2]|0;n=c[h>>2]|0;d=c[k>>2]|0;if((c[((c[c[k>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2]|0)!=(c[((c[c[h>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2]|0)){m=c[k>>2]|0;n=c[h>>2]|0;if((c[((c[d>>2]&3|0)==2?m:m+-32|0)+28>>2]|0)==(c[((c[c[h>>2]>>2]&3|0)==3?n:n+32|0)+28>>2]|0)){d=(c[(c[k>>2]|0)+8>>2]|0)+56|0;f=(c[(c[h>>2]|0)+8>>2]|0)+16|0;g=d+40|0;do{c[d>>2]=c[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0))}}else{d=(c[d+8>>2]|0)+56|0;f=(c[(c[h>>2]|0)+8>>2]|0)+56|0;g=d+40|0;do{c[d>>2]=c[f>>2];d=d+4|0;f=f+4|0}while((d|0)<(g|0))}if(!(c[(c[(c[h>>2]|0)+8>>2]|0)+172>>2]|0))c[(c[(c[h>>2]|0)+8>>2]|0)+172>>2]=c[k>>2];c[(c[(c[k>>2]|0)+8>>2]|0)+116>>2]=c[h>>2];n=c[k>>2]|0;i=l;return n|0}function fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=$g(eh(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0)|0;i=e;return b|0}function gh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2];if(c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]|0)c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]|0)+8>>2]|0)+168>>2]=c[e>>2];c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2]=c[e>>2];c[(c[(c[e>>2]|0)+8>>2]|0)+168>>2]=0;if((c[e>>2]|0)!=(c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]|0)){i=f;return}else db(122628,122602,215,122644)}function hh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==(c[e>>2]|0))db(122654,122602,220,122661);if(c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]|0)db(122674,122602,221,122661);c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2];if(c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]|0)c[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]|0)+8>>2]|0)+168>>2]=c[e>>2];c[(c[(c[e>>2]|0)+8>>2]|0)+168>>2]=c[d>>2];c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]=c[e>>2];i=f;return}function ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(qh(c[d>>2]|0,c[e>>2]|0)|0))db(122693,122602,231,122714);if(c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]|0)c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]|0)+8>>2]|0)+168>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+168>>2];a=c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]|0;if(c[(c[(c[e>>2]|0)+8>>2]|0)+168>>2]|0){c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+168>>2]|0)+8>>2]|0)+164>>2]=a;i=f;return}else{c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2]=a;i=f;return}}function jh(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=b;c[e>>2]=qK(52)|0;b=c[e>>2]|0;c[b>>2]=c[b>>2]&-4|1;b=qK(304)|0;c[(c[e>>2]|0)+8>>2]=b;b=HC(c[f>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=b;a[(c[(c[e>>2]|0)+8>>2]|0)+156>>0]=1;h[(c[(c[e>>2]|0)+8>>2]|0)+96>>3]=1.0;h[(c[(c[e>>2]|0)+8>>2]|0)+88>>3]=1.0;h[(c[(c[e>>2]|0)+8>>2]|0)+80>>3]=1.0;c[(c[(c[e>>2]|0)+8>>2]|0)+216>>2]=1;c[(c[(c[e>>2]|0)+8>>2]|0)+172+4>>2]=0;b=qK(20)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]=b;c[(c[(c[e>>2]|0)+8>>2]|0)+180+4>>2]=0;b=qK(20)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]=b;gh(c[f>>2]|0,c[e>>2]|0);b=(c[(c[f>>2]|0)+8>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return c[e>>2]|0}function kh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;d=c[f>>2]|0;d=(c[(c[((c[c[f>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+188|0;if(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?c[f>>2]|0:(c[f>>2]|0)+32|0)+28>>2]|0)+8>>2]|0)+188>>2]|0){b=c[f>>2]|0;d=tK(c[d>>2]|0,(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+188+4>>2]|0)+2<<2)|0}else d=rK((c[d+4>>2]|0)+2<<2)|0;h=c[f>>2]|0;c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?h:h+32|0)+28>>2]|0)+8>>2]|0)+188>>2]=d;h=c[f>>2]|0;b=c[f>>2]|0;b=(c[(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+188+4|0;d=c[b>>2]|0;c[b>>2]=d+1;b=c[f>>2]|0;c[(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+188>>2]|0)+(d<<2)>>2]=h;d=c[f>>2]|0;b=c[f>>2]|0;c[(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+188>>2]|0)+(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+188+4>>2]<<2)>>2]=0;d=c[f>>2]|0;d=(c[(c[((c[c[f>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)+8>>2]|0)+196|0;if(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?c[f>>2]|0:(c[f>>2]|0)+-32|0)+28>>2]|0)+8>>2]|0)+196>>2]|0){h=c[f>>2]|0;d=tK(c[d>>2]|0,(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?h:h+-32|0)+28>>2]|0)+8>>2]|0)+196+4>>2]|0)+2<<2)|0}else d=rK((c[d+4>>2]|0)+2<<2)|0;b=c[f>>2]|0;c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+196>>2]=d;d=c[f>>2]|0;b=c[f>>2]|0;b=(c[(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+196+4|0;h=c[b>>2]|0;c[b>>2]=h+1;b=c[f>>2]|0;c[(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+196>>2]|0)+(h<<2)>>2]=d;h=c[f>>2]|0;b=c[f>>2]|0;c[(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?h:h+-32|0)+28>>2]|0)+8>>2]|0)+196+4>>2]<<2)>>2]=0;a[(c[(c[e>>2]|0)+8>>2]|0)+240>>0]=1;a[(c[(Nf(c[e>>2]|0)|0)+8>>2]|0)+240>>0]=1;i=g;return}function lh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0))db(122592,122602,269,122731);if((c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]|0)!=0?(c[(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]|0)+8>>2]|0)+172>>2]|0)==(c[b>>2]|0):0)c[(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]|0)+8>>2]|0)+172>>2]=0;a=c[b>>2]|0;ah((c[(c[((c[c[b>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+188|0,c[b>>2]|0);a=c[b>>2]|0;ah((c[(c[((c[c[b>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+196|0,c[b>>2]|0);i=d;return}function mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f+4|0;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==(c[(c[(c[d>>2]|0)+8>>2]|0)+172>>2]|0)){pA(0,122748,f)|0;i=f;return}if(c[(c[(c[d>>2]|0)+8>>2]|0)+172>>2]|0)db(124603,122602,340,122769);c[(c[(c[d>>2]|0)+8>>2]|0)+172>>2]=c[e>>2];rh(c[d>>2]|0,c[e>>2]|0);i=f;return}function nh(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;g=h+4|0;f=h;c[e>>2]=d;c[g>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2];while(1){if(!(c[g>>2]|0))break;sh(c[g>>2]|0,c[e>>2]|0);c[f>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+172>>2];if(!(b[(c[(c[g>>2]|0)+8>>2]|0)+168>>1]|0))th(c[g>>2]|0);while(1){if((a[(c[(c[g>>2]|0)+8>>2]|0)+112>>0]|0)!=1)break;d=c[g>>2]|0;if((a[(c[(c[((c[c[g>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)+8>>2]|0)+156>>0]|0)!=1)break;d=c[g>>2]|0;if((c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)+8>>2]|0)+180+4>>2]|0)!=1)break;d=c[g>>2]|0;c[g>>2]=c[c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)+8>>2]|0)+180>>2]>>2];sh(c[g>>2]|0,c[e>>2]|0)}c[g>>2]=c[f>>2]}c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]=0;i=h;return}function oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=d;if((c[b+4>>2]|0)>0?(c[e+4>>2]|0)>0:0){d=(c[b+4>>2]|0)<(c[e+4>>2]|0);c[h>>2]=0;if(d){while(1){e=c[(c[b>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=e;if(!e){f=11;break}e=c[k>>2]|0;if((c[((c[c[k>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)==(c[g>>2]|0)){f=11;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==11){k=c[k>>2]|0;i=l;return k|0}}else{while(1){d=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=d;if(!d){f=11;break}d=c[k>>2]|0;if((c[((c[c[k>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)==(c[f>>2]|0)){f=11;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==11){k=c[k>>2]|0;i=l;return k|0}}}c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0))break;if((c[f>>2]|0)==(c[(c[c[g>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)){e=9;break}c[d>>2]=(c[d>>2]|0)+1}if((e|0)==9){i=h;return}b=c[g>>2]|0;if(c[c[g>>2]>>2]|0)b=tK(c[b>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+2<<2)|0;else b=rK((c[b+4>>2]|0)+2<<2)|0;c[c[g>>2]>>2]=b;e=c[f>>2]|0;d=(c[g>>2]|0)+4|0;f=c[d>>2]|0;c[d>>2]=f+1;c[(c[c[g>>2]>>2]|0)+(f<<2)>>2]=e;c[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]<<2)>>2]=0;i=h;return}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[e>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function rh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;if((e[(c[(c[g>>2]|0)+8>>2]|0)+170>>1]|0)<(e[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]|0))b[(c[(c[g>>2]|0)+8>>2]|0)+170>>1]=b[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]|0;while(1){if(!(c[g>>2]|0))break;d=(c[(c[g>>2]|0)+8>>2]|0)+168|0;b[d>>1]=(b[d>>1]|0)+(b[(c[(c[f>>2]|0)+8>>2]|0)+168>>1]|0);d=(c[(c[g>>2]|0)+8>>2]|0)+154|0;b[d>>1]=(b[d>>1]|0)+(b[(c[(c[f>>2]|0)+8>>2]|0)+154>>1]|0);d=(c[(c[g>>2]|0)+8>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+(c[(c[(c[f>>2]|0)+8>>2]|0)+156>>2]|0);c[g>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+172>>2]}i=h;return}function sh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+4|0;f=e;c[g>>2]=a;c[f>>2]=d;a=(c[(c[g>>2]|0)+8>>2]|0)+168|0;b[a>>1]=(b[a>>1]|0)-(b[(c[(c[f>>2]|0)+8>>2]|0)+168>>1]|0);a=(c[(c[g>>2]|0)+8>>2]|0)+154|0;b[a>>1]=(b[a>>1]|0)-(b[(c[(c[f>>2]|0)+8>>2]|0)+154>>1]|0);a=(c[(c[g>>2]|0)+8>>2]|0)+156|0;c[a>>2]=(c[a>>2]|0)-(c[(c[(c[f>>2]|0)+8>>2]|0)+156>>2]|0);i=e;return}function th(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0))db(122592,122602,128,122782);c[e>>2]=0;while(1){a=c[b>>2]|0;a=c[(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+180>>2]|0)+(c[e>>2]<<2)>>2]|0;c[d>>2]=a;if(!a)break;if((c[d>>2]|0)==(c[b>>2]|0)){a=c[b>>2]|0;ah((c[(c[((c[c[b>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+180|0,c[b>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=0;while(1){a=c[b>>2]|0;a=c[(c[(c[(c[((c[c[b>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0)+(c[e>>2]<<2)>>2]|0;c[d>>2]=a;if(!a)break;if((c[d>>2]|0)==(c[b>>2]|0)){a=c[b>>2]|0;ah((c[(c[((c[c[b>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+172|0,c[b>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}i=f;return}function uh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=b;c[f>>2]=d;Fh(c[e>>2]|0);c[g>>2]=0;c[h>>2]=0;while(1){d=c[e>>2]|0;if((c[g>>2]|0)>=(c[(c[(c[e>>2]|0)+8>>2]|0)+216+4>>2]|0))break;Gh(d,c[g>>2]|0);b=Hh(c[e>>2]|0,0,2,c[f>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+b;c[g>>2]=(c[g>>2]|0)+1}Ih(d);c[g>>2]=1;while(1){d=c[e>>2]|0;if((c[g>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;b=Jh(d,c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[g>>2]<<2)>>2]|0,c[f>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+b;c[g>>2]=(c[g>>2]|0)+1}if((c[(c[d+8>>2]|0)+180>>2]|0)<=0){g=c[e>>2]|0;k=c[h>>2]|0;Kh(g,k);i=l;return}g=OA(c[e>>2]|0,122804)|0;c[k>>2]=g;if((g|0)!=0?((zO(c[k>>2]|0)|0)&255|0)==0:0){g=c[e>>2]|0;k=c[h>>2]|0;Kh(g,k);i=l;return}Sk(c[e>>2]|0);a[122815]=1;c[h>>2]=Hh(c[e>>2]|0,2,2,c[f>>2]|0)|0;g=c[e>>2]|0;k=c[h>>2]|0;Kh(g,k);i=l;return}function vh(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;if(!(c[(c[(c[d>>2]|0)+8>>2]|0)+268>>2]|0)){i=f;return}c[e>>2]=b[(c[(c[d>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[e>>2]|0)>(b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]|0))break;c[(c[(c[(c[d>>2]|0)+8>>2]|0)+268>>2]|0)+(c[e>>2]<<2)>>2]=c[c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[e>>2]<<6)+4>>2]>>2];c[e>>2]=(c[e>>2]|0)+1}i=f;return}function wh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;vh(c[b>>2]|0);c[d>>2]=1;while(1){if((c[d>>2]|0)>(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0))break;wh(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}i=e;return}function xh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+20|0;f=l+16|0;e=l+12|0;g=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=1;while(1){if((c[e>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0))break;xh(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!(c[(c[(c[d>>2]|0)+8>>2]|0)+268>>2]|0)){i=l;return}c[f>>2]=b[(c[(c[d>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[f>>2]|0)>(b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]|0))break;c[h>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+268>>2]|0)+(c[f>>2]<<2)>>2];c[g>>2]=Lh(c[d>>2]|0,c[h>>2]|0,-1)|0;c[k>>2]=Lh(c[d>>2]|0,c[h>>2]|0,1)|0;c[(c[(c[(c[d>>2]|0)+8>>2]|0)+268>>2]|0)+(c[f>>2]<<2)>>2]=c[g>>2];a=c[f>>2]|0;a=c[(c[(c[(Nf(c[d>>2]|0)|0)+8>>2]|0)+196>>2]|0)+(a<<6)+4>>2]|0;c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)+4>>2]=a+(c[(c[(c[g>>2]|0)+8>>2]|0)+236>>2]<<2);c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)>>2]=(c[(c[(c[k>>2]|0)+8>>2]|0)+236>>2]|0)-(c[(c[(c[g>>2]|0)+8>>2]|0)+236>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function yh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k+12|0;h=k+8|0;e=k+4|0;g=k;c[f>>2]=b;c[h>>2]=d;b=c[h>>2]|0;a:do if(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+188>>2]|0){c[e>>2]=0;while(1){b=c[h>>2]|0;b=c[(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+188>>2]|0)+(c[e>>2]<<2)>>2]|0;c[g>>2]=b;if(!b)break a;d=c[g>>2]|0;b=c[h>>2]|0;if((c[((c[c[g>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)==(c[((c[c[h>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0))break a;c[e>>2]=(c[e>>2]|0)+1}}else c[g>>2]=0;while(0);d=c[h>>2]|0;if(!(c[g>>2]|0)){b=c[h>>2]|0;e=c[h>>2]|0;c[g>>2]=eh(c[((c[d>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,c[((c[c[h>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0,c[h>>2]|0)|0;d=(c[(c[g>>2]|0)+8>>2]|0)+112|0;if((a[(c[(c[h>>2]|0)+8>>2]|0)+112>>0]|0)==4)a[d>>0]=4;else a[d>>0]=3;c[(c[(c[g>>2]|0)+8>>2]|0)+96>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+96>>2];kh(c[f>>2]|0,c[g>>2]|0);i=k;return}mh(d,c[g>>2]|0);if(!(c[(c[(c[h>>2]|0)+8>>2]|0)+172>>2]|0))c[(c[(c[h>>2]|0)+8>>2]|0)+172>>2]=c[g>>2];if((a[(c[(c[g>>2]|0)+8>>2]|0)+112>>0]|0)==4?(c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]|0)==0:0)c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]=c[h>>2];g=c[h>>2]|0;d=c[h>>2]|0;d=(c[(c[((c[c[h>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+204|0;if(c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)+8>>2]|0)+204>>2]|0){g=c[h>>2]|0;d=tK(c[d>>2]|0,(c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)+8>>2]|0)+204+4>>2]|0)+2<<2)|0}else d=rK((c[d+4>>2]|0)+2<<2)|0;e=c[h>>2]|0;c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+204>>2]=d;e=c[h>>2]|0;f=c[h>>2]|0;f=(c[(c[((c[c[h>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+204+4|0;g=c[f>>2]|0;c[f>>2]=g+1;f=c[h>>2]|0;c[(c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+204>>2]|0)+(g<<2)>>2]=e;g=c[h>>2]|0;f=c[h>>2]|0;c[(c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+204>>2]|0)+(c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)+8>>2]|0)+204+4>>2]<<2)>>2]=0;i=k;return}function zh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();d=n+28|0;l=n+24|0;h=n+20|0;g=n+16|0;e=n+12|0;k=n+8|0;f=n+4|0;m=n;c[d>>2]=a;c[e>>2]=qK((b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]|0)+2<<2)|0;c[k>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;a=(c[e>>2]|0)+(c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+1;c[f>>2]=cB(c[d>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;a=c[f>>2]|0;c[h>>2]=c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+232>>2];a=c[f>>2]|0;c[g>>2]=c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+232>>2];if((c[h>>2]|0)>(c[g>>2]|0)){c[m>>2]=c[h>>2];c[h>>2]=c[g>>2];c[g>>2]=c[m>>2]}c[l>>2]=(c[h>>2]|0)+1;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;a=(c[e>>2]|0)+(c[l>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=eB(c[d>>2]|0,c[f>>2]|0)|0}c[k>>2]=qC(c[d>>2]|0,c[k>>2]|0)|0}m=qK((b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]|0)+2<<6)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]=m;c[l>>2]=b[(c[(c[d>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[l>>2]|0)>(b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]|0))break;m=c[(c[e>>2]|0)+(c[l>>2]<<2)>>2]|0;c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)>>2]=m;c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+8>>2]=m;m=qK((c[(c[e>>2]|0)+(c[l>>2]<<2)>>2]|0)+1<<2)|0;c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+4>>2]=m;c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+12>>2]=m;c[l>>2]=(c[l>>2]|0)+1}B1(c[e>>2]|0);i=n;return}function Ah(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;if((i|0)>=(j|0))ba();m=o+64|0;l=o+48|0;n=o+24|0;k=o;e=o+104|0;f=o+100|0;g=o+96|0;h=o+92|0;c[e>>2]=a;c[f>>2]=d;c[h>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+232>>2];c[g>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2];if((c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+8>>2]|0)<=0){d=MB(c[e>>2]|0)|0;l=MB(c[f>>2]|0)|0;m=c[h>>2]|0;n=c[g>>2]|0;c[k>>2]=1070;c[k+4>>2]=d;c[k+8>>2]=l;c[k+12>>2]=m;c[k+16>>2]=n;pA(1,122816,k)|0;i=o;return}c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[g>>2]<<2)>>2]=c[f>>2];c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2]=c[g>>2];k=(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)|0;c[k>>2]=(c[k>>2]|0)+1;if((c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0)>(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+8>>2]|0))db(122871,122907,1077,122918);if((c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2]|0)>(c[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+8>>2]|0)){d=MB(c[f>>2]|0)|0;k=c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2]|0;l=c[h>>2]|0;m=c[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+8>>2]|0;c[n>>2]=1090;c[n+4>>2]=d;c[n+8>>2]=k;c[n+12>>2]=l;c[n+16>>2]=m;pA(1,122934,n)|0;i=o;return}if((c[h>>2]|0)>=(b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]|0)?(c[h>>2]|0)<=(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0):0){if(((c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2]<<2)|0)>>>0<=((c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+12>>2]|0)+(c[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+8>>2]<<2)|0)>>>0){i=o;return}a=c[h>>2]|0;g=MB(c[f>>2]|0)|0;d=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2]<<2)|0;k=c[h>>2]|0;l=c[h>>2]|0;n=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+12>>2]|0)+(c[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+8>>2]<<2)|0;c[m>>2]=1101;c[m+4>>2]=a;c[m+8>>2]=g;c[m+12>>2]=d;c[m+16>>2]=k;c[m+20>>2]=l;c[m+24>>2]=n;pA(1,123068,m)|0;i=o;return}k=c[h>>2]|0;m=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]|0;n=b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0;c[l>>2]=1095;c[l+4>>2]=k;c[l+8>>2]=m;c[l+12>>2]=n;pA(1,123007,l)|0;i=o;return}function Bh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();r=t;f=t+44|0;g=t+40|0;h=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;p=t+20|0;q=t+16|0;n=t+12|0;o=t+8|0;s=t+4|0;c[f>>2]=d;c[g>>2]=e;c[q>>2]=pO(c[(c[(c[f>>2]|0)+8>>2]|0)+232>>2]|0)|0;c[l>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[l>>2]|0))break;a[(c[(c[l>>2]|0)+8>>2]|0)+157>>0]=0;c[l>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+164>>2]}c[h>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[h>>2]|0)>(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0))break;c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[l>>2]|0))break;e=c[(c[l>>2]|0)+8>>2]|0;if(!(c[g>>2]|0))e=c[e+172>>2]|0;else e=c[e+180>>2]|0;c[p>>2]=e;a:do if((c[c[p>>2]>>2]|0)==0?(a[(c[(c[l>>2]|0)+8>>2]|0)+157>>0]|0)==0:0){a[(c[(c[l>>2]|0)+8>>2]|0)+157>>0]=1;rO(c[q>>2]|0,c[l>>2]|0);while(1){d=sO(c[q>>2]|0)|0;c[m>>2]=d;if(!d)break a;e=c[f>>2]|0;d=c[m>>2]|0;if((a[(c[(c[m>>2]|0)+8>>2]|0)+159>>0]|0)!=7){Ah(e,d);Ch(c[q>>2]|0,c[m>>2]|0,c[g>>2]|0);continue}else{Rk(e,d,c[g>>2]|0,c[q>>2]|0);continue}}}while(0);c[l>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+164>>2]}if(sO(c[q>>2]|0)|0)pA(1,123180,r)|0;c[h>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[h>>2]|0)>(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0))break;a[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+49>>0]=0;b:do if((c[(c[(c[f>>2]|0)+8>>2]|0)+116>>2]&1|0)!=0?(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0)>0:0){c[s>>2]=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2];c[n>>2]=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0)-1;c[o>>2]=(c[n>>2]|0)/2|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>(c[o>>2]|0))break b;Mh(c[(c[s>>2]|0)+(c[k>>2]<<2)>>2]|0,c[(c[s>>2]|0)+((c[n>>2]|0)-(c[k>>2]|0)<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}}while(0);c[h>>2]=(c[h>>2]|0)+1}s=c[f>>2]|0;if((s|0)!=(Nf(c[f>>2]|0)|0)){s=c[q>>2]|0;qO(s);i=t;return}if((Dh(c[f>>2]|0)|0)<=0){s=c[q>>2]|0;qO(s);i=t;return}Nh(c[f>>2]|0,0);s=c[q>>2]|0;qO(s);i=t;return}function Ch(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+16|0;g=l+12|0;m=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;b=(c[m>>2]|0)==0;c[k>>2]=0;if(b){while(1){if((c[k>>2]|0)>=(c[(c[(c[g>>2]|0)+8>>2]|0)+180+4>>2]|0))break;c[h>>2]=c[(c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]|0)+(c[k>>2]<<2)>>2];m=c[h>>2]|0;if(!(a[(c[(c[((c[c[h>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2]|0)+8>>2]|0)+157>>0]|0)){m=c[h>>2]|0;a[(c[(c[((c[c[h>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2]|0)+8>>2]|0)+157>>0]=1;m=c[h>>2]|0;rO(c[f>>2]|0,c[((c[c[h>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2]|0)}c[k>>2]=(c[k>>2]|0)+1}i=l;return}else{while(1){if((c[k>>2]|0)>=(c[(c[(c[g>>2]|0)+8>>2]|0)+172+4>>2]|0))break;c[h>>2]=c[(c[(c[(c[g>>2]|0)+8>>2]|0)+172>>2]|0)+(c[k>>2]<<2)>>2];m=c[h>>2]|0;if(!(a[(c[(c[((c[c[h>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]|0)+8>>2]|0)+157>>0]|0)){m=c[h>>2]|0;a[(c[(c[((c[c[h>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]|0)+8>>2]|0)+157>>0]=1;m=c[h>>2]|0;rO(c[f>>2]|0,c[((c[c[h>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]|0)}c[k>>2]=(c[k>>2]|0)+1}i=l;return}}function Dh(d){d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;h=k+8|0;f=k+4|0;g=k;c[e>>2]=d;c[e>>2]=c[12547];c[f>>2]=0;c[h>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[h>>2]|0)>=(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0))break;if(a[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+49>>0]|0)c[f>>2]=(c[f>>2]|0)+(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+52>>2]|0);else{d=Oh(c[e>>2]|0,c[h>>2]|0)|0;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+52>>2]=d;c[g>>2]=d;c[f>>2]=(c[f>>2]|0)+(c[g>>2]|0);a[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+49>>0]=1}c[h>>2]=(c[h>>2]|0)+1}i=k;return c[f>>2]|0}function Eh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;a=c[e>>2]|0;a=Ph(c[((c[c[e>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)|0;f=c[e>>2]|0;c[d>>2]=c[50192+((Ph(c[((c[c[e>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)|0)*12|0)+(a<<2)>>2];a=(c[(c[e>>2]|0)+8>>2]|0)+156|0;c[a>>2]=_(c[a>>2]|0,c[d>>2]|0)|0;i=b;return}function Fh(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+4|0;g=h;c[f>>2]=d;if(a[139078]|0)nO();a[122815]=0;c[12547]=c[f>>2];c[g>>2]=(BB(Nf(c[f>>2]|0)|0)|0)+1;c[12560]=qK(c[g>>2]<<2)|0;c[12559]=qK(c[g>>2]<<2)|0;vi(c[f>>2]|0);if(e[(c[(c[f>>2]|0)+8>>2]|0)+136>>1]&16)wi(c[f>>2]|0);Fk(c[f>>2]|0);ul(c[f>>2]|0,1);zh(c[f>>2]|0);Zh(c[f>>2]|0);c[12561]=b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1];c[12562]=b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1];i=h;return}function Gh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=d;c[(c[(c[e>>2]|0)+8>>2]|0)+192>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+216>>2]|0)+(c[h>>2]<<2)>>2];if((c[h>>2]|0)<=0){i=g;return}c[f>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[f>>2]|0)>(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0))break;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)+4>>2]=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)+4>>2]|0)+(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)>>2]<<2);c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=g;return}function Hh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;if((i|0)>=(j|0))ba();t=u;k=u+56|0;g=u+52|0;l=u+48|0;m=u+44|0;q=u+40|0;p=u+36|0;s=u+32|0;r=u+28|0;o=u+24|0;n=u+20|0;c[k>>2]=b;c[g>>2]=d;c[l>>2]=e;c[m>>2]=f;if((c[g>>2]|0)>1){d=Dh(c[k>>2]|0)|0;c[n>>2]=d;c[o>>2]=d;li(c[k>>2]|0)}else{c[n>>2]=2147483647;c[o>>2]=2147483647}c[r>>2]=c[g>>2];while(1){if((c[r>>2]|0)>(c[l>>2]|0))break;g=c[13798]|0;if((c[r>>2]|0)<=1){c[q>>2]=4<(g|0)?4:c[13798]|0;d=c[k>>2]|0;if((d|0)==(Nf(c[k>>2]|0)|0))Bh(c[k>>2]|0,c[r>>2]|0);if(!(c[r>>2]|0))_h(c[k>>2]|0);$h(c[k>>2]|0);d=Dh(c[k>>2]|0)|0;c[o>>2]=d;if((d|0)<=(c[n>>2]|0)){li(c[k>>2]|0);c[n>>2]=c[o>>2]}c[s>>2]=0}else{c[q>>2]=g;if((c[o>>2]|0)>(c[n>>2]|0))mi(c[k>>2]|0);c[o>>2]=c[n>>2]}c[s>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break;if(a[139078]|0){d=c[24742]|0;g=c[p>>2]|0;f=c[s>>2]|0;e=c[o>>2]|0;b=c[n>>2]|0;c[t>>2]=c[r>>2];c[t+4>>2]=g;c[t+8>>2]=f;c[t+12>>2]=e;c[t+16>>2]=b;p3(d,123613,t)|0}d=c[s>>2]|0;c[s>>2]=d+1;if((d|0)>=(c[12563]|0)|(c[o>>2]|0)==0)break;ni(c[k>>2]|0,c[p>>2]|0);d=Dh(c[k>>2]|0)|0;c[o>>2]=d;if((d|0)<=(c[n>>2]|0)){li(c[k>>2]|0);if(+(c[o>>2]|0)<+h[4138]*+(c[n>>2]|0))c[s>>2]=0;c[n>>2]=c[o>>2]}c[p>>2]=(c[p>>2]|0)+1}if(!(c[o>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1}if((c[o>>2]|0)>(c[n>>2]|0))mi(c[k>>2]|0);if((c[n>>2]|0)>0){Nh(c[k>>2]|0,0);c[n>>2]=Dh(c[k>>2]|0)|0}if(!(c[m>>2]|0)){t=c[n>>2]|0;i=u;return t|0}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break;oi(c[k>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}t=c[n>>2]|0;i=u;return t|0}function Ih(d){d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();k=m;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;c[e>>2]=d;ki(c[e>>2]|0);c[g>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[g>>2]|0)>(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0))break;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+8>>2];c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+4>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+12>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]|0))break;c[h>>2]=c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+4>>2]|0)+(c[f>>2]<<2)>>2];if(!(c[h>>2]|0)){l=6;break}c[(c[(c[h>>2]|0)+8>>2]|0)+236>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+1}if((l|0)==6){l=0;if(a[139078]|0){d=c[24742]|0;q=MB(c[e>>2]|0)|0;p=c[g>>2]|0;o=c[f>>2]|0;n=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]|0;c[k>>2]=q;c[k+4>>2]=p;c[k+8>>2]=o;c[k+12>>2]=n;p3(d,123563,k)|0}c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]=c[f>>2]}c[g>>2]=(c[g>>2]|0)+1}i=m;return}function Jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;Ok(c[e>>2]|0);Zh(c[e>>2]|0);_h(c[e>>2]|0);$h(c[e>>2]|0);c[h>>2]=Hh(c[e>>2]|0,2,2,c[f>>2]|0)|0;c[g>>2]=1;while(1){d=c[e>>2]|0;if((c[g>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;a=Jh(d,c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[g>>2]<<2)>>2]|0,c[f>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+a;c[g>>2]=(c[g>>2]|0)+1}vh(d);i=k;return c[h>>2]|0} +function tH(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 k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+112|0;if((i|0)>=(j|0))ba();u=q+108|0;k=q+104|0;l=q+100|0;r=q+96|0;m=q+92|0;s=q+88|0;n=q+80|0;p=q+16|0;t=q+8|0;o=q;c[u>>2]=a;c[k>>2]=b;c[l>>2]=d;c[r>>2]=e;c[m>>2]=f;c[s>>2]=g;h[t>>3]=+rH(c[u>>2]|0,c[s>>2]|0);h[o>>3]=+h[t>>3]*+h[t>>3];c[(c[m>>2]|0)+8>>2]=c[s>>2];d=(c[m>>2]|0)+16|0;f=(c[k>>2]|0)+(c[l>>2]<<4)|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];if((c[r>>2]|0)>(c[l>>2]|0)?(+h[(c[k>>2]|0)+(c[l>>2]<<4)>>3]-+h[(c[k>>2]|0)+((c[l>>2]|0)+3<<4)>>3])*(+h[(c[k>>2]|0)+(c[l>>2]<<4)>>3]-+h[(c[k>>2]|0)+((c[l>>2]|0)+3<<4)>>3])+(+h[(c[k>>2]|0)+(c[l>>2]<<4)+8>>3]-+h[(c[k>>2]|0)+((c[l>>2]|0)+3<<4)+8>>3])*(+h[(c[k>>2]|0)+(c[l>>2]<<4)+8>>3]-+h[(c[k>>2]|0)+((c[l>>2]|0)+3<<4)+8>>3])<+h[o>>3]:0)c[l>>2]=(c[l>>2]|0)+3;u=(c[k>>2]|0)+((c[l>>2]|0)+3<<4)|0;c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];u=p+16|0;t=(c[k>>2]|0)+((c[l>>2]|0)+2<<4)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=p+32|0;t=(c[k>>2]|0)+((c[l>>2]|0)+1<<4)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=p+48|0;t=(c[m>>2]|0)+16|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[n>>2]=p+48;c[n+4>>2]=o;vN(n,92,p,0);u=(c[k>>2]|0)+(c[l>>2]<<4)|0;t=p+48|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=(c[k>>2]|0)+((c[l>>2]|0)+1<<4)|0;t=p+32|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=(c[k>>2]|0)+((c[l>>2]|0)+2<<4)|0;t=p+16|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];u=(c[k>>2]|0)+((c[l>>2]|0)+3<<4)|0;c[u>>2]=c[p>>2];c[u+4>>2]=c[p+4>>2];c[u+8>>2]=c[p+8>>2];c[u+12>>2]=c[p+12>>2];i=q;return c[l>>2]|0}function uH(a,b,d,e,f,g,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=k|0;var l=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;D=i;i=i+144|0;if((i|0)>=(j|0))ba();n=D+136|0;y=D+132|0;t=D+128|0;u=D+124|0;z=D+120|0;A=D+116|0;v=D+112|0;B=D+96|0;C=D+80|0;w=D+64|0;r=D+48|0;s=D+32|0;o=D+24|0;x=D+16|0;p=D+8|0;q=D;c[n>>2]=a;c[y>>2]=b;c[t>>2]=d;c[u>>2]=e;c[z>>2]=f;c[A>>2]=g;c[v>>2]=k;if((c[A>>2]|0)!=0&(c[v>>2]|0)!=0?(c[u>>2]|0)==(c[t>>2]|0):0){w=(c[y>>2]|0)+(c[u>>2]<<4)|0;c[B>>2]=c[w>>2];c[B+4>>2]=c[w+4>>2];c[B+8>>2]=c[w+8>>2];c[B+12>>2]=c[w+12>>2];w=(c[y>>2]|0)+((c[u>>2]|0)+3<<4)|0;c[C>>2]=c[w>>2];c[C+4>>2]=c[w+4>>2];c[C+8>>2]=c[w+8>>2];c[C+12>>2]=c[w+12>>2];h[x>>3]=+rH(c[n>>2]|0,c[A>>2]|0);h[p>>3]=+rH(c[n>>2]|0,c[v>>2]|0);h[o>>3]=+O(+((+h[B>>3]-+h[C>>3])*(+h[B>>3]-+h[C>>3])+(+h[B+8>>3]-+h[C+8>>3])*(+h[B+8>>3]-+h[C+8>>3])));if(+h[p>>3]+ +h[x>>3]>=+h[o>>3]){m=+h[o>>3]/3.0;h[x>>3]=m;h[p>>3]=m}do if(+h[B+8>>3]==+h[C+8>>3]){l=+h[B+8>>3];h[s+8>>3]=l;h[r+8>>3]=l;l=+h[C>>3];m=+h[p>>3];if(+h[B>>3]<+h[C>>3]){h[s>>3]=l-m;h[r>>3]=+h[B>>3]+ +h[x>>3];break}else{h[s>>3]=l+m;h[r>>3]=+h[B>>3]-+h[x>>3];break}}else{l=+h[B>>3];h[s>>3]=l;h[r>>3]=l;l=+h[C+8>>3];m=+h[p>>3];if(+h[B+8>>3]<+h[C+8>>3]){h[s+8>>3]=l-m;h[r+8>>3]=+h[B+8>>3]+ +h[x>>3];break}else{h[s+8>>3]=l+m;h[r+8>>3]=+h[B+8>>3]-+h[x>>3];break}}while(0);x=(c[y>>2]|0)+(c[u>>2]<<4)|0;w=(c[y>>2]|0)+((c[u>>2]|0)+1<<4)|0;c[w>>2]=c[r>>2];c[w+4>>2]=c[r+4>>2];c[w+8>>2]=c[r+8>>2];c[w+12>>2]=c[r+12>>2];c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];x=(c[y>>2]|0)+((c[u>>2]|0)+2<<4)|0;y=(c[y>>2]|0)+((c[u>>2]|0)+3<<4)|0;c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];c[(c[z>>2]|0)+12>>2]=c[v>>2];y=(c[z>>2]|0)+32|0;c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];c[y+8>>2]=c[B+8>>2];c[y+12>>2]=c[B+12>>2];c[(c[z>>2]|0)+8>>2]=c[A>>2];B=(c[z>>2]|0)+16|0;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];c[B+8>>2]=c[C+8>>2];c[B+12>>2]=c[C+12>>2];i=D;return}if(c[v>>2]|0){h[p>>3]=+rH(c[n>>2]|0,c[v>>2]|0);s=(c[y>>2]|0)+(c[u>>2]<<4)|0;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];s=(c[y>>2]|0)+((c[u>>2]|0)+3<<4)|0;c[C>>2]=c[s>>2];c[C+4>>2]=c[s+4>>2];c[C+8>>2]=c[s+8>>2];c[C+12>>2]=c[s+12>>2];h[o>>3]=+O(+((+h[B>>3]-+h[C>>3])*(+h[B>>3]-+h[C>>3])+(+h[B+8>>3]-+h[C+8>>3])*(+h[B+8>>3]-+h[C+8>>3])));h[q>>3]=+h[o>>3]*.9;if(+h[p>>3]>=+h[q>>3])h[p>>3]=+h[q>>3];do if(+h[B+8>>3]==+h[C+8>>3]){h[w+8>>3]=+h[B+8>>3];l=+h[C>>3];m=+h[p>>3];if(+h[B>>3]<+h[C>>3]){h[w>>3]=l-m;break}else{h[w>>3]=l+m;break}}else{h[w>>3]=+h[B>>3];l=+h[C+8>>3];m=+h[p>>3];if(+h[B+8>>3]<+h[C+8>>3]){h[w+8>>3]=l-m;break}else{h[w+8>>3]=l+m;break}}while(0);s=(c[y>>2]|0)+((c[u>>2]|0)+1<<4)|0;c[s>>2]=c[B>>2];c[s+4>>2]=c[B+4>>2];c[s+8>>2]=c[B+8>>2];c[s+12>>2]=c[B+12>>2];s=(c[y>>2]|0)+((c[u>>2]|0)+2<<4)|0;u=(c[y>>2]|0)+((c[u>>2]|0)+3<<4)|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];c[(c[z>>2]|0)+12>>2]=c[v>>2];v=(c[z>>2]|0)+32|0;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2]}if(!(c[A>>2]|0)){i=D;return}h[x>>3]=+rH(c[n>>2]|0,c[A>>2]|0);v=(c[y>>2]|0)+(c[t>>2]<<4)|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];c[B+8>>2]=c[v+8>>2];c[B+12>>2]=c[v+12>>2];v=(c[y>>2]|0)+((c[t>>2]|0)+3<<4)|0;c[C>>2]=c[v>>2];c[C+4>>2]=c[v+4>>2];c[C+8>>2]=c[v+8>>2];c[C+12>>2]=c[v+12>>2];h[o>>3]=+O(+((+h[B>>3]-+h[C>>3])*(+h[B>>3]-+h[C>>3])+(+h[B+8>>3]-+h[C+8>>3])*(+h[B+8>>3]-+h[C+8>>3])));h[q>>3]=+h[o>>3]*.9;if(+h[x>>3]>=+h[q>>3])h[x>>3]=+h[q>>3];do if(+h[B+8>>3]==+h[C+8>>3]){h[w+8>>3]=+h[B+8>>3];m=+h[B>>3];l=+h[x>>3];if(+h[B>>3]<+h[C>>3]){h[w>>3]=m+l;break}else{h[w>>3]=m-l;break}}else{h[w>>3]=+h[B>>3];m=+h[B+8>>3];l=+h[x>>3];if(+h[B+8>>3]<+h[C+8>>3]){h[w+8>>3]=m+l;break}else{h[w+8>>3]=m-l;break}}while(0);x=(c[y>>2]|0)+(c[t>>2]<<4)|0;v=(c[y>>2]|0)+((c[t>>2]|0)+1<<4)|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[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];y=(c[y>>2]|0)+((c[t>>2]|0)+2<<4)|0;c[y>>2]=c[C>>2];c[y+4>>2]=c[C+4>>2];c[y+8>>2]=c[C+8>>2];c[y+12>>2]=c[C+12>>2];c[(c[z>>2]|0)+8>>2]=c[A>>2];C=(c[z>>2]|0)+16|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];i=D;return}function vH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=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;s=i;i=i+144|0;if((i|0)>=(j|0))ba();w=s+120|0;v=s+112|0;o=s+80|0;g=s+72|0;n=s+64|0;k=s+56|0;p=s+48|0;l=s+40|0;q=s+32|0;m=s+24|0;r=s+16|0;t=s+8|0;u=s;h[w>>3]=e;c[s+128>>2]=f;h[d>>3]=+h[d>>3]-+h[b>>3];f=d+8|0;h[f>>3]=+h[f>>3]-+h[b+8>>3];h[v>>3]=+h[w>>3]*10.0/(+O(+(+h[d>>3]*+h[d>>3]+ +h[d+8>>3]*+h[d+8>>3]))+.0001);h[d>>3]=+h[d>>3]+(+h[d>>3]>=0.0?.0001:-.0001);f=d+8|0;h[f>>3]=+h[f>>3]+(+h[d+8>>3]>=0.0?.0001:-.0001);h[d>>3]=+h[d>>3]*+h[v>>3];f=d+8|0;h[f>>3]=+h[f>>3]*+h[v>>3];h[t>>3]=+h[d>>3]/2.0;h[u>>3]=+h[d+8>>3]/2.0;h[g>>3]=+h[b>>3]-+h[u>>3];h[n>>3]=+h[b+8>>3]-+h[t>>3];h[k>>3]=+h[b>>3]+ +h[u>>3];h[p>>3]=+h[b+8>>3]+ +h[t>>3];h[l>>3]=+h[g>>3]+ +h[d>>3];h[q>>3]=+h[n>>3]+ +h[d+8>>3];h[m>>3]=+h[k>>3]+ +h[d>>3];h[r>>3]=+h[p>>3]+ +h[d+8>>3];if(+h[k>>3]>(+h[l>>3]>+h[m>>3]?+h[l>>3]:+h[m>>3]))e=+h[k>>3];else e=+h[l>>3]>+h[m>>3]?+h[l>>3]:+h[m>>3];do if(!(+h[g>>3]>e))if(+h[k>>3]>(+h[l>>3]>+h[m>>3]?+h[l>>3]:+h[m>>3])){e=+h[k>>3];break}else{e=+h[l>>3]>+h[m>>3]?+h[l>>3]:+h[m>>3];break}else e=+h[g>>3];while(0);h[o+16>>3]=e;if(+h[p>>3]>(+h[q>>3]>+h[r>>3]?+h[q>>3]:+h[r>>3]))e=+h[p>>3];else e=+h[q>>3]>+h[r>>3]?+h[q>>3]:+h[r>>3];do if(!(+h[n>>3]>e))if(+h[p>>3]>(+h[q>>3]>+h[r>>3]?+h[q>>3]:+h[r>>3])){e=+h[p>>3];break}else{e=+h[q>>3]>+h[r>>3]?+h[q>>3]:+h[r>>3];break}else e=+h[n>>3];while(0);h[o+16+8>>3]=e;if(+h[k>>3]<(+h[l>>3]<+h[m>>3]?+h[l>>3]:+h[m>>3]))e=+h[k>>3];else e=+h[l>>3]<+h[m>>3]?+h[l>>3]:+h[m>>3];do if(!(+h[g>>3]>3]<(+h[l>>3]<+h[m>>3]?+h[l>>3]:+h[m>>3])){e=+h[k>>3];break}else{e=+h[l>>3]<+h[m>>3]?+h[l>>3]:+h[m>>3];break}else e=+h[g>>3];while(0);h[o>>3]=e;if(+h[p>>3]<(+h[q>>3]<+h[r>>3]?+h[q>>3]:+h[r>>3]))e=+h[p>>3];else e=+h[q>>3]<+h[r>>3]?+h[q>>3]:+h[r>>3];if(+h[n>>3]>3];w=o+8|0;h[w>>3]=e;c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];c[a+16>>2]=c[o+16>>2];c[a+20>>2]=c[o+20>>2];c[a+24>>2]=c[o+24>>2];c[a+28>>2]=c[o+28>>2];i=s;return}if(+h[p>>3]<(+h[q>>3]<+h[r>>3]?+h[q>>3]:+h[r>>3])){e=+h[p>>3];w=o+8|0;h[w>>3]=e;c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];c[a+16>>2]=c[o+16>>2];c[a+20>>2]=c[o+20>>2];c[a+24>>2]=c[o+24>>2];c[a+28>>2]=c[o+28>>2];i=s;return}else{e=+h[q>>3]<+h[r>>3]?+h[q>>3]:+h[r>>3];w=o+8|0;h[w>>3]=e;c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];c[a+16>>2]=c[o+16>>2];c[a+20>>2]=c[o+20>>2];c[a+24>>2]=c[o+24>>2];c[a+28>>2]=c[o+28>>2];i=s;return}}function wH(a,b,d,e,f,g,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;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;w=i;i=i+112|0;if((i|0)>=(j|0))ba();t=w+56|0;s=w+40|0;l=w+96|0;y=w+92|0;m=w+32|0;n=w+24|0;o=w+88|0;u=w+84|0;x=w+16|0;r=w+80|0;q=w+76|0;v=w+72|0;p=w;c[l>>2]=a;c[y>>2]=b;h[m>>3]=f;h[n>>3]=g;c[o>>2]=k;c[u>>2]=c[(c[l>>2]|0)+16>>2];c[v>>2]=c[(c[u>>2]|0)+12>>2];c[(c[u>>2]|0)+12>>2]=c[y>>2];GR(c[l>>2]|0,c[(c[c[l>>2]>>2]|0)+336>>2]|0);OR(c[l>>2]|0,+h[n>>3]);h[e>>3]=+h[e>>3]-+h[d>>3];a=e+8|0;h[a>>3]=+h[a>>3]-+h[d+8>>3];h[x>>3]=10.0/(+O(+(+h[e>>3]*+h[e>>3]+ +h[e+8>>3]*+h[e+8>>3]))+.0001);h[e>>3]=+h[e>>3]+(+h[e>>3]>=0.0?.0001:-.0001);a=e+8|0;h[a>>3]=+h[a>>3]+(+h[e+8>>3]>=0.0?.0001:-.0001);h[e>>3]=+h[e>>3]*+h[x>>3];a=e+8|0;h[a>>3]=+h[a>>3]*+h[x>>3];c[r>>2]=0;while(1){if((c[r>>2]|0)>=4){l=5;break}c[q>>2]=c[o>>2]>>(c[r>>2]<<3)&255;if(!(c[q>>2]|0)){l=5;break}x=c[l>>2]|0;f=+h[m>>3];g=+h[n>>3];y=c[q>>2]|0;c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];zH(p,x,s,t,f,g,y);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];c[r>>2]=(c[r>>2]|0)+1}if((l|0)==5){c[(c[u>>2]|0)+12>>2]=c[v>>2];i=w;return}}function xH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();l=n;o=n+24|0;e=n+20|0;k=n+16|0;h=n+12|0;g=n+8|0;f=n+4|0;c[o>>2]=b;c[e>>2]=d;c[k>>2]=c[o>>2];c[c[e>>2]>>2]=0;c[g>>2]=0;while(1){if(!((a[c[k>>2]>>0]|0)!=0?(c[g>>2]|0)<4:0)){m=12;break}c[f>>2]=0;c[h>>2]=c[k>>2];c[k>>2]=IH(c[h>>2]|0,f)|0;if(!(c[f>>2]|0))break;if((c[f>>2]|0)==8&(c[g>>2]|0)==3)c[f>>2]=0;if((c[f>>2]|0)==8&(c[g>>2]|0)==0?(a[c[k>>2]>>0]|0)==0:0)c[f>>2]=0;if(!(c[f>>2]|0))continue;d=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+1;o=c[e>>2]|0;c[o>>2]=c[o>>2]|d<<(b<<3)}if((m|0)==12){i=n;return}c[l>>2]=c[h>>2];pA(0,137453,l)|0;i=n;return}function yH(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=a;i=d;return (+h[b>>3]-+h[c[c[e>>2]>>2]>>3])*(+h[b>>3]-+h[c[c[e>>2]>>2]>>3])+(+h[b+8>>3]-+h[(c[c[e>>2]>>2]|0)+8>>3])*(+h[b+8>>3]-+h[(c[c[e>>2]>>2]|0)+8>>3])<=+h[c[(c[e>>2]|0)+4>>2]>>3]&255|0}function zH(a,b,d,e,f,g,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;if((i|0)>=(j|0))ba();s=u+32|0;r=u+16|0;l=u+60|0;m=u+8|0;n=u;o=u+56|0;q=u+52|0;p=u+48|0;c[l>>2]=b;h[m>>3]=f;h[n>>3]=g;c[o>>2]=k;c[q>>2]=c[o>>2]&15;c[p>>2]=33736;while(1){if(!(c[c[p>>2]>>2]|0)){t=6;break}k=c[p>>2]|0;if((c[q>>2]|0)==(c[c[p>>2]>>2]|0))break;c[p>>2]=k+24}if((t|0)==6){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];i=u;return}h[e>>3]=+h[e>>3]*(+h[k+8>>3]*+h[m>>3]);q=e+8|0;h[q>>3]=+h[q>>3]*(+h[(c[p>>2]|0)+8>>3]*+h[m>>3]);p=c[(c[p>>2]|0)+16>>2]|0;q=c[l>>2]|0;f=+h[m>>3];g=+h[n>>3];t=c[o>>2]|0;c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];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];jc[p&15](q,r,s,f,g,t);h[d>>3]=+h[d>>3]+ +h[e>>3];h[d+8>>3]=+h[d+8>>3]+ +h[e+8>>3];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];i=u;return}function AH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+144|0;if((i|0)>=(j|0))ba();m=r+140|0;k=r+120|0;p=r+136|0;n=r+104|0;o=r+88|0;q=r+8|0;l=r;c[m>>2]=a;h[r+128>>3]=e;h[k>>3]=f;c[p>>2]=g;h[l>>3]=.35;if(+h[k>>3]>4.0)h[l>>3]=+h[l>>3]*(+h[k>>3]/4.0);h[o>>3]=-+h[d+8>>3]*+h[l>>3];h[o+8>>3]=+h[d>>3]*+h[l>>3];h[n>>3]=+h[b>>3]+ +h[d>>3];h[n+8>>3]=+h[b+8>>3]+ +h[d+8>>3];k=q+64|0;if(c[p>>2]&32){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];c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];h[q+16>>3]=+h[b>>3]-+h[o>>3];h[q+16+8>>3]=+h[b+8>>3]-+h[o+8>>3];d=q+32|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];h[q+48>>3]=+h[b>>3]+ +h[o>>3];h[q+48+8>>3]=+h[b+8>>3]+ +h[o+8>>3]}else{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[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];h[q+16>>3]=+h[n>>3]-+h[o>>3];h[q+16+8>>3]=+h[n+8>>3]-+h[o+8>>3];d=q+32|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];h[q+48>>3]=+h[n>>3]+ +h[o>>3];h[q+48+8>>3]=+h[n+8>>3]+ +h[o+8>>3]}if(c[p>>2]&64){IR(c[m>>2]|0,q,3,((c[p>>2]&16|0)!=0^1)&1);i=r;return}k=c[m>>2]|0;if(c[p>>2]&128){IR(k,q+32|0,3,((c[p>>2]&16|0)!=0^1)&1);i=r;return}else{IR(k,q+16|0,3,((c[p>>2]&16|0)!=0^1)&1);i=r;return}}function BH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|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;v=i;i=i+256|0;if((i|0)>=(j|0))ba();o=v+244|0;k=v+232|0;l=v+224|0;t=v+240|0;p=v+208|0;q=v+192|0;r=v+176|0;s=v+160|0;u=v+16|0;m=v+8|0;n=v;c[o>>2]=a;h[k>>3]=e;h[l>>3]=f;c[t>>2]=g;h[m>>3]=.45;if(+h[l>>3]>+h[k>>3]*4.0?(c[t>>2]&32|0)!=0:0)h[m>>3]=+h[m>>3]*(+h[l>>3]/(+h[k>>3]*4.0));h[n>>3]=0.0;if(+h[l>>3]>1.0?(c[t>>2]&32|0)!=0:0)h[n>>3]=(+h[l>>3]-1.0)*.05/+h[k>>3];h[r>>3]=-+h[d+8>>3]*+h[m>>3];h[r+8>>3]=+h[d>>3]*+h[m>>3];h[s>>3]=-+h[d+8>>3]*+h[n>>3];h[s+8>>3]=+h[d>>3]*+h[n>>3];h[q>>3]=+h[b>>3]+ +h[d>>3];h[q+8>>3]=+h[b+8>>3]+ +h[d+8>>3];h[p>>3]=+h[b>>3]+ +h[d>>3]*.5;h[p+8>>3]=+h[b+8>>3]+ +h[d+8>>3]*.5;k=u+128|0;if(c[t>>2]&32){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];c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];h[u+16>>3]=+h[q>>3]-+h[r>>3];h[u+16+8>>3]=+h[q+8>>3]-+h[r+8>>3];h[u+32>>3]=+h[p>>3]-+h[s>>3];h[u+32+8>>3]=+h[p+8>>3]-+h[s+8>>3];h[u+48>>3]=+h[q>>3]-+h[s>>3];h[u+48+8>>3]=+h[q+8>>3]-+h[s+8>>3];d=u+64|0;c[d>>2]=c[q>>2];c[d+4>>2]=c[q+4>>2];c[d+8>>2]=c[q+8>>2];c[d+12>>2]=c[q+12>>2];h[u+80>>3]=+h[q>>3]+ +h[s>>3];h[u+80+8>>3]=+h[q+8>>3]+ +h[s+8>>3];h[u+96>>3]=+h[p>>3]+ +h[s>>3];h[u+96+8>>3]=+h[p+8>>3]+ +h[s+8>>3];h[u+112>>3]=+h[q>>3]+ +h[r>>3];h[u+112+8>>3]=+h[q+8>>3]+ +h[r+8>>3]}else{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[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];h[u+16>>3]=+h[b>>3]-+h[r>>3];h[u+16+8>>3]=+h[b+8>>3]-+h[r+8>>3];h[u+32>>3]=+h[p>>3]-+h[s>>3];h[u+32+8>>3]=+h[p+8>>3]-+h[s+8>>3];h[u+48>>3]=+h[b>>3];h[u+48+8>>3]=+h[b+8>>3];d=u+64|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];h[u+80>>3]=+h[b>>3];h[u+80+8>>3]=+h[b+8>>3];h[u+96>>3]=+h[p>>3]+ +h[s>>3];h[u+96+8>>3]=+h[p+8>>3]+ +h[s+8>>3];h[u+112>>3]=+h[b>>3]+ +h[r>>3];h[u+112+8>>3]=+h[b+8>>3]+ +h[r+8>>3]}if(c[t>>2]&64){IR(c[o>>2]|0,u,6,1);i=v;return}k=c[o>>2]|0;if(c[t>>2]&128){IR(k,u+48|0,6,1);i=v;return}else{IR(k,u,9,1);i=v;return}}function CH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+160|0;if((i|0)>=(j|0))ba();k=q+148|0;l=q+144|0;n=q+112|0;o=q+96|0;p=q+80|0;r=q+64|0;m=q;c[k>>2]=a;h[q+136>>3]=e;h[q+128>>3]=f;c[l>>2]=g;h[r>>3]=-+h[d+8>>3];h[r+8>>3]=+h[d>>3];h[p>>3]=+h[b>>3]+ +h[d>>3];h[p+8>>3]=+h[b+8>>3]+ +h[d+8>>3];h[n>>3]=+h[b>>3]+ +h[d>>3]*.2;h[n+8>>3]=+h[b+8>>3]+ +h[d+8>>3]*.2;h[o>>3]=+h[b>>3]+ +h[d>>3]*.6;h[o+8>>3]=+h[b+8>>3]+ +h[d+8>>3]*.6;h[m>>3]=+h[n>>3]+ +h[r>>3];h[m+8>>3]=+h[n+8>>3]+ +h[r+8>>3];h[m+16>>3]=+h[n>>3]-+h[r>>3];h[m+16+8>>3]=+h[n+8>>3]-+h[r+8>>3];h[m+32>>3]=+h[o>>3]-+h[r>>3];h[m+32+8>>3]=+h[o+8>>3]-+h[r+8>>3];h[m+48>>3]=+h[o>>3]+ +h[r>>3];h[m+48+8>>3]=+h[o+8>>3]+ +h[r+8>>3];if(!(c[l>>2]&64)){if(c[l>>2]&128){r=m+16|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];r=m+32|0;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[r+12>>2]=c[o+12>>2]}}else{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];r=m+48|0;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[r+12>>2]=c[o+12>>2]}IR(c[k>>2]|0,m,4,1);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];r=m+16|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];LR(c[k>>2]|0,m,2);i=q;return}function DH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+144|0;if((i|0)>=(j|0))ba();k=p+132|0;l=p+128|0;n=p+96|0;o=p+80|0;q=p+64|0;m=p;c[k>>2]=a;h[p+120>>3]=e;h[p+112>>3]=f;c[l>>2]=g;h[q>>3]=-+h[d+8>>3]*.4;h[q+8>>3]=+h[d>>3]*.4;h[n>>3]=+h[b>>3]+ +h[d>>3]*.8;h[n+8>>3]=+h[b+8>>3]+ +h[d+8>>3]*.8;h[o>>3]=+h[b>>3]+ +h[d>>3];h[o+8>>3]=+h[b+8>>3]+ +h[d+8>>3];h[m>>3]=+h[b>>3]+ +h[q>>3];h[m+8>>3]=+h[b+8>>3]+ +h[q+8>>3];h[m+16>>3]=+h[b>>3]-+h[q>>3];h[m+16+8>>3]=+h[b+8>>3]-+h[q+8>>3];h[m+32>>3]=+h[n>>3]-+h[q>>3];h[m+32+8>>3]=+h[n+8>>3]-+h[q+8>>3];h[m+48>>3]=+h[n>>3]+ +h[q>>3];h[m+48+8>>3]=+h[n+8>>3]+ +h[q+8>>3];if(!(c[l>>2]&64)){if(c[l>>2]&128){d=m+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];d=m+32|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]}}else{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];d=m+48|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]}IR(c[k>>2]|0,m,4,((c[l>>2]&16|0)!=0^1)&1);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];d=m+16|0;c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];LR(c[k>>2]|0,m,2);i=p;return}function EH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=i;i=i+160|0;if((i|0)>=(j|0))ba();k=n+148|0;l=n+144|0;q=n+112|0;p=n+96|0;o=n+80|0;m=n;c[k>>2]=a;h[n+136>>3]=e;h[n+128>>3]=f;c[l>>2]=g;h[o>>3]=-+h[d+8>>3]/3.0;h[o+8>>3]=+h[d>>3]/3.0;h[p>>3]=+h[b>>3]+ +h[d>>3]/2.0;h[p+8>>3]=+h[b+8>>3]+ +h[d+8>>3]/2.0;h[q>>3]=+h[b>>3]+ +h[d>>3];h[q+8>>3]=+h[b+8>>3]+ +h[d+8>>3];a=m+64|0;c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];h[m+16>>3]=+h[p>>3]+ +h[o>>3];h[m+16+8>>3]=+h[p+8>>3]+ +h[o+8>>3];a=m+32|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];h[m+48>>3]=+h[p>>3]-+h[o>>3];h[m+48+8>>3]=+h[p+8>>3]-+h[o+8>>3];if(c[l>>2]&64){IR(c[k>>2]|0,m+32|0,3,((c[l>>2]&16|0)!=0^1)&1);i=n;return}g=c[k>>2]|0;k=((c[l>>2]&16|0)!=0^1)&1;if(c[l>>2]&128){IR(g,m,3,k);i=n;return}else{IR(g,m,4,k);i=n;return}}function FH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var k=0,l=0,m=0,n=0,o=0;k=i;i=i+64|0;if((i|0)>=(j|0))ba();n=k+60|0;l=k+56|0;o=k+32|0;m=k;c[n>>2]=a;h[k+48>>3]=e;h[k+40>>3]=f;c[l>>2]=g;h[o>>3]=+O(+(+h[d>>3]*+h[d>>3]+ +h[d+8>>3]*+h[d+8>>3]))/2.0;h[m>>3]=+h[b>>3]+ +h[d>>3]/2.0-+h[o>>3];h[m+8>>3]=+h[b+8>>3]+ +h[d+8>>3]/2.0-+h[o>>3];h[m+16>>3]=+h[b>>3]+ +h[d>>3]/2.0+ +h[o>>3];h[m+16+8>>3]=+h[b+8>>3]+ +h[d+8>>3]/2.0+ +h[o>>3];HR(c[n>>2]|0,m,2,((c[l>>2]&16|0)!=0^1)&1);i=k;return}function GH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+208|0;if((i|0)>=(j|0))ba();l=t+204|0;k=t+184|0;m=t+200|0;p=t+176|0;q=t+160|0;r=t+144|0;s=t+128|0;n=t+64|0;o=t+32|0;c[l>>2]=a;h[t+192>>3]=e;h[k>>3]=f;c[m>>2]=g;if(+h[k>>3]>4.0)e=+h[k>>3]*.5/4.0;else e=.5;h[p>>3]=e;h[q>>3]=+h[b>>3]+ +h[d>>3];h[q+8>>3]=+h[b+8>>3]+ +h[d+8>>3];h[r>>3]=-+h[d+8>>3]*+h[p>>3];h[r+8>>3]=+h[d>>3]*+h[p>>3];h[s>>3]=+h[r+8>>3];h[s+8>>3]=-+h[r>>3];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];p=o+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];h[n>>3]=+h[b>>3]+ +h[r>>3]+ +h[s>>3];h[n+8>>3]=+h[b+8>>3]+ +h[r+8>>3]+ +h[s+8>>3];h[n+48>>3]=+h[b>>3]-+h[r>>3]+ +h[s>>3];h[n+48+8>>3]=+h[b+8>>3]-+h[r+8>>3]+ +h[s+8>>3];h[n+16>>3]=+h[b>>3]+ +h[r>>3]*.95+ +h[s>>3]-+h[s>>3]*4.0/3.0;h[n+16+8>>3]=+h[n+8>>3]-+h[s+8>>3]*4.0/3.0;h[n+32>>3]=+h[b>>3]-+h[r>>3]*.95+ +h[s>>3]-+h[s>>3]*4.0/3.0;h[n+32+8>>3]=+h[n+48+8>>3]-+h[s+8>>3]*4.0/3.0;LR(c[l>>2]|0,o,2);if(c[m>>2]&64){FO(t+16|0,n,3,.5,0,n);s=c[l>>2]|0;KR(s,n,4,0,0,0);i=t;return}if(!(c[m>>2]&128)){s=c[l>>2]|0;KR(s,n,4,0,0,0);i=t;return}FO(t,n,3,.5,n,0);s=c[l>>2]|0;KR(s,n,4,0,0,0);i=t;return}function HH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var k=0,l=0,m=0,n=0;k=i;i=i+80|0;if((i|0)>=(j|0))ba();m=k+68|0;n=k+32|0;l=k;c[m>>2]=a;h[k+56>>3]=e;h[k+48>>3]=f;c[k+64>>2]=g;h[n>>3]=+h[b>>3]+ +h[d>>3];h[n+8>>3]=+h[b+8>>3]+ +h[d+8>>3];c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];d=l+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];LR(c[m>>2]|0,l,2);i=k;return}function IH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();k=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[d>>2]=b;c[e>>2]=0;c[g>>2]=JH(c[k>>2]|0,54640,e)|0;if((c[g>>2]|0)==(c[k>>2]|0)){do{c[f>>2]=c[g>>2];c[g>>2]=JH(c[f>>2]|0,54656,e)|0}while((c[f>>2]|0)!=(c[g>>2]|0));c[g>>2]=JH(c[g>>2]|0,54704,e)|0}if((c[e>>2]|0)!=0?(c[e>>2]&15|0)==0:0)c[e>>2]=c[e>>2]|1;k=c[d>>2]|0;c[k>>2]=c[k>>2]|c[e>>2];i=h;return c[g>>2]|0}function JH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;k=m;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[h>>2]=0;c[k>>2]=c[e>>2];c[g>>2]=c[n>>2];while(1){if(!(c[c[g>>2]>>2]|0)){l=6;break}c[h>>2]=e4(c[c[g>>2]>>2]|0)|0;n=(g4(c[e>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0)|0)==0;b=c[g>>2]|0;if(n)break;c[g>>2]=b+8}if((l|0)==6){n=c[k>>2]|0;i=m;return n|0}n=c[f>>2]|0;c[n>>2]=c[n>>2]|c[b+4>>2];c[k>>2]=(c[k>>2]|0)+(c[h>>2]|0);n=c[k>>2]|0;i=m;return n|0}function KH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();h=m+8|0;g=m;d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;c[e>>2]=b;c[k>>2]=0;b=OA(c[e>>2]|0,137548)|0;c[f>>2]=b;if(!((b|0)!=0?(a[c[f>>2]>>0]|0)!=0:0))l=3;do if((l|0)==3){l=OA(c[e>>2]|0,137560)|0;c[f>>2]=l;if((l|0)!=0?(a[c[f>>2]>>0]|0)!=0:0)break;c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}while(0);c[k>>2]=IS(c[f>>2]|0,0,120)|0;if(!(c[k>>2]|0)){c[g>>2]=MB(c[e>>2]|0)|0;pA(0,137567,g)|0;c[h>>2]=c[f>>2];pA(3,137620,h)|0}c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}function LH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;e=g+8|0;f=g+4|0;c[b>>2]=a;d=qK(304)|0;c[e>>2]=d;if(!d)pA(1,137628,g)|0;d=c[(c[b>>2]|0)+16>>2]|0;c[c[e>>2]>>2]=d;c[f>>2]=d;c[(c[b>>2]|0)+16>>2]=c[e>>2];b=c[e>>2]|0;if(c[f>>2]|0){a=b+16|0;b=(c[f>>2]|0)+16|0;d=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+56|0;b=(c[f>>2]|0)+56|0;d=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));c[(c[e>>2]|0)+144>>2]=c[(c[f>>2]|0)+144>>2];c[(c[e>>2]|0)+148>>2]=c[(c[f>>2]|0)+148>>2];h[(c[e>>2]|0)+152>>3]=+h[(c[f>>2]|0)+152>>3];c[(c[e>>2]|0)+136>>2]=c[(c[f>>2]|0)+136>>2];a=(c[e>>2]|0)+96|0;b=(c[f>>2]|0)+96|0;d=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));f=c[e>>2]|0;i=g;return f|0}else{c[b+144>>2]=3;c[(c[e>>2]|0)+148>>2]=0;h[(c[e>>2]|0)+152>>3]=1.0;f=c[e>>2]|0;i=g;return f|0}return 0}function MH(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];if(c[d>>2]|0){B1(c[(c[d>>2]|0)+212>>2]|0);B1(c[(c[d>>2]|0)+208>>2]|0);B1(c[(c[d>>2]|0)+216>>2]|0);B1(c[(c[d>>2]|0)+220>>2]|0);B1(c[(c[d>>2]|0)+224>>2]|0);B1(c[(c[d>>2]|0)+228>>2]|0);B1(c[(c[d>>2]|0)+232>>2]|0);B1(c[(c[d>>2]|0)+236>>2]|0);B1(c[(c[d>>2]|0)+240>>2]|0);B1(c[(c[d>>2]|0)+244>>2]|0);B1(c[(c[d>>2]|0)+248>>2]|0);B1(c[(c[d>>2]|0)+252>>2]|0);B1(c[(c[d>>2]|0)+256>>2]|0);B1(c[(c[d>>2]|0)+272>>2]|0);B1(c[(c[d>>2]|0)+284>>2]|0);B1(c[(c[d>>2]|0)+280>>2]|0);c[(c[b>>2]|0)+16>>2]=c[c[d>>2]>>2];B1(c[d>>2]|0);i=e;return}else db(137654,137658,119,137665)}function NH(d,e,f,g,h,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;v=i;i=i+48|0;if((i|0)>=(j|0))ba();w=v+36|0;m=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;r=v+12|0;u=v+8|0;t=v+4|0;s=v;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=k;c[r>>2]=l;c[u>>2]=c[(c[w>>2]|0)+16>>2];c[t>>2]=c[(c[w>>2]|0)+152>>2];c[s>>2]=0;if((c[t>>2]&32768|0)!=0&(c[m>>2]|0)!=0)c[(c[u>>2]|0)+192>>2]=c[m>>2];if(((c[t>>2]&65536|0)!=0?(w=jK(c[q>>2]|0,c[r>>2]|0)|0,c[(c[u>>2]|0)+212>>2]=w,(c[n>>2]|0)!=0):0)?(a[c[n>>2]>>0]|0)!=0:0){w=jK(c[n>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+208>>2]=w;c[s>>2]=1}do if(c[t>>2]&4194304){if((c[o>>2]|0)!=0?(a[c[o>>2]>>0]|0)!=0:0){w=jK(c[o>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+228>>2]=w;w=(c[u>>2]|0)+260|0;b[w>>1]=b[w>>1]&-2|1;c[s>>2]=1;break}if(c[(c[u>>2]|0)+192>>2]|0){w=d4(c[(c[u>>2]|0)+192>>2]|0)|0;c[(c[u>>2]|0)+228>>2]=w;c[s>>2]=1}}while(0);if(!((c[t>>2]&8388608|0)!=0&(c[p>>2]|0)!=0)){w=c[s>>2]|0;i=v;return w|0}if(!(a[c[p>>2]>>0]|0)){w=c[s>>2]|0;i=v;return w|0}w=jK(c[p>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+244>>2]=w;c[s>>2]=1;w=c[s>>2]|0;i=v;return w|0}function OH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+112|0;if((i|0)>=(j|0))ba();q=r;f=r+36|0;s=r+32|0;g=r+28|0;h=r+24|0;m=r+20|0;p=r+16|0;l=r+12|0;n=r+8|0;o=r+4|0;k=r+40|0;c[s>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[c[s>>2]>>2]|0)+168>>2];c[l>>2]=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+8>>2]|0)+92>>2];$H(c[s>>2]|0,c[h>>2]|0);c[m>>2]=OA(c[g>>2]|0,179149)|0;if((c[m>>2]|0)!=0?(a[c[m>>2]>>0]|0)!=0:0){wA(c[h>>2]|0,c[m>>2]|0)|0;if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=(c[(c[h>>2]|0)+8>>2]|0)>>>0)uA(c[h>>2]|0,1)|0;e=(c[h>>2]|0)+4|0;s=c[e>>2]|0;c[e>>2]=s+1;a[s>>0]=0;s=c[c[h>>2]>>2]|0;c[(c[h>>2]|0)+4>>2]=s;c[f>>2]=s;s=c[f>>2]|0;i=r;return s|0}if((c[l>>2]|0)!=0?(c[g>>2]|0)!=(c[p>>2]|0):0){wA(c[h>>2]|0,c[l>>2]|0)|0;if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=(c[(c[h>>2]|0)+8>>2]|0)>>>0)uA(c[h>>2]|0,1)|0;e=(c[h>>2]|0)+4|0;s=c[e>>2]|0;c[e>>2]=s+1;a[s>>0]=95}a:do switch(RC(c[g>>2]|0)|0){case 0:{c[n>>2]=(c[c[g>>2]>>2]|0)>>>4;if((c[p>>2]|0)==(c[g>>2]|0)){c[o>>2]=149178;break a}else{c[o>>2]=137679;break a}}case 1:{c[n>>2]=(c[c[g>>2]>>2]|0)>>>4;c[o>>2]=149164;break}case 2:{c[n>>2]=(c[c[g>>2]>>2]|0)>>>4;c[o>>2]=149159;break}default:{}}while(0);wA(c[h>>2]|0,c[o>>2]|0)|0;c[q>>2]=c[n>>2];D3(k,137685,q)|0;wA(c[h>>2]|0,k)|0;if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=(c[(c[h>>2]|0)+8>>2]|0)>>>0)uA(c[h>>2]|0,1)|0;e=(c[h>>2]|0)+4|0;s=c[e>>2]|0;c[e>>2]=s+1;a[s>>0]=0;s=c[c[h>>2]>>2]|0;c[(c[h>>2]|0)+4>>2]=s;c[f>>2]=s;s=c[f>>2]|0;i=r;return s|0}function PH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=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.0,y=0.0,z=0.0,A=0.0;v=i;i=i+112|0;if((i|0)>=(j|0))ba();o=v+56|0;f=v+100|0;k=v+96|0;e=v+92|0;w=v+88|0;t=v+84|0;r=v+80|0;q=v+76|0;s=v+48|0;n=v+32|0;u=v+16|0;p=v+72|0;l=v+8|0;m=v;c[k>>2]=a;c[e>>2]=b;c[w>>2]=d;h[s>>3]=+h[(c[(c[k>>2]|0)+16>>2]|0)+152>>3];c[q>>2]=aI(c[w>>2]|0,0,t)|0;if((c[q>>2]|0)==1|(c[q>>2]|0)==2){c[f>>2]=c[q>>2];w=c[f>>2]|0;i=v;return w|0}h[n>>3]=(+h[c[e>>2]>>3]+ +h[(c[e>>2]|0)+16>>3])/2.0;h[n+8>>3]=(+h[(c[e>>2]|0)+8>>3]+ +h[(c[e>>2]|0)+16+8>>3])/2.0;h[u>>3]=+h[(c[e>>2]|0)+16>>3]-+h[n>>3];h[u+8>>3]=+h[(c[e>>2]|0)+16+8>>3]-+h[n+8>>3];if(+h[s>>3]>.5)OR(c[k>>2]|0,.5);h[l>>3]=0.0;c[r>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[c[r>>2]>>2]|0))break;if(!(+g[(c[r>>2]|0)+4>>2]==0.0)){if(c[c[r>>2]>>2]|0)e=c[c[r>>2]>>2]|0;else e=174997;ER(c[k>>2]|0,e);if(!(c[(c[r>>2]|0)+12>>2]|0))h[m>>3]=6.283185307179586;else h[m>>3]=+h[l>>3]+ +g[(c[r>>2]|0)+4>>2]*6.283185307179586;A=+h[u>>3];z=+h[u+8>>3];y=+h[l>>3];x=+h[m>>3];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[p>>2]=zT(o,A,z,y,x)|0;KR(c[k>>2]|0,c[c[p>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0,0,0,1);h[l>>3]=+h[m>>3];wY(c[p>>2]|0)}c[r>>2]=(c[r>>2]|0)+12}if(+h[s>>3]>.5)OR(c[k>>2]|0,+h[s>>3]);bI(c[t>>2]|0);c[f>>2]=c[q>>2];w=c[f>>2]|0;i=v;return w|0}function QH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=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.0;u=i;i=i+128|0;if((i|0)>=(j|0))ba();l=u+116|0;m=u+112|0;f=u+108|0;v=u+104|0;k=u+100|0;s=u+96|0;q=u+92|0;p=u+88|0;t=u+80|0;o=u+16|0;n=u+8|0;r=u;c[m>>2]=a;c[f>>2]=b;c[v>>2]=d;c[k>>2]=e;h[r>>3]=+h[(c[(c[m>>2]|0)+16>>2]|0)+152>>3];c[p>>2]=aI(c[v>>2]|0,0,s)|0;if((c[p>>2]|0)==1|(c[p>>2]|0)==2){c[l>>2]=c[p>>2];v=c[l>>2]|0;i=u;return v|0}b=c[f>>2]|0;if(c[k>>2]|0){v=b+32|0;c[o>>2]=c[v>>2];c[o+4>>2]=c[v+4>>2];c[o+8>>2]=c[v+8>>2];c[o+12>>2]=c[v+12>>2];v=o+16|0;k=(c[f>>2]|0)+48|0;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];v=o+32|0;k=c[f>>2]|0;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];v=o+48|0;k=(c[f>>2]|0)+16|0;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2]}else{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];v=o+16|0;k=(c[f>>2]|0)+16|0;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];v=o+32|0;k=(c[f>>2]|0)+32|0;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];v=o+48|0;k=(c[f>>2]|0)+48|0;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2]}h[n>>3]=+h[o+16>>3];h[t>>3]=+h[o+16>>3]-+h[o>>3];w=+h[o>>3];h[o+32>>3]=w;h[o+16>>3]=w;if(+h[r>>3]>.5)OR(c[m>>2]|0,.5);c[q>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[c[q>>2]>>2]|0))break;if(!(+g[(c[q>>2]|0)+4>>2]==0.0)){if(c[c[q>>2]>>2]|0)b=c[c[q>>2]>>2]|0;else b=174997;ER(c[m>>2]|0,b);if(!(c[(c[q>>2]|0)+12>>2]|0)){w=+h[n>>3];h[o+32>>3]=w;h[o+16>>3]=w}else{w=+h[o>>3]+ +h[t>>3]*+g[(c[q>>2]|0)+4>>2];h[o+32>>3]=w;h[o+16>>3]=w}IR(c[m>>2]|0,o,4,1);w=+h[o+16>>3];h[o+48>>3]=w;h[o>>3]=w}c[q>>2]=(c[q>>2]|0)+12}if(+h[r>>3]>.5)OR(c[m>>2]|0,+h[r>>3]);bI(c[s>>2]|0);c[l>>2]=c[p>>2];v=c[l>>2]|0;i=u;return v|0}function RH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;f=h+8|0;e=h+4|0;g=h;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];c[e>>2]=c[(c[d>>2]|0)+152>>2];if(!(c[e>>2]&4259840)){i=h;return}a=(c[f>>2]|0)+264|0;if(c[e>>2]&131072){c[a>>2]=0;c[(c[f>>2]|0)+268>>2]=2}else{c[a>>2]=2;c[(c[f>>2]|0)+268>>2]=4}B1(c[(c[f>>2]|0)+272>>2]|0);a=qK(c[(c[f>>2]|0)+268>>2]<<4)|0;c[g>>2]=a;c[(c[f>>2]|0)+272>>2]=a;f=c[g>>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];f=(c[g>>2]|0)+16|0;b=b+16|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];if(!(c[e>>2]&8192))hR(c[d>>2]|0,c[g>>2]|0,c[g>>2]|0,2)|0;if(c[e>>2]&131072){i=h;return}SJ(c[g>>2]|0);i=h;return}function SH(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+160|0;if((i|0)>=(j|0))ba();k=n+152|0;l=n+148|0;m=n+144|0;f=n+80|0;g=n+16|0;e=n;c[k>>2]=a;c[l>>2]=b;if(((((((((((((((!(+h[c[l>>2]>>3]>+h[(c[k>>2]|0)+16>>3])?!(+h[c[l>>2]>>3]<+h[c[k>>2]>>3]):0)?!(+h[(c[l>>2]|0)+8>>3]>+h[(c[k>>2]|0)+16+8>>3]):0)?!(+h[(c[l>>2]|0)+8>>3]<+h[(c[k>>2]|0)+8>>3]):0)?!(+h[(c[l>>2]|0)+16>>3]>+h[(c[k>>2]|0)+16>>3]):0)?!(+h[(c[l>>2]|0)+16>>3]<+h[c[k>>2]>>3]):0)?!(+h[(c[l>>2]|0)+16+8>>3]>+h[(c[k>>2]|0)+16+8>>3]):0)?!(+h[(c[l>>2]|0)+16+8>>3]<+h[(c[k>>2]|0)+8>>3]):0)?!(+h[(c[l>>2]|0)+32>>3]>+h[(c[k>>2]|0)+16>>3]):0)?!(+h[(c[l>>2]|0)+32>>3]<+h[c[k>>2]>>3]):0)?!(+h[(c[l>>2]|0)+32+8>>3]>+h[(c[k>>2]|0)+16+8>>3]):0)?!(+h[(c[l>>2]|0)+32+8>>3]<+h[(c[k>>2]|0)+8>>3]):0)?!(+h[(c[l>>2]|0)+48>>3]>+h[(c[k>>2]|0)+16>>3]):0)?!(+h[(c[l>>2]|0)+48>>3]<+h[c[k>>2]>>3]):0)?!(+h[(c[l>>2]|0)+48+8>>3]>+h[(c[k>>2]|0)+16+8>>3]):0)?!(+h[(c[l>>2]|0)+48+8>>3]<+h[(c[k>>2]|0)+8>>3]):0){i=n;return}if(!(cI(c[l>>2]|0)|0)){FO(e,c[l>>2]|0,3,.5,f,g);SH(c[k>>2]|0,f);SH(c[k>>2]|0,g);i=n;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=4)break;d=+h[(c[l>>2]|0)+(c[m>>2]<<4)>>3];e=c[k>>2]|0;if(!(+h[(c[l>>2]|0)+(c[m>>2]<<4)>>3]>+h[(c[k>>2]|0)+16>>3])){if(d<+h[e>>3])h[c[k>>2]>>3]=+h[(c[l>>2]|0)+(c[m>>2]<<4)>>3]}else h[e+16>>3]=d;d=+h[(c[l>>2]|0)+(c[m>>2]<<4)+8>>3];e=c[k>>2]|0;if(!(+h[(c[l>>2]|0)+(c[m>>2]<<4)+8>>3]>+h[(c[k>>2]|0)+16+8>>3])){if(d<+h[e+8>>3])h[(c[k>>2]|0)+8>>3]=+h[(c[l>>2]|0)+(c[m>>2]<<4)+8>>3]}else h[e+16+8>>3]=d;c[m>>2]=(c[m>>2]|0)+1}i=n;return}function TH(b,d){b=b|0;d=d|0;var e=0,f=0,g=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;A=i;i=i+384|0;if((i|0)>=(j|0))ba();e=A+328|0;B=A+368|0;s=A+364|0;v=A+360|0;t=A+356|0;r=A+320|0;q=A+352|0;w=A+288|0;x=A+272|0;o=A+240|0;n=A+208|0;z=A+348|0;y=A+176|0;u=A+144|0;p=A+344|0;f=A+112|0;g=A+80|0;k=A+48|0;l=A+32|0;m=A;c[B>>2]=d;c[s>>2]=c[(c[(c[B>>2]|0)+8>>2]|0)+144>>2];h[r>>3]=0.0;c[q>>2]=0;d=(c[(c[B>>2]|0)+8>>2]|0)+16|0;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[n+16>>2]=c[d+16>>2];c[n+20>>2]=c[d+20>>2];c[n+24>>2]=c[d+24>>2];c[n+28>>2]=c[d+28>>2];c[z>>2]=c[(c[(c[(c[B>>2]|0)+8>>2]|0)+8>>2]|0)+88>>2];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;c[u+24>>2]=0;c[u+28>>2]=0;if(!(c[z>>2]|0)){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];c[b+16>>2]=c[n+16>>2];c[b+20>>2]=c[n+20>>2];c[b+24>>2]=c[n+24>>2];c[b+28>>2]=c[n+28>>2];i=A;return}if(+h[n>>3]==+h[n+16>>3]?+h[n+8>>3]==+h[n+16+8>>3]:0){h[n+8>>3]=1797693134862315708145274.0e284;h[n>>3]=1797693134862315708145274.0e284;h[n+16+8>>3]=-1797693134862315708145274.0e284;h[n+16>>3]=-1797693134862315708145274.0e284}c[v>>2]=c[(c[z>>2]|0)+8>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[y>>2]=c[u>>2];c[y+4>>2]=c[u+4>>2];c[y+8>>2]=c[u+8>>2];c[y+12>>2]=c[u+12>>2];c[y+16>>2]=c[u+16>>2];c[y+20>>2]=c[u+20>>2];c[y+24>>2]=c[u+24>>2];c[y+28>>2]=c[u+28>>2];switch(c[c[v>>2]>>2]|0){case 1:case 0:{h[w>>3]=+h[(c[v>>2]|0)+8>>3]-+h[(c[v>>2]|0)+8+16>>3];h[w+8>>3]=+h[(c[v>>2]|0)+8+8>>3]-+h[(c[v>>2]|0)+8+24>>3];h[w+16>>3]=+h[(c[v>>2]|0)+8>>3]+ +h[(c[v>>2]|0)+8+16>>3];h[w+16+8>>3]=+h[(c[v>>2]|0)+8+8>>3]+ +h[(c[v>>2]|0)+8+24>>3];B=(c[v>>2]|0)+80|0;c[B>>2]=c[w>>2];c[B+4>>2]=c[w+4>>2];c[B+8>>2]=c[w+8>>2];c[B+12>>2]=c[w+12>>2];B=(c[v>>2]|0)+80+16|0;d=w+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[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];dI(n,e);B=w+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];dI(n,e);break}case 3:case 2:{B=(c[v>>2]|0)+80|0;eI(f,c[(c[v>>2]|0)+8+4>>2]|0,c[(c[v>>2]|0)+8>>2]|0,n);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];c[B+24>>2]=c[f+24>>2];c[B+28>>2]=c[f+28>>2];break}case 5:case 4:{B=(c[v>>2]|0)+80|0;eI(g,c[(c[v>>2]|0)+8+4>>2]|0,c[(c[v>>2]|0)+8>>2]|0,n);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];c[B+20>>2]=c[g+20>>2];c[B+24>>2]=c[g+24>>2];c[B+28>>2]=c[g+28>>2];break}case 6:{B=(c[v>>2]|0)+80|0;eI(k,c[(c[v>>2]|0)+8+4>>2]|0,c[(c[v>>2]|0)+8>>2]|0,n);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[B+16>>2]=c[k+16>>2];c[B+20>>2]=c[k+20>>2];c[B+24>>2]=c[k+24>>2];c[B+28>>2]=c[k+28>>2];break}case 7:{B=qK(56)|0;c[(c[v>>2]|0)+112>>2]=B;B=d4(c[(c[v>>2]|0)+8+32>>2]|0)|0;c[c[(c[v>>2]|0)+112>>2]>>2]=B;a[(c[(c[v>>2]|0)+112>>2]|0)+48>>0]=a[137689+(c[(c[v>>2]|0)+8+16>>2]|0)>>0]|0;c[y>>2]=c[q>>2];h[y+16>>3]=+h[r>>3];B=y+24|0;c[B>>2]=c[B>>2]&-128|c[p>>2]&127;B=$b[c[c[(c[s>>2]|0)+144>>2]>>2]&63](c[(c[s>>2]|0)+144>>2]|0,y,1)|0;c[(c[(c[v>>2]|0)+112>>2]|0)+4>>2]=B;fO(l,c[s>>2]|0,c[(c[v>>2]|0)+112>>2]|0);c[x>>2]=c[l>>2];c[x+4>>2]=c[l+4>>2];c[x+8>>2]=c[l+8>>2];c[x+12>>2]=c[l+12>>2];fI(m,+h[(c[v>>2]|0)+8>>3],+h[(c[v>>2]|0)+8+8>>3],c[(c[v>>2]|0)+112>>2]|0);c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];B=(c[v>>2]|0)+80|0;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];c[B+16>>2]=c[o+16>>2];c[B+20>>2]=c[o+20>>2];c[B+24>>2]=c[o+24>>2];c[B+28>>2]=c[o+28>>2];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];dI(n,e);B=o+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];dI(n,e);if(!(c[(c[z>>2]|0)+12>>2]|0))c[(c[z>>2]|0)+12>>2]=100;break}case 10:{h[r>>3]=+h[(c[v>>2]|0)+8>>3];c[q>>2]=c[(c[v>>2]|0)+8+8>>2];break}case 15:{c[p>>2]=c[(c[v>>2]|0)+8>>2];break}default:{}}c[v>>2]=(c[v>>2]|0)+120;c[t>>2]=(c[t>>2]|0)+1}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];c[b+16>>2]=c[n+16>>2];c[b+20>>2]=c[n+20>>2];c[b+24>>2]=c[n+24>>2];c[b+28>>2]=c[n+28>>2];i=A;return}function UH(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();l=o+20|0;m=o+16|0;g=o+12|0;k=o+8|0;f=o+4|0;n=o;c[l>>2]=b;c[m>>2]=d;c[f>>2]=c[(c[l>>2]|0)+152>>2];h[(c[l>>2]|0)+488>>3]=+h[(c[l>>2]|0)+352>>3]*+h[(c[l>>2]|0)+432>>3]/72.0;h[(c[l>>2]|0)+488+8>>3]=+h[(c[l>>2]|0)+352>>3]*+h[(c[l>>2]|0)+432+8>>3]/72.0;h[(c[l>>2]|0)+520>>3]=+h[(c[l>>2]|0)+432>>3]/72.0;h[(c[l>>2]|0)+520+8>>3]=+h[(c[l>>2]|0)+432+8>>3]/72.0;if((c[13802]|0)!=0?1:(c[(c[l>>2]|0)+152>>2]&4096|0)!=0){b=(c[l>>2]|0)+520+8|0;h[b>>3]=+h[b>>3]*-1.0}e=+((c[(c[l>>2]|0)+448>>2]|0)>>>0);d=(c[l>>2]|0)+488|0;if(c[(c[l>>2]|0)+360>>2]|0){h[(c[l>>2]|0)+368+8>>3]=e/+h[d+8>>3];h[(c[l>>2]|0)+368>>3]=+((c[(c[l>>2]|0)+452>>2]|0)>>>0)/+h[(c[l>>2]|0)+488>>3]}else{h[(c[l>>2]|0)+368>>3]=e/+h[d>>3];h[(c[l>>2]|0)+368+8>>3]=+((c[(c[l>>2]|0)+452>>2]|0)>>>0)/+h[(c[l>>2]|0)+488+8>>3]}b=c[m>>2]|0;c[k>>2]=wO(b,GA(c[m>>2]|0,0,139394,0)|0,178598)|0;MR(c[l>>2]|0,c[k>>2]|0);c[(c[l>>2]|0)+160>>2]=0;hI(c[l>>2]|0,c[m>>2]|0);if(c[f>>2]&2)iI(c[l>>2]|0,c[m>>2]|0);c[g>>2]=pC(c[m>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;a[(c[(c[g>>2]|0)+8>>2]|0)+116>>0]=0;c[g>>2]=qC(c[m>>2]|0,c[g>>2]|0)|0}jI(c[l>>2]|0,n);while(1){g=(kI(c[l>>2]|0)|0)<<24>>24!=0;d=c[l>>2]|0;if(!g)break;if((lI(d)|0)>1)mR(c[l>>2]|0);mI(c[l>>2]|0);while(1){g=(nI(c[l>>2]|0)|0)<<24>>24!=0;d=c[l>>2]|0;if(!g)break;oI(d,c[m>>2]|0);pI(c[l>>2]|0)}if((lI(d)|0)>1)nR(c[l>>2]|0);qI(c[l>>2]|0,n)}rI(d,c[m>>2]|0);i=o;return}function VH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[d>>2]=a;if(!(c[13702]|0))c[13702]=eA(54812,c[12989]|0)|0;if($b[c[c[54808>>2]>>2]&63](c[13702]|0,c[d>>2]|0,4)|0){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{g=c[c[13702]>>2]|0;f=c[13702]|0;a=d4(c[d>>2]|0)|0;$b[g&63](f,a,1)|0;c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}return 0}function WH(e,f,k){e=e|0;f=f|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;K=i;i=i+208|0;if((i|0)>=(j|0))ba();l=K+80|0;J=K+72|0;m=K+196|0;n=K+192|0;o=K+188|0;u=K+184|0;q=K+180|0;z=K+176|0;x=K+172|0;p=K+8|0;s=K+168|0;w=K+164|0;D=K+160|0;I=K+156|0;G=K+152|0;H=K+148|0;B=K+144|0;v=K+140|0;C=K+136|0;A=K+132|0;t=K+128|0;E=K;r=K+120|0;y=K+116|0;F=K+112|0;c[m>>2]=e;c[n>>2]=f;c[o>>2]=k;c[q>>2]=1;while(1){if((c[q>>2]|0)>(c[(c[(c[n>>2]|0)+8>>2]|0)+180>>2]|0))break;c[H>>2]=c[(c[(c[(c[n>>2]|0)+8>>2]|0)+184>>2]|0)+(c[q>>2]<<2)>>2];if((sI(c[m>>2]|0,c[H>>2]|0)|0)&255){if(c[o>>2]&4)WH(c[m>>2]|0,c[H>>2]|0,c[o>>2]|0);tI(c[m>>2]|0,c[H>>2]|0);c[C>>2]=c[(c[m>>2]|0)+16>>2];if(c[(c[C>>2]|0)+208>>2]|0)e=1;else e=((b[(c[C>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)!=0;c[t>>2]=e&1;sT(OA(c[H>>2]|0,137692)|0);if((c[t>>2]|0)!=0?(c[o>>2]&4|0)==0:0){k=c[m>>2]|0;f=(c[(c[H>>2]|0)+8>>2]|0)+16|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[l+16>>2]=c[f+16>>2];c[l+20>>2]=c[f+20>>2];c[l+24>>2]=c[f+24>>2];c[l+28>>2]=c[f+28>>2];RH(k,l);yR(c[m>>2]|0,c[(c[C>>2]|0)+208>>2]|0,c[(c[C>>2]|0)+228>>2]|0,c[(c[C>>2]|0)+244>>2]|0,c[(c[C>>2]|0)+212>>2]|0)}c[x>>2]=0;c[z>>2]=0;k=uI(c[H>>2]|0,z)|0;c[I>>2]=k;if((k|0)!=0?(GR(c[m>>2]|0,c[I>>2]|0),(c[z>>2]&1|0)!=0):0)c[x>>2]=1;c[D>>2]=0;c[w>>2]=0;e=c[H>>2]|0;do if(!(d[(c[(c[H>>2]|0)+8>>2]|0)+112>>0]&1)){f=c[H>>2]|0;if(d[(c[e+8>>2]|0)+112>>0]&2){c[D>>2]=xO(f,c[13803]|0,143762)|0;c[w>>2]=xO(c[H>>2]|0,c[13804]|0,143770)|0;c[x>>2]=1;break}k=c[H>>2]|0;if(d[(c[f+8>>2]|0)+112>>0]&8){c[D>>2]=xO(k,c[13807]|0,143778)|0;c[w>>2]=xO(c[H>>2]|0,c[13808]|0,143786)|0;c[x>>2]=1;break}e=c[H>>2]|0;if(d[(c[k+8>>2]|0)+112>>0]&4){c[D>>2]=xO(e,c[13805]|0,143794)|0;c[w>>2]=xO(c[H>>2]|0,c[13806]|0,143802)|0;c[x>>2]=1;break}k=OA(e,178912)|0;c[s>>2]=k;if((k|0)!=0?(a[c[s>>2]>>0]|0)!=0:0){k=c[s>>2]|0;c[D>>2]=k;c[w>>2]=k}k=OA(c[H>>2]|0,175387)|0;c[s>>2]=k;if((k|0)!=0?(a[c[s>>2]>>0]|0)!=0:0)c[D>>2]=c[s>>2];k=OA(c[H>>2]|0,139290)|0;c[s>>2]=k;if((k|0)!=0?(a[c[s>>2]>>0]|0)!=0:0)c[w>>2]=c[s>>2];if((!((c[x>>2]|0)!=0&(c[w>>2]|0)!=0)?(k=OA(c[H>>2]|0,179066)|0,c[s>>2]=k,(k|0)!=0):0)?(a[c[s>>2]>>0]|0)!=0:0){c[w>>2]=c[s>>2];c[x>>2]=1}}else{c[D>>2]=xO(e,c[13803]|0,143746)|0;c[w>>2]=xO(c[H>>2]|0,c[13804]|0,143754)|0;c[x>>2]=1}while(0);if(!(c[D>>2]|0))c[D>>2]=174997;if(!(c[w>>2]|0))c[w>>2]=172483;c[r>>2]=0;do if(c[x>>2]|0){k=(XH(c[w>>2]|0,r,y)|0)<<24>>24!=0;e=c[m>>2]|0;if(!k){ER(e,c[w>>2]|0);break}ER(e,c[r>>2]|0);e=c[m>>2]|0;if(c[r+4>>2]|0){f=c[r+4>>2]|0;k=tO(c[H>>2]|0,c[13812]|0,0,0)|0;FR(e,f,k,+g[y>>2])}else{k=tO(c[H>>2]|0,c[13812]|0,0,0)|0;FR(e,174997,k,+g[y>>2])}if(c[z>>2]&2){c[x>>2]=3;break}else{c[x>>2]=2;break}}while(0);if(((c[13811]|0)!=0?(k=PA(c[H>>2]|0,c[13811]|0)|0,c[G>>2]=k,(k|0)!=0):0)?(a[c[G>>2]>>0]|0)!=0:0){h[E>>3]=+uO(c[H>>2]|0,c[13811]|0,1.0,0.0);OR(c[m>>2]|0,+h[E>>3])}do if(c[z>>2]&4){k=tO(c[H>>2]|0,c[13810]|0,1,0)|0;c[u>>2]=k;if((k|0)!=0|(c[x>>2]|0)!=0){e=(c[(c[H>>2]|0)+8>>2]|0)+16|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=p+32|0;k=(c[(c[H>>2]|0)+8>>2]|0)+16+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];h[p+16>>3]=+h[p+32>>3];h[p+16+8>>3]=+h[p+8>>3];h[p+48>>3]=+h[p>>3];h[p+48+8>>3]=+h[p+32+8>>3];e=c[m>>2]|0;if(c[u>>2]|0)DR(e,c[D>>2]|0);else DR(e,175510);rM(c[m>>2]|0,p,4,c[z>>2]|0,c[x>>2]|0)}}else{if(!(c[z>>2]&64)){if(tO(c[H>>2]|0,c[13810]|0,1,0)|0){DR(c[m>>2]|0,c[D>>2]|0);f=c[m>>2]|0;e=(c[(c[H>>2]|0)+8>>2]|0)+16|0;k=c[x>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[l+12>>2]=c[e+12>>2];c[l+16>>2]=c[e+16>>2];c[l+20>>2]=c[e+20>>2];c[l+24>>2]=c[e+24>>2];c[l+28>>2]=c[e+28>>2];JR(f,l,k);break}if(!(c[x>>2]|0))break;DR(c[m>>2]|0,175510);f=c[m>>2]|0;e=(c[(c[H>>2]|0)+8>>2]|0)+16|0;k=c[x>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[l+12>>2]=c[e+12>>2];c[l+16>>2]=c[e+16>>2];c[l+20>>2]=c[e+20>>2];c[l+24>>2]=c[e+24>>2];c[l+28>>2]=c[e+28>>2];JR(f,l,k);break}k=(c[(c[H>>2]|0)+8>>2]|0)+16|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];k=p+32|0;e=(c[(c[H>>2]|0)+8>>2]|0)+16+16|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];h[p+16>>3]=+h[p+32>>3];h[p+16+8>>3]=+h[p+8>>3];h[p+48>>3]=+h[p>>3];h[p+48+8>>3]=+h[p+32+8>>3];k=(tO(c[H>>2]|0,c[13810]|0,1,0)|0)==0;e=c[m>>2]|0;if(k)DR(e,175510);else DR(e,c[D>>2]|0);c[F>>2]=QH(c[m>>2]|0,p,c[w>>2]|0,0)|0;if((c[F>>2]|0)>1){c[J>>2]=MB(c[H>>2]|0)|0;pA(3,137704,J)|0}k=c[m>>2]|0;f=(c[(c[H>>2]|0)+8>>2]|0)+16|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[l+16>>2]=c[f+16>>2];c[l+20>>2]=c[f+20>>2];c[l+24>>2]=c[f+24>>2];c[l+28>>2]=c[f+28>>2];JR(k,l,0)}while(0);B1(c[r>>2]|0);k=c[(c[(c[H>>2]|0)+8>>2]|0)+12>>2]|0;c[A>>2]=k;if(k)iK(c[m>>2]|0,5,c[A>>2]|0);if(c[t>>2]|0){if(c[o>>2]&4){k=c[m>>2]|0;f=(c[(c[H>>2]|0)+8>>2]|0)+16|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[l+16>>2]=c[f+16>>2];c[l+20>>2]=c[f+20>>2];c[l+24>>2]=c[f+24>>2];c[l+28>>2]=c[f+28>>2];RH(k,l);yR(c[m>>2]|0,c[(c[C>>2]|0)+208>>2]|0,c[(c[C>>2]|0)+228>>2]|0,c[(c[C>>2]|0)+244>>2]|0,c[(c[C>>2]|0)+212>>2]|0)}zR(c[m>>2]|0)}a:do if(c[o>>2]&8){c[B>>2]=pC(c[H>>2]|0)|0;while(1){if(!(c[B>>2]|0))break a;vI(c[m>>2]|0,c[B>>2]|0);c[v>>2]=cB(c[H>>2]|0,c[B>>2]|0)|0;while(1){if(!(c[v>>2]|0))break;wI(c[m>>2]|0,c[v>>2]|0);c[v>>2]=eB(c[H>>2]|0,c[v>>2]|0)|0}c[B>>2]=qC(c[H>>2]|0,c[B>>2]|0)|0}}while(0);xI(c[m>>2]|0,c[n>>2]|0);if(!(c[o>>2]&4))WH(c[m>>2]|0,c[H>>2]|0,c[o>>2]|0)}c[q>>2]=(c[q>>2]|0)+1}i=K;return}function XH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o;l=o+24|0;f=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;p=o+4|0;c[f>>2]=b;c[k>>2]=d;c[m>>2]=e;c[p>>2]=aI(c[f>>2]|0,0,n)|0;if(((c[p>>2]|0)==0?(c[c[n>>2]>>2]|0)>=2:0)?(c[c[(c[n>>2]|0)+8>>2]>>2]|0)!=0:0){if((c[c[n>>2]>>2]|0)>2)pA(0,137719,h)|0;f=rK((e4(c[f>>2]|0)|0)+1|0)|0;c[c[k>>2]>>2]=f;b4(c[c[k>>2]>>2]|0,c[c[(c[n>>2]|0)+8>>2]>>2]|0)|0;f=c[k>>2]|0;if(c[(c[(c[n>>2]|0)+8>>2]|0)+12>>2]|0){p=c[f>>2]|0;p=p+((e4(c[c[k>>2]>>2]|0)|0)+1)|0;c[(c[k>>2]|0)+4>>2]=p;b4(c[(c[k>>2]|0)+4>>2]|0,c[(c[(c[n>>2]|0)+8>>2]|0)+12>>2]|0)|0}else c[f+4>>2]=0;f=c[(c[n>>2]|0)+8>>2]|0;do if(!(a[(c[(c[n>>2]|0)+8>>2]|0)+8>>0]|0))if(a[f+12+8>>0]|0){g[c[m>>2]>>2]=1.0-+g[(c[(c[n>>2]|0)+8>>2]|0)+12+4>>2];break}else{g[c[m>>2]>>2]=0.0;break}else g[c[m>>2]>>2]=+g[f+4>>2];while(0);bI(c[n>>2]|0);a[l>>0]=1;p=a[l>>0]|0;i=o;return p|0}c[c[k>>2]>>2]=0;a[l>>0]=0;p=a[l>>0]|0;i=o;return p|0}function YH(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+208|0;if((i|0)>=(j|0))ba();p=r+24|0;o=r+16|0;n=r+8|0;m=r;g=r+64|0;h=r+60|0;k=r+56|0;l=r+200|0;f=r+52|0;e=r+48|0;q=r+32|0;c[h>>2]=b;c[k>>2]=0;a[l>>0]=0;if(a[137785]|0){tA(54848,128,137786);a[137785]=0}tA(q,128,r+72|0);c[f>>2]=c[h>>2];a:while(1){b=yI(f,q)|0;c[e>>2]=b;if(!b){e=23;break}switch(c[e>>2]|0){case 40:{if(a[l>>0]|0){e=7;break a}a[l>>0]=1;continue a}case 41:{if(!(d[l>>0]|0)){e=10;break a}a[l>>0]=0;continue a}default:{if(!(d[l>>0]|0)){if((c[k>>2]|0)==63){e=14;break a}if((c[13713]|0)>>>0>=(c[13714]|0)>>>0)uA(54848,1)|0;s=c[13713]|0;c[13713]=s+1;a[s>>0]=0;s=c[13713]|0;b=c[k>>2]|0;c[k>>2]=b+1;c[54864+(b<<2)>>2]=s}if((c[q+4>>2]|0)>>>0>=(c[q+8>>2]|0)>>>0)uA(q,1)|0;b=q+4|0;s=c[b>>2]|0;c[b>>2]=s+1;a[s>>0]=0;s=c[q>>2]|0;c[q+4>>2]=s;wA(54848,s)|0;if((c[13713]|0)>>>0>=(c[13714]|0)>>>0)uA(54848,1)|0;s=c[13713]|0;c[13713]=s+1;a[s>>0]=0;continue a}}}if((e|0)==7){c[m>>2]=c[h>>2];pA(1,137914,m)|0;c[13716]=0;xA(q);c[g>>2]=54864;s=c[g>>2]|0;i=r;return s|0}else if((e|0)==10){c[n>>2]=c[h>>2];pA(1,137948,n)|0;c[13716]=0;xA(q);c[g>>2]=54864;s=c[g>>2]|0;i=r;return s|0}else if((e|0)==14){c[o>>2]=c[h>>2];pA(0,137976,o)|0;c[54864+(c[k>>2]<<2)>>2]=0;xA(q);c[g>>2]=54864;s=c[g>>2]|0;i=r;return s|0}else if((e|0)==23){if(a[l>>0]|0){c[p>>2]=c[h>>2];pA(1,137999,p)|0;c[13716]=0;xA(q);c[g>>2]=54864;s=c[g>>2]|0;i=r;return s|0}c[54864+(c[k>>2]<<2)>>2]=0;xA(q);if((c[13713]|0)>>>0>=(c[13714]|0)>>>0)uA(54848,1)|0;s=c[13713]|0;c[13713]=s+1;a[s>>0]=0;c[13713]=c[13712];c[g>>2]=54864;s=c[g>>2]|0;i=r;return s|0}return 0}function ZH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=c[13780]|0;if(c[d>>2]|0){c[13780]=a+1;if((c[13780]|0)!=1){i=b;return}c[13781]=d4(k2(1,0)|0)|0;i=b;return}if((a|0)<=0){i=b;return}c[13780]=(c[13780]|0)+-1;if(c[13780]|0){i=b;return}B1(c[13781]|0);i=b;return}function _H(b,d){b=b|0;d=d|0;var e=0,f=0,g=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.0;u=i;i=i+112|0;if((i|0)>=(j|0))ba();q=u+72|0;p=u+56|0;o=u+48|0;s=u+32|0;r=u+24|0;f=u+8|0;e=u;g=u+104|0;k=u+100|0;l=u+96|0;n=u+92|0;m=u+88|0;c[k>>2]=b;c[l>>2]=d;if(a[139078]|0)nO();if((aD(c[l>>2]|0,175129,0,1)|0)!=0?(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0){zI(c[l>>2]|0);AI(c[k>>2]|0,c[l>>2]|0);BI(c[k>>2]|0,c[l>>2]|0);ZH(1);c[n>>2]=XR(c[k>>2]|0)|0;while(1){if(!(c[n>>2]|0)){t=38;break}if(c[(c[k>>2]|0)+56>>2]|0){c[(c[n>>2]|0)+20>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+8>>2];c[(c[n>>2]|0)+24>>2]=c[(c[(c[k>>2]|0)+56>>2]|0)+12>>2]}else{c[(c[n>>2]|0)+20>>2]=0;c[(c[n>>2]|0)+24>>2]=0}c[(c[n>>2]|0)+12>>2]=c[k>>2];c[(c[n>>2]|0)+28>>2]=c[(c[k>>2]|0)+172+12>>2];c[(c[n>>2]|0)+620>>2]=61256;c[(c[n>>2]|0)+624>>2]=c[15342];if(!(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)){t=14;break}d=dR(c[n>>2]|0,c[(c[n>>2]|0)+52>>2]|0)|0;c[(c[n>>2]|0)+56>>2]=d;d=c[n>>2]|0;if((c[(c[n>>2]|0)+56>>2]|0)==999){t=18;break}switch(c[d+56>>2]|0){case 21:{f=(c[n>>2]|0)+152|0;c[f>>2]=c[f>>2]|1;break}case 24:{f=(c[n>>2]|0)+152|0;c[f>>2]=c[f>>2]|520;break}default:{e=CI(c[l>>2]|0)|0;f=(c[n>>2]|0)+152|0;c[f>>2]=c[f>>2]|e}}c[m>>2]=c[(c[k>>2]|0)+192>>2];do if(c[m>>2]|0){if((c[(c[m>>2]|0)+152>>2]&32|0)!=0?(a4(c[(c[n>>2]|0)+52>>2]|0,c[(c[m>>2]|0)+52>>2]|0)|0)==0:0)break;fR(c[m>>2]|0);c[(c[k>>2]|0)+192>>2]=0;c[(c[k>>2]|0)+28>>2]=0;c[13782]=0}else c[13782]=0;while(0);d=c[n>>2]|0;if(!(c[13782]|0)){if(!(eR(d)|0)){c[(c[k>>2]|0)+192>>2]=c[n>>2];t=34}}else{c[(c[13782]|0)+8>>2]=d;c[(c[n>>2]|0)+36>>2]=c[(c[13782]|0)+36>>2];t=34}if((t|0)==34){t=0;c[(c[n>>2]|0)+8>>2]=0;c[(c[n>>2]|0)+104>>2]=61372;DI(c[n>>2]|0);EI(c[n>>2]|0);FI(c[n>>2]|0,c[l>>2]|0);GI(c[n>>2]|0,c[l>>2]|0);HI(c[n>>2]|0,c[l>>2]|0);if(!(c[(c[n>>2]|0)+152>>2]&128))UH(c[n>>2]|0,c[l>>2]|0);c[13782]=c[n>>2]}c[n>>2]=YR(c[k>>2]|0)|0}if((t|0)==14){pA(1,138106,r)|0;ZH(0);if(a[139078]|0){t=c[24742]|0;r=MB(c[l>>2]|0)|0;v=+oO();c[s>>2]=r;h[s+8>>3]=v;p3(t,138077,s)|0}c[g>>2]=-1;t=c[g>>2]|0;i=u;return t|0}else if((t|0)==18){c[o>>2]=c[d+52>>2];pA(1,138127,o)|0;ZH(0);if(a[139078]|0){t=c[24742]|0;s=MB(c[l>>2]|0)|0;v=+oO();c[p>>2]=s;h[p+8>>3]=v;p3(t,138077,p)|0}c[g>>2]=-1;t=c[g>>2]|0;i=u;return t|0}else if((t|0)==38){ZH(0);if(a[139078]|0){t=c[24742]|0;s=MB(c[l>>2]|0)|0;v=+oO();c[q>>2]=s;h[q+8>>3]=v;p3(t,138077,q)|0}c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}}pA(1,138029,e)|0;if(a[139078]|0){t=c[24742]|0;s=MB(c[l>>2]|0)|0;v=+oO();c[f>>2]=s;h[f+8>>3]=v;p3(t,138077,f)|0}c[g>>2]=-1;t=c[g>>2]|0;i=u;return t|0}function $H(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+144|0;if((i|0)>=(j|0))ba();h=k;e=k+12|0;f=k+8|0;g=k+16|0;c[e>>2]=b;c[f>>2]=d;if((c[(c[e>>2]|0)+160>>2]|0)>1?(c[(c[e>>2]|0)+152>>2]&64|0)!=0:0){wA(c[f>>2]|0,c[(c[(c[c[e>>2]>>2]|0)+308>>2]|0)+(c[(c[e>>2]|0)+160>>2]<<2)>>2]|0)|0;if((c[(c[f>>2]|0)+4>>2]|0)>>>0>=(c[(c[f>>2]|0)+8>>2]|0)>>>0)uA(c[f>>2]|0,1)|0;b=(c[f>>2]|0)+4|0;d=c[b>>2]|0;c[b>>2]=d+1;a[d>>0]=95}if((c[(c[e>>2]|0)+196>>2]|0)<=0?(c[(c[e>>2]|0)+196>>2]|0)<=0:0){i=k;return}d=c[(c[e>>2]|0)+196+4>>2]|0;c[h>>2]=c[(c[e>>2]|0)+196>>2];c[h+4>>2]=d;D3(g,139067,h)|0;wA(c[f>>2]|0,g)|0;i=k;return}function aI(b,d,e){b=b|0;d=d|0;e=e|0;var f=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,C=0,D=0;D=i;i=i+96|0;if((i|0)>=(j|0))ba();s=D+40|0;r=D+32|0;u=D+88|0;k=D+84|0;v=D+80|0;w=D+76|0;C=D+72|0;B=D+68|0;m=D+64|0;l=D+60|0;x=D+56|0;q=D+24|0;o=D+16|0;z=D+52|0;A=D+48|0;p=D+44|0;n=D+8|0;y=D;c[k>>2]=b;c[v>>2]=d;c[w>>2]=e;c[C>>2]=qK(12)|0;c[m>>2]=d4(c[k>>2]|0)|0;c[x>>2]=0;h[o>>3]=1.0;c[A>>2]=0;a:do if(!(c[v>>2]|0)){c[v>>2]=1;c[p>>2]=c[m>>2];while(1){if(!(a[c[p>>2]>>0]|0))break a;if((a[c[p>>2]>>0]|0)==58)c[v>>2]=(c[v>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[(c[C>>2]|0)+4>>2]=c[m>>2];e=qK(((c[v>>2]|0)+1|0)*12|0)|0;c[B>>2]=e;c[(c[C>>2]|0)+8>>2]=e;c[l>>2]=m4(c[m>>2]|0,148978)|0;while(1){if(!(c[l>>2]|0))break;f=+QJ(c[l>>2]|0);h[q>>3]=f;if(!(f>=0.0)){t=20;break}h[n>>3]=+h[q>>3]-+h[o>>3];if(+h[n>>3]>0.0){if((c[13788]|0)!=0?!(+h[n>>3]<1.0e-05&+h[n>>3]>-1.0e-05):0){c[r>>2]=c[k>>2];pA(0,138986,r)|0;c[13788]=0;c[A>>2]=3}h[q>>3]=+h[o>>3]}h[o>>3]=+h[o>>3]-+h[q>>3];if(+h[q>>3]>0.0)a[(c[B>>2]|0)+((c[x>>2]|0)*12|0)+8>>0]=1;if(a[c[l>>2]>>0]|0)c[(c[B>>2]|0)+((c[x>>2]|0)*12|0)>>2]=c[l>>2];f=+h[q>>3];e=c[x>>2]|0;c[x>>2]=e+1;g[(c[B>>2]|0)+(e*12|0)+4>>2]=f;if(+h[o>>3]<1.0e-05&+h[o>>3]>-1.0e-05){t=24;break}c[l>>2]=m4(0,148978)|0}if((t|0)==20){if(c[13788]|0){c[s>>2]=c[k>>2];pA(1,139021,s)|0;c[13788]=0;c[A>>2]=2}else c[A>>2]=1;bI(c[C>>2]|0);c[u>>2]=c[A>>2];C=c[u>>2]|0;i=D;return C|0}else if((t|0)==24)h[o>>3]=0.0;b:do if(+h[o>>3]>0.0){c[v>>2]=0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[x>>2]|0))break;if(+g[(c[B>>2]|0)+((c[z>>2]|0)*12|0)+4>>2]==0.0)c[v>>2]=(c[v>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1}f=+h[o>>3];if((c[v>>2]|0)<=0){y=(c[B>>2]|0)+(((c[x>>2]|0)-1|0)*12|0)+4|0;g[y>>2]=+g[y>>2]+f;break}h[y>>3]=f/+(c[v>>2]|0);c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[x>>2]|0))break b;if(+g[(c[B>>2]|0)+((c[z>>2]|0)*12|0)+4>>2]==0.0)g[(c[B>>2]|0)+((c[z>>2]|0)*12|0)+4>>2]=+h[y>>3];c[z>>2]=(c[z>>2]|0)+1}}while(0);c[v>>2]=0;c[z>>2]=(c[x>>2]|0)-1;while(1){if((c[z>>2]|0)<0)break;if(+g[(c[B>>2]|0)+((c[z>>2]|0)*12|0)+4>>2]>0.0)break;c[z>>2]=(c[z>>2]|0)+-1}c[(c[B>>2]|0)+(((c[z>>2]|0)+1|0)*12|0)>>2]=0;c[c[C>>2]>>2]=(c[z>>2]|0)+1;c[c[w>>2]>>2]=c[C>>2];c[u>>2]=c[A>>2];C=c[u>>2]|0;i=D;return C|0}function bI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[(c[d>>2]|0)+4>>2]|0);B1(c[(c[d>>2]|0)+8>>2]|0);B1(c[d>>2]|0);i=b;return}function cI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+80|0;if((i|0)>=(j|0))ba();g=d+48|0;k=d+32|0;l=d+16|0;b=d+68|0;o=d+64|0;f=d+8|0;e=d;c[o>>2]=a;a=c[o>>2]|0;m=(c[o>>2]|0)+48|0;n=(c[o>>2]|0)+16|0;c[l>>2]=c[a>>2];c[l+4>>2]=c[a+4>>2];c[l+8>>2]=c[a+8>>2];c[l+12>>2]=c[a+12>>2];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[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];h[f>>3]=+WJ(l,k,g);n=c[o>>2]|0;m=(c[o>>2]|0)+48|0;a=(c[o>>2]|0)+32|0;c[l>>2]=c[n>>2];c[l+4>>2]=c[n+4>>2];c[l+8>>2]=c[n+8>>2];c[l+12>>2]=c[n+12>>2];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[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];h[e>>3]=+WJ(l,k,g);if(+h[f>>3]<4.0&+h[e>>3]<4.0){c[b>>2]=1;o=c[b>>2]|0;i=d;return o|0}else{c[b>>2]=0;o=c[b>>2]|0;i=d;return o|0}return 0}function dI(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=a;if(+h[b>>3]>+h[(c[d>>2]|0)+16>>3])h[(c[d>>2]|0)+16>>3]=+h[b>>3];if(+h[b>>3]<+h[c[d>>2]>>3])h[c[d>>2]>>3]=+h[b>>3];if(+h[b+8>>3]>+h[(c[d>>2]|0)+16+8>>3])h[(c[d>>2]|0)+16+8>>3]=+h[b+8>>3];if(!(+h[b+8>>3]<+h[(c[d>>2]|0)+8>>3])){i=e;return}h[(c[d>>2]|0)+8>>3]=+h[b+8>>3];i=e;return}function eI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;if((i|0)>=(j|0))ba();g=p+32|0;k=p+60|0;l=p+56|0;m=p+52|0;o=p;n=p+48|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;f=+h[c[k>>2]>>3];h[o+16>>3]=f;h[o>>3]=f;f=+h[(c[k>>2]|0)+8>>3];h[o+16+8>>3]=f;h[o+8>>3]=f;c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=(c[k>>2]|0)+24;f=+h[c[k>>2]>>3];if(!(+h[c[k>>2]>>3]<+h[o>>3])){if(f>+h[o+16>>3])h[o+16>>3]=+h[c[k>>2]>>3]}else h[o>>3]=f;f=+h[(c[k>>2]|0)+8>>3];if(!(+h[(c[k>>2]|0)+8>>3]<+h[o+8>>3])){if(f>+h[o+16+8>>3])h[o+16+8>>3]=+h[(c[k>>2]|0)+8>>3]}else h[o+8>>3]=f;c[n>>2]=(c[n>>2]|0)+1}n=c[m>>2]|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];dI(n,g);n=c[m>>2]|0;m=o+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];dI(n,g);c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];c[a+16>>2]=c[o+16>>2];c[a+20>>2]=c[o+20>>2];c[a+24>>2]=c[o+24>>2];c[a+28>>2]=c[o+28>>2];i=p;return}function fI(b,d,e,f){b=b|0;d=+d;e=+e;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+80|0;if((i|0)>=(j|0))ba();g=o+56|0;k=o+48|0;l=o+64|0;m=o+16|0;n=o;h[g>>3]=d;h[k>>3]=e;c[l>>2]=f;f=(c[l>>2]|0)+32|0;c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];switch(a[(c[l>>2]|0)+48>>0]|0){case 108:{h[m>>3]=+h[g>>3];h[m+16>>3]=+h[m>>3]+ +h[n>>3];break}case 110:{h[m>>3]=+h[g>>3]-+h[n>>3]/2.0;h[m+16>>3]=+h[g>>3]+ +h[n>>3]/2.0;break}case 114:{h[m+16>>3]=+h[g>>3];h[m>>3]=+h[m+16>>3]-+h[n>>3];break}default:{}}h[m+16+8>>3]=+h[k>>3]+ +h[(c[l>>2]|0)+16>>3];h[m+8>>3]=+h[m+16+8>>3]-+h[n+8>>3];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];c[b+16>>2]=c[m+16>>2];c[b+20>>2]=c[m+20>>2];c[b+24>>2]=c[m+24>>2];c[b+28>>2]=c[m+28>>2];i=o;return}function gI(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if((c[c[b>>2]>>2]|0)!=7){i=d;return}gK(c[(c[b>>2]|0)+112>>2]|0,1);i=d;return}function hI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=LH(c[f>>2]|0)|0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+12>>2]=0;CJ(c[f>>2]|0,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[e>>2]|0);iR(c[f>>2]|0,c[e>>2]|0);i=d;return}function iI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;k=m+12|0;h=m+8|0;l=m+4|0;g=m;c[e>>2]=b;c[f>>2]=d;ER(c[e>>2]|0,172483);b=OA(c[f>>2]|0,179066)|0;c[l>>2]=b;if((b|0)!=0?(a[c[l>>2]>>0]|0)!=0:0)ER(c[e>>2]|0,c[l>>2]|0);b=OA(c[f>>2]|0,139318)|0;c[l>>2]=b;if((b|0)!=0?(a[c[l>>2]>>0]|0)!=0:0)DR(c[e>>2]|0,c[l>>2]|0);PJ(c[e>>2]|0,c[f>>2]|0);c[k>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;b=OA(c[k>>2]|0,178912)|0;c[l>>2]=b;if((b|0)!=0?(a[c[l>>2]>>0]|0)!=0:0)DR(c[e>>2]|0,c[l>>2]|0);b=OA(c[k>>2]|0,175387)|0;c[l>>2]=b;if((b|0)!=0?(a[c[l>>2]>>0]|0)!=0:0)ER(c[e>>2]|0,c[l>>2]|0);b=OA(c[k>>2]|0,139290)|0;c[l>>2]=b;do if((b|0)!=0?(a[c[l>>2]>>0]|0)!=0:0){if(!(_3(c[l>>2]|0,58)|0)){DR(c[e>>2]|0,c[l>>2]|0);break}c[g>>2]=d4(c[l>>2]|0)|0;c[l>>2]=m4(c[g>>2]|0,148978)|0;while(1){if(!(c[l>>2]|0))break;if(a[c[l>>2]>>0]|0)DR(c[e>>2]|0,c[l>>2]|0);c[l>>2]=m4(0,148978)|0}B1(c[g>>2]|0)}while(0);b=OA(c[k>>2]|0,139318)|0;c[l>>2]=b;if((b|0)!=0?(a[c[l>>2]>>0]|0)!=0:0)DR(c[e>>2]|0,c[l>>2]|0);c[h>>2]=cB(c[f>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;b=OA(c[h>>2]|0,178912)|0;c[l>>2]=b;do if((b|0)!=0?(a[c[l>>2]>>0]|0)!=0:0){if(!(_3(c[l>>2]|0,58)|0)){DR(c[e>>2]|0,c[l>>2]|0);break}c[g>>2]=d4(c[l>>2]|0)|0;c[l>>2]=m4(c[g>>2]|0,148978)|0;while(1){if(!(c[l>>2]|0))break;if(a[c[l>>2]>>0]|0)DR(c[e>>2]|0,c[l>>2]|0);c[l>>2]=m4(0,148978)|0}B1(c[g>>2]|0)}while(0);b=OA(c[h>>2]|0,139318)|0;c[l>>2]=b;if((b|0)!=0?(a[c[l>>2]>>0]|0)!=0:0)DR(c[e>>2]|0,c[l>>2]|0);c[h>>2]=eB(c[f>>2]|0,c[h>>2]|0)|0}c[k>>2]=qC(c[f>>2]|0,c[k>>2]|0)|0}i=m;return}function jI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l+8|0;h=l;d=l+24|0;e=l+20|0;g=l+16|0;f=l+12|0;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+156>>2]=c[(c[c[d>>2]>>2]|0)+312>>2];a=c[d>>2]|0;if(c[(c[c[d>>2]>>2]|0)+316>>2]|0){c[g>>2]=c[(c[a>>2]|0)+316>>2];k=c[g>>2]|0;c[g>>2]=k+4;c[f>>2]=c[k>>2];if((c[f>>2]|0)>1?(c[(c[d>>2]|0)+152>>2]&64|0)==0:0){c[h>>2]=c[(c[d>>2]|0)+52>>2];pA(0,138951,h)|0;c[(c[g>>2]|0)+4>>2]=(c[(c[d>>2]|0)+156>>2]|0)+1}k=c[g>>2]|0;c[g>>2]=k+4;c[(c[d>>2]|0)+160>>2]=c[k>>2];c[c[e>>2]>>2]=c[g>>2];i=l;return}else{if((c[a+156>>2]|0)>1?(c[(c[d>>2]|0)+152>>2]&64|0)==0:0){c[k>>2]=c[(c[d>>2]|0)+52>>2];pA(0,138951,k)|0;c[(c[d>>2]|0)+156>>2]=1}c[(c[d>>2]|0)+160>>2]=1;c[c[e>>2]>>2]=0;i=l;return}}function kI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return (c[(c[d>>2]|0)+160>>2]|0)<=(c[(c[d>>2]|0)+156>>2]|0)&255|0}function lI(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d+4|0;e=d;c[e>>2]=a;a=c[e>>2]|0;if(c[(c[c[e>>2]>>2]|0)+316>>2]|0){c[b>>2]=c[c[(c[a>>2]|0)+316>>2]>>2];e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=c[a+156>>2];e=c[b>>2]|0;i=d;return e|0}return 0}function mI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=(c[d>>2]|0)+196|0;d=(c[d>>2]|0)+172|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];i=b;return}function nI(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(((c[(c[b>>2]|0)+196>>2]|0)>=0?(c[(c[b>>2]|0)+196>>2]|0)<(c[(c[b>>2]|0)+164>>2]|0):0)?(c[(c[b>>2]|0)+196+4>>2]|0)>=0:0)b=(c[(c[b>>2]|0)+196+4>>2]|0)<(c[(c[b>>2]|0)+164+4>>2]|0);else b=0;i=d;return b&1|0}function oI(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+208|0;if((i|0)>=(j|0))ba();g=s;h=s+76|0;k=s+72|0;o=s+68|0;n=s+64|0;l=s+60|0;m=s+56|0;p=s+52|0;q=s+48|0;f=s+80|0;r=s+32|0;c[h>>2]=d;c[k>>2]=e;c[o>>2]=c[(c[h>>2]|0)+16>>2];c[n>>2]=0;c[l>>2]=c[(c[h>>2]|0)+152>>2];c[p>>2]=0;if(((c[(c[h>>2]|0)+160>>2]|0)<=1?(c[(c[h>>2]|0)+196>>2]|0)<=0:0)?(c[(c[h>>2]|0)+196>>2]|0)<=0:0)c[q>>2]=0;else{tA(r,128,f);c[q>>2]=c[(c[o>>2]|0)+212>>2];$H(c[h>>2]|0,r);wA(r,c[q>>2]|0)|0;if((c[r+4>>2]|0)>>>0>=(c[r+8>>2]|0)>>>0)uA(r,1)|0;e=r+4|0;d=c[e>>2]|0;c[e>>2]=d+1;a[d>>0]=0;d=c[r>>2]|0;c[r+4>>2]=d;c[(c[o>>2]|0)+212>>2]=d}sT(OA(c[k>>2]|0,137692)|0);IJ(c[h>>2]|0,c[k>>2]|0);kR(c[h>>2]|0);DR(c[h>>2]|0,174997);ER(c[h>>2]|0,172483);do if(c[l>>2]&4259840){if((c[(c[o>>2]|0)+208>>2]|0)==0?((b[(c[o>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)==0:0)break;if(c[l>>2]&655360){f=(c[o>>2]|0)+264|0;if(c[l>>2]&131072){c[f>>2]=0;c[n>>2]=2}else{c[f>>2]=2;c[n>>2]=4}c[p>>2]=qK(c[n>>2]<<4)|0;d=c[p>>2]|0;e=(c[h>>2]|0)+288|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=(c[p>>2]|0)+16|0;e=(c[h>>2]|0)+288+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];if(!(c[l>>2]&131072))SJ(c[p>>2]|0)}if(!(c[l>>2]&8192))hR(c[h>>2]|0,c[p>>2]|0,c[p>>2]|0,c[n>>2]|0)|0;c[(c[o>>2]|0)+272>>2]=c[p>>2];c[(c[o>>2]|0)+268>>2]=c[n>>2]}while(0);if((c[l>>2]&32768|0)!=0?(p=c[(c[(c[k>>2]|0)+8>>2]|0)+12>>2]|0,c[m>>2]=p,(p|0)!=0):0)c[(c[o>>2]|0)+192>>2]=c[c[m>>2]>>2];do if(!(c[l>>2]&4)){if((c[(c[o>>2]|0)+208>>2]|0)==0?((b[(c[o>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)==0:0)break;p=c[h>>2]|0;n=(c[h>>2]|0)+256|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[g+16>>2]=c[n+16>>2];c[g+20>>2]=c[n+20>>2];c[g+24>>2]=c[n+24>>2];c[g+28>>2]=c[n+28>>2];RH(p,g);yR(c[h>>2]|0,c[(c[o>>2]|0)+208>>2]|0,c[(c[o>>2]|0)+228>>2]|0,c[(c[o>>2]|0)+244>>2]|0,c[(c[o>>2]|0)+212>>2]|0)}while(0);JJ(c[h>>2]|0,c[k>>2]|0);if(c[(c[(c[k>>2]|0)+8>>2]|0)+12>>2]|0)iK(c[h>>2]|0,4,c[(c[(c[k>>2]|0)+8>>2]|0)+12>>2]|0);do if(!(c[l>>2]&4)){if((c[(c[o>>2]|0)+208>>2]|0)==0?((b[(c[o>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)==0:0)break;zR(c[h>>2]|0)}while(0);KJ(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);lR(c[h>>2]|0);if(!(c[q>>2]|0)){i=s;return}xA(r);c[(c[o>>2]|0)+212>>2]=c[q>>2];i=s;return}function pI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;g=i;i=i+48|0;if((i|0)>=(j|0))ba();d=g+32|0;b=g+24|0;e=g+16|0;h=g+8|0;f=g;c[e>>2]=a;a=(c[e>>2]|0)+196|0;l=(c[e>>2]|0)+196|0;k=(c[e>>2]|0)+188|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];HJ(h,b,d);c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];if((nI(c[e>>2]|0)|0)&255){i=g;return}a=(c[e>>2]|0)+172|0;if(c[(c[e>>2]|0)+180+4>>2]|0)c[(c[e>>2]|0)+196>>2]=c[a>>2];else c[(c[e>>2]|0)+196+4>>2]=c[a+4>>2];l=(c[e>>2]|0)+196|0;h=(c[e>>2]|0)+196|0;k=(c[e>>2]|0)+180|0;c[b>>2]=c[h>>2];c[b+4>>2]=c[h+4>>2];c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];HJ(f,b,d);c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];i=g;return}function qI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(c[f>>2]|0){b=c[f>>2]|0;c[f>>2]=b+4;c[(c[d>>2]|0)+160>>2]=c[b>>2];c[c[e>>2]>>2]=c[f>>2];i=g;return}else{b=(c[d>>2]|0)+160|0;c[b>>2]=(c[b>>2]|0)+1;i=g;return}}function rI(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;c[e>>2]=a;c[d>>2]=b;jR(c[e>>2]|0);MH(c[e>>2]|0);i=d;return}function sI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l+16|0;e=l+12|0;f=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;do if((c[(c[e>>2]|0)+156>>2]|0)>1){d=c[f>>2]|0;c[h>>2]=wO(d,GA(c[f>>2]|0,0,139382,0)|0,178598)|0;if((wJ(c[e>>2]|0,c[h>>2]|0)|0)<<24>>24){a[k>>0]=1;break}if(a[c[h>>2]>>0]|0){a[k>>0]=0;break}c[g>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[g>>2]|0)){e=12;break}if((yJ(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0)<<24>>24){e=10;break}c[g>>2]=qC(c[f>>2]|0,c[g>>2]|0)|0}if((e|0)==10){a[k>>0]=1;break}else if((e|0)==12){a[k>>0]=0;break}}else a[k>>0]=1;while(0);i=l;return a[k>>0]|0}function tI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=LH(c[f>>2]|0)|0;c[(c[g>>2]|0)+4>>2]=1;c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+12>>2]=1;CJ(c[f>>2]|0,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[e>>2]|0);oR(c[f>>2]|0,c[e>>2]|0);i=d;return}function uI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();o=n+28|0;e=n+24|0;m=n+20|0;k=n+16|0;f=n+12|0;h=n+8|0;l=n+4|0;g=n;c[o>>2]=b;c[e>>2]=d;c[k>>2]=0;c[f>>2]=0;b=OA(c[o>>2]|0,179171)|0;c[m>>2]=b;if(!b){m=c[f>>2]|0;o=c[e>>2]|0;c[o>>2]=m;o=c[k>>2]|0;i=n;return o|0}if(!(a[c[m>>2]>>0]|0)){m=c[f>>2]|0;o=c[e>>2]|0;c[o>>2]=m;o=c[k>>2]|0;i=n;return o|0}o=YH(c[m>>2]|0)|0;c[k>>2]=o;c[h>>2]=o;a:while(1){o=c[c[h>>2]>>2]|0;c[g>>2]=o;if(!o)break;if(!(a4(c[g>>2]|0,148743)|0)){c[f>>2]=c[f>>2]|1;c[h>>2]=(c[h>>2]|0)+4;continue}if(!(a4(c[g>>2]|0,143840)|0)){c[f>>2]=c[f>>2]|3;c[l>>2]=c[h>>2];while(1){c[l>>2]=(c[l>>2]|0)+4;c[(c[l>>2]|0)+-4>>2]=c[c[l>>2]>>2];if(!(c[c[l>>2]>>2]|0))continue a}}if(!(a4(c[g>>2]|0,143847)|0)){c[f>>2]=c[f>>2]|64;c[l>>2]=c[h>>2];while(1){c[l>>2]=(c[l>>2]|0)+4;c[(c[l>>2]|0)+-4>>2]=c[c[l>>2]>>2];if(!(c[c[l>>2]>>2]|0))continue a}}if(a4(c[g>>2]|0,143822)|0){c[h>>2]=(c[h>>2]|0)+4;continue}c[f>>2]=c[f>>2]|4;c[l>>2]=c[h>>2];while(1){c[l>>2]=(c[l>>2]|0)+4;c[(c[l>>2]|0)+-4>>2]=c[c[l>>2]>>2];if(!(c[c[l>>2]>>2]|0))continue a}}m=c[f>>2]|0;o=c[e>>2]|0;c[o>>2]=m;o=c[k>>2]|0;i=n;return o|0}function vI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();f=q;g=q+60|0;h=q+56|0;k=q+52|0;m=q+48|0;o=q+44|0;p=q+40|0;n=q+36|0;l=q+32|0;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[g>>2]>>2];c[p>>2]=0;if(!(c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]|0)){i=q;return}b=c[g>>2]|0;e=GC(c[h>>2]|0)|0;if(!((yJ(b,e,c[h>>2]|0)|0)&255)){i=q;return}e=c[h>>2]|0;b=(c[g>>2]|0)+256|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[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if(!((zJ(e,f)|0)&255)){i=q;return}if((a[(c[(c[h>>2]|0)+8>>2]|0)+116>>0]|0)==(c[(c[k>>2]|0)+28>>2]|0)){i=q;return}a[(c[(c[h>>2]|0)+8>>2]|0)+116>>0]=c[(c[k>>2]|0)+28>>2];e=c[g>>2]|0;MR(e,MB(c[h>>2]|0)|0);c[m>>2]=wO(c[h>>2]|0,c[13846]|0,178598)|0;if(a[c[m>>2]>>0]|0)MR(c[g>>2]|0,c[m>>2]|0);c[o>>2]=wO(c[h>>2]|0,c[13834]|0,178598)|0;a:do if(a[c[o>>2]>>0]|0){c[p>>2]=YH(c[o>>2]|0)|0;c[n>>2]=c[p>>2];while(1){p=c[n>>2]|0;c[n>>2]=p+4;p=c[p>>2]|0;c[l>>2]=p;if(!p)break a;if((a[c[l>>2]>>0]|0)!=(a[172018]|0))continue;if(!(a4(c[l>>2]|0,172018)|0))break}i=q;return}while(0);AJ(c[g>>2]|0,c[h>>2]|0);Xb[c[(c[(c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&31](c[g>>2]|0,c[h>>2]|0);if((c[(c[(c[h>>2]|0)+8>>2]|0)+108>>2]|0)!=0?(d[(c[(c[(c[h>>2]|0)+8>>2]|0)+108>>2]|0)+81>>0]|0)!=0:0)iK(c[g>>2]|0,10,c[(c[(c[h>>2]|0)+8>>2]|0)+108>>2]|0);BJ(c[g>>2]|0);i=q;return}function wI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;if((i|0)>=(j|0))ba();o=n;e=n+56|0;f=n+52|0;h=n+48|0;l=n+44|0;m=n+40|0;k=n+36|0;g=n+32|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=0;b=c[f>>2]|0;d=(c[e>>2]|0)+256|0;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];c[o+16>>2]=c[d+16>>2];c[o+20>>2]=c[d+20>>2];c[o+24>>2]=c[d+24>>2];c[o+28>>2]=c[d+28>>2];if(!((VI(b,o)|0)&255)){i=n;return}b=c[e>>2]|0;o=c[f>>2]|0;o=GC(c[((c[c[f>>2]>>2]&3|0)==2?o:o+-32|0)+28>>2]|0)|0;if(!((WI(b,o,c[f>>2]|0)|0)&255)){i=n;return}o=c[f>>2]|0;o=(e4(MB(c[((c[c[f>>2]>>2]&3|0)==3?o:o+32|0)+28>>2]|0)|0)|0)+2|0;d=c[f>>2]|0;c[h>>2]=A1(o+(e4(MB(c[((c[c[f>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)|0)|0)+1|0)|0;d=c[h>>2]|0;o=c[f>>2]|0;b4(d,MB(c[((c[c[f>>2]>>2]&3|0)==3?o:o+32|0)+28>>2]|0)|0)|0;o=c[f>>2]|0;o=(DB(GC(c[((c[c[f>>2]>>2]&3|0)==2?o:o+-32|0)+28>>2]|0)|0)|0)!=0;d=c[h>>2]|0;if(o)Z3(d,175396)|0;else Z3(d,178615)|0;b=c[h>>2]|0;o=c[f>>2]|0;Z3(b,MB(c[((c[c[f>>2]>>2]&3|0)==2?o:o+-32|0)+28>>2]|0)|0)|0;MR(c[e>>2]|0,c[h>>2]|0);B1(c[h>>2]|0);c[h>>2]=wO(c[f>>2]|0,c[13875]|0,178598)|0;if(a[c[h>>2]>>0]|0)MR(c[e>>2]|0,c[h>>2]|0);c[l>>2]=wO(c[f>>2]|0,c[13869]|0,178598)|0;a:do if(a[c[l>>2]>>0]|0){c[m>>2]=YH(c[l>>2]|0)|0;c[k>>2]=c[m>>2];while(1){o=c[k>>2]|0;c[k>>2]=o+4;o=c[o>>2]|0;c[g>>2]=o;if(!o)break a;if((a[c[g>>2]>>0]|0)!=(a[172018]|0))continue;if(!(a4(c[g>>2]|0,172018)|0))break}i=n;return}while(0);XI(c[e>>2]|0,c[f>>2]|0,c[m>>2]|0);YI(c[e>>2]|0,c[f>>2]|0,c[m>>2]|0);ZI(c[e>>2]|0);i=n;return}function xI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;pR(c[e>>2]|0,c[f>>2]|0);MH(c[e>>2]|0);i=d;return}function yI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+16|0;f=m+12|0;h=m+8|0;l=m+4|0;k=m;g=m+20|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[c[e>>2]>>2];while(1){if(a[c[h>>2]>>0]|0)if(K1(a[c[h>>2]>>0]|0)|0)b=1;else b=(a[c[h>>2]>>0]|0)==44;else b=0;d=c[h>>2]|0;if(!b)break;c[h>>2]=d+1}switch(a[d>>0]|0){case 0:{c[l>>2]=0;h=c[h>>2]|0;k=c[e>>2]|0;c[k>>2]=h;l=c[l>>2]|0;i=m;return l|0}case 41:case 40:{k=c[h>>2]|0;c[h>>2]=k+1;c[l>>2]=a[k>>0];h=c[h>>2]|0;k=c[e>>2]|0;c[k>>2]=h;l=c[l>>2]|0;i=m;return l|0}default:{c[l>>2]=1;while(1){b=a[c[h>>2]>>0]|0;a[g>>0]=b;if(!((UI(b<<24>>24)|0)<<24>>24!=0^1))break;if((c[(c[f>>2]|0)+4>>2]|0)>>>0>=(c[(c[f>>2]|0)+8>>2]|0)>>>0)uA(c[f>>2]|0,1)|0;b=a[g>>0]|0;n=(c[f>>2]|0)+4|0;d=c[n>>2]|0;c[n>>2]=d+1;a[d>>0]=b;c[k>>2]=b&255;c[h>>2]=(c[h>>2]|0)+1}k=c[h>>2]|0;n=c[e>>2]|0;c[n>>2]=k;n=c[l>>2]|0;i=m;return n|0}}return 0}function zI(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;QI(c[b>>2]|0,c[d>>2]|0);c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}i=e;return}function AI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();g=p+24|0;f=p+16|0;m=p+44|0;n=p+40|0;k=p+8|0;l=p;o=p+36|0;e=p+32|0;c[m>>2]=b;c[n>>2]=d;c[(c[m>>2]|0)+168>>2]=c[n>>2];a[(c[m>>2]|0)+293>>0]=0;b=OA(c[n>>2]|0,144038)|0;c[o>>2]=b;if((b|0)!=0?(b=c[o>>2]|0,c[f>>2]=k,c[f+4>>2]=l,c[e>>2]=E3(b,144045,f)|0,(c[e>>2]|0)>0):0){q=+h[k>>3]*72.0;h[(c[m>>2]|0)+200+8>>3]=q;h[(c[m>>2]|0)+200>>3]=q;if((c[e>>2]|0)>1)h[(c[m>>2]|0)+200+8>>3]=+h[l>>3]*72.0;a[(c[m>>2]|0)+293>>0]=1}a[(c[m>>2]|0)+292>>0]=0;f=OA(c[n>>2]|0,138533)|0;c[o>>2]=f;if((f|0)!=0?(f=c[o>>2]|0,c[g>>2]=k,c[g+4>>2]=l,c[e>>2]=E3(f,144045,g)|0,(c[e>>2]|0)>0):0){q=+h[k>>3]*72.0;h[(c[m>>2]|0)+216+8>>3]=q;h[(c[m>>2]|0)+216>>3]=q;if((c[e>>2]|0)>1)h[(c[m>>2]|0)+216+8>>3]=+h[l>>3]*72.0;a[(c[m>>2]|0)+292>>0]=1}a[(c[m>>2]|0)+294>>0]=0;l=(c[m>>2]|0)+232|0;k=(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0)+48|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];if(+h[(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0)+48>>3]>.001?+h[(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0)+48+8>>3]>.001:0)a[(c[m>>2]|0)+294>>0]=1;d=(c[m>>2]|0)+288|0;if(a[(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0)+81>>0]|0)c[d>>2]=90;else c[d>>2]=0;c[(c[m>>2]|0)+196>>2]=138537;l=OA(c[n>>2]|0,138540)|0;c[o>>2]=l;if((l|0)!=0?(a[c[o>>2]>>0]|0)!=0:0)c[(c[m>>2]|0)+196>>2]=c[o>>2];o=(c[m>>2]|0)+256|0;l=(c[(c[n>>2]|0)+8>>2]|0)+16|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];c[o+16>>2]=c[l+16>>2];c[o+20>>2]=c[l+20>>2];c[o+24>>2]=c[l+24>>2];c[o+28>>2]=c[l+28>>2];c[13810]=GA(c[n>>2]|0,0,139344,0)|0;c[13811]=GA(c[n>>2]|0,0,139335,0)|0;o=xO(0,c[13828]|0,145681)|0;c[(c[m>>2]|0)+320>>2]=o;q=+uO(0,c[13827]|0,14.0,1.0);h[(c[m>>2]|0)+328>>3]=q;c[(c[m>>2]|0)+336>>2]=55132;o=MB(c[n>>2]|0)|0;c[(c[m>>2]|0)+188>>2]=o;i=p;return}function BI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=d;if(c[(c[e>>2]|0)+304>>2]|0){B1(c[(c[e>>2]|0)+304>>2]|0);c[(c[e>>2]|0)+304>>2]=0}if(c[(c[e>>2]|0)+308>>2]|0){B1(c[(c[e>>2]|0)+308>>2]|0);c[(c[e>>2]|0)+308>>2]=0}if(c[(c[e>>2]|0)+316>>2]|0){B1(c[(c[e>>2]|0)+316>>2]|0);c[(c[e>>2]|0)+316>>2]=0}b=OA(c[f>>2]|0,138280)|0;c[g>>2]=b;d=c[e>>2]|0;if(!b){c[d+308>>2]=0;c[(c[e>>2]|0)+312>>2]=1;i=h;return}b=LI(d,c[f>>2]|0,c[g>>2]|0)|0;c[(c[e>>2]|0)+312>>2]=b;b=OA(c[f>>2]|0,138287)|0;c[g>>2]=b;if(!b){i=h;return}if(!(a[c[g>>2]>>0]|0)){i=h;return}g=MI(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[(c[e>>2]|0)+316>>2]=g;i=h;return}function CI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;h=g+4|0;f=g;e=g+12|0;c[h>>2]=b;c[f>>2]=OA(c[h>>2]|0,138248)|0;if(c[f>>2]|0){a[e>>0]=a[c[f>>2]>>0]|0;if((a[e>>0]|0)==110?(a4((c[f>>2]|0)+1|0,138260)|0)==0:0){c[d>>2]=1;h=c[d>>2]|0;i=g;return h|0}if((a[e>>0]|0)==101?(a4((c[f>>2]|0)+1|0,138270)|0)==0:0){c[d>>2]=16;h=c[d>>2]|0;i=g;return h|0}}c[d>>2]=0;h=c[d>>2]|0;i=g;return h|0}function DI(b){b=b|0;var d=0,e=0,f=0,g=0,k=0.0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g+4|0;e=g;c[f>>2]=b;c[e>>2]=c[c[f>>2]>>2];d=c[f>>2]|0;if(a[(c[e>>2]|0)+292>>0]|0){f=d+240|0;e=(c[e>>2]|0)+216|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];i=g;return}b=c[f>>2]|0;if((c[d+56>>2]|0)==300){k=+h[(c[b+60+8>>2]|0)+8>>3];h[(c[f>>2]|0)+240+8>>3]=k;h[(c[f>>2]|0)+240>>3]=k;i=g;return}else{h[b+240+8>>3]=4.0;h[(c[f>>2]|0)+240>>3]=4.0;i=g;return}}function EI(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];b=c[d>>2]|0;if(a[(c[e>>2]|0)+293>>0]|0){d=b+416|0;e=(c[e>>2]|0)+200|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];i=f;return}switch(c[b+56>>2]|0){case 300:{e=(c[d>>2]|0)+416|0;d=(c[(c[d>>2]|0)+76+8>>2]|0)+8|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];i=f;return}case 30:case 21:case 22:case 4:case 3:case 2:{h[(c[d>>2]|0)+416+8>>3]=36.0;h[(c[d>>2]|0)+416>>3]=36.0;i=f;return}default:{h[(c[d>>2]|0)+416+8>>3]=0.0;h[(c[d>>2]|0)+416>>3]=0.0;i=f;return}}}function FI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,k=0,l=0.0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();g=k+8|0;e=k+4|0;f=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[c[g>>2]>>2]|0)+192>>2];if(+h[(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)+24>>3]!=0.0){l=+h[(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)+24>>3];h[(c[g>>2]|0)+432+8>>3]=l;h[(c[g>>2]|0)+432>>3]=l;i=k;return}if((c[f>>2]|0)!=0?(d[(c[f>>2]|0)+128>>0]|0|0)!=0:0){g=(c[g>>2]|0)+432|0;a=(c[f>>2]|0)+112|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];i=k;return}e=(c[g>>2]|0)+432|0;if((c[(c[g>>2]|0)+56>>2]|0)==300){g=(c[(c[g>>2]|0)+76+8>>2]|0)+40|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];i=k;return}else{h[e+8>>3]=96.0;h[(c[g>>2]|0)+432>>3]=96.0;i=k;return}}function GI(a,b){a=a|0;b=b|0;var e=0.0,f=0,g=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=i;i=i+208|0;if((i|0)>=(j|0))ba();x=B+144|0;y=B+120|0;w=B+104|0;g=B+192|0;k=B+188|0;C=B+184|0;l=B+88|0;m=B+72|0;f=B+56|0;v=B+40|0;n=B+32|0;o=B+24|0;p=B+16|0;z=B+8|0;A=B;t=B+180|0;r=B+176|0;u=B+172|0;s=B+168|0;q=B+164|0;c[g>>2]=a;c[k>>2]=b;c[C>>2]=c[c[g>>2]>>2];c[s>>2]=0;c[q>>2]=0;a=(c[C>>2]|0)+256+16|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];a=(c[C>>2]|0)+256|0;c[l>>2]=c[a>>2];c[l+4>>2]=c[a+4>>2];c[l+8>>2]=c[a+8>>2];c[l+12>>2]=c[a+12>>2];h[(c[g>>2]|0)+208>>3]=+h[l>>3]-+h[(c[g>>2]|0)+240>>3];h[(c[g>>2]|0)+208+8>>3]=+h[l+8>>3]-+h[(c[g>>2]|0)+240+8>>3];h[(c[g>>2]|0)+208+16>>3]=+h[m>>3]+ +h[(c[g>>2]|0)+240>>3];h[(c[g>>2]|0)+208+16+8>>3]=+h[m+8>>3]+ +h[(c[g>>2]|0)+240+8>>3];h[v>>3]=+h[(c[g>>2]|0)+208+16>>3]-+h[(c[g>>2]|0)+208>>3];h[v+8>>3]=+h[(c[g>>2]|0)+208+16+8>>3]-+h[(c[g>>2]|0)+208+8>>3];h[p>>3]=1.0;do if(+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+64>>3]>.001?+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+64+8>>3]>.001:0){C=(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+64|0;c[f>>2]=c[C>>2];c[f+4>>2]=c[C+4>>2];c[f+8>>2]=c[C+8>>2];c[f+12>>2]=c[C+12>>2];if(+h[v>>3]==0.0)h[v>>3]=+h[f>>3];if(+h[v+8>>3]==0.0)h[v+8>>3]=+h[f+8>>3];if(!(+h[f>>3]<+h[v>>3])?!(+h[f+8>>3]<+h[v+8>>3]):0){if(!(d[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+80>>0]|0))break;if(!(+h[f>>3]>+h[v>>3]))break;if(!(+h[f+8>>3]>+h[v+8>>3]))break}if(+h[f>>3]/+h[v>>3]<+h[f+8>>3]/+h[v+8>>3])e=+h[f>>3]/+h[v>>3];else e=+h[f+8>>3]/+h[v+8>>3];h[p>>3]=e}while(0);h[z>>3]=(+h[l>>3]+ +h[m>>3])/2.0;h[A>>3]=(+h[l+8>>3]+ +h[m+8>>3])/2.0;c[(c[g>>2]|0)+360>>2]=c[(c[c[g>>2]>>2]|0)+288>>2];h[n>>3]=+h[v>>3]*+h[p>>3];h[o>>3]=+h[v+8>>3]*+h[p>>3];C=OA(c[k>>2]|0,138179)|0;c[u>>2]=C;if(!C){e=+h[n>>3];C=c[g>>2]|0;C=C+368|0;h[C>>3]=e;e=+h[o>>3];C=c[g>>2]|0;C=C+368|0;C=C+8|0;h[C>>3]=e;e=+h[p>>3];C=c[g>>2]|0;C=C+352|0;h[C>>3]=e;e=+h[z>>3];C=c[g>>2]|0;C=C+336|0;h[C>>3]=e;e=+h[A>>3];C=c[g>>2]|0;C=C+336|0;C=C+8|0;h[C>>3]=e;i=B;return}c[s>>2]=A1((e4(c[u>>2]|0)|0)+1|0)|0;c[q>>2]=A1((e4(c[u>>2]|0)|0)+1|0)|0;C=c[u>>2]|0;v=c[s>>2]|0;c[w>>2]=n;c[w+4>>2]=o;c[w+8>>2]=p;c[w+12>>2]=v;c[t>>2]=E3(C,138188,w)|0;do if((c[t>>2]|0)==4){c[r>>2]=vC(c[(c[k>>2]|0)+48>>2]|0,c[s>>2]|0,0)|0;if(c[r>>2]|0){h[z>>3]=+h[(c[(c[r>>2]|0)+8>>2]|0)+16>>3];h[A>>3]=+h[(c[(c[r>>2]|0)+8>>2]|0)+16+8>>3]}}else{C=c[u>>2]|0;v=c[s>>2]|0;w=c[q>>2]|0;c[y>>2]=n;c[y+4>>2]=o;c[y+8>>2]=p;c[y+12>>2]=v;c[y+16>>2]=w;c[t>>2]=E3(C,138208,y)|0;if((c[t>>2]|0)!=4){C=c[u>>2]|0;c[x>>2]=n;c[x+4>>2]=o;c[x+8>>2]=p;c[x+12>>2]=z;c[x+16>>2]=A;c[t>>2]=E3(C,138228,x)|0;break}c[r>>2]=vC(c[(c[k>>2]|0)+48>>2]|0,c[s>>2]|0,0)|0;if(c[r>>2]|0){h[z>>3]=+h[(c[(c[r>>2]|0)+8>>2]|0)+16>>3];h[A>>3]=+h[(c[(c[r>>2]|0)+8>>2]|0)+16+8>>3]}}while(0);B1(c[s>>2]|0);B1(c[q>>2]|0);e=+h[n>>3];C=c[g>>2]|0;C=C+368|0;h[C>>3]=e;e=+h[o>>3];C=c[g>>2]|0;C=C+368|0;C=C+8|0;h[C>>3]=e;e=+h[p>>3];C=c[g>>2]|0;C=C+352|0;h[C>>3]=e;e=+h[z>>3];C=c[g>>2]|0;C=C+336|0;h[C>>3]=e;e=+h[A>>3];C=c[g>>2]|0;C=C+336|0;C=C+8|0;h[C>>3]=e;i=B;return}function HI(b,e){b=b|0;e=e|0;var f=0,g=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.0;C=i;i=i+240|0;if((i|0)>=(j|0))ba();f=C+152|0;B=C+112|0;g=C+224|0;k=C+220|0;x=C+216|0;A=C+136|0;y=C+120|0;z=C+96|0;w=C+80|0;o=C+64|0;p=C+208|0;q=C+200|0;r=C+192|0;s=C+184|0;t=C+48|0;u=C+32|0;v=C+16|0;l=C;m=C+176|0;n=C+168|0;c[g>>2]=b;c[k>>2]=e;c[x>>2]=c[c[g>>2]>>2];c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;b=(c[g>>2]|0)+368|0;c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];if(c[(c[g>>2]|0)+360>>2]|0){c[f>>2]=c[y>>2];c[f+4>>2]=c[y+4>>2];c[f+8>>2]=c[y+8>>2];c[f+12>>2]=c[y+12>>2];II(o,f);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]}b=(c[g>>2]|0)+416|0;c[z>>2]=c[b>>2];c[z+4>>2]=c[b+4>>2];c[z+8>>2]=c[b+8>>2];c[z+12>>2]=c[b+12>>2];if((d[(c[x>>2]|0)+294>>0]|0)!=0?(c[(c[g>>2]|0)+152>>2]&32|0)!=0:0){h[A>>3]=+h[(c[x>>2]|0)+232>>3]-+h[z>>3]*2.0;h[A+8>>3]=+h[(c[x>>2]|0)+232+8>>3]-+h[z+8>>3]*2.0;if(!(+h[A>>3]<.0001)){c[(c[g>>2]|0)+164>>2]=~~(+h[y>>3]/+h[A>>3]);if(+h[y>>3]-+(c[(c[g>>2]|0)+164>>2]|0)*+h[A>>3]>.0001){b=(c[g>>2]|0)+164|0;c[b>>2]=(c[b>>2]|0)+1}}else c[(c[g>>2]|0)+164>>2]=1;if(!(+h[A+8>>3]<.0001)){c[(c[g>>2]|0)+164+4>>2]=~~(+h[y+8>>3]/+h[A+8>>3]);if(+h[y+8>>3]-+(c[(c[g>>2]|0)+164+4>>2]|0)*+h[A+8>>3]>.0001){b=(c[g>>2]|0)+164+4|0;c[b>>2]=(c[b>>2]|0)+1}}else c[(c[g>>2]|0)+164+4>>2]=1;b=_(c[(c[g>>2]|0)+164>>2]|0,c[(c[g>>2]|0)+164+4>>2]|0)|0;c[(c[g>>2]|0)+204>>2]=b;h[y>>3]=+h[y>>3]<+h[A>>3]?+h[y>>3]:+h[A>>3];h[y+8>>3]=+h[y+8>>3]<+h[A+8>>3]?+h[y+8>>3]:+h[A+8>>3]}else{if(c[(c[g>>2]|0)+60+8>>2]|0){h[A>>3]=+h[(c[(c[g>>2]|0)+76+8>>2]|0)+24>>3]-+h[z>>3]*2.0;if(+h[A>>3]<0.0)h[A>>3]=0.0;h[A+8>>3]=+h[(c[(c[g>>2]|0)+76+8>>2]|0)+24+8>>3]-+h[z+8>>3]*2.0;if(+h[A+8>>3]<0.0)h[A+8>>3]=0.0}else{h[A+8>>3]=0.0;h[A>>3]=0.0}c[(c[g>>2]|0)+204>>2]=1;c[(c[g>>2]|0)+164+4>>2]=1;c[(c[g>>2]|0)+164>>2]=1;if(+h[A>>3]<+h[y>>3])h[A>>3]=+h[y>>3];if(+h[A+8>>3]<+h[y+8>>3])h[A+8>>3]=+h[y+8>>3]}D=(+h[A>>3]+ +h[z>>3]*2.0)*+h[(c[g>>2]|0)+432>>3]/72.0;c[(c[g>>2]|0)+448>>2]=~~((+h[A>>3]+ +h[z>>3]*2.0)*+h[(c[g>>2]|0)+432>>3]/72.0>=0.0?D+.5:D-.5);D=(+h[A+8>>3]+ +h[z+8>>3]*2.0)*+h[(c[g>>2]|0)+432+8>>3]/72.0;c[(c[g>>2]|0)+452>>2]=~~((+h[A+8>>3]+ +h[z+8>>3]*2.0)*+h[(c[g>>2]|0)+432+8>>3]/72.0>=0.0?D+.5:D-.5);c[(c[g>>2]|0)+188+4>>2]=0;c[(c[g>>2]|0)+188>>2]=0;c[(c[g>>2]|0)+180+4>>2]=0;c[(c[g>>2]|0)+180>>2]=0;c[(c[g>>2]|0)+172+4>>2]=0;c[(c[g>>2]|0)+172>>2]=0;b=(c[g>>2]|0)+180|0;JI(p,c[g>>2]|0,a[c[(c[x>>2]|0)+196>>2]>>0]|0);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];b=(c[g>>2]|0)+188|0;JI(q,c[g>>2]|0,a[(c[(c[x>>2]|0)+196>>2]|0)+1>>0]|0);c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];if(!((N((c[(c[g>>2]|0)+180>>2]|0)+(c[(c[g>>2]|0)+188>>2]|0)|0)|0)==1?(N((c[(c[g>>2]|0)+180+4>>2]|0)+(c[(c[g>>2]|0)+188+4>>2]|0)|0)|0)==1:0)){b=(c[g>>2]|0)+180|0;JI(r,c[g>>2]|0,66);c[b>>2]=c[r>>2];c[b+4>>2]=c[r+4>>2];b=(c[g>>2]|0)+188|0;JI(s,c[g>>2]|0,76);c[b>>2]=c[s>>2];c[b+4>>2]=c[s+4>>2];c[B>>2]=c[(c[x>>2]|0)+196>>2];pA(0,138159,B)|0}if(a[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+82>>0]|0){if(+h[A>>3]>+h[y>>3])h[w>>3]=(+h[A>>3]-+h[y>>3])/2.0;if(+h[A+8>>3]>+h[y+8>>3])h[w+8>>3]=(+h[A+8>>3]-+h[y+8>>3])/2.0}if(c[(c[g>>2]|0)+360>>2]|0){c[f>>2]=c[y>>2];c[f+4>>2]=c[y+4>>2];c[f+8>>2]=c[y+8>>2];c[f+12>>2]=c[y+12>>2];II(t,f);c[y>>2]=c[t>>2];c[y+4>>2]=c[t+4>>2];c[y+8>>2]=c[t+8>>2];c[y+12>>2]=c[t+12>>2];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];II(u,f);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[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];II(v,f);c[z>>2]=c[v>>2];c[z+4>>2]=c[v+4>>2];c[z+8>>2]=c[v+8>>2];c[z+12>>2]=c[v+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];II(l,f);c[w>>2]=c[l>>2];c[w+4>>2]=c[l+4>>2];c[w+8>>2]=c[l+8>>2];c[w+12>>2]=c[l+12>>2]}h[(c[g>>2]|0)+384>>3]=+h[z>>3]+ +h[w>>3];h[(c[g>>2]|0)+384+8>>3]=+h[z+8>>3]+ +h[w+8>>3];h[(c[g>>2]|0)+384+16>>3]=+h[z>>3]+ +h[w>>3]+ +h[y>>3];h[(c[g>>2]|0)+384+16+8>>3]=+h[z+8>>3]+ +h[w+8>>3]+ +h[y+8>>3];h[(c[g>>2]|0)+320>>3]=+h[y>>3]/+h[(c[g>>2]|0)+352>>3];h[(c[g>>2]|0)+320+8>>3]=+h[y+8>>3]/+h[(c[g>>2]|0)+352>>3];D=+h[(c[g>>2]|0)+384>>3]*+h[(c[g>>2]|0)+432>>3]/72.0;c[(c[g>>2]|0)+456>>2]=~~(+h[(c[g>>2]|0)+384>>3]*+h[(c[g>>2]|0)+432>>3]/72.0>=0.0?D+.5:D-.5);D=+h[(c[g>>2]|0)+384+8>>3]*+h[(c[g>>2]|0)+432+8>>3]/72.0;c[(c[g>>2]|0)+456+4>>2]=~~(+h[(c[g>>2]|0)+384+8>>3]*+h[(c[g>>2]|0)+432+8>>3]/72.0>=0.0?D+.5:D-.5);D=+h[(c[g>>2]|0)+384+16>>3]*+h[(c[g>>2]|0)+432>>3]/72.0;c[(c[g>>2]|0)+456+8>>2]=~~(+h[(c[g>>2]|0)+384+16>>3]*+h[(c[g>>2]|0)+432>>3]/72.0>=0.0?D+.5:D-.5);D=+h[(c[g>>2]|0)+384+16+8>>3]*+h[(c[g>>2]|0)+432+8>>3]/72.0;c[(c[g>>2]|0)+456+8+4>>2]=~~(+h[(c[g>>2]|0)+384+16+8>>3]*+h[(c[g>>2]|0)+432+8>>3]/72.0>=0.0?D+.5:D-.5);if(!(c[(c[g>>2]|0)+360>>2]|0)){i=C;return}B=(c[g>>2]|0)+456|0;A=(c[g>>2]|0)+456|0;c[f>>2]=c[A>>2];c[f+4>>2]=c[A+4>>2];KI(m,f);c[B>>2]=c[m>>2];c[B+4>>2]=c[m+4>>2];B=(c[g>>2]|0)+456+8|0;A=(c[g>>2]|0)+456+8|0;c[f>>2]=c[A>>2];c[f+4>>2]=c[A+4>>2];KI(n,f);c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];i=C;return}function II(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;h[e>>3]=+h[b+8>>3];h[e+8>>3]=+h[b>>3];c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=d;return}function JI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+8|0;k=h+12|0;g=h;c[f>>2]=d;a[k>>0]=e;c[g+4>>2]=0;c[g>>2]=0;switch(a[k>>0]|0){case 84:{c[(c[f>>2]|0)+172+4>>2]=(c[(c[f>>2]|0)+164+4>>2]|0)-1;c[g+4>>2]=-1;break}case 66:{c[g+4>>2]=1;break}case 76:{c[g>>2]=1;break}case 82:{c[(c[f>>2]|0)+172>>2]=(c[(c[f>>2]|0)+164>>2]|0)-1;c[g>>2]=-1;break}default:{}}c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];i=h;return}function KI(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=c[b+4>>2];c[e+4>>2]=c[b>>2];c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];i=d;return}function LI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o;k=o+24|0;f=o+20|0;g=o+16|0;l=o+12|0;n=o+8|0;m=o+4|0;c[k>>2]=b;c[f>>2]=d;c[g>>2]=e;e=OA(c[f>>2]|0,138404)|0;c[(c[k>>2]|0)+296>>2]=e;if(!(c[(c[k>>2]|0)+296>>2]|0))c[(c[k>>2]|0)+296>>2]=138413;e=OA(c[f>>2]|0,138417)|0;c[(c[k>>2]|0)+300>>2]=e;if(!(c[(c[k>>2]|0)+300>>2]|0))c[(c[k>>2]|0)+300>>2]=138430;e=i4(c[(c[k>>2]|0)+296>>2]|0,c[(c[k>>2]|0)+300>>2]|0)|0;c[n>>2]=e;if(e){c[h>>2]=a[c[n>>2]>>0];pA(0,138432,h)|0;c[(c[k>>2]|0)+300>>2]=178598}c[l>>2]=0;c[m>>2]=0;h=d4(c[g>>2]|0)|0;c[(c[k>>2]|0)+304>>2]=h;c[n>>2]=m4(c[(c[k>>2]|0)+304>>2]|0,c[(c[k>>2]|0)+296>>2]|0)|0;while(1){f=c[l>>2]|0;if(!(c[n>>2]|0))break;c[l>>2]=f+1;if((c[l>>2]|0)>(c[m>>2]|0)){c[m>>2]=(c[m>>2]|0)+128;if(c[(c[k>>2]|0)+308>>2]|0)f=tK(c[(c[k>>2]|0)+308>>2]|0,c[m>>2]<<2)|0;else f=rK(c[m>>2]<<2)|0;c[(c[k>>2]|0)+308>>2]=f}c[(c[(c[k>>2]|0)+308>>2]|0)+(c[l>>2]<<2)>>2]=c[n>>2];c[n>>2]=m4(0,c[(c[k>>2]|0)+296>>2]|0)|0}if(!f){n=c[l>>2]|0;i=o;return n|0}n=tK(c[(c[k>>2]|0)+308>>2]|0,(c[l>>2]|0)+2<<2)|0;c[(c[k>>2]|0)+308>>2]=n;c[c[(c[k>>2]|0)+308>>2]>>2]=0;c[(c[(c[k>>2]|0)+308>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=0;n=c[l>>2]|0;i=o;return n|0}function MI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m;e=m+24|0;f=m+16|0;k=m+12|0;h=m+8|0;g=m+4|0;c[e>>2]=a;c[m+20>>2]=b;c[f>>2]=d;c[k>>2]=rK((c[(c[e>>2]|0)+312>>2]|0)+2<<2)|0;c[g>>2]=0;c[h>>2]=1;while(1){if((c[h>>2]|0)>(c[(c[e>>2]|0)+312>>2]|0))break;if((NI(c[e>>2]|0,c[h>>2]|0,c[(c[e>>2]|0)+312>>2]|0,c[f>>2]|0)|0)<<24>>24){a=c[h>>2]|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;c[(c[k>>2]|0)+(d<<2)>>2]=a}c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){c[c[k>>2]>>2]=c[g>>2];c[(c[k>>2]|0)+((c[g>>2]|0)+1<<2)>>2]=(c[(c[e>>2]|0)+312>>2]|0)+1;l=c[k>>2]|0;i=m;return l|0}else{c[l>>2]=c[f>>2];pA(0,138299,l)|0;c[c[k>>2]>>2]=c[g>>2];B1(c[k>>2]|0);c[k>>2]=0;l=c[k>>2]|0;i=m;return l|0}return 0}function NI(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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=i;i=i+208|0;if((i|0)>=(j|0))ba();h=x+68|0;k=x+64|0;l=x+60|0;y=x+56|0;p=x+52|0;q=x+48|0;t=x+44|0;u=x+40|0;n=x+36|0;m=x+32|0;o=x+28|0;r=x+24|0;w=x+8|0;v=x+72|0;s=x;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[y>>2]=g;c[n>>2]=0;c[m>>2]=0;a[v>>0]=0;tA(w,128,x+80|0);wA(w,c[y>>2]|0)|0;if((c[w+4>>2]|0)>>>0>=(c[w+8>>2]|0)>>>0)uA(w,1)|0;g=w+4|0;y=c[g>>2]|0;c[g>>2]=y+1;a[y>>0]=0;y=c[w>>2]|0;c[w+4>>2]=y;c[r>>2]=y;while(1){if(d[v>>0]|0){b=18;break}y=n4(c[r>>2]|0,c[(c[h>>2]|0)+300>>2]|0,n)|0;c[o>>2]=y;if(!y){b=18;break}y=n4(c[o>>2]|0,c[(c[h>>2]|0)+296>>2]|0,m)|0;c[t>>2]=y;c[u>>2]=y;if(c[t>>2]|0)c[u>>2]=n4(0,c[(c[h>>2]|0)+296>>2]|0,m)|0;switch(((c[t>>2]|0)!=0&1)+((c[u>>2]|0)!=0&1)|0){case 0:{a[v>>0]=0;break}case 1:{c[p>>2]=OI(c[h>>2]|0,c[t>>2]|0,c[k>>2]|0)|0;a[v>>0]=(c[p>>2]|0)==(c[k>>2]|0);break}case 2:{c[p>>2]=OI(c[h>>2]|0,c[t>>2]|0,0)|0;c[q>>2]=OI(c[h>>2]|0,c[u>>2]|0,c[l>>2]|0)|0;if((c[p>>2]|0)>=0|(c[q>>2]|0)>=0){if((c[p>>2]|0)>(c[q>>2]|0)){c[s>>2]=c[p>>2];c[p>>2]=c[q>>2];c[q>>2]=c[s>>2]}if((c[p>>2]|0)<=(c[k>>2]|0))b=(c[k>>2]|0)<=(c[q>>2]|0);else b=0;a[v>>0]=b&1}break}default:{}}c[r>>2]=0}if((b|0)==18){xA(w);i=x;return a[v>>0]|0}return 0}function OI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if((a[c[h>>2]>>0]|0)==(a[138400]|0)?(a4(c[h>>2]|0,138400)|0)==0:0){c[f>>2]=c[k>>2];d=c[f>>2]|0;i=m;return d|0}if((PI(c[h>>2]|0)|0)<<24>>24){c[f>>2]=N3(c[h>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}a:do if(c[(c[g>>2]|0)+308>>2]|0){c[l>>2]=1;while(1){if((c[l>>2]|0)>(c[(c[g>>2]|0)+312>>2]|0))break a;if((a[c[h>>2]>>0]|0)==(a[c[(c[(c[g>>2]|0)+308>>2]|0)+(c[l>>2]<<2)>>2]>>0]|0)?(a4(c[h>>2]|0,c[(c[(c[g>>2]|0)+308>>2]|0)+(c[l>>2]<<2)>>2]|0)|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=c[l>>2];d=c[f>>2]|0;i=m;return d|0}while(0);c[f>>2]=-1;d=c[f>>2]|0;i=m;return d|0}function PI(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g+8|0;h=g+4|0;e=g;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(a[c[e>>2]>>0]|0)){b=5;break}h=c[e>>2]|0;c[e>>2]=h+1;if(!(I1(d[h>>0]|0)|0)){b=4;break}}if((b|0)==4){a[f>>0]=0;h=a[f>>0]|0;i=g;return h|0}else if((b|0)==5){a[f>>0]=1;h=a[f>>0]|0;i=g;return h|0}return 0}function QI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;h[(c[(c[g>>2]|0)+8>>2]|0)+48>>3]=+h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[g>>2]|0)+8>>2]|0)+88>>3];h[(c[(c[g>>2]|0)+8>>2]|0)+48+8>>3]=+h[(c[(c[g>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[g>>2]|0)+8>>2]|0)+80>>3]/2.0;h[(c[(c[g>>2]|0)+8>>2]|0)+48+16>>3]=+h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[g>>2]|0)+8>>2]|0)+96>>3];h[(c[(c[g>>2]|0)+8>>2]|0)+48+16+8>>3]=+h[(c[(c[g>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[g>>2]|0)+8>>2]|0)+80>>3]/2.0;c[e>>2]=cB(c[d>>2]|0,c[g>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;RI(c[e>>2]|0);c[e>>2]=eB(c[d>>2]|0,c[e>>2]|0)|0}i=f;return}function RI(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2];if(!(c[b>>2]|0)){i=d;return}SI(c[b>>2]|0);i=d;return}function SI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+320|0;if((i|0)>=(j|0))ba();f=s+256|0;e=s+240|0;g=s+308|0;r=s+304|0;q=s+192|0;p=s+160|0;o=s+128|0;k=s+96|0;l=s+64|0;m=s+32|0;n=s;c[g>>2]=a;if((c[(c[g>>2]|0)+4>>2]|0)<=0)db(138571,137658,3899,138585);a=q;b=c[c[g>>2]>>2]|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));a=f;b=q;d=a+48|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));TI(k,f);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];c[p+16>>2]=c[k+16>>2];c[p+20>>2]=c[k+20>>2];c[p+24>>2]=c[k+24>>2];c[p+28>>2]=c[k+28>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0))break;if((c[r>>2]|0)>0){a=q;b=(c[c[g>>2]>>2]|0)+((c[r>>2]|0)*48|0)|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));a=f;b=q;d=a+48|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));TI(l,f);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];c[o+16>>2]=c[l+16>>2];c[o+20>>2]=c[l+20>>2];c[o+24>>2]=c[l+24>>2];c[o+28>>2]=c[l+28>>2];h[p>>3]=+h[p>>3]<+h[o>>3]?+h[p>>3]:+h[o>>3];h[p+8>>3]=+h[p+8>>3]<+h[o+8>>3]?+h[p+8>>3]:+h[o+8>>3];h[p+16>>3]=+h[p+16>>3]>+h[o+16>>3]?+h[p+16>>3]:+h[o+16>>3];h[p+16+8>>3]=+h[p+16+8>>3]>+h[o+16+8>>3]?+h[p+16+8>>3]:+h[o+16+8>>3]}if(c[q+8>>2]|0){b=q+16|0;d=c[q>>2]|0;k=c[q+8>>2]|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[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];vH(m,e,f,1.0,k);c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];h[p>>3]=+h[p>>3]<+h[o>>3]?+h[p>>3]:+h[o>>3];h[p+8>>3]=+h[p+8>>3]<+h[o+8>>3]?+h[p+8>>3]:+h[o+8>>3];h[p+16>>3]=+h[p+16>>3]>+h[o+16>>3]?+h[p+16>>3]:+h[o+16>>3];h[p+16+8>>3]=+h[p+16+8>>3]>+h[o+16+8>>3]?+h[p+16+8>>3]:+h[o+16+8>>3]}if(c[q+12>>2]|0){b=q+32|0;d=(c[q>>2]|0)+((c[q+4>>2]|0)-1<<4)|0;k=c[q+12>>2]|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[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];vH(n,e,f,1.0,k);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[o+16>>2]=c[n+16>>2];c[o+20>>2]=c[n+20>>2];c[o+24>>2]=c[n+24>>2];c[o+28>>2]=c[n+28>>2];h[p>>3]=+h[p>>3]<+h[o>>3]?+h[p>>3]:+h[o>>3];h[p+8>>3]=+h[p+8>>3]<+h[o+8>>3]?+h[p+8>>3]:+h[o+8>>3];h[p+16>>3]=+h[p+16>>3]>+h[o+16>>3]?+h[p+16>>3]:+h[o+16>>3];h[p+16+8>>3]=+h[p+16+8>>3]>+h[o+16+8>>3]?+h[p+16+8>>3]:+h[o+16+8>>3]}c[r>>2]=(c[r>>2]|0)+1}r=(c[g>>2]|0)+8|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[p+16>>2];c[r+20>>2]=c[p+20>>2];c[r+24>>2]=c[p+24>>2];c[r+28>>2]=c[p+28>>2];i=s;return}function TI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;l=i;i=i+96|0;if((i|0)>=(j|0))ba();e=l+80|0;f=l+64|0;g=l+48|0;k=l+32|0;d=l;if((c[b+4>>2]|0)<=0)db(138601,137658,3873,138613);if(((c[b+4>>2]|0)%3|0|0)!=1)db(138623,137658,3874,138613);m=d+16|0;n=c[b>>2]|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];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[e>>2]=1;while(1){if((c[e>>2]|0)>=(c[b+4>>2]|0))break;n=(c[b>>2]|0)+(c[e>>2]<<4)|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[e>>2]=(c[e>>2]|0)+1;n=(c[b>>2]|0)+(c[e>>2]<<4)|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[e>>2]=(c[e>>2]|0)+1;h[f>>3]=(+h[g>>3]+ +h[k>>3])/2.0;h[f+8>>3]=(+h[g+8>>3]+ +h[k+8>>3])/2.0;h[d>>3]=+h[d>>3]<+h[f>>3]?+h[d>>3]:+h[f>>3];h[d+8>>3]=+h[d+8>>3]<+h[f+8>>3]?+h[d+8>>3]:+h[f+8>>3];h[d+16>>3]=+h[d+16>>3]>+h[f>>3]?+h[d+16>>3]:+h[f>>3];h[d+16+8>>3]=+h[d+16+8>>3]>+h[f+8>>3]?+h[d+16+8>>3]:+h[f+8>>3];n=(c[b>>2]|0)+(c[e>>2]<<4)|0;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];h[d>>3]=+h[d>>3]<+h[f>>3]?+h[d>>3]:+h[f>>3];h[d+8>>3]=+h[d+8>>3]<+h[f+8>>3]?+h[d+8>>3]:+h[f+8>>3];h[d+16>>3]=+h[d+16>>3]>+h[f>>3]?+h[d+16>>3]:+h[f>>3];h[d+16+8>>3]=+h[d+16+8>>3]>+h[f+8>>3]?+h[d+16+8>>3]:+h[f+8>>3];c[e>>2]=(c[e>>2]|0)+1}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[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];i=l;return}function UI(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e+4|0;f=e;c[f>>2]=b;switch(c[f>>2]|0){case 0:case 44:case 41:case 40:{a[d>>0]=1;break}default:a[d>>0]=0}i=e;return a[d>>0]|0}function VI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;if((i|0)>=(j|0))ba();k=n+32|0;f=n;g=n+76|0;h=n+72|0;m=n+68|0;l=n+64|0;c[h>>2]=b;c[m>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2];if((c[m>>2]|0)!=0?(m=(c[m>>2]|0)+8|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[f+16>>2]=c[m+16>>2],c[f+20>>2]=c[m+20>>2],c[f+24>>2]=c[m+24>>2],c[f+28>>2]=c[m+28>>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[k+16>>2]=c[e+16>>2],c[k+20>>2]=c[e+20>>2],c[k+24>>2]=c[e+24>>2],c[k+28>>2]=c[e+28>>2],(xJ(f,k)|0)!=0):0){a[g>>0]=1;m=a[g>>0]|0;i=n;return m|0}c[l>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+96>>2];if((c[l>>2]|0)!=0?(m=c[l>>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[k+16>>2]=c[e+16>>2],c[k+20>>2]=c[e+20>>2],c[k+24>>2]=c[e+24>>2],c[k+28>>2]=c[e+28>>2],((aP(m,k)|0)&255|0)!=0):0){a[g>>0]=1;m=a[g>>0]|0;i=n;return m|0}c[l>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+108>>2];if(((c[l>>2]|0)!=0?(d[(c[l>>2]|0)+81>>0]|0|0)!=0:0)?(m=c[l>>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[k+16>>2]=c[e+16>>2],c[k+20>>2]=c[e+20>>2],c[k+24>>2]=c[e+24>>2],c[k+28>>2]=c[e+28>>2],((aP(m,k)|0)&255|0)!=0):0){a[g>>0]=1;m=a[g>>0]|0;i=n;return m|0}a[g>>0]=0;m=a[g>>0]|0;i=n;return m|0}function WI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n+24|0;g=n+20|0;h=n+12|0;f=n+8|0;l=n+4|0;k=n;c[g>>2]=b;c[n+16>>2]=d;c[h>>2]=e;if((c[(c[g>>2]|0)+156>>2]|0)<=1){a[m>>0]=1;m=a[m>>0]|0;i=n;return m|0}c[f>>2]=wO(c[h>>2]|0,c[13874]|0,178598)|0;if((wJ(c[g>>2]|0,c[f>>2]|0)|0)<<24>>24){a[m>>0]=1;m=a[m>>0]|0;i=n;return m|0}if(a[c[f>>2]>>0]|0){a[m>>0]=0;m=a[m>>0]|0;i=n;return m|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=2){e=16;break}e=c[c[h>>2]>>2]&3;if((c[k>>2]|0)<1){f=c[h>>2]|0;e=c[((e|0)==3?f:f+32|0)+28>>2]|0}else{f=c[h>>2]|0;e=c[((e|0)==2?f:f+-32|0)+28>>2]|0}c[l>>2]=wO(e,c[13844]|0,178598)|0;if(!(a[c[l>>2]>>0]|0)){e=14;break}if((wJ(c[g>>2]|0,c[l>>2]|0)|0)&255){e=14;break}c[k>>2]=(c[k>>2]|0)+1}if((e|0)==14){a[m>>0]=1;m=a[m>>0]|0;i=n;return m|0}else if((e|0)==16){a[m>>0]=0;m=a[m>>0]|0;i=n;return m|0}return 0}function XI(d,f,g){d=d|0;f=f|0;g=g|0;var k=0.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;I=i;i=i+240|0;if((i|0)>=(j|0))ba();w=I+100|0;x=I+96|0;l=I+92|0;C=I+88|0;y=I+84|0;r=I+80|0;p=I+76|0;s=I+72|0;o=I+68|0;D=I+64|0;z=I+60|0;B=I+56|0;E=I+52|0;F=I+48|0;n=I+44|0;m=I+40|0;q=I+8|0;t=I+24|0;u=I+104|0;A=I+20|0;G=I+16|0;H=I;c[w>>2]=d;c[x>>2]=f;c[l>>2]=g;c[y>>2]=c[(c[w>>2]|0)+152>>2];c[p>>2]=0;c[s>>2]=0;c[o>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[n>>2]=0;c[m>>2]=0;c[C>>2]=LH(c[w>>2]|0)|0;c[(c[C>>2]|0)+4>>2]=3;c[(c[C>>2]|0)+8>>2]=c[x>>2];c[(c[C>>2]|0)+12>>2]=9;if((c[l>>2]|0)!=0?(c[(c[(c[x>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0)GR(c[w>>2]|0,c[l>>2]|0);if(((c[13890]|0)!=0?(g=PA(c[x>>2]|0,c[13890]|0)|0,c[r>>2]=g,(g|0)!=0):0)?(a[c[r>>2]>>0]|0)!=0:0){h[q>>3]=+uO(c[x>>2]|0,c[13890]|0,1.0,0.0);OR(c[w>>2]|0,+h[q>>3])}do if(c[y>>2]&16777216){g=c[x>>2]|0;if((e[(c[(GC(c[((c[c[x>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)|0)+8>>2]|0)+178>>1]|0)>=3){g=c[x>>2]|0;q=c[x>>2]|0;k=+h[(c[(c[(c[((c[c[x>>2]>>2]&3|0)==3?q:q+32|0)+28>>2]|0)+8>>2]|0)+132>>2]|0)+16>>3]*72.0;h[(c[C>>2]|0)+176>>3]=+(~~(+h[(c[(c[(c[((c[c[x>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)+8>>2]|0)+132>>2]|0)+16>>3]*72.0>=0.0?k+.5:k-.5)|0);g=c[x>>2]|0;q=c[x>>2]|0;k=+h[(c[(c[(c[((c[c[x>>2]>>2]&3|0)==2?q:q+-32|0)+28>>2]|0)+8>>2]|0)+132>>2]|0)+16>>3]*72.0;h[(c[C>>2]|0)+184>>3]=+(~~(+h[(c[(c[(c[((c[c[x>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+132>>2]|0)+16>>3]*72.0>=0.0?k+.5:k-.5)|0);break}else{h[(c[C>>2]|0)+184>>3]=0.0;h[(c[C>>2]|0)+176>>3]=0.0;break}}while(0);if(c[y>>2]&32768){g=c[(c[(c[x>>2]|0)+8>>2]|0)+96>>2]|0;c[p>>2]=g;if(g)c[(c[C>>2]|0)+192>>2]=c[c[p>>2]>>2];g=c[(c[C>>2]|0)+192>>2]|0;c[(c[C>>2]|0)+196>>2]=g;c[(c[C>>2]|0)+204>>2]=g;c[(c[C>>2]|0)+200>>2]=g;g=c[(c[(c[x>>2]|0)+8>>2]|0)+108>>2]|0;c[s>>2]=g;if(g)c[(c[C>>2]|0)+196>>2]=c[c[s>>2]>>2];g=c[(c[(c[x>>2]|0)+8>>2]|0)+104>>2]|0;c[s>>2]=g;if(g)c[(c[C>>2]|0)+200>>2]=c[c[s>>2]>>2];s=c[(c[(c[x>>2]|0)+8>>2]|0)+100>>2]|0;c[o>>2]=s;if(s)c[(c[C>>2]|0)+204>>2]=c[c[o>>2]>>2]}a:do if(c[y>>2]&65536){tA(t,128,u);c[r>>2]=OH(c[w>>2]|0,c[x>>2]|0,t)|0;v=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+212>>2]=v;xA(t);v=OA(c[x>>2]|0,179144)|0;c[r>>2]=v;if((v|0)!=0?(a[c[r>>2]>>0]|0)!=0:0)v=26;else v=24;if(((v|0)==24?(u=OA(c[x>>2]|0,149133)|0,c[r>>2]=u,(u|0)!=0):0)?(a[c[r>>2]>>0]|0)!=0:0)v=26;if((v|0)==26)c[n>>2]=jK(c[r>>2]|0,c[x>>2]|0)|0;v=OA(c[x>>2]|0,138701)|0;c[r>>2]=v;if((v|0)!=0?(a[c[r>>2]>>0]|0)!=0:0)v=31;else v=29;do if((v|0)==29){u=OA(c[x>>2]|0,138710)|0;c[r>>2]=u;if((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){v=31;break}if(c[n>>2]|0){u=d4(c[n>>2]|0)|0;c[(c[C>>2]|0)+208>>2]=u}}while(0);if((v|0)==31){v=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+208>>2]=v}v=OA(c[x>>2]|0,138718)|0;c[r>>2]=v;if((v|0)!=0?(a[c[r>>2]>>0]|0)!=0:0)v=38;else v=36;do if((v|0)==36){u=OA(c[x>>2]|0,138728)|0;c[r>>2]=u;if((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){v=38;break}if(c[n>>2]|0){u=d4(c[n>>2]|0)|0;c[(c[C>>2]|0)+216>>2]=u}}while(0);if((v|0)==38){v=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+216>>2]=v}v=OA(c[x>>2]|0,138737)|0;c[r>>2]=v;if((v|0)!=0?(a[c[r>>2]>>0]|0)!=0:0)v=45;else v=43;do if((v|0)==43){u=OA(c[x>>2]|0,138746)|0;c[r>>2]=u;if((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){v=45;break}if(c[n>>2]|0){u=d4(c[n>>2]|0)|0;c[(c[C>>2]|0)+220>>2]=u}}while(0);if((v|0)==45){u=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+220>>2]=u;u=(c[C>>2]|0)+260|0;b[u>>1]=b[u>>1]&-129|128}u=OA(c[x>>2]|0,138754)|0;c[r>>2]=u;if(!((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0))v=50;do if((v|0)==50){u=OA(c[x>>2]|0,138763)|0;c[r>>2]=u;if((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0)break;if(!(c[n>>2]|0))break a;u=d4(c[n>>2]|0)|0;c[(c[C>>2]|0)+224>>2]=u;break a}while(0);u=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+224>>2]=u;u=(c[C>>2]|0)+260|0;b[u>>1]=b[u>>1]&-257|256}while(0);do if(c[y>>2]&8388608){u=OA(c[x>>2]|0,179177)|0;c[r>>2]=u;if((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0)c[m>>2]=jK(c[r>>2]|0,c[x>>2]|0)|0;u=OA(c[x>>2]|0,138771)|0;c[r>>2]=u;if((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){u=(c[C>>2]|0)+260|0;b[u>>1]=b[u>>1]&-65|64;u=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+244>>2]=u}else v=62;if((v|0)==62?(c[m>>2]|0)!=0:0){u=d4(c[m>>2]|0)|0;c[(c[C>>2]|0)+244>>2]=u}u=OA(c[x>>2]|0,138782)|0;c[r>>2]=u;if((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){u=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+248>>2]=u}else v=67;if((v|0)==67?(c[m>>2]|0)!=0:0){u=d4(c[m>>2]|0)|0;c[(c[C>>2]|0)+248>>2]=u}u=OA(c[x>>2]|0,138794)|0;c[r>>2]=u;if((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){u=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+252>>2]=u;u=(c[C>>2]|0)+260|0;b[u>>1]=b[u>>1]&-17|16}else v=72;if((v|0)==72?(c[m>>2]|0)!=0:0){v=d4(c[m>>2]|0)|0;c[(c[C>>2]|0)+252>>2]=v}v=OA(c[x>>2]|0,138805)|0;c[r>>2]=v;if((v|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){v=(c[C>>2]|0)+260|0;b[v>>1]=b[v>>1]&-33|32;v=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+256>>2]=v;break}if(c[m>>2]|0){v=d4(c[m>>2]|0)|0;c[(c[C>>2]|0)+256>>2]=v}}while(0);do if(c[y>>2]&4194304){v=OA(c[x>>2]|0,179190)|0;c[r>>2]=v;if((v|0)!=0?(a[c[r>>2]>>0]|0)!=0:0)v=84;else v=82;do if((v|0)==82){u=OA(c[x>>2]|0,138816)|0;c[r>>2]=u;if((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){v=84;break}if(c[(c[C>>2]|0)+192>>2]|0){u=d4(c[(c[C>>2]|0)+192>>2]|0)|0;c[(c[C>>2]|0)+228>>2]=u}}while(0);if((v|0)==84){u=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+228>>2]=u;u=(c[C>>2]|0)+260|0;b[u>>1]=b[u>>1]&-2|1}u=OA(c[x>>2]|0,138828)|0;c[r>>2]=u;if((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){u=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+232>>2]=u;u=(c[C>>2]|0)+260|0;b[u>>1]=b[u>>1]&-9|8}else v=90;if((v|0)==90?(c[(c[C>>2]|0)+192>>2]|0)!=0:0){u=d4(c[(c[C>>2]|0)+192>>2]|0)|0;c[(c[C>>2]|0)+232>>2]=u}u=OA(c[x>>2]|0,138841)|0;c[r>>2]=u;if((u|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){u=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+236>>2]=u;u=(c[C>>2]|0)+260|0;b[u>>1]=b[u>>1]&-3|2}else v=95;if((v|0)==95?(c[(c[C>>2]|0)+200>>2]|0)!=0:0){v=d4(c[(c[C>>2]|0)+200>>2]|0)|0;c[(c[C>>2]|0)+236>>2]=v}v=OA(c[x>>2]|0,138853)|0;c[r>>2]=v;if((v|0)!=0?(a[c[r>>2]>>0]|0)!=0:0){v=jK(c[r>>2]|0,c[x>>2]|0)|0;c[(c[C>>2]|0)+240>>2]=v;v=(c[C>>2]|0)+260|0;b[v>>1]=b[v>>1]&-5|4;break}if(c[(c[C>>2]|0)+204>>2]|0){v=d4(c[(c[C>>2]|0)+204>>2]|0)|0;c[(c[C>>2]|0)+240>>2]=v}}while(0);B1(c[n>>2]|0);B1(c[m>>2]|0);do if((c[y>>2]&4259840|0)!=0?(c[(c[(c[x>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0){if((c[(c[C>>2]|0)+208>>2]|0)==0?(c[(c[C>>2]|0)+228>>2]|0)==0:0)break;if(c[y>>2]&524288){if(+h[(c[(c[w>>2]|0)+16>>2]|0)+152>>3]/2.0>2.0)k=+h[(c[(c[w>>2]|0)+16>>2]|0)+152>>3]/2.0;else k=2.0;h[H>>3]=k;c[G>>2]=c[(c[(c[x>>2]|0)+8>>2]|0)+8>>2];c[A>>2]=c[(c[G>>2]|0)+4>>2];c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[A>>2]|0))break;qJ(D,E,F,(c[c[G>>2]>>2]|0)+((c[z>>2]|0)*48|0)|0,+h[H>>3]);c[z>>2]=(c[z>>2]|0)+1}c[(c[C>>2]|0)+276>>2]=c[F>>2];c[(c[C>>2]|0)+280>>2]=c[E>>2];if(!(c[y>>2]&8192)){c[B>>2]=0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[F>>2]|0))break;c[B>>2]=(c[B>>2]|0)+(c[(c[E>>2]|0)+(c[z>>2]<<2)>>2]|0);c[z>>2]=(c[z>>2]|0)+1}hR(c[w>>2]|0,c[D>>2]|0,c[D>>2]|0,c[B>>2]|0)|0}c[(c[C>>2]|0)+284>>2]=c[D>>2];c[(c[C>>2]|0)+264>>2]=2;c[(c[C>>2]|0)+272>>2]=c[D>>2];c[(c[C>>2]|0)+268>>2]=c[c[E>>2]>>2]}}while(0);wR(c[w>>2]|0,c[x>>2]|0);if((c[(c[C>>2]|0)+208>>2]|0)==0?((b[(c[C>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)==0:0){i=I;return}yR(c[w>>2]|0,c[(c[C>>2]|0)+208>>2]|0,c[(c[C>>2]|0)+228>>2]|0,c[(c[C>>2]|0)+244>>2]|0,c[(c[C>>2]|0)+212>>2]|0);i=I;return}function YI(b,e,f){b=b|0;e=e|0;f=f|0;var g=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.0,Y=0.0;W=i;i=i+432|0;if((i|0)>=(j|0))ba();P=W+328|0;O=W+312|0;F=W+296|0;D=W+280|0;Q=W+420|0;R=W+416|0;N=W+412|0;U=W+408|0;x=W+404|0;u=W+400|0;o=W+396|0;g=W+392|0;L=W+388|0;m=W+384|0;M=W+380|0;w=W+376|0;I=W+372|0;y=W+368|0;v=W+364|0;T=W+232|0;B=W+192|0;K=W+152|0;C=W+136|0;E=W+120|0;G=W+104|0;H=W+88|0;A=W+360|0;J=W+356|0;S=W+80|0;z=W+72|0;V=W+64|0;k=W+352|0;n=W+424|0;l=W+348|0;p=W+344|0;q=W+48|0;r=W+32|0;s=W+16|0;t=W;c[Q>>2]=b;c[R>>2]=e;c[N>>2]=f;c[o>>2]=0;c[g>>2]=0;c[v>>2]=0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;h[V>>3]=+h[(c[(c[Q>>2]|0)+16>>2]|0)+152>>3];a[n>>0]=0;sT(OA(c[R>>2]|0,137692)|0);if(!(c[(c[(c[R>>2]|0)+8>>2]|0)+8>>2]|0)){i=W;return}h[S>>3]=+uO(c[R>>2]|0,c[13872]|0,1.0,0.0);c[L>>2]=wO(c[R>>2]|0,c[13853]|0,178598)|0;a:do if(c[N>>2]|0){c[l>>2]=c[N>>2];while(1){f=c[l>>2]|0;c[l>>2]=f+4;f=c[f>>2]|0;c[k>>2]=f;if(!f)break a;if((a[c[k>>2]>>0]|0)!=(a[148759]|0))continue;if(!(a4(c[k>>2]|0,148759)|0))break}a[n>>0]=1}while(0);c[k>>2]=c[L>>2];while(1){if(!(a[c[k>>2]>>0]|0))break;if((a[c[k>>2]>>0]|0)!=58){if((a[c[k>>2]>>0]|0)==59)c[g>>2]=(c[g>>2]|0)+1}else c[o>>2]=(c[o>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}do if((c[g>>2]|0)!=0&(c[o>>2]|0)!=0)if(eJ(c[Q>>2]|0,c[R>>2]|0,c[N>>2]|0,c[L>>2]|0,(c[o>>2]|0)+1|0,+h[S>>3],+h[V>>3])|0){c[L>>2]=174997;break}else{i=W;return}while(0);e=c[L>>2]|0;c[m>>2]=e;c[M>>2]=e;e=c[R>>2]|0;do if(!(d[(c[(c[R>>2]|0)+8>>2]|0)+115>>0]&1)){g=c[R>>2]|0;if(d[(c[e+8>>2]|0)+115>>0]&2){f=c[13857]|0;c[m>>2]=xO(g,f,fJ(c[m>>2]|0,143762)|0)|0;c[M>>2]=xO(c[R>>2]|0,c[13858]|0,143770)|0;break}b=c[R>>2]|0;if(d[(c[g+8>>2]|0)+115>>0]&8){f=c[13861]|0;c[m>>2]=xO(b,f,fJ(c[m>>2]|0,143778)|0)|0;c[M>>2]=xO(c[R>>2]|0,c[13862]|0,143786)|0;break}e=c[R>>2]|0;if(d[(c[b+8>>2]|0)+115>>0]&4){f=c[13859]|0;c[m>>2]=xO(e,f,fJ(c[m>>2]|0,143794)|0)|0;c[M>>2]=xO(c[R>>2]|0,c[13860]|0,143802)|0;break}else{c[M>>2]=xO(e,c[13854]|0,c[L>>2]|0)|0;break}}else{f=c[13855]|0;c[m>>2]=xO(e,f,fJ(c[m>>2]|0,143746)|0)|0;c[M>>2]=xO(c[R>>2]|0,c[13856]|0,143754)|0}while(0);if((c[m>>2]|0)!=(c[L>>2]|0))DR(c[Q>>2]|0,c[m>>2]|0);if((c[M>>2]|0)!=(c[L>>2]|0))ER(c[Q>>2]|0,c[M>>2]|0);c[L>>2]=c[m>>2];if(a[n>>0]|0){if(!(a[c[L>>2]>>0]|0))c[L>>2]=174997;if(!(a[c[M>>2]>>0]|0))c[M>>2]=174997;DR(c[Q>>2]|0,175510);ER(c[Q>>2]|0,c[L>>2]|0);e=T;b=c[c[(c[(c[R>>2]|0)+8>>2]|0)+8>>2]>>2]|0;g=e+48|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));U=gJ(c[R>>2]|0)|0;c[p>>2]=VN(T,U,+h[V>>3],0,0)|0;IR(c[Q>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[c[p>>2]>>2]|0,1);hJ(c[p>>2]|0);DR(c[Q>>2]|0,c[L>>2]|0);if((c[M>>2]|0)!=(c[L>>2]|0))ER(c[Q>>2]|0,c[M>>2]|0);if(c[T+8>>2]|0){R=c[Q>>2]|0;M=T+16|0;N=c[T>>2]|0;Y=+h[S>>3];X=+h[V>>3];U=c[T+8>>2]|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[P>>2]=c[N>>2];c[P+4>>2]=c[N+4>>2];c[P+8>>2]=c[N+8>>2];c[P+12>>2]=c[N+12>>2];wH(R,2,O,P,Y,X,U)}if(!(c[T+12>>2]|0)){i=W;return}U=c[Q>>2]|0;Q=T+32|0;R=(c[T>>2]|0)+((c[T+4>>2]|0)-1<<4)|0;X=+h[S>>3];Y=+h[V>>3];V=c[T+12>>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];c[P>>2]=c[R>>2];c[P+4>>2]=c[R+4>>2];c[P+8>>2]=c[R+8>>2];c[P+12>>2]=c[R+12>>2];wH(U,3,O,P,X,Y,V);i=W;return}e=c[(c[R>>2]|0)+8>>2]|0;if(!(c[o>>2]|0)){do if(!(d[e+115>>0]&3)){g=c[Q>>2]|0;if(a[c[L>>2]>>0]|0){DR(g,c[L>>2]|0);ER(c[Q>>2]|0,c[M>>2]|0);break}DR(g,174997);g=c[Q>>2]|0;if(a[c[M>>2]>>0]|0){ER(g,c[M>>2]|0);break}else{ER(g,174997);break}}while(0);c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[(c[(c[(c[R>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break;e=T;b=(c[c[(c[(c[R>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[U>>2]|0)*48|0)|0;g=e+48|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));g=c[Q>>2]|0;b=c[T>>2]|0;e=c[T+4>>2]|0;do if(!(c[(c[Q>>2]|0)+152>>2]&16384)){KR(g,b,e,0,0,0);if(c[T+8>>2]|0){L=c[Q>>2]|0;J=T+16|0;K=c[T>>2]|0;X=+h[S>>3];Y=+h[V>>3];M=c[T+8>>2]|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];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];wH(L,2,O,P,X,Y,M)}if(c[T+12>>2]|0){L=c[Q>>2]|0;J=T+32|0;K=(c[T>>2]|0)+((c[T+4>>2]|0)-1<<4)|0;X=+h[S>>3];Y=+h[V>>3];M=c[T+12>>2]|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];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];wH(L,3,O,P,X,Y,M)}if((c[(c[(c[(c[R>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(c[T+8>>2]|0){if(!(c[N>>2]|0))break}else if(!((c[T+12>>2]|0)!=0&(c[N>>2]|0)!=0))break;GR(c[Q>>2]|0,c[N>>2]|0)}}else KR(g,b,e,c[T+8>>2]|0,c[T+12>>2]|0,0);while(0);c[U>>2]=(c[U>>2]|0)+1}i=W;return}N=c[(c[e+8>>2]|0)+4>>2]|0;c[B+4>>2]=N;c[K+4>>2]=N;c[B>>2]=A1((c[B+4>>2]|0)*48|0)|0;c[K>>2]=A1((c[K+4>>2]|0)*48|0)|0;h[z>>3]=+(2+(c[o>>2]|0)|0)/2.0;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[B+4>>2]|0))break;e=T;b=(c[c[(c[(c[R>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[U>>2]|0)*48|0)|0;g=e+48|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(g|0));N=c[T+4>>2]|0;c[(c[B>>2]|0)+((c[U>>2]|0)*48|0)+4>>2]=N;c[(c[K>>2]|0)+((c[U>>2]|0)*48|0)+4>>2]=N;N=A1(c[T+4>>2]<<4)|0;c[(c[B>>2]|0)+((c[U>>2]|0)*48|0)>>2]=N;c[A>>2]=N;N=A1(c[T+4>>2]<<4)|0;c[(c[K>>2]|0)+((c[U>>2]|0)*48|0)>>2]=N;c[J>>2]=N;N=c[T>>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[N+12>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=((c[T+4>>2]|0)-1|0))break;c[C>>2]=c[H>>2];c[C+4>>2]=c[H+4>>2];c[C+8>>2]=c[H+8>>2];c[C+12>>2]=c[H+12>>2];e=(c[T>>2]|0)+((c[x>>2]|0)+1<<4)|0;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];e=(c[A>>2]|0)+(c[x>>2]<<4)|0;if(!(c[x>>2]|0)){c[O>>2]=c[C>>2];c[O+4>>2]=c[C+4>>2];c[O+8>>2]=c[C+8>>2];c[O+12>>2]=c[C+12>>2];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];iJ(q,O,P,2.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]}else{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[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];iJ(r,O,P,2.0);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]}N=(c[T>>2]|0)+((c[x>>2]|0)+2<<4)|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];N=(c[T>>2]|0)+((c[x>>2]|0)+3<<4)|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];N=(c[A>>2]|0)+((c[x>>2]|0)+1<<4)|0;M=(c[A>>2]|0)+((c[x>>2]|0)+2<<4)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+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[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[P>>2]=c[H>>2];c[P+4>>2]=c[H+4>>2];c[P+8>>2]=c[H+8>>2];c[P+12>>2]=c[H+12>>2];jJ(s,D,F,O,P,2.0);c[M>>2]=c[s>>2];c[M+4>>2]=c[s+4>>2];c[M+8>>2]=c[s+8>>2];c[M+12>>2]=c[s+12>>2];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];h[(c[J>>2]|0)+(c[x>>2]<<4)>>3]=+h[C>>3]-+h[z>>3]*+h[(c[A>>2]|0)+(c[x>>2]<<4)>>3];h[(c[J>>2]|0)+(c[x>>2]<<4)+8>>3]=+h[C+8>>3]-+h[z>>3]*+h[(c[A>>2]|0)+(c[x>>2]<<4)+8>>3];h[(c[J>>2]|0)+((c[x>>2]|0)+1<<4)>>3]=+h[E>>3]-+h[z>>3]*+h[(c[A>>2]|0)+((c[x>>2]|0)+1<<4)>>3];h[(c[J>>2]|0)+((c[x>>2]|0)+1<<4)+8>>3]=+h[E+8>>3]-+h[z>>3]*+h[(c[A>>2]|0)+((c[x>>2]|0)+1<<4)+8>>3];h[(c[J>>2]|0)+((c[x>>2]|0)+2<<4)>>3]=+h[G>>3]-+h[z>>3]*+h[(c[A>>2]|0)+((c[x>>2]|0)+2<<4)>>3];h[(c[J>>2]|0)+((c[x>>2]|0)+2<<4)+8>>3]=+h[G+8>>3]-+h[z>>3]*+h[(c[A>>2]|0)+((c[x>>2]|0)+2<<4)+8>>3];c[x>>2]=(c[x>>2]|0)+3}N=(c[A>>2]|0)+(c[x>>2]<<4)|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[P>>2]=c[H>>2];c[P+4>>2]=c[H+4>>2];c[P+8>>2]=c[H+8>>2];c[P+12>>2]=c[H+12>>2];iJ(t,O,P,2.0);c[N>>2]=c[t>>2];c[N+4>>2]=c[t+4>>2];c[N+8>>2]=c[t+8>>2];c[N+12>>2]=c[t+12>>2];h[(c[J>>2]|0)+(c[x>>2]<<4)>>3]=+h[H>>3]-+h[z>>3]*+h[(c[A>>2]|0)+(c[x>>2]<<4)>>3];h[(c[J>>2]|0)+(c[x>>2]<<4)+8>>3]=+h[H+8>>3]-+h[z>>3]*+h[(c[A>>2]|0)+(c[x>>2]<<4)+8>>3];c[U>>2]=(c[U>>2]|0)+1}N=c[L>>2]|0;c[I>>2]=N;c[w>>2]=N;c[y>>2]=N;c[v>>2]=d4(c[L>>2]|0)|0;c[u>>2]=0;c[L>>2]=m4(c[v>>2]|0,148978)|0;while(1){if(!(c[L>>2]|0))break;if(!(a[c[L>>2]>>0]|0))c[L>>2]=174997;if((c[L>>2]|0)!=(c[y>>2]|0)){if(!(d[(c[(c[R>>2]|0)+8>>2]|0)+115>>0]&3)){DR(c[Q>>2]|0,c[L>>2]|0);ER(c[Q>>2]|0,c[L>>2]|0)}c[y>>2]=c[L>>2]}if(!(c[u>>2]|0)){N=c[L>>2]|0;c[I>>2]=N;c[w>>2]=N}if((c[u>>2]|0)==1)c[I>>2]=c[L>>2];c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[K+4>>2]|0))break;c[J>>2]=c[(c[K>>2]|0)+((c[U>>2]|0)*48|0)>>2];c[A>>2]=c[(c[B>>2]|0)+((c[U>>2]|0)*48|0)>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[K>>2]|0)+((c[U>>2]|0)*48|0)+4>>2]|0))break;N=(c[J>>2]|0)+(c[x>>2]<<4)|0;h[N>>3]=+h[N>>3]+ +h[(c[A>>2]|0)+(c[x>>2]<<4)>>3];N=(c[J>>2]|0)+(c[x>>2]<<4)+8|0;h[N>>3]=+h[N>>3]+ +h[(c[A>>2]|0)+(c[x>>2]<<4)+8>>3];c[x>>2]=(c[x>>2]|0)+1}KR(c[Q>>2]|0,c[J>>2]|0,c[(c[K>>2]|0)+((c[U>>2]|0)*48|0)+4>>2]|0,0,0,0);c[U>>2]=(c[U>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1;c[L>>2]=m4(0,148978)|0}if(c[T+8>>2]|0){if((c[L>>2]|0)!=(c[I>>2]|0)?(c[L>>2]=c[I>>2],(d[(c[(c[R>>2]|0)+8>>2]|0)+115>>0]&3|0)==0):0){DR(c[Q>>2]|0,c[L>>2]|0);ER(c[Q>>2]|0,c[L>>2]|0)}M=c[Q>>2]|0;I=T+16|0;J=c[T>>2]|0;X=+h[S>>3];Y=+h[V>>3];N=c[T+8>>2]|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];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];wH(M,2,O,P,X,Y,N)}if(c[T+12>>2]|0){if((c[L>>2]|0)!=(c[w>>2]|0)?(c[L>>2]=c[w>>2],(d[(c[(c[R>>2]|0)+8>>2]|0)+115>>0]&3|0)==0):0){DR(c[Q>>2]|0,c[L>>2]|0);ER(c[Q>>2]|0,c[L>>2]|0)}R=c[Q>>2]|0;N=T+32|0;Q=(c[T>>2]|0)+((c[T+4>>2]|0)-1<<4)|0;X=+h[S>>3];Y=+h[V>>3];V=c[T+12>>2]|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[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];wH(R,3,O,P,X,Y,V)}B1(c[v>>2]|0);c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[B+4>>2]|0))break;B1(c[(c[B>>2]|0)+((c[U>>2]|0)*48|0)>>2]|0);B1(c[(c[K>>2]|0)+((c[U>>2]|0)*48|0)>>2]|0);c[U>>2]=(c[U>>2]|0)+1}B1(c[B>>2]|0);B1(c[K>>2]|0);i=W;return}function ZI(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+112|0;if((i|0)>=(j|0))ba();h=p+64|0;m=p+96|0;o=p+92|0;n=p+88|0;e=p+84|0;d=p+80|0;k=p+48|0;l=p;c[m>>2]=a;c[o>>2]=c[(c[m>>2]|0)+16>>2];c[n>>2]=c[(c[o>>2]|0)+8>>2];if(!((c[(c[o>>2]|0)+208>>2]|0)==0?((b[(c[o>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)==0:0))f=3;a:do if((f|0)==3?(zR(c[m>>2]|0),(c[(c[o>>2]|0)+276>>2]|0)!=0):0){c[d>>2]=c[c[(c[o>>2]|0)+280>>2]>>2];c[e>>2]=1;while(1){if((c[e>>2]|0)>=(c[(c[o>>2]|0)+276>>2]|0))break a;c[(c[o>>2]|0)+268>>2]=c[(c[(c[o>>2]|0)+280>>2]|0)+(c[e>>2]<<2)>>2];c[(c[o>>2]|0)+272>>2]=(c[(c[o>>2]|0)+284>>2]|0)+(c[d>>2]<<4);yR(c[m>>2]|0,c[(c[o>>2]|0)+208>>2]|0,c[(c[o>>2]|0)+228>>2]|0,c[(c[o>>2]|0)+244>>2]|0,c[(c[o>>2]|0)+212>>2]|0);zR(c[m>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[(c[(c[o>>2]|0)+280>>2]|0)+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[(c[o>>2]|0)+268>>2]=0;c[(c[o>>2]|0)+272>>2]=0;if(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0){d=l;a=c[c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]>>2]|0;e=d+48|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));if(c[l+8>>2]|0){g=l+16|0;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]}else{g=c[l>>2]|0;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]}r=c[m>>2]|0;q=(b[(c[o>>2]|0)+260>>1]<<8&65535)<<16>>16>>15&255;f=c[(c[o>>2]|0)+220>>2]|0;g=(b[(c[o>>2]|0)+260>>1]<<14&65535)<<16>>16>>15&255;e=c[(c[o>>2]|0)+236>>2]|0;a=(b[(c[o>>2]|0)+260>>1]<<11&65535)<<16>>16>>15&255;d=c[(c[o>>2]|0)+252>>2]|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];_I(r,h,q,f,g,e,a,d);d=l;a=(c[c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+(((c[(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)-1|0)*48|0)|0;e=d+48|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));if(c[l+12>>2]|0){r=l+32|0;c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[k+12>>2]=c[r+12>>2]}else{r=(c[l>>2]|0)+((c[l+4>>2]|0)-1<<4)|0;c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[k+12>>2]=c[r+12>>2]}a=c[m>>2]|0;e=(b[(c[o>>2]|0)+260>>1]<<7&65535)<<16>>16>>15&255;f=c[(c[o>>2]|0)+224>>2]|0;g=(b[(c[o>>2]|0)+260>>1]<<13&65535)<<16>>16>>15&255;l=c[(c[o>>2]|0)+240>>2]|0;q=(b[(c[o>>2]|0)+260>>1]<<10&65535)<<16>>16>>15&255;r=c[(c[o>>2]|0)+256>>2]|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];_I(a,h,e,f,g,l,q,r)}f=c[m>>2]|0;e=c[(c[(c[n>>2]|0)+8>>2]|0)+96>>2]|0;a=(b[(c[o>>2]|0)+260>>1]<<12&65535)<<16>>16>>15<<16>>16;d=c[(c[o>>2]|0)+216>>2]|0;g=c[(c[o>>2]|0)+232>>2]|0;h=c[(c[o>>2]|0)+248>>2]|0;k=c[(c[o>>2]|0)+212>>2]|0;if(((zO(wO(c[n>>2]|0,c[13870]|0,174991)|0)|0)&255|0)!=0?(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0)l=c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0;else l=0;$I(f,e,11,a,d,g,h,k,l);l=c[m>>2]|0;k=c[(c[(c[n>>2]|0)+8>>2]|0)+108>>2]|0;h=(b[(c[o>>2]|0)+260>>1]<<12&65535)<<16>>16>>15<<16>>16;g=c[(c[o>>2]|0)+216>>2]|0;f=c[(c[o>>2]|0)+232>>2]|0;e=c[(c[o>>2]|0)+248>>2]|0;a=c[(c[o>>2]|0)+212>>2]|0;if(((zO(wO(c[n>>2]|0,c[13870]|0,174991)|0)|0)&255|0)!=0?(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0)d=c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0;else d=0;$I(l,k,11,h,g,f,e,a,d);$I(c[m>>2]|0,c[(c[(c[n>>2]|0)+8>>2]|0)+100>>2]|0,7,(b[(c[o>>2]|0)+260>>1]<<13&65535)<<16>>16>>15<<16>>16,c[(c[o>>2]|0)+224>>2]|0,c[(c[o>>2]|0)+240>>2]|0,c[(c[o>>2]|0)+256>>2]|0,c[(c[o>>2]|0)+212>>2]|0,0);$I(c[m>>2]|0,c[(c[(c[n>>2]|0)+8>>2]|0)+104>>2]|0,6,(b[(c[o>>2]|0)+260>>1]<<14&65535)<<16>>16>>15<<16>>16,c[(c[o>>2]|0)+220>>2]|0,c[(c[o>>2]|0)+236>>2]|0,c[(c[o>>2]|0)+252>>2]|0,c[(c[o>>2]|0)+212>>2]|0,0);xR(c[m>>2]|0);MH(c[m>>2]|0);i=p;return}function _I(e,f,g,h,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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;A=i;i=i+64|0;if((i|0)>=(j|0))ba();w=A;o=A+44|0;B=A+51|0;p=A+40|0;q=A+50|0;r=A+36|0;s=A+49|0;t=A+32|0;v=A+28|0;z=A+24|0;y=A+20|0;x=A+16|0;u=A+48|0;c[o>>2]=e;a[B>>0]=g;c[p>>2]=h;a[q>>0]=k;c[r>>2]=l;a[s>>0]=m;c[t>>2]=n;c[v>>2]=c[(c[o>>2]|0)+16>>2];if(a[B>>0]|0)c[z>>2]=c[p>>2];else c[z>>2]=c[(c[v>>2]|0)+208>>2];do if(!(a[q>>0]|0))if((b[(c[v>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16){c[y>>2]=c[(c[v>>2]|0)+228>>2];a[u>>0]=1;break}else{a[u>>0]=0;c[y>>2]=c[r>>2];break}else{c[y>>2]=c[r>>2];a[u>>0]=1}while(0);do if(!(a[s>>0]|0))if((b[(c[v>>2]|0)+260>>1]<<9&65535)<<16>>16>>15<<16>>16){c[x>>2]=c[(c[v>>2]|0)+244>>2];break}else{c[x>>2]=c[t>>2];break}else c[x>>2]=c[t>>2];while(0);if((c[z>>2]|0)==0?(d[u>>0]|0)==0:0){i=A;return}B=c[o>>2]|0;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];dJ(B,w);i=A;return}function $I(b,d,e,f,g,h,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;B=i;i=i+64|0;if((i|0)>=(j|0))ba();A=B;n=B+56|0;o=B+52|0;p=B+48|0;q=B+44|0;r=B+40|0;s=B+36|0;t=B+32|0;u=B+28|0;v=B+24|0;w=B+20|0;y=B+16|0;x=B+12|0;z=B+8|0;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=c[(c[n>>2]|0)+152>>2];if(!(c[o>>2]|0)){i=B;return}if(!(a[(c[o>>2]|0)+81>>0]|0)){i=B;return}if(c[u>>2]|0){c[x>>2]=qK((e4(c[u>>2]|0)|0)+11|0)|0;switch(c[p>>2]|0){case 11:{c[z>>2]=147736;break}case 7:{c[z>>2]=139455;break}case 6:{c[z>>2]=139465;break}default:db(176179,137658,2645,138640)}g=c[x>>2]|0;z=c[z>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=z;D3(g,138656,A)|0}else c[x>>2]=0;c[y>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2];c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=c[p>>2];if((c[r>>2]|0)!=0|(c[q>>2]|0)!=0?(c[w>>2]&4|0)==0:0){aJ(c[n>>2]|0,c[o>>2]|0);yR(c[n>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[x>>2]|0)}iK(c[n>>2]|0,c[p>>2]|0,c[o>>2]|0);if(c[v>>2]|0)bJ(c[n>>2]|0,c[o>>2]|0,c[v>>2]|0);if((c[r>>2]|0)!=0|(c[q>>2]|0)!=0){if(c[w>>2]&4){aJ(c[n>>2]|0,c[o>>2]|0);yR(c[n>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[x>>2]|0)}zR(c[n>>2]|0)}if(c[x>>2]|0)B1(c[x>>2]|0);c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=c[y>>2];i=B;return}function aJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+16|0;e=l+12|0;g=l+8|0;f=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[d>>2]|0)+16>>2];c[f>>2]=c[(c[d>>2]|0)+152>>2];if(!(c[f>>2]&4259840)){i=l;return}a=(c[g>>2]|0)+264|0;if(c[f>>2]&131072){c[a>>2]=0;c[(c[g>>2]|0)+268>>2]=2}else{c[a>>2]=2;c[(c[g>>2]|0)+268>>2]=4}B1(c[(c[g>>2]|0)+272>>2]|0);b=qK(c[(c[g>>2]|0)+268>>2]<<4)|0;c[k>>2]=b;c[(c[g>>2]|0)+272>>2]=b;h[c[k>>2]>>3]=+h[(c[e>>2]|0)+56>>3]-+h[(c[e>>2]|0)+24>>3]/2.0;h[(c[k>>2]|0)+8>>3]=+h[(c[e>>2]|0)+56+8>>3]-+h[(c[e>>2]|0)+24+8>>3]/2.0;h[(c[k>>2]|0)+16>>3]=+h[(c[e>>2]|0)+56>>3]+ +h[(c[e>>2]|0)+24>>3]/2.0;h[(c[k>>2]|0)+16+8>>3]=+h[(c[e>>2]|0)+56+8>>3]+ +h[(c[e>>2]|0)+24+8>>3]/2.0;if(!(c[f>>2]&8192))hR(c[d>>2]|0,c[k>>2]|0,c[k>>2]|0,2)|0;if(c[f>>2]&131072){i=l;return}SJ(c[k>>2]|0);i=l;return}function bJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+144|0;if((i|0)>=(j|0))ba();g=t+112|0;k=t+140|0;l=t+136|0;m=t+132|0;s=t+96|0;q=t+48|0;r=t+128|0;n=t+32|0;o=t+16|0;p=t;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[r>>2]=c[c[l>>2]>>2];while(1){if(!(a[c[r>>2]>>0]|0))break;if(!(K1(d[c[r>>2]>>0]|0)|0))break;c[r>>2]=(c[r>>2]|0)+1}if(!(d[c[r>>2]>>0]|0)){i=t;return}f=(c[l>>2]|0)+24|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];cJ(n,+h[(c[l>>2]|0)+56>>3]+ +h[s>>3]/2.0,+h[(c[l>>2]|0)+56+8>>3]-+h[s+8>>3]/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];f=q+16|0;cJ(o,+h[q>>3]-+h[s>>3],+h[q+8>>3]);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];s=q+32|0;f=c[m>>2]|0;r=(c[l>>2]|0)+56|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];KO(p,f,g);c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];GR(c[k>>2]|0,c[(c[c[k>>2]>>2]|0)+336>>2]|0);DR(c[k>>2]|0,c[(c[l>>2]|0)+8>>2]|0);LR(c[k>>2]|0,q,3);i=t;return}function cJ(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();k=e+24|0;g=e+16|0;f=e;h[k>>3]=b;h[g>>3]=d;h[f>>3]=+h[k>>3];h[f+8>>3]=+h[g>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function dJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();d=k+12|0;f=k+8|0;e=k+4|0;g=k;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];c[e>>2]=c[(c[d>>2]|0)+152>>2];if(!(c[e>>2]&4259840)){i=k;return}a=(c[f>>2]|0)+264|0;if(c[e>>2]&131072){c[a>>2]=0;c[(c[f>>2]|0)+268>>2]=2}else{c[a>>2]=2;c[(c[f>>2]|0)+268>>2]=4}B1(c[(c[f>>2]|0)+272>>2]|0);a=qK(c[(c[f>>2]|0)+268>>2]<<4)|0;c[g>>2]=a;c[(c[f>>2]|0)+272>>2]=a;h[c[g>>2]>>3]=+h[b>>3]-3.0;h[(c[g>>2]|0)+8>>3]=+h[b+8>>3]-3.0;h[(c[g>>2]|0)+16>>3]=+h[b>>3]+3.0;h[(c[g>>2]|0)+16+8>>3]=+h[b+8>>3]+3.0;if(!(c[e>>2]&8192))hR(c[d>>2]|0,c[g>>2]|0,c[g>>2]|0,2)|0;if(c[e>>2]&131072){i=k;return}SJ(c[g>>2]|0);i=k;return}function eJ(a,b,d,e,f,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;k=+k;l=+l;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;I=i;i=i+320|0;if((i|0)>=(j|0))ba();p=I+248|0;q=I+232|0;o=I+216|0;r=I+312|0;s=I+308|0;t=I+304|0;u=I+300|0;K=I+296|0;J=I+292|0;v=I+208|0;w=I+200|0;x=I+152|0;y=I+104|0;z=I+56|0;A=I+8|0;D=I+288|0;n=I+284|0;G=I+280|0;F=I+276|0;B=I+272|0;E=I;C=I+268|0;m=I+264|0;c[s>>2]=a;c[t>>2]=b;c[u>>2]=d;c[K>>2]=e;c[J>>2]=f;h[v>>3]=k;h[w>>3]=l;c[n>>2]=aI(c[K>>2]|0,c[J>>2]|0,G)|0;if((c[n>>2]|0)>1){d=c[t>>2]|0;c[m>>2]=GC(c[((c[c[t>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)|0;d=c[t>>2]|0;d=MB(c[((c[c[t>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)|0;J=(DB(c[m>>2]|0)|0)!=0;K=c[t>>2]|0;K=MB(c[((c[c[t>>2]>>2]&3|0)==2?K:K+-32|0)+28>>2]|0)|0;c[o>>2]=d;c[o+4>>2]=J?138675:138680;c[o+8>>2]=K;pA(3,138685,o)|0;if((c[n>>2]|0)==2){c[r>>2]=1;K=c[r>>2]|0;i=I;return K|0}}else if((c[n>>2]|0)==1){c[r>>2]=1;K=c[r>>2]|0;i=I;return K|0}c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[(c[(c[(c[t>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break;h[E>>3]=1.0;m=x;b=(c[c[(c[(c[t>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[D>>2]|0)*48|0)|0;e=m+48|0;do{c[m>>2]=c[b>>2];m=m+4|0;b=b+4|0}while((m|0)<(e|0));c[C>>2]=1;c[F>>2]=c[(c[G>>2]|0)+8>>2];a:while(1){if(!(c[c[F>>2]>>2]|0))break;if(!(+g[(c[F>>2]|0)+4>>2]<1.0e-05?+g[(c[F>>2]|0)+4>>2]>-1.0e-05:0))H=12;do if((H|0)==12){H=0;DR(c[s>>2]|0,c[c[F>>2]>>2]|0);h[E>>3]=+h[E>>3]-+g[(c[F>>2]|0)+4>>2];c[B>>2]=c[c[F>>2]>>2];if(c[C>>2]|0){c[C>>2]=0;oJ(x,+g[(c[F>>2]|0)+4>>2],z,A);KR(c[s>>2]|0,c[z>>2]|0,c[z+4>>2]|0,0,0,0);B1(c[z>>2]|0);if(+h[E>>3]<1.0e-05&+h[E>>3]>-1.0e-05){H=14;break a}else break}if(+h[E>>3]<1.0e-05&+h[E>>3]>-1.0e-05){H=16;break a}m=y;b=A;e=m+48|0;do{c[m>>2]=c[b>>2];m=m+4|0;b=b+4|0}while((m|0)<(e|0));oJ(y,+g[(c[F>>2]|0)+4>>2]/(+h[E>>3]+ +g[(c[F>>2]|0)+4>>2]),z,A);B1(c[y>>2]|0);KR(c[s>>2]|0,c[z>>2]|0,c[z+4>>2]|0,0,0,0);B1(c[z>>2]|0)}while(0);c[F>>2]=(c[F>>2]|0)+12}if((H|0)==14){H=0;B1(c[A>>2]|0)}else if((H|0)==16){H=0;KR(c[s>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0,0,0);B1(c[A>>2]|0)}if(c[x+8>>2]|0){DR(c[s>>2]|0,c[c[(c[G>>2]|0)+8>>2]>>2]|0);ER(c[s>>2]|0,c[c[(c[G>>2]|0)+8>>2]>>2]|0);J=c[s>>2]|0;d=x+16|0;o=c[x>>2]|0;k=+h[v>>3];l=+h[w>>3];K=c[x+8>>2]|0;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[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];wH(J,2,q,p,k,l,K)}if(c[x+12>>2]|0){DR(c[s>>2]|0,c[B>>2]|0);ER(c[s>>2]|0,c[B>>2]|0);J=c[s>>2]|0;d=x+32|0;o=(c[x>>2]|0)+((c[x+4>>2]|0)-1<<4)|0;k=+h[v>>3];l=+h[w>>3];K=c[x+12>>2]|0;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[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];wH(J,3,q,p,k,l,K)}do if((c[(c[(c[(c[t>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(c[x+8>>2]|0){if(!(c[u>>2]|0))break}else if(!((c[x+12>>2]|0)!=0&(c[u>>2]|0)!=0))break;GR(c[s>>2]|0,c[u>>2]|0)}while(0);c[D>>2]=(c[D>>2]|0)+1}B1(c[G>>2]|0);c[r>>2]=0;K=c[r>>2]|0;i=I;return K|0}function fJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();l=k+16|0;g=k+12|0;f=k+8|0;e=k+4|0;h=k;c[l>>2]=b;c[g>>2]=d;c[h>>2]=1;c[f>>2]=c[l>>2];while(1){if(!(a[c[f>>2]>>0]|0))break;if((a[c[f>>2]>>0]|0)==58)c[h>>2]=(c[h>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}l=c[h>>2]|0;c[e>>2]=_(l,(e4(c[g>>2]|0)|0)+1|0)|0;if((c[13786]|0)<(c[e>>2]|0)){c[13786]=(c[e>>2]|0)+10;c[13787]=D1(c[13787]|0,c[13786]|0)|0}b4(c[13787]|0,c[g>>2]|0)|0;while(1){l=(c[h>>2]|0)+-1|0;c[h>>2]=l;d=c[13787]|0;if(!l)break;Z3(d,148978)|0;Z3(c[13787]|0,c[g>>2]|0)|0}i=k;return d|0}function gJ(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if((c[13868]|0)!=0?(b=PA(c[e>>2]|0,c[13868]|0)|0,c[f>>2]=b,(a[b>>0]|0)!=0):0){if((a[c[f>>2]>>0]|0)==(a[138662]|0)?(a4(c[f>>2]|0,138662)|0)==0:0){c[d>>2]=1;b=c[d>>2]|0;i=g;return b|0}if((a[c[f>>2]>>0]|0)==(a[138670]|0)?(a4(c[f>>2]|0,138670)|0)==0:0){c[d>>2]=2;b=c[d>>2]|0;i=g;return b|0}if((a[c[f>>2]>>0]|0)==(a[148863]|0)?(a4(c[f>>2]|0,148863)|0)==0:0){c[d>>2]=3;b=c[d>>2]|0;i=g;return b|0}if((a[c[f>>2]>>0]|0)==(a[173392]|0)?(a4(c[f>>2]|0,173392)|0)==0:0){c[d>>2]=4;b=c[d>>2]|0;i=g;return b|0}}b=c[e>>2]|0;b=(DB(GC(c[((c[c[e>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)|0)|0)!=0;c[d>>2]=b?1:4;b=c[d>>2]|0;i=g;return b|0}function hJ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}B1(c[(c[b>>2]|0)+8>>2]|0);B1(c[b>>2]|0);i=d;return}function iJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,k=0,l=0,m=0;f=i;i=i+48|0;if((i|0)>=(j|0))ba();k=f+32|0;g=f+16|0;l=f+8|0;m=f;h[k>>3]=e;h[l>>3]=+h[b>>3]-+h[d>>3];h[m>>3]=+h[b+8>>3]-+h[d+8>>3];e=+O(+(+h[l>>3]*+h[l>>3]+ +h[m>>3]*+h[m>>3]+.0001));h[k>>3]=+h[k>>3]/e;h[g>>3]=+h[m>>3]*+h[k>>3];h[g+8>>3]=-+h[l>>3]*+h[k>>3];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];i=f;return}function jJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();k=p+40|0;m=p+24|0;l=p+16|0;n=p+8|0;o=p;h[k>>3]=g;h[n>>3]=+h[d>>3]-+h[e>>3];h[o>>3]=+h[d+8>>3]-+h[e+8>>3];h[l>>3]=+O(+(+h[n>>3]*+h[n>>3]+ +h[o>>3]*+h[o>>3]));if(+h[l>>3]<.0001){h[n>>3]=+h[b>>3]-+h[f>>3];h[o>>3]=+h[b+8>>3]-+h[f+8>>3];h[l>>3]=+O(+(+h[n>>3]*+h[n>>3]+ +h[o>>3]*+h[o>>3]+.0001))}h[k>>3]=+h[k>>3]/+h[l>>3];h[m>>3]=+h[o>>3]*+h[k>>3];h[m+8>>3]=-+h[n>>3]*+h[k>>3];c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];i=p;return}function kJ(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();g=d+16|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=b;h[e>>3]=c;i=d;return +((1.0-+h[g>>3]/+h[f>>3])*+h[e>>3]/2.0)}function lJ(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();g=d+16|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=b;h[e>>3]=c;i=d;return +(+h[g>>3]/+h[f>>3]*+h[e>>3]/2.0)}function mJ(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0,f=0,g=0,k=0,l=0;f=i;i=i+48|0;if((i|0)>=(j|0))ba();d=f+32|0;l=f+24|0;k=f+16|0;e=f+8|0;g=f;h[l>>3]=a;h[k>>3]=b;h[e>>3]=c;h[g>>3]=+h[l>>3]/+h[k>>3];a=+h[g>>3];if(+h[g>>3]<=.5){h[d>>3]=a*+h[e>>3];b=+h[d>>3];i=f;return +b}else{h[d>>3]=(1.0-a)*+h[e>>3];b=+h[d>>3];i=f;return +b}return 0.0}function nJ(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();e=d;h[d+16>>3]=a;h[d+8>>3]=b;h[e>>3]=c;i=d;return +(+h[e>>3]/2.0)}function oJ(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=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=i;i=i+112|0;if((i|0)>=(j|0))ba();m=y+96|0;f=y+92|0;n=y+88|0;o=y+84|0;q=y+80|0;r=y+76|0;s=y+72|0;k=y+68|0;v=y+64|0;t=y+48|0;u=y+40|0;x=y+32|0;l=y+60|0;w=y+56|0;p=y;c[m>>2]=a;g[f>>2]=b;c[n>>2]=d;c[o>>2]=e;c[k>>2]=((c[(c[m>>2]|0)+4>>2]|0)-1|0)/3|0;if((c[k>>2]|0)==1){c[(c[n>>2]|0)+4>>2]=4;x=qK(64)|0;c[c[n>>2]>>2]=x;c[(c[o>>2]|0)+4>>2]=4;x=qK(64)|0;c[c[o>>2]>>2]=x;FO(y+16|0,c[c[m>>2]>>2]|0,3,+g[f>>2],c[c[n>>2]>>2]|0,c[c[o>>2]>>2]|0);i=y;return}c[v>>2]=qK(c[k>>2]<<3)|0;h[x>>3]=0.0;c[l>>2]=c[c[m>>2]>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[k>>2]|0))break;b=+pJ(c[l>>2]|0);h[(c[v>>2]|0)+(c[q>>2]<<3)>>3]=b;h[x>>3]=+h[x>>3]+ +h[(c[v>>2]|0)+(c[q>>2]<<3)>>3];c[l>>2]=(c[l>>2]|0)+48;c[q>>2]=(c[q>>2]|0)+1}h[u>>3]=+g[f>>2]*+h[x>>3];h[x>>3]=0.0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[k>>2]|0))break;h[x>>3]=+h[x>>3]+ +h[(c[v>>2]|0)+(c[q>>2]<<3)>>3];if(+h[x>>3]>=+h[u>>3])break;c[q>>2]=(c[q>>2]|0)+1}c[(c[n>>2]|0)+4>>2]=(((c[q>>2]|0)+1|0)*3|0)+1;e=qK(c[(c[n>>2]|0)+4>>2]<<4)|0;c[c[n>>2]>>2]=e;c[(c[o>>2]|0)+4>>2]=(((c[k>>2]|0)-(c[q>>2]|0)|0)*3|0)+1;e=qK(c[(c[o>>2]|0)+4>>2]<<4)|0;c[c[o>>2]>>2]=e;c[r>>2]=0;while(1){f=c[r>>2]|0;if((c[r>>2]|0)>=(c[(c[n>>2]|0)+4>>2]|0))break;e=(c[c[n>>2]>>2]|0)+(f<<4)|0;l=(c[c[m>>2]>>2]|0)+(c[r>>2]<<4)|0;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];c[r>>2]=(c[r>>2]|0)+1}c[s>>2]=f-4;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0))break;e=(c[c[o>>2]>>2]|0)+(c[r>>2]<<4)|0;l=c[s>>2]|0;c[s>>2]=l+1;l=(c[c[m>>2]>>2]|0)+(l<<4)|0;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];c[r>>2]=(c[r>>2]|0)+1}h[t>>3]=+h[(c[v>>2]|0)+(c[q>>2]<<3)>>3];g[w>>2]=(+h[u>>3]-(+h[x>>3]-+h[t>>3]))/+h[t>>3];FO(p,(c[c[m>>2]>>2]|0)+((c[q>>2]|0)*3<<4)|0,3,+g[w>>2],(c[c[n>>2]>>2]|0)+((c[q>>2]|0)*3<<4)|0,c[c[o>>2]>>2]|0);B1(c[v>>2]|0);i=y;return}function pJ(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();f=b+8|0;d=b;c[f>>2]=a;h[d>>3]=+O(+((+h[c[f>>2]>>3]-+h[(c[f>>2]|0)+16>>3])*(+h[c[f>>2]>>3]-+h[(c[f>>2]|0)+16>>3])+(+h[(c[f>>2]|0)+8>>3]-+h[(c[f>>2]|0)+16+8>>3])*(+h[(c[f>>2]|0)+8>>3]-+h[(c[f>>2]|0)+16+8>>3])));e=+O(+((+h[(c[f>>2]|0)+16>>3]-+h[(c[f>>2]|0)+32>>3])*(+h[(c[f>>2]|0)+16>>3]-+h[(c[f>>2]|0)+32>>3])+(+h[(c[f>>2]|0)+16+8>>3]-+h[(c[f>>2]|0)+32+8>>3])*(+h[(c[f>>2]|0)+16+8>>3]-+h[(c[f>>2]|0)+32+8>>3])));h[d>>3]=+h[d>>3]+e;e=+O(+((+h[(c[f>>2]|0)+32>>3]-+h[(c[f>>2]|0)+48>>3])*(+h[(c[f>>2]|0)+32>>3]-+h[(c[f>>2]|0)+48>>3])+(+h[(c[f>>2]|0)+32+8>>3]-+h[(c[f>>2]|0)+48+8>>3])*(+h[(c[f>>2]|0)+32+8>>3]-+h[(c[f>>2]|0)+48+8>>3])));h[d>>3]=+h[d>>3]+e;i=b;return +(+h[d>>3])}function qJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=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=i;i=i+1728|0;if((i|0)>=(j|0))ba();g=z+1716|0;k=z+1712|0;l=z+1708|0;m=z+1704|0;n=z+1664|0;v=z+1700|0;x=z+1696|0;y=z+1692|0;w=z+1688|0;r=z+1684|0;p=z+1680|0;q=z+1676|0;o=z+1672|0;u=z+1600|0;s=z+800|0;t=z;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;h[n>>3]=f;c[v>>2]=rK(24)|0;c[x>>2]=c[v>>2];c[(c[v>>2]|0)+16>>2]=1;c[r>>2]=((c[(c[m>>2]|0)+4>>2]|0)-1|0)/3|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[q>>2]=0;while(1){if((c[q>>2]|0)>=4)break;d=u+(c[q>>2]<<4)|0;b=(c[c[m>>2]>>2]|0)+(((c[p>>2]|0)*3|0)+(c[q>>2]|0)<<4)|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[q>>2]=(c[q>>2]|0)+1}c[x>>2]=rJ(u,c[x>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}c[x>>2]=c[v>>2];c[y>>2]=0;c[o>>2]=0;while(1){if(!(c[x>>2]|0))break;c[w>>2]=c[(c[x>>2]|0)+16>>2];sJ(c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,s+(c[o>>2]<<4)|0,t+(c[o>>2]<<4)|0,+h[n>>3]);c[o>>2]=(c[o>>2]|0)+1;if((c[w>>2]|0)==0|(c[o>>2]|0)==50){tJ(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0,c[o>>2]|0,s,t);u=s+((c[o>>2]|0)-1<<4)|0;c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];u=t+((c[o>>2]|0)-1<<4)|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];c[o>>2]=1}c[y>>2]=c[x>>2];c[x>>2]=c[w>>2]}while(1){if(!(c[v>>2]|0))break;c[x>>2]=c[(c[v>>2]|0)+16>>2];B1(c[v>>2]|0);c[v>>2]=c[x>>2]}i=z;return}function rJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+176|0;if((i|0)>=(j|0))ba();d=k+144|0;e=k+164|0;f=k+160|0;g=k+80|0;h=k+16|0;c[e>>2]=a;c[f>>2]=b;if(!(cI(c[e>>2]|0)|0)){FO(k,c[e>>2]|0,3,.5,g,h);c[f>>2]=rJ(g,c[f>>2]|0)|0;c[f>>2]=rJ(h,c[f>>2]|0)|0;h=c[f>>2]|0;i=k;return h|0}if((c[(c[f>>2]|0)+16>>2]|0)==1){c[(c[f>>2]|0)+16>>2]=0;h=c[f>>2]|0;b=c[e>>2]|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]}b=(c[e>>2]|0)+48|0;h=c[f>>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[f>>2]=vJ(d,h)|0;h=c[f>>2]|0;i=k;return h|0}function sJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;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,w=0,x=0,y=0,z=0,A=0;z=i;i=i+176|0;if((i|0)>=(j|0))ba();u=z+128|0;q=z+112|0;x=z+96|0;k=z+160|0;A=z+156|0;l=z+152|0;m=z+148|0;n=z+144|0;o=z+88|0;p=z+72|0;w=z+56|0;t=z+40|0;y=z+32|0;r=z+24|0;s=z+16|0;v=z;c[k>>2]=a;c[A>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;h[o>>3]=g;a=c[A>>2]|0;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];do if(c[k>>2]|0){A=c[k>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=c[A+4>>2];c[w+8>>2]=c[A+8>>2];c[w+12>>2]=c[A+12>>2];if(c[l>>2]|0){A=c[l>>2]|0;c[t>>2]=c[A>>2];c[t+4>>2]=c[A+4>>2];c[t+8>>2]=c[A+8>>2];c[t+12>>2]=c[A+12>>2];break}else{h[t>>3]=+h[p>>3]*2.0-+h[w>>3];h[t+8>>3]=+h[p+8>>3]*2.0-+h[w+8>>3];break}}else{A=c[l>>2]|0;c[t>>2]=c[A>>2];c[t+4>>2]=c[A+4>>2];c[t+8>>2]=c[A+8>>2];c[t+12>>2]=c[A+12>>2];h[w>>3]=+h[p>>3]*2.0-+h[t>>3];h[w+8>>3]=+h[p+8>>3]*2.0-+h[t+8>>3]}while(0);c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];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];c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];h[y>>3]=+uJ(x,q,u);h[r>>3]=+h[o>>3]*+Q(+(+h[y>>3]));h[s>>3]=+h[o>>3]*+R(+(+h[y>>3]));h[v>>3]=+h[p>>3]+ +h[r>>3];h[v+8>>3]=+h[p+8>>3]+ +h[s>>3];A=c[m>>2]|0;c[A>>2]=c[v>>2];c[A+4>>2]=c[v+4>>2];c[A+8>>2]=c[v+8>>2];c[A+12>>2]=c[v+12>>2];h[v>>3]=+h[p>>3]-+h[r>>3];h[v+8>>3]=+h[p+8>>3]-+h[s>>3];A=c[n>>2]|0;c[A>>2]=c[v>>2];c[A+4>>2]=c[v+4>>2];c[A+8>>2]=c[v+8>>2];c[A+12>>2]=c[v+12>>2];i=z;return}function tJ(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();h=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;q=s;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=0;c[r>>2]=0;c[q>>2]=(c[m>>2]<<1)-1;while(1){if((c[p>>2]|0)>=(c[c[l>>2]>>2]|0))break;c[r>>2]=(c[r>>2]|0)+(c[(c[c[k>>2]>>2]|0)+(c[p>>2]<<2)>>2]|0);c[p>>2]=(c[p>>2]|0)+1}d=c[l>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=tK(c[c[k>>2]>>2]|0,c[c[l>>2]>>2]<<2)|0;c[c[k>>2]>>2]=d;c[(c[c[k>>2]>>2]|0)+(c[p>>2]<<2)>>2]=c[m>>2]<<1;d=tK(c[c[h>>2]>>2]|0,(c[r>>2]|0)+(c[m>>2]<<1)<<4)|0;c[c[h>>2]>>2]=d;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;d=(c[c[h>>2]>>2]|0)+((c[r>>2]|0)+(c[p>>2]|0)<<4)|0;a=(c[n>>2]|0)+(c[p>>2]<<4)|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];d=(c[c[h>>2]>>2]|0)+((c[r>>2]|0)+(c[q>>2]|0)-(c[p>>2]|0)<<4)|0;a=(c[o>>2]|0)+(c[p>>2]<<4)|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[p>>2]=(c[p>>2]|0)+1}i=s;return}function uJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,k=0.0,l=0.0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();d=f+16|0;g=f+8|0;e=f;h[g>>3]=+W(+(+h[c+8>>3]-+h[b+8>>3]),+(+h[c>>3]-+h[b>>3]));h[e>>3]=+W(+(+h[a+8>>3]-+h[b+8>>3]),+(+h[a>>3]-+h[b>>3]));h[d>>3]=+h[g>>3]-+h[e>>3];if(!(+h[d>>3]>0.0)){l=+h[e>>3];k=+h[d>>3];k=k/2.0;k=l+k;i=f;return +k}h[d>>3]=+h[d>>3]-6.283185307179586;k=+h[e>>3];l=+h[d>>3];l=l/2.0;l=k+l;i=f;return +l}function vJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=b;c[e>>2]=rK(24)|0;c[(c[e>>2]|0)+16>>2]=0;b=c[e>>2]|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[(c[f>>2]|0)+16>>2]=c[e>>2];i=d;return c[e>>2]|0}function wJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=NI(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+160>>2]|0,c[(c[f>>2]|0)+156>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function xJ(a,b){a=a|0;b=b|0;if(!(+h[a+16>>3]>=+h[b>>3])){b=0;b=b&1;return b|0}if(!(+h[b+16>>3]>=+h[a>>3])){b=0;b=b&1;return b|0}if(!(+h[a+16+8>>3]>=+h[b+8>>3])){b=0;b=b&1;return b|0}b=+h[b+16+8>>3]>=+h[a+8>>3];b=b&1;return b|0}function yJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();n=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;m=o+8|0;l=o+4|0;k=o;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if((c[(c[f>>2]|0)+156>>2]|0)<=1){a[n>>0]=1;n=a[n>>0]|0;i=o;return n|0}c[m>>2]=wO(c[h>>2]|0,c[13844]|0,178598)|0;if((wJ(c[f>>2]|0,c[m>>2]|0)|0)<<24>>24){a[n>>0]=1;n=a[n>>0]|0;i=o;return n|0}if(a[c[m>>2]>>0]|0){a[n>>0]=0;n=a[n>>0]|0;i=o;return n|0}m=hB(c[g>>2]|0,c[h>>2]|0)|0;c[k>>2]=m;if(!m){a[n>>0]=1;n=a[n>>0]|0;i=o;return n|0}c[k>>2]=hB(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[k>>2]|0)){f=15;break}c[l>>2]=wO(c[k>>2]|0,c[13874]|0,178598)|0;if(!(a[c[l>>2]>>0]|0)){f=13;break}if((wJ(c[f>>2]|0,c[l>>2]|0)|0)&255){f=13;break}c[k>>2]=iB(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0)|0}if((f|0)==13){a[n>>0]=1;n=a[n>>0]|0;i=o;return n|0}else if((f|0)==15){a[n>>0]=0;n=a[n>>0]|0;i=o;return n|0}return 0}function zJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+80|0;if((i|0)>=(j|0))ba();e=d+32|0;f=d;g=d+64|0;c[g>>2]=a;a=(c[(c[g>>2]|0)+8>>2]|0)+48|0;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];c[f+16>>2]=c[a+16>>2];c[f+20>>2]=c[a+20>>2];c[f+24>>2]=c[a+24>>2];c[f+28>>2]=c[a+28>>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[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];a=(xJ(f,e)|0)&255;i=d;return a|0}function AJ(a,d){a=a|0;d=d|0;var f=0,g=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.0;C=i;i=i+96|0;if((i|0)>=(j|0))ba();q=C+84|0;r=C+80|0;w=C+76|0;t=C+72|0;p=C+68|0;y=C+64|0;u=C+60|0;k=C+56|0;g=C+52|0;m=C+48|0;o=C+44|0;v=C+40|0;z=C+36|0;A=C+32|0;x=C+28|0;s=C;n=C+24|0;l=C+20|0;f=C+16|0;c[q>>2]=a;c[r>>2]=d;c[t>>2]=c[(c[q>>2]|0)+152>>2];c[g>>2]=0;c[m>>2]=0;c[v>>2]=0;c[z>>2]=0;c[x>>2]=0;c[w>>2]=LH(c[q>>2]|0)|0;c[(c[w>>2]|0)+4>>2]=2;c[(c[w>>2]|0)+8>>2]=c[r>>2];c[(c[w>>2]|0)+12>>2]=8;do if(c[t>>2]&16777216)if((e[(c[(GC(c[r>>2]|0)|0)+8>>2]|0)+178>>1]|0|0)>=3){D=+h[(c[(c[(c[r>>2]|0)+8>>2]|0)+132>>2]|0)+16>>3]*72.0;h[(c[w>>2]|0)+168>>3]=+(~~(+h[(c[(c[(c[r>>2]|0)+8>>2]|0)+132>>2]|0)+16>>3]*72.0>=0.0?D+.5:D-.5)|0);break}else{h[(c[w>>2]|0)+168>>3]=0.0;break}while(0);CJ(c[q>>2]|0,c[(c[(c[r>>2]|0)+8>>2]|0)+104>>2]|0,c[r>>2]|0);if(!(c[t>>2]&4259840)){A=c[r>>2]|0;A=OA(A,137692)|0;sT(A);A=c[q>>2]|0;B=c[r>>2]|0;uR(A,B);i=C;return}if((c[(c[w>>2]|0)+208>>2]|0)==0?((b[(c[w>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)==0:0){A=c[r>>2]|0;A=OA(A,137692)|0;sT(A);A=c[q>>2]|0;B=c[r>>2]|0;uR(A,B);i=C;return}c[o>>2]=sM(c[r>>2]|0)|0;d=(c[(c[r>>2]|0)+8>>2]|0)+16|0;c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];c[g>>2]=DJ(c[r>>2]|0)|0;if(((c[o>>2]|0)==1|(c[o>>2]|0)==3?(c[z>>2]=c[(c[(c[r>>2]|0)+8>>2]|0)+12>>2],((EJ(c[z>>2]|0)|0)&255|0)!=0):0)?((c[g>>2]|0)!=0?1:(c[(c[z>>2]|0)+4>>2]|0)!=0):0)c[m>>2]=1;a:do if(!((c[z>>2]|0)==0|(c[m>>2]|0)!=0)?(c[t>>2]&524288|0)!=0:0){if((c[(c[z>>2]|0)+8>>2]|0)<3)c[p>>2]=1;else c[p>>2]=c[(c[z>>2]|0)+8>>2];if((c[(c[z>>2]|0)+4>>2]|0)<2)c[y>>2]=1;else c[y>>2]=c[(c[z>>2]|0)+4>>2];c[A>>2]=c[(c[z>>2]|0)+44>>2];o=OA(c[r>>2]|0,140413)|0;c[n>>2]=o;if(o)c[v>>2]=N3(c[n>>2]|0)|0;if((c[v>>2]|0)<4|(c[v>>2]|0)>60)c[v>>2]=20;if(!((c[g>>2]|0)!=0?1:(c[(c[z>>2]|0)+4>>2]|0)!=0)){c[(c[w>>2]|0)+264>>2]=0;c[v>>2]=2;c[x>>2]=qK(c[v>>2]<<4)|0;h[c[x>>2]>>3]=+h[s>>3]-+h[(c[(c[r>>2]|0)+8>>2]|0)+88>>3];h[(c[x>>2]|0)+8>>3]=+h[s+8>>3]-+h[(c[(c[r>>2]|0)+8>>2]|0)+80>>3]/2.0;h[(c[x>>2]|0)+16>>3]=+h[s>>3]+ +h[(c[(c[r>>2]|0)+8>>2]|0)+88>>3];h[(c[x>>2]|0)+16+8>>3]=+h[s+8>>3]+ +h[(c[(c[r>>2]|0)+8>>2]|0)+80>>3]/2.0;break}if(((c[(c[z>>2]|0)+8>>2]|0)<3?+h[(c[z>>2]|0)+32>>3]==0.0:0)?+h[(c[z>>2]|0)+24>>3]==0.0:0){f=(c[w>>2]|0)+264|0;if(c[c[z>>2]>>2]|0){c[f>>2]=1;c[v>>2]=2;c[x>>2]=qK(c[v>>2]<<4)|0;h[c[x>>2]>>3]=+h[s>>3];h[(c[x>>2]|0)+8>>3]=+h[s+8>>3];h[(c[x>>2]|0)+16>>3]=+h[s>>3]+ +h[(c[A>>2]|0)+((c[y>>2]<<1)-1<<4)>>3];h[(c[x>>2]|0)+16+8>>3]=+h[s+8>>3]+ +h[(c[A>>2]|0)+((c[y>>2]<<1)-1<<4)+8>>3];break}c[f>>2]=2;c[x>>2]=FJ(+h[(c[A>>2]|0)+((c[y>>2]<<1)-1<<4)>>3],+h[(c[A>>2]|0)+((c[y>>2]<<1)-1<<4)+8>>3],c[v>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break a;A=(c[x>>2]|0)+(c[u>>2]<<4)|0;h[A>>3]=+h[A>>3]+ +h[s>>3];A=(c[x>>2]|0)+(c[u>>2]<<4)+8|0;h[A>>3]=+h[A>>3]+ +h[s+8>>3];c[u>>2]=(c[u>>2]|0)+1}}c[l>>2]=_((c[y>>2]|0)-1|0,c[(c[z>>2]|0)+8>>2]|0)|0;c[(c[w>>2]|0)+264>>2]=2;if((c[(c[z>>2]|0)+8>>2]|0)>=(c[v>>2]|0)){c[f>>2]=(c[(c[z>>2]|0)+8>>2]|0)/(c[v>>2]|0)|0;c[x>>2]=qK(c[v>>2]<<4)|0;c[u>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[v>>2]|0))break a;h[(c[x>>2]|0)+(c[k>>2]<<4)>>3]=+h[s>>3]+ +h[(c[A>>2]|0)+((c[u>>2]|0)+(c[l>>2]|0)<<4)>>3];h[(c[x>>2]|0)+(c[k>>2]<<4)+8>>3]=+h[s+8>>3]+ +h[(c[A>>2]|0)+((c[u>>2]|0)+(c[l>>2]|0)<<4)+8>>3];c[u>>2]=(c[u>>2]|0)+(c[f>>2]|0);c[k>>2]=(c[k>>2]|0)+1}}else{c[v>>2]=c[p>>2];c[x>>2]=qK(c[v>>2]<<4)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break a;h[(c[x>>2]|0)+(c[u>>2]<<4)>>3]=+h[s>>3]+ +h[(c[A>>2]|0)+((c[u>>2]|0)+(c[l>>2]|0)<<4)>>3];h[(c[x>>2]|0)+(c[u>>2]<<4)+8>>3]=+h[s+8>>3]+ +h[(c[A>>2]|0)+((c[u>>2]|0)+(c[l>>2]|0)<<4)+8>>3];c[u>>2]=(c[u>>2]|0)+1}}}else B=41;while(0);if((B|0)==41){c[(c[w>>2]|0)+264>>2]=0;c[v>>2]=2;c[x>>2]=qK(c[v>>2]<<4)|0;h[c[x>>2]>>3]=+h[s>>3]-+h[(c[(c[r>>2]|0)+8>>2]|0)+88>>3];h[(c[x>>2]|0)+8>>3]=+h[s+8>>3]-+h[(c[(c[r>>2]|0)+8>>2]|0)+80>>3]/2.0;h[(c[x>>2]|0)+16>>3]=+h[s>>3]+ +h[(c[(c[r>>2]|0)+8>>2]|0)+96>>3];h[(c[x>>2]|0)+16+8>>3]=+h[s+8>>3]+ +h[(c[(c[r>>2]|0)+8>>2]|0)+80>>3]/2.0}if(!(c[t>>2]&8192))hR(c[q>>2]|0,c[x>>2]|0,c[x>>2]|0,c[v>>2]|0)|0;c[(c[w>>2]|0)+272>>2]=c[x>>2];c[(c[w>>2]|0)+268>>2]=c[v>>2];A=c[r>>2]|0;A=OA(A,137692)|0;sT(A);A=c[q>>2]|0;B=c[r>>2]|0;uR(A,B);i=C;return}function BJ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;vR(c[d>>2]|0);MH(c[d>>2]|0);i=b;return}function CJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;if((i|0)>=(j|0))ba();f=q+44|0;g=q+40|0;h=q+36|0;l=q+32|0;o=q+28|0;n=q+24|0;m=q+20|0;k=q+16|0;p=q;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[o>>2]=OA(c[h>>2]|0,179144)|0;c[n>>2]=OA(c[h>>2]|0,179190)|0;c[m>>2]=OA(c[h>>2]|0,179177)|0;tA(p,128,q+48|0);if(c[g>>2]|0)c[l>>2]=c[c[g>>2]>>2];else c[l>>2]=0;if(!((c[o>>2]|0)!=0?(a[c[o>>2]>>0]|0)!=0:0))c[o>>2]=OA(c[h>>2]|0,149133)|0;c[k>>2]=OH(c[f>>2]|0,c[h>>2]|0,p)|0;NH(c[f>>2]|0,c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[h>>2]|0)|0;xA(p);i=q;return}function DJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();k=h+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[k>>2]=b;c[f>>2]=0;c[g>>2]=xO(c[k>>2]|0,c[13834]|0,178598)|0;if(!(a[c[g>>2]>>0]|0)){k=c[f>>2]|0;i=h;return k|0}c[e>>2]=YH(c[g>>2]|0)|0;while(1){k=c[c[e>>2]>>2]|0;c[d>>2]=k;if(!k)break;if(!(a4(c[d>>2]|0,148743)|0))c[f>>2]=1;c[e>>2]=(c[e>>2]|0)+4}k=c[f>>2]|0;i=h;return k|0}function EJ(a){a=a|0;var b=0,d=0,e=0.0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(((c[(c[b>>2]|0)+8>>2]|0)==4?(e=+h[(c[b>>2]|0)+16>>3],((~~(+h[(c[b>>2]|0)+16>>3]>=0.0?e+.5:e-.5)|0)%90|0|0)==0):0)?+h[(c[b>>2]|0)+24>>3]==0.0:0)b=+h[(c[b>>2]|0)+32>>3]==0.0;else b=0;i=d;return b&1|0}function FJ(a,b,d){a=+a;b=+b;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();e=o+24|0;f=o+16|0;g=o+40|0;n=o+8|0;k=o;l=o+36|0;m=o+32|0;h[e>>3]=a;h[f>>3]=b;c[g>>2]=d;h[n>>3]=0.0;h[k>>3]=6.283185307179586/+(c[g>>2]|0);c[m>>2]=qK(c[g>>2]<<4)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;b=+h[e>>3]*+Q(+(+h[n>>3]));h[(c[m>>2]|0)+(c[l>>2]<<4)>>3]=b;b=+h[f>>3]*+R(+(+h[n>>3]));h[(c[m>>2]|0)+(c[l>>2]<<4)+8>>3]=b;h[n>>3]=+h[n>>3]+ +h[k>>3];c[l>>2]=(c[l>>2]|0)+1}i=o;return c[m>>2]|0}function GJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;B1(c[f>>2]|0);i=e;return}function HJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[f>>2]=(c[b>>2]|0)+(c[d>>2]|0);c[f+4>>2]=(c[b+4>>2]|0)+(c[d+4>>2]|0);c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];i=e;return}function IJ(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();g=n+40|0;m=n+36|0;k=n+24|0;l=n+16|0;f=n+8|0;d=n;c[m>>2]=a;c[n+32>>2]=b;a=(c[m>>2]|0)+196|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];a=(c[m>>2]|0)+164|0;c[l>>2]=c[a>>2];c[l+4>>2]=c[a+4>>2];if(c[(c[m>>2]|0)+360>>2]|0){c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];KI(f,g);c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[g>>2]=c[l>>2];c[g+4>>2]=c[l+4>>2];KI(d,g);c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2]}h[(c[m>>2]|0)+288>>3]=+(c[k>>2]|0)*+h[(c[m>>2]|0)+320>>3]-+h[(c[m>>2]|0)+240>>3];h[(c[m>>2]|0)+288+8>>3]=+(c[k+4>>2]|0)*+h[(c[m>>2]|0)+320+8>>3]-+h[(c[m>>2]|0)+240+8>>3];h[(c[m>>2]|0)+288+16>>3]=+h[(c[m>>2]|0)+288>>3]+ +h[(c[m>>2]|0)+320>>3];h[(c[m>>2]|0)+288+16+8>>3]=+h[(c[m>>2]|0)+288+8>>3]+ +h[(c[m>>2]|0)+320+8>>3];d=(c[m>>2]|0)+472|0;if(!(c[(c[(c[m>>2]|0)+12>>2]|0)+28>>2]|0)){a=(c[m>>2]|0)+456|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]}else{f=c[m>>2]|0;if((c[d>>2]|0)<(c[(c[m>>2]|0)+456>>2]|0))d=c[f+472>>2]|0;else d=c[f+456>>2]|0;c[(c[m>>2]|0)+472>>2]=d;d=c[m>>2]|0;if((c[(c[m>>2]|0)+472+4>>2]|0)<(c[(c[m>>2]|0)+456+4>>2]|0))d=c[d+472+4>>2]|0;else d=c[d+456+4>>2]|0;c[(c[m>>2]|0)+472+4>>2]=d;d=c[m>>2]|0;if((c[(c[m>>2]|0)+472+8>>2]|0)>(c[(c[m>>2]|0)+456+8>>2]|0))d=c[d+472+8>>2]|0;else d=c[d+456+8>>2]|0;c[(c[m>>2]|0)+472+8>>2]=d;d=c[m>>2]|0;if((c[(c[m>>2]|0)+472+8+4>>2]|0)>(c[(c[m>>2]|0)+456+8+4>>2]|0))d=c[d+472+8+4>>2]|0;else d=c[d+456+8+4>>2]|0;c[(c[m>>2]|0)+472+8+4>>2]=d}e=+h[(c[m>>2]|0)+336>>3];d=c[m>>2]|0;if(c[(c[m>>2]|0)+152>>2]&128){h[(c[m>>2]|0)+256>>3]=e-+h[d+368>>3]/2.0;h[(c[m>>2]|0)+256+8>>3]=+h[(c[m>>2]|0)+336+8>>3]-+h[(c[m>>2]|0)+368+8>>3]/2.0;h[(c[m>>2]|0)+256+16>>3]=+h[(c[m>>2]|0)+336>>3]+ +h[(c[m>>2]|0)+368>>3]/2.0;h[(c[m>>2]|0)+256+16+8>>3]=+h[(c[m>>2]|0)+336+8>>3]+ +h[(c[m>>2]|0)+368+8>>3]/2.0}else{h[(c[m>>2]|0)+256>>3]=e+ +h[d+320>>3]*(+(c[k>>2]|0)-+(c[l>>2]|0)/2.0);h[(c[m>>2]|0)+256+8>>3]=+h[(c[m>>2]|0)+336+8>>3]+ +h[(c[m>>2]|0)+320+8>>3]*(+(c[k+4>>2]|0)-+(c[l+4>>2]|0)/2.0);h[(c[m>>2]|0)+256+16>>3]=+h[(c[m>>2]|0)+256>>3]+ +h[(c[m>>2]|0)+320>>3];h[(c[m>>2]|0)+256+16+8>>3]=+h[(c[m>>2]|0)+256+8>>3]+ +h[(c[m>>2]|0)+320+8>>3]}d=(c[m>>2]|0)+256|0;if(c[(c[m>>2]|0)+360>>2]|0){h[(c[m>>2]|0)+504+8>>3]=-+h[d+16+8>>3]-+h[(c[m>>2]|0)+384+8>>3]/+h[(c[m>>2]|0)+352>>3];d=(c[m>>2]|0)+256|0;if((c[13802]|0)!=0?1:(c[(c[m>>2]|0)+152>>2]&4096|0)!=0){h[(c[m>>2]|0)+504>>3]=-+h[d+16>>3]-+h[(c[m>>2]|0)+384>>3]/+h[(c[m>>2]|0)+352>>3];i=n;return}else{h[(c[m>>2]|0)+504>>3]=-+h[d>>3]+ +h[(c[m>>2]|0)+384>>3]/+h[(c[m>>2]|0)+352>>3];i=n;return}}else{h[(c[m>>2]|0)+504>>3]=-+h[d>>3]+ +h[(c[m>>2]|0)+384>>3]/+h[(c[m>>2]|0)+352>>3];d=(c[m>>2]|0)+256|0;if((c[13802]|0)!=0?1:(c[(c[m>>2]|0)+152>>2]&4096|0)!=0){h[(c[m>>2]|0)+504+8>>3]=-+h[d+16+8>>3]-+h[(c[m>>2]|0)+384+8>>3]/+h[(c[m>>2]|0)+352>>3];i=n;return}else{h[(c[m>>2]|0)+504+8>>3]=-+h[d+8>>3]+ +h[(c[m>>2]|0)+384+8>>3]/+h[(c[m>>2]|0)+352>>3];i=n;return}}}function JJ(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;if((i|0)>=(j|0))ba();k=s;l=s+72|0;m=s+68|0;r=s+64|0;f=s+60|0;e=s+56|0;n=s+48|0;p=s+40|0;o=s+36|0;q=s+32|0;c[l>>2]=b;c[m>>2]=d;b=OA(c[m>>2]|0,179066)|0;c[f>>2]=b;if((b|0)!=0?(a[c[f>>2]>>0]|0)!=0:0)c[e>>2]=0;else{c[f>>2]=174881;c[e>>2]=1}if(((c[(c[l>>2]|0)+152>>2]&256|0)==0?(a[c[f>>2]>>0]|0)==(a[175510]|0):0)?(a4(c[f>>2]|0,175510)|0)==0:0){c[f>>2]=174881;c[e>>2]=1}if(!(((c[(c[l>>2]|0)+152>>2]&256|0)!=0?(a[c[f>>2]>>0]|0)==(a[175510]|0):0)?(a4(c[f>>2]|0,175510)|0)==0:0))h=12;do if((h|0)==12?!((c[e>>2]|0)!=0?(c[(c[l>>2]|0)+152>>2]&33554432|0)!=0:0):0){if(!((XH(c[f>>2]|0,n,p)|0)<<24>>24)){ER(c[l>>2]|0,c[f>>2]|0);DR(c[l>>2]|0,175510);q=c[l>>2]|0;p=(c[l>>2]|0)+256|0;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];c[k+24>>2]=c[p+24>>2];c[k+28>>2]=c[p+28>>2];JR(q,k,1);break}c[q>>2]=0;ER(c[l>>2]|0,c[n>>2]|0);DR(c[l>>2]|0,175510);uI(c[m>>2]|0,q)|0;e=c[l>>2]|0;if(c[n+4>>2]|0){f=c[n+4>>2]|0;h=tO(c[m>>2]|0,c[13812]|0,0,0)|0;FR(e,f,h,+g[p>>2])}else{h=tO(c[m>>2]|0,c[13812]|0,0,0)|0;FR(e,174997,h,+g[p>>2])}if(c[q>>2]&2)c[o>>2]=3;else c[o>>2]=2;p=c[l>>2]|0;h=(c[l>>2]|0)+256|0;q=c[o>>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[k+16>>2]=c[h+16>>2];c[k+20>>2]=c[h+20>>2];c[k+24>>2]=c[h+24>>2];c[k+28>>2]=c[h+28>>2];JR(p,k,q);B1(c[n>>2]|0)}while(0);q=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]|0)+88>>2]|0;c[r>>2]=q;if(!q){i=s;return}NJ(c[l>>2]|0,c[r>>2]|0);i=s;return}function KJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+20|0;g=l+16|0;h=l+12|0;m=l+8|0;k=l+4|0;e=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=c[c[f>>2]>>2];a=(c[m>>2]|0)+28|0;c[a>>2]=(c[a>>2]|0)+1;if(!(c[h>>2]&4))WH(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);a:do if(c[h>>2]&1){qR(c[f>>2]|0);c[k>>2]=pC(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if(!(c[k>>2]|0))break;vI(d,c[k>>2]|0);c[k>>2]=qC(c[g>>2]|0,c[k>>2]|0)|0}rR(d);sR(c[f>>2]|0);c[k>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[e>>2]=cB(c[g>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;wI(c[f>>2]|0,c[e>>2]|0);c[e>>2]=eB(c[g>>2]|0,c[e>>2]|0)|0}c[k>>2]=qC(c[g>>2]|0,c[k>>2]|0)|0}tR(c[f>>2]|0)}else{if(c[h>>2]&16){sR(c[f>>2]|0);c[k>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[e>>2]=cB(c[g>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;wI(c[f>>2]|0,c[e>>2]|0);c[e>>2]=eB(c[g>>2]|0,c[e>>2]|0)|0}c[k>>2]=qC(c[g>>2]|0,c[k>>2]|0)|0}tR(c[f>>2]|0);qR(c[f>>2]|0);c[k>>2]=pC(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if(!(c[k>>2]|0))break;vI(d,c[k>>2]|0);c[k>>2]=qC(c[g>>2]|0,c[k>>2]|0)|0}rR(d);break}if(!(c[h>>2]&8)){c[k>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break a;vI(c[f>>2]|0,c[k>>2]|0);c[e>>2]=cB(c[g>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;m=c[e>>2]|0;vI(c[f>>2]|0,c[((c[c[e>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2]|0);wI(c[f>>2]|0,c[e>>2]|0);c[e>>2]=eB(c[g>>2]|0,c[e>>2]|0)|0}c[k>>2]=qC(c[g>>2]|0,c[k>>2]|0)|0}}qR(c[f>>2]|0);c[k>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;if((LJ(c[g>>2]|0,c[k>>2]|0)|0)<<24>>24)vI(c[f>>2]|0,c[k>>2]|0);c[k>>2]=qC(c[g>>2]|0,c[k>>2]|0)|0}rR(c[f>>2]|0);sR(c[f>>2]|0);c[k>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[e>>2]=cB(c[g>>2]|0,c[k>>2]|0)|0;while(1){d=c[g>>2]|0;if(!(c[e>>2]|0))break;if((MJ(d,c[e>>2]|0)|0)<<24>>24)wI(c[f>>2]|0,c[e>>2]|0);c[e>>2]=eB(c[g>>2]|0,c[e>>2]|0)|0}c[k>>2]=qC(d,c[k>>2]|0)|0}tR(c[f>>2]|0)}while(0);if(!(c[h>>2]&4)){i=l;return}WH(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=l;return}function LJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l+16|0;e=l+12|0;f=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[g>>2]=1;while(1){if((c[g>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0)){e=6;break}c[h>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[g>>2]<<2)>>2];if(QC(c[h>>2]|0,c[f>>2]|0)|0){e=4;break}c[g>>2]=(c[g>>2]|0)+1}if((e|0)==4){a[k>>0]=0;k=a[k>>0]|0;i=l;return k|0}else if((e|0)==6){a[k>>0]=1;k=a[k>>0]|0;i=l;return k|0}return 0}function MJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l+16|0;e=l+12|0;f=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[g>>2]=1;while(1){if((c[g>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0)){e=6;break}c[h>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[g>>2]<<2)>>2];if(QC(c[h>>2]|0,c[f>>2]|0)|0){e=4;break}c[g>>2]=(c[g>>2]|0)+1}if((e|0)==4){a[k>>0]=0;k=a[k>>0]|0;i=l;return k|0}else if((e|0)==6){a[k>>0]=1;k=a[k>>0]|0;i=l;return k|0}return 0}function NJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=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;A=i;i=i+144|0;if((i|0)>=(j|0))ba();e=A+48|0;d=A+16|0;z=A+8|0;y=A;f=A+136|0;k=A+132|0;r=A+128|0;w=A+124|0;v=A+120|0;s=A+116|0;q=A+112|0;l=A+108|0;x=A+104|0;o=A+100|0;m=A+96|0;n=A+92|0;p=A+88|0;t=A+84|0;u=A+80|0;c[f>>2]=a;c[k>>2]=b;c[r>>2]=1;c[w>>2]=1e3;c[v>>2]=rK(16e3)|0;c[x>>2]=0;c[o>>2]=1;c[s>>2]=c[(c[k>>2]|0)+8>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[k>>2]>>2]|0))break;a:do switch(c[c[s>>2]>>2]|0){case 1:case 0:{a=(c[s>>2]|0)+80|0;b=(c[f>>2]|0)+256|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[d+16>>2]=c[a+16>>2];c[d+20>>2]=c[a+20>>2];c[d+24>>2]=c[a+24>>2];c[d+28>>2]=c[a+28>>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[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];if(xJ(d,e)|0){h[c[v>>2]>>3]=+h[(c[s>>2]|0)+8>>3]-+h[(c[s>>2]|0)+8+16>>3];h[(c[v>>2]|0)+8>>3]=+h[(c[s>>2]|0)+8+8>>3]-+h[(c[s>>2]|0)+8+24>>3];h[(c[v>>2]|0)+16>>3]=+h[(c[s>>2]|0)+8+16>>3];h[(c[v>>2]|0)+16+8>>3]=+h[(c[s>>2]|0)+8+24>>3];HR(c[f>>2]|0,c[v>>2]|0,2,(c[c[s>>2]>>2]|0)==0?c[o>>2]|0:0)}break}case 3:case 2:{a=(c[s>>2]|0)+80|0;b=(c[f>>2]|0)+256|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[d+16>>2]=c[a+16>>2];c[d+20>>2]=c[a+20>>2];c[d+24>>2]=c[a+24>>2];c[d+28>>2]=c[a+28>>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[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];if(xJ(d,e)|0){c[v>>2]=OJ(c[v>>2]|0,w,c[(c[s>>2]|0)+8+4>>2]|0,c[(c[s>>2]|0)+8>>2]|0)|0;IR(c[f>>2]|0,c[v>>2]|0,c[(c[s>>2]|0)+8>>2]|0,(c[c[s>>2]>>2]|0)==2?c[o>>2]|0:0)}break}case 5:case 4:{a=(c[s>>2]|0)+80|0;b=(c[f>>2]|0)+256|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[d+16>>2]=c[a+16>>2];c[d+20>>2]=c[a+20>>2];c[d+24>>2]=c[a+24>>2];c[d+28>>2]=c[a+28>>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[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];if(xJ(d,e)|0){c[v>>2]=OJ(c[v>>2]|0,w,c[(c[s>>2]|0)+8+4>>2]|0,c[(c[s>>2]|0)+8>>2]|0)|0;KR(c[f>>2]|0,c[v>>2]|0,c[(c[s>>2]|0)+8>>2]|0,0,0,((c[c[s>>2]>>2]|0)==4?c[o>>2]|0:0)&255)}break}case 6:{a=(c[s>>2]|0)+80|0;b=(c[f>>2]|0)+256|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[d+16>>2]=c[a+16>>2];c[d+20>>2]=c[a+20>>2];c[d+24>>2]=c[a+24>>2];c[d+28>>2]=c[a+28>>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[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];if(xJ(d,e)|0){c[v>>2]=OJ(c[v>>2]|0,w,c[(c[s>>2]|0)+8+4>>2]|0,c[(c[s>>2]|0)+8>>2]|0)|0;LR(c[f>>2]|0,c[v>>2]|0,c[(c[s>>2]|0)+8>>2]|0)}break}case 7:{a=(c[s>>2]|0)+80|0;b=(c[f>>2]|0)+256|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[d+16>>2]=c[a+16>>2];c[d+20>>2]=c[a+20>>2];c[d+24>>2]=c[a+24>>2];c[d+28>>2]=c[a+28>>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[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];if(xJ(d,e)|0){h[c[v>>2]>>3]=+h[(c[s>>2]|0)+8>>3];h[(c[v>>2]|0)+8>>3]=+h[(c[s>>2]|0)+8+8>>3];a=c[f>>2]|0;B=c[v>>2]|0;b=c[(c[s>>2]|0)+112>>2]|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];CR(a,e,b)}break}case 8:{ER(c[f>>2]|0,c[(c[s>>2]|0)+8>>2]|0);c[o>>2]=1;break}case 9:{DR(c[f>>2]|0,c[(c[s>>2]|0)+8>>2]|0);c[o>>2]=1;break}case 13:{a=(c[s>>2]|0)+8+8|0;if((c[(c[s>>2]|0)+8>>2]|0)!=2){c[u>>2]=a;c[m>>2]=c[(c[(c[u>>2]|0)+36>>2]|0)+4>>2];c[n>>2]=c[(c[(c[u>>2]|0)+36>>2]|0)+8+4>>2];g[p>>2]=+g[(c[(c[u>>2]|0)+36>>2]|0)+8>>2];c[l>>2]=~~(+W(+(+h[(c[u>>2]|0)+24>>3]-+h[(c[u>>2]|0)+8>>3]),+(+h[(c[u>>2]|0)+16>>3]-+h[c[u>>2]>>3]))*180.0/3.141592653589793);ER(c[f>>2]|0,c[m>>2]|0);FR(c[f>>2]|0,c[n>>2]|0,c[l>>2]|0,+g[p>>2]);c[o>>2]=2;break a}c[t>>2]=a;c[m>>2]=c[(c[(c[t>>2]|0)+52>>2]|0)+4>>2];c[n>>2]=c[(c[(c[t>>2]|0)+52>>2]|0)+8+4>>2];g[p>>2]=+g[(c[(c[t>>2]|0)+52>>2]|0)+8>>2];if(+h[(c[t>>2]|0)+24>>3]==+h[c[t>>2]>>3]?+h[(c[t>>2]|0)+32>>3]==+h[(c[t>>2]|0)+8>>3]:0)c[l>>2]=0;else c[l>>2]=~~(+T(+((+h[c[t>>2]>>3]-+h[(c[t>>2]|0)+24>>3])/+h[(c[t>>2]|0)+16>>3]))*180.0/3.141592653589793);ER(c[f>>2]|0,c[m>>2]|0);FR(c[f>>2]|0,c[n>>2]|0,c[l>>2]|0,+g[p>>2]);c[o>>2]=3;break}case 14:{pA(0,138865,y)|0;break}case 12:{if(c[r>>2]|0){pA(0,138905,z)|0;c[r>>2]=0}break}case 11:{c[x>>2]=YH(c[(c[s>>2]|0)+8>>2]|0)|0;GR(c[f>>2]|0,c[x>>2]|0);break}default:{}}while(0);c[s>>2]=(c[s>>2]|0)+120;c[q>>2]=(c[q>>2]|0)+1}if(!(c[x>>2]|0)){B=c[v>>2]|0;B1(B);i=A;return}GR(c[f>>2]|0,c[(c[c[f>>2]>>2]|0)+336>>2]|0);B=c[v>>2]|0;B1(B);i=A;return}function OJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+20|0;g=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[n>>2]=c[c[g>>2]>>2];if((c[l>>2]|0)>(c[n>>2]|0)){c[n>>2]=(c[n>>2]<<1|0)>(c[l>>2]|0)?c[n>>2]<<1:c[l>>2]|0;c[f>>2]=tK(c[f>>2]|0,c[n>>2]<<4)|0;c[c[g>>2]>>2]=c[n>>2]}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[l>>2]|0))break;h[(c[f>>2]|0)+(c[m>>2]<<4)>>3]=+h[(c[k>>2]|0)+((c[m>>2]|0)*24|0)>>3];h[(c[f>>2]|0)+(c[m>>2]<<4)+8>>3]=+h[(c[k>>2]|0)+((c[m>>2]|0)*24|0)+8>>3];c[m>>2]=(c[m>>2]|0)+1}i=o;return c[f>>2]|0}function PJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;k=l;c[e>>2]=b;c[f>>2]=d;c[g>>2]=1;while(1){if((c[g>>2]|0)>(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0))break;c[h>>2]=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]|0)+(c[g>>2]<<2)>>2];PJ(c[e>>2]|0,c[h>>2]|0);b=OA(c[h>>2]|0,178912)|0;c[k>>2]=b;if((b|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)DR(c[e>>2]|0,c[k>>2]|0);b=OA(c[h>>2]|0,175387)|0;c[k>>2]=b;if((b|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)DR(c[e>>2]|0,c[k>>2]|0);b=OA(c[h>>2]|0,179066)|0;c[k>>2]=b;if((b|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)DR(c[e>>2]|0,c[k>>2]|0);b=OA(c[h>>2]|0,139290)|0;c[k>>2]=b;if((b|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)ER(c[e>>2]|0,c[k>>2]|0);b=OA(c[h>>2]|0,139318)|0;c[k>>2]=b;if((b|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)DR(c[e>>2]|0,c[k>>2]|0);c[g>>2]=(c[g>>2]|0)+1}i=l;return}function QJ(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0.0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+8|0;l=k+24|0;f=k+20|0;e=k+16|0;g=k;c[l>>2]=b;c[f>>2]=_3(c[l>>2]|0,59)|0;if(!(c[f>>2]|0)){h[d>>3]=0.0;m=+h[d>>3];i=k;return +m}l=c[f>>2]|0;c[f>>2]=l+1;a[l>>0]=0;h[g>>3]=+Q3(c[f>>2]|0,e);if(+h[g>>3]>=0.0?(c[e>>2]|0)!=(c[f>>2]|0):0){h[d>>3]=+h[g>>3];m=+h[d>>3];i=k;return +m}else{h[d>>3]=-1.0;m=+h[d>>3];i=k;return +m}return 0.0}function RJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();l=r+48|0;g=r+44|0;k=r+40|0;o=r+32|0;p=r+24|0;q=r+16|0;n=r+8|0;m=r;if((+h[a>>3]>=+h[d>>3]?+h[a>>3]<=+h[d+16>>3]:0)?+h[a+8>>3]>=+h[d+8>>3]:0)f=+h[a+8>>3]<=+h[d+16+8>>3];else f=0;c[g>>2]=f&1;if((+h[b>>3]>=+h[d>>3]?+h[b>>3]<=+h[d+16>>3]:0)?+h[b+8>>3]>=+h[d+8>>3]:0)f=+h[b+8>>3]<=+h[d+16+8>>3];else f=0;c[k>>2]=f&1;if((c[g>>2]|0)!=(c[k>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}if(c[g>>2]&c[k>>2]){c[l>>2]=1;q=c[l>>2]|0;i=r;return q|0}e=+h[a+8>>3];do if(+h[a>>3]==+h[b>>3]){if(((e>=+h[d+8>>3]^+h[b+8>>3]>=+h[d+8>>3]|0)!=0?+h[a>>3]>=+h[d>>3]:0)?+h[a>>3]<=+h[d+16>>3]:0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}}else{if(e==+h[b+8>>3]){if(!(+h[a>>3]>=+h[d>>3]^+h[b>>3]>=+h[d>>3]))break;if(!(+h[a+8>>3]>=+h[d+8>>3]))break;if(!(+h[a+8>>3]<=+h[d+16+8>>3]))break;c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}h[o>>3]=(+h[b+8>>3]-+h[a+8>>3])/(+h[b>>3]-+h[a>>3]);if(+h[a>>3]<+h[b>>3]){h[n>>3]=+h[a>>3];h[m>>3]=+h[b>>3]}else{h[n>>3]=+h[b>>3];h[m>>3]=+h[a>>3]}h[q>>3]=+h[a+8>>3]+(+h[d>>3]-+h[a>>3])*+h[o>>3];if(((+h[d>>3]>=+h[n>>3]?+h[d>>3]<=+h[m>>3]:0)?+h[q>>3]>=+h[d+8>>3]:0)?+h[q>>3]<=+h[d+16+8>>3]:0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}h[q>>3]=+h[q>>3]+(+h[d+16>>3]-+h[d>>3])*+h[o>>3];if(((+h[q>>3]>=+h[d+8>>3]?+h[q>>3]<=+h[d+16+8>>3]:0)?+h[d+16>>3]>=+h[n>>3]:0)?+h[d+16>>3]<=+h[m>>3]:0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}if(+h[a+8>>3]<+h[b+8>>3]){h[n>>3]=+h[a+8>>3];h[m>>3]=+h[b+8>>3]}else{h[n>>3]=+h[b+8>>3];h[m>>3]=+h[a+8>>3]}h[p>>3]=+h[a>>3]+(+h[d+8>>3]-+h[a+8>>3])/+h[o>>3];if(((+h[p>>3]>=+h[d>>3]?+h[p>>3]<=+h[d+16>>3]:0)?+h[d+8>>3]>=+h[n>>3]:0)?+h[d+8>>3]<=+h[m>>3]:0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}h[p>>3]=+h[p>>3]+(+h[d+16+8>>3]-+h[d+8>>3])/+h[o>>3];if(((+h[p>>3]>=+h[d>>3]?+h[p>>3]<=+h[d+16>>3]:0)?+h[d+16+8>>3]>=+h[n>>3]:0)?+h[d+16+8>>3]<=+h[m>>3]:0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}}while(0);c[l>>2]=-1;q=c[l>>2]|0;i=r;return q|0}function SJ(a){a=a|0;var b=0,d=0,e=0.0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;e=+h[(c[d>>2]|0)+16>>3];h[(c[d>>2]|0)+32>>3]=e;h[(c[d>>2]|0)+48>>3]=e;h[(c[d>>2]|0)+32+8>>3]=+h[(c[d>>2]|0)+16+8>>3];h[(c[d>>2]|0)+48+8>>3]=+h[(c[d>>2]|0)+8>>3];h[(c[d>>2]|0)+16>>3]=+h[c[d>>2]>>3];i=b;return}function TJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0;l=i;i=i+48|0;if((i|0)>=(j|0))ba();k=l+16|0;g=l+32|0;e=l+8|0;f=l;c[g>>2]=d;h[e>>3]=+h[b>>3];h[f>>3]=+h[b+8>>3];switch(c[g>>2]|0){case 0:break;case 90:{h[b>>3]=+h[f>>3];h[b+8>>3]=-+h[e>>3];break}case 180:{h[b>>3]=+h[e>>3];h[b+8>>3]=-+h[f>>3];break}case 270:{h[b>>3]=+h[f>>3];h[b+8>>3]=+h[e>>3];break}default:{d=c[g>>2]|0;if((c[g>>2]|0)<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];UJ(a,k,0-d|0);i=l;return}e=c[g>>2]|0;if((d|0)>360){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];TJ(a,k,(e|0)%360|0);i=l;return}else{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];XJ(a,k,e);i=l;return}}}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=l;return}function UJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0;l=i;i=i+48|0;if((i|0)>=(j|0))ba();k=l+16|0;g=l+32|0;e=l+8|0;f=l;c[g>>2]=d;h[e>>3]=+h[b>>3];h[f>>3]=+h[b+8>>3];switch(c[g>>2]|0){case 0:break;case 90:{h[b>>3]=-+h[f>>3];h[b+8>>3]=+h[e>>3];break}case 180:{h[b>>3]=+h[e>>3];h[b+8>>3]=-+h[f>>3];break}case 270:{h[b>>3]=+h[f>>3];h[b+8>>3]=+h[e>>3];break}default:{d=c[g>>2]|0;if((c[g>>2]|0)<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];TJ(a,k,0-d|0);i=l;return}e=c[g>>2]|0;if((d|0)>360){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];UJ(a,k,(e|0)%360|0);i=l;return}else{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];XJ(a,k,360-e|0);i=l;return}}}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=l;return}function VJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();f=e;h[f+16>>3]=+h[b+16+8>>3];h[f+16+8>>3]=+h[b+16>>3];h[f>>3]=+h[b+8>>3];h[f+8>>3]=+h[b>>3];h[f>>3]=+h[f>>3]+ +h[d>>3];b=f+8|0;h[b>>3]=+h[b>>3]+ +h[d+8>>3];b=f+16|0;h[b>>3]=+h[b>>3]+ +h[d>>3];b=f+16+8|0;h[b>>3]=+h[b>>3]+ +h[d+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2];c[a+24>>2]=c[f+24>>2];c[a+28>>2]=c[f+28>>2];i=e;return}function WJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,k=0,l=0.0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+24|0;f=k+16|0;g=k+8|0;e=k;h[f>>3]=+h[b>>3]-+h[a>>3];h[g>>3]=+h[b+8>>3]-+h[a+8>>3];h[e>>3]=(+h[c+8>>3]-+h[a+8>>3])*+h[f>>3]-(+h[c>>3]-+h[a>>3])*+h[g>>3];h[e>>3]=+h[e>>3]*+h[e>>3];if(+h[e>>3]<1.0e-10){h[d>>3]=0.0;l=+h[d>>3];i=k;return +l}else{h[d>>3]=+h[e>>3]/(+h[f>>3]*+h[f>>3]+ +h[g>>3]*+h[g>>3]);l=+h[d>>3];i=k;return +l}return 0.0}function XJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();e=g+16|0;f=g;c[e>>2]=d;if((c[e>>2]|0)!=(c[13789]|0)){B2(+(c[e>>2]|0)/6.283185307179586,33952,33960);c[13789]=c[e>>2]}h[f>>3]=+h[b>>3]*+h[4245]-+h[b+8>>3]*+h[4244];h[f+8>>3]=+h[b+8>>3]*+h[4245]+ +h[b>>3]*+h[4244];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=g;return}function YJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l+8|0;n=l+24|0;m=l+20|0;e=l+16|0;g=l+12|0;f=l;c[n>>2]=a;c[m>>2]=b;c[e>>2]=d;d=OA(c[n>>2]|0,c[m>>2]|0)|0;c[g>>2]=d;if(!d){i=l;return}n=c[g>>2]|0;c[k>>2]=f;if((E3(n,139081,k)|0)<1){i=l;return}h[c[e>>2]>>3]=+h[f>>3];i=l;return}function ZJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();g=n+8|0;l=n+20|0;e=n+24|0;m=n+16|0;k=n;f=n+12|0;c[l>>2]=b;a[e>>0]=d;d=qK(96)|0;c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]=d;d=OA(c[l>>2]|0,139085)|0;c[m>>2]=d;if(!((d|0)==0?(d=yb(139094)|0,c[m>>2]=d,(d|0)==0):0))Lb(139106,c[m>>2]|0,1)|0;d=(bK(c[l>>2]|0)|0)&255;a[(c[(c[l>>2]|0)+8>>2]|0)+115>>0]=d;if((c[13794]|0)==0?(c[13793]=OA(c[l>>2]|0,139117)|0,(c[13793]|0)==0):0)c[13793]=c[13792];d=c[l>>2]|0;o=+uO(d,GA(c[l>>2]|0,0,139127,0)|0,0.0,0.0);h[c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]>>3]=o;c[f>>2]=0;d=OA(c[l>>2]|0,139135)|0;c[m>>2]=d;do if(d){if((a[c[m>>2]>>0]|0)==(a[139143]|0)?(a4(c[m>>2]|0,139143)|0)==0:0){c[f>>2]=1;break}if((a[c[m>>2]>>0]|0)==(a[139146]|0)?(a4(c[m>>2]|0,139146)|0)==0:0){c[f>>2]=2;break}if((a[c[m>>2]>>0]|0)==(a[139149]|0)?(a4(c[m>>2]|0,139149)|0)==0:0)c[f>>2]=3}while(0);b=c[f>>2]<<2;if(a[e>>0]|0)c[(c[(c[l>>2]|0)+8>>2]|0)+116>>2]=b|c[f>>2];else c[(c[(c[l>>2]|0)+8>>2]|0)+116>>2]=b;f=c[l>>2]|0;h[k>>3]=+uO(f,GA(c[l>>2]|0,0,139152,0)|0,.25,.02);o=+h[k>>3]*72.0;c[(c[(c[l>>2]|0)+8>>2]|0)+248>>2]=~~(+h[k>>3]*72.0>=0.0?o+.5:o-.5);f=c[l>>2]|0;c[m>>2]=wO(f,GA(c[l>>2]|0,0,139160,0)|0,0)|0;if(c[m>>2]|0){f=c[m>>2]|0;c[g>>2]=k;if(E3(f,139081,g)|0){if(+h[k>>3]<.02)h[k>>3]=.02}else h[k>>3]=.5;if(l4(c[m>>2]|0,139168)|0)a[(c[(c[l>>2]|0)+8>>2]|0)+276>>0]=1}else h[k>>3]=.5;o=+h[k>>3]*72.0;c[(c[(c[l>>2]|0)+8>>2]|0)+252>>2]=~~(+h[k>>3]*72.0>=0.0?o+.5:o-.5);k=c[l>>2]|0;k=(tO(k,GA(c[l>>2]|0,0,139176,0)|0,0,0)|0)&255;a[(c[(c[l>>2]|0)+8>>2]|0)+243>>0]=k;k=c[l>>2]|0;c[m>>2]=wO(k,GA(c[l>>2]|0,0,139186,0)|0,0)|0;k=IO(c[m>>2]|0,55564,55580)|0;c[(c[(c[l>>2]|0)+8>>2]|0)+244>>2]=k;cK(c[l>>2]|0);k=dK(c[l>>2]|0,139196,(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)+64|0)|0;a[(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)+80>>0]=k;dK(c[l>>2]|0,139201,(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)+48|0)|0;k=zO(OA(c[l>>2]|0,139206)|0)|0;a[(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)+82>>0]=k;k=OA(c[l>>2]|0,139213)|0;c[m>>2]=k;do if(k){k=(N3(c[m>>2]|0)|0)==90&255;a[(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)+81>>0]=k}else{k=OA(c[l>>2]|0,139220)|0;c[m>>2]=k;if(!k){k=OA(c[l>>2]|0,139232)|0;c[m>>2]=k;if(!k)break;k=zO(c[m>>2]|0)|0;a[(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)+81>>0]=k;break}if((a[c[m>>2]>>0]|0)==108)b=1;else b=(a[c[m>>2]>>0]|0)==76;a[(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)+81>>0]=b&1}while(0);c[m>>2]=OA(c[l>>2]|0,139242)|0;c[13797]=IO(c[m>>2]|0,55596,55612)|0;c[m>>2]=OA(c[l>>2]|0,139254)|0;a[139080]=zO(c[m>>2]|0)|0;c[13800]=0;c[13801]=0;h[(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)+24>>3]=0.0;k=OA(c[l>>2]|0,139266)|0;c[m>>2]=k;if((k|0)!=0?(a[c[m>>2]>>0]|0)!=0:0)b=40;else b=38;if(((b|0)==38?(k=OA(c[l>>2]|0,139270)|0,c[m>>2]=k,(k|0)!=0):0)?(a[c[m>>2]>>0]|0)!=0:0)b=40;if((b|0)==40){o=+M3(c[m>>2]|0);h[(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)+24>>3]=o}_J(c[l>>2]|0);h[4248]=1.e+37;c[13809]=GA(c[l>>2]|0,0,139281,0)|0;c[13812]=GA(c[l>>2]|0,0,179123,0)|0;c[13813]=GA(c[l>>2]|0,0,144038,0)|0;c[13814]=GA(c[l>>2]|0,1,179137,0)|0;c[13815]=GA(c[l>>2]|0,1,179205,0)|0;c[13816]=GA(c[l>>2]|0,1,147742,0)|0;c[13817]=GA(c[l>>2]|0,1,178912,0)|0;c[13818]=GA(c[l>>2]|0,1,139290,0)|0;c[13834]=GA(c[l>>2]|0,1,179171,0)|0;c[13827]=GA(c[l>>2]|0,1,139300,0)|0;c[13828]=GA(c[l>>2]|0,1,139309,0)|0;c[13829]=GA(c[l>>2]|0,1,139318,0)|0;c[13831]=GA(c[l>>2]|0,1,147736,0)|0;if(!(c[13831]|0))c[13831]=GA(c[l>>2]|0,1,147736,144035)|0;c[13832]=GA(c[l>>2]|0,1,139328,0)|0;c[13835]=GA(c[l>>2]|0,1,139176,0)|0;c[13849]=GA(c[l>>2]|0,1,139335,0)|0;c[13838]=GA(c[l>>2]|0,1,139281,0)|0;c[13830]=GA(c[l>>2]|0,1,144038,0)|0;c[13836]=GA(c[l>>2]|0,1,179165,0)|0;c[13837]=GA(c[l>>2]|0,1,139344,0)|0;c[13840]=GA(c[l>>2]|0,1,139356,0)|0;c[13839]=GA(c[l>>2]|0,1,139220,0)|0;c[13841]=GA(c[l>>2]|0,1,139361,0)|0;c[13842]=GA(c[l>>2]|0,1,179113,0)|0;c[13843]=GA(c[l>>2]|0,1,174980,0)|0;c[13833]=GA(c[l>>2]|0,1,139372,0)|0;c[13844]=GA(c[l>>2]|0,1,139382,0)|0;c[13845]=GA(c[l>>2]|0,1,139388,0)|0;c[13846]=GA(c[l>>2]|0,1,139394,0)|0;c[13847]=GA(c[l>>2]|0,1,139402,0)|0;c[13848]=GA(c[l>>2]|0,1,139411,0)|0;c[13850]=GA(c[l>>2]|0,1,179123,0)|0;c[13851]=GA(c[l>>2]|0,2,139413,0)|0;c[13853]=GA(c[l>>2]|0,2,178912,0)|0;c[13854]=GA(c[l>>2]|0,2,139290,0)|0;c[13863]=GA(c[l>>2]|0,2,139300,0)|0;c[13864]=GA(c[l>>2]|0,2,139309,0)|0;c[13865]=GA(c[l>>2]|0,2,139318,0)|0;c[13866]=GA(c[l>>2]|0,2,147736,0)|0;c[13867]=GA(c[l>>2]|0,2,139328,0)|0;c[13876]=GA(c[l>>2]|0,2,139420,0)|0;c[13868]=GA(c[l>>2]|0,2,139431,0)|0;c[13879]=GA(c[l>>2]|0,2,139435,0)|0;c[13880]=GA(c[l>>2]|0,2,139445,0)|0;c[13881]=GA(c[l>>2]|0,2,139455,0)|0;c[13882]=GA(c[l>>2]|0,2,139465,0)|0;c[13883]=GA(c[l>>2]|0,2,139475,0)|0;c[13884]=GA(c[l>>2]|0,2,139489,0)|0;c[13885]=GA(c[l>>2]|0,2,139503,0)|0;c[13886]=GA(c[l>>2]|0,2,139518,0)|0;c[13887]=GA(c[l>>2]|0,2,139532,0)|0;c[13852]=GA(c[l>>2]|0,2,139543,0)|0;c[13871]=GA(c[l>>2]|0,2,139176,0)|0;c[13869]=GA(c[l>>2]|0,2,179171,0)|0;c[13870]=GA(c[l>>2]|0,2,139550,0)|0;c[13872]=GA(c[l>>2]|0,2,139559,0)|0;c[13873]=GA(c[l>>2]|0,2,139569,0)|0;c[13874]=GA(c[l>>2]|0,2,139382,0)|0;c[13875]=GA(c[l>>2]|0,2,139394,0)|0;c[13888]=GA(c[l>>2]|0,2,139580,0)|0;c[13889]=GA(c[l>>2]|0,2,139589,0)|0;c[13890]=GA(c[l>>2]|0,2,139335,0)|0;k=KH(c[l>>2]|0)|0;c[(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)+88>>2]=k;k=OA(c[l>>2]|0,179149)|0;c[m>>2]=k;if(!k){i=n;return}if(!(a[c[m>>2]>>0]|0)){i=n;return}m=jK(c[m>>2]|0,c[l>>2]|0)|0;c[(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)+92>>2]=m;i=n;return}function _J(b){b=b|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();l=o+32|0;e=o+28|0;g=o+24|0;f=o+20|0;n=o+16|0;k=o+36|0;m=o;c[l>>2]=b;b=OA(c[l>>2]|0,147736)|0;c[e>>2]=b;if(!b){i=o;return}if(!(a[c[e>>2]>>0]|0)){i=o;return}s=(c[(c[(c[l>>2]|0)+48>>2]|0)+8>>2]|0)+113|0;a[s>>0]=d[s>>0]|8;s=c[l>>2]|0;r=c[e>>2]|0;q=(pD(c[e>>2]|0)|0)!=0;b=c[l>>2]|0;p=+uO(b,GA(c[l>>2]|0,0,139300,0)|0,14.0,1.0);b=c[l>>2]|0;b=xO(b,GA(c[l>>2]|0,0,139309,0)|0,145681)|0;e=c[l>>2]|0;e=fK(s,r,q?2:0,p,b,xO(e,GA(c[l>>2]|0,0,139318,0)|0,174997)|0)|0;c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2]=e;c[g>>2]=OA(c[l>>2]|0,144153)|0;e=c[l>>2]|0;e=(e|0)!=(HC(c[l>>2]|0)|0);b=(c[g>>2]|0)!=0;do if(e){if(b?(a[c[g>>2]>>0]|0)==98:0){a[k>>0]=0;break}a[k>>0]=1}else{if(b?(a[c[g>>2]>>0]|0)==116:0){a[k>>0]=1;break}a[k>>0]=0}while(0);c[f>>2]=OA(c[l>>2]|0,139598)|0;do if(c[f>>2]|0){if((a[c[f>>2]>>0]|0)==108){a[k>>0]=a[k>>0]|2;break}if((a[c[f>>2]>>0]|0)==114)a[k>>0]=a[k>>0]|4}while(0);a[(c[(c[l>>2]|0)+8>>2]|0)+275>>0]=a[k>>0]|0;s=c[l>>2]|0;if((s|0)==(HC(c[l>>2]|0)|0)){i=o;return}s=(c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2]|0)+24|0;c[m>>2]=c[s>>2];c[m+4>>2]=c[s+4>>2];c[m+8>>2]=c[s+8>>2];c[m+12>>2]=c[s+12>>2];h[m>>3]=+h[m>>3]+16.0;s=m+8|0;h[s>>3]=+h[s>>3]+8.0;s=(c[(c[(HC(c[l>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;b=(a[(c[(c[l>>2]|0)+8>>2]|0)+275>>0]&1|0)!=0;if(s){if(b)c[n>>2]=1;else c[n>>2]=3;h[(c[(c[l>>2]|0)+8>>2]|0)+48+(c[n>>2]<<4)>>3]=+h[m+8>>3];h[(c[(c[l>>2]|0)+8>>2]|0)+48+(c[n>>2]<<4)+8>>3]=+h[m>>3];i=o;return}else{if(b)c[n>>2]=2;else c[n>>2]=0;s=(c[(c[l>>2]|0)+8>>2]|0)+48+(c[n>>2]<<4)|0;c[s>>2]=c[m>>2];c[s+4>>2]=c[m+4>>2];c[s+8>>2]=c[m+8>>2];c[s+12>>2]=c[m+12>>2];i=o;return}}function $J(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if((c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)!=0?(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)+88>>2]|0)!=0:0)JS(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)+88>>2]|0);if((c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)!=0?(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)+92>>2]|0)!=0:0)B1(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)+92>>2]|0);B1(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0);c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]=0;hK(c[(c[(c[b>>2]|0)+8>>2]|0)+12>>2]|0);dD(c[b>>2]|0,0,175129);i=d;return}function aK(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;switch(c[b>>2]|0){case 0:{c[d>>2]=139608;break}case 1:{c[d>>2]=139614;break}case 2:{c[d>>2]=139625;break}default:{c[e>>2]=c[b>>2];pA(1,139631,e)|0;c[d>>2]=139608}}i=f;return c[d>>2]|0}function bK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f;g=f+12|0;b=f+8|0;d=f+4|0;c[g>>2]=a;a=c[g>>2]|0;c[d>>2]=xO(a,GA(c[g>>2]|0,0,139732,0)|0,139740)|0;if(((((((Y3(c[d>>2]|0,139746)|0)!=0?(Y3(c[d>>2]|0,139754)|0)!=0:0)?(Y3(c[d>>2]|0,139761)|0)!=0:0)?(Y3(c[d>>2]|0,139614)|0)!=0:0)?(Y3(c[d>>2]|0,139764)|0)!=0:0)?(Y3(c[d>>2]|0,139775)|0)!=0:0)?(Y3(c[d>>2]|0,139785)|0)!=0:0){if((Y3(c[d>>2]|0,139796)|0)!=0?(Y3(c[d>>2]|0,139802)|0)!=0:0){if((Y3(c[d>>2]|0,139740)|0)!=0?(Y3(c[d>>2]|0,139807)|0)!=0:0){c[e>>2]=c[d>>2];pA(0,139812,e)|0;c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[b>>2]=2;g=c[b>>2]|0;i=f;return g|0}c[b>>2]=1;g=c[b>>2]|0;i=f;return g|0}function cK(b){b=b|0;var d=0,e=0,f=0,g=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+12|0;f=k+8|0;e=k+16|0;g=k;c[d>>2]=b;b=OA(c[d>>2]|0,139690)|0;c[f>>2]=b;if(!b){i=k;return}b=a[c[f>>2]>>0]|0;a[e>>0]=b;if(!(b<<24>>24)){i=k;return}switch(a[e>>0]|0){case 97:{if((a[c[f>>2]>>0]|0)!=(a[139696]|0)){i=k;return}if(a4(c[f>>2]|0,139696)|0){i=k;return}c[(c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]=4;i=k;return}case 99:{if((a[c[f>>2]>>0]|0)!=(a[139701]|0)){i=k;return}if(a4(c[f>>2]|0,139701)|0){i=k;return}c[(c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]=3;i=k;return}case 101:{if((a[c[f>>2]>>0]|0)!=(a[139710]|0)){i=k;return}if(a4(c[f>>2]|0,139710)|0){i=k;return}c[(c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]=5;i=k;return}case 102:{if((a[c[f>>2]>>0]|0)!=(a[139717]|0)){i=k;return}if(a4(c[f>>2]|0,139717)|0){i=k;return}c[(c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]=2;i=k;return}default:{h[g>>3]=+M3(c[f>>2]|0);if(!(+h[g>>3]>0.0)){i=k;return}c[(c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]=1;h[(c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]|0)+16>>3]=+h[g>>3];i=k;return}}}function dK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();o=r+32|0;n=r+16|0;t=r+56|0;s=r+52|0;f=r+48|0;l=r+44|0;k=r+40|0;p=r+8|0;q=r;g=r+61|0;m=r+60|0;c[t>>2]=b;c[s>>2]=d;c[f>>2]=e;a[g>>0]=0;a[m>>0]=0;e=OA(c[t>>2]|0,c[s>>2]|0)|0;c[l>>2]=e;if(!e){t=a[m>>0]|0;i=r;return t|0}t=c[l>>2]|0;c[n>>2]=p;c[n+4>>2]=q;c[n+8>>2]=g;c[k>>2]=E3(t,139674,n)|0;if((c[k>>2]|0)>1&+h[p>>3]>0.0&+h[q>>3]>0.0){u=+h[p>>3]*72.0;h[c[f>>2]>>3]=+(~~(+h[p>>3]*72.0>=0.0?u+.5:u-.5)|0);u=+h[q>>3]*72.0;h[(c[f>>2]|0)+8>>3]=+(~~(+h[q>>3]*72.0>=0.0?u+.5:u-.5)|0);if((a[g>>0]|0)!=33){t=a[m>>0]|0;i=r;return t|0}a[m>>0]=1;t=a[m>>0]|0;i=r;return t|0}a[g>>0]=0;t=c[l>>2]|0;c[o>>2]=p;c[o+4>>2]=g;c[k>>2]=E3(t,139684,o)|0;if(!((c[k>>2]|0)>0&+h[p>>3]>0.0)){t=a[m>>0]|0;i=r;return t|0}u=+h[p>>3]*72.0;u=+(~~(+h[p>>3]*72.0>=0.0?u+.5:u-.5)|0);h[c[f>>2]>>3]=u;h[(c[f>>2]|0)+8>>3]=u;if((a[g>>0]|0)!=33){t=a[m>>0]|0;i=r;return t|0}a[m>>0]=1;t=a[m>>0]|0;i=r;return t|0}function eK(b,e){b=b|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();f=q+20|0;g=q+16|0;l=q+25|0;o=q+12|0;m=q+8|0;n=q+4|0;p=q;k=q+24|0;c[f>>2]=b;c[g>>2]=e;c[p>>2]=c[c[g>>2]>>2];a[k>>0]=0;h[(c[g>>2]|0)+24+8>>3]=0.0;h[(c[g>>2]|0)+24>>3]=0.0;if(!(a[c[p>>2]>>0]|0)){i=q;return}c[n>>2]=0;c[m>>2]=0;c[o>>2]=c[p>>2];p=rK((e4(c[o>>2]|0)|0)+1|0)|0;c[n>>2]=p;c[m>>2]=p;a[c[m>>2]>>0]=0;while(1){p=c[o>>2]|0;c[o>>2]=p+1;p=a[p>>0]|0;a[l>>0]=p;if(!(p<<24>>24))break;a[k>>0]=a[l>>0]|0;if(((c[(c[g>>2]|0)+12>>2]|0)==2?161<=(d[k>>0]|0):0)?(d[k>>0]|0)<=254:0){p=a[l>>0]|0;e=c[n>>2]|0;c[n>>2]=e+1;a[e>>0]=p;e=c[o>>2]|0;c[o>>2]=e+1;a[l>>0]=a[e>>0]|0;e=a[l>>0]|0;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=e;if(a[l>>0]|0)continue;else break}if((a[l>>0]|0)!=92)if((a[l>>0]|0)==10){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=0;nK(c[f>>2]|0,c[g>>2]|0,c[m>>2]|0,110);c[m>>2]=c[n>>2];continue}else{e=a[l>>0]|0;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=e;continue}switch(a[c[o>>2]>>0]|0){case 114:case 108:case 110:{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=0;nK(c[f>>2]|0,c[g>>2]|0,c[m>>2]|0,a[c[o>>2]>>0]|0);c[m>>2]=c[n>>2];break}default:{e=a[c[o>>2]>>0]|0;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=e}}if(!(a[c[o>>2]>>0]|0))continue;c[o>>2]=(c[o>>2]|0)+1}if((c[m>>2]|0)!=(c[n>>2]|0)){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=0;nK(c[f>>2]|0,c[g>>2]|0,c[m>>2]|0,110)}p=(c[g>>2]|0)+40|0;o=(c[g>>2]|0)+24|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];i=q;return}function fK(b,e,f,g,k,l){b=b|0;e=e|0;f=f|0;g=+g;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;B=i;i=i+80|0;if((i|0)>=(j|0))ba();x=B+24|0;w=B+16|0;v=B+8|0;m=B+76|0;n=B+72|0;o=B+68|0;p=B;q=B+64|0;r=B+60|0;z=B+56|0;y=B+52|0;u=B+48|0;t=B+44|0;s=B+40|0;A=B+36|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;h[p>>3]=g;c[q>>2]=k;c[r>>2]=l;c[z>>2]=qK(88)|0;c[y>>2]=0;c[u>>2]=0;c[t>>2]=0;c[s>>2]=0;switch(RC(c[m>>2]|0)|0){case 0:{c[u>>2]=c[m>>2];c[y>>2]=c[(c[u>>2]|0)+48>>2];break}case 1:{c[t>>2]=c[m>>2];c[y>>2]=HC(GC(c[t>>2]|0)|0)|0;break}case 2:{c[s>>2]=c[m>>2];e=c[s>>2]|0;c[y>>2]=HC(GC(c[((c[c[s>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)|0)|0;break}default:{}}c[(c[z>>2]|0)+4>>2]=c[q>>2];c[(c[z>>2]|0)+8>>2]=c[r>>2];h[(c[z>>2]|0)+16>>3]=+h[p>>3];c[(c[z>>2]|0)+12>>2]=d[(c[(c[y>>2]|0)+8>>2]|0)+115>>0];if(c[o>>2]&4){A=d4(c[n>>2]|0)|0;c[c[z>>2]>>2]=A;if(!(c[o>>2]&2)){A=c[z>>2]|0;i=B;return A|0}a[(c[z>>2]|0)+82>>0]=1;A=c[z>>2]|0;i=B;return A|0}if((c[o>>2]|0)!=2){if(c[o>>2]|0)db(139925,139941,166,139950);m=oK(c[n>>2]|0,c[m>>2]|0,0)|0;c[c[z>>2]>>2]=m;m=c[c[z>>2]>>2]|0;if((c[(c[z>>2]|0)+12>>2]|0)==1)c[A>>2]=ZO(m)|0;else c[A>>2]=YO(m,c[y>>2]|0)|0;B1(c[c[z>>2]>>2]|0);c[c[z>>2]>>2]=c[A>>2];eK(c[(c[(c[y>>2]|0)+8>>2]|0)+144>>2]|0,c[z>>2]|0);A=c[z>>2]|0;i=B;return A|0}A=d4(c[n>>2]|0)|0;c[c[z>>2]>>2]=A;a[(c[z>>2]|0)+82>>0]=1;if(!(WT(c[m>>2]|0,c[z>>2]|0)|0)){A=c[z>>2]|0;i=B;return A|0}switch(RC(c[m>>2]|0)|0){case 0:{c[v>>2]=MB(c[u>>2]|0)|0;pA(3,139855,v)|0;A=c[z>>2]|0;i=B;return A|0}case 1:{c[w>>2]=MB(c[t>>2]|0)|0;pA(3,139877,w)|0;A=c[z>>2]|0;i=B;return A|0}case 2:{w=c[s>>2]|0;w=MB(c[((c[c[s>>2]>>2]&3|0)==3?w:w+32|0)+28>>2]|0)|0;y=(DB(c[y>>2]|0)|0)!=0;A=c[s>>2]|0;A=MB(c[((c[c[s>>2]>>2]&3|0)==2?A:A+-32|0)+28>>2]|0)|0;c[x>>2]=w;c[x+4>>2]=y?175396:178615;c[x+8>>2]=A;pA(3,139898,x)|0;A=c[z>>2]|0;i=B;return A|0}default:{A=c[z>>2]|0;i=B;return A|0}}return 0}function gK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[d>>2];if(!(c[d>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[e>>2]|0))break;if((c[f>>2]|0)==0?(c[c[g>>2]>>2]|0)!=0:0)B1(c[c[g>>2]>>2]|0);if((c[(c[g>>2]|0)+8>>2]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)Vb[c[(c[g>>2]|0)+12>>2]&127](c[(c[g>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+56;c[f>>2]=(c[f>>2]|0)+1}B1(c[d>>2]|0);i=h;return}function hK(d){d=d|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f;c[e>>2]=d;if(!(c[e>>2]|0)){i=f;return}B1(c[c[e>>2]>>2]|0);d=(c[e>>2]|0)+72|0;if(a[(c[e>>2]|0)+82>>0]|0){if(c[d>>2]|0)OT(c[(c[e>>2]|0)+72>>2]|0,1)}else gK(c[d>>2]|0,b[(c[e>>2]|0)+72+4>>1]|0);B1(c[e>>2]|0);i=f;return}function iK(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();p=q+16|0;g=q+52|0;r=q+48|0;k=q+44|0;m=q+40|0;l=q+36|0;o=q;n=q+32|0;c[g>>2]=d;c[r>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[n>>2]=c[(c[m>>2]|0)+12>>2];c[(c[m>>2]|0)+12>>2]=c[r>>2];if(a[(c[k>>2]|0)+82>>0]|0){KT(c[g>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[k>>2]|0);c[(c[m>>2]|0)+12>>2]=c[n>>2];i=q;return}if((b[(c[k>>2]|0)+72+4>>1]|0)<1){i=q;return}AR(c[g>>2]|0,0);DR(c[g>>2]|0,c[(c[k>>2]|0)+8>>2]|0);switch(a[(c[k>>2]|0)+80>>0]|0){case 116:{h[o+8>>3]=+h[(c[k>>2]|0)+56+8>>3]+ +h[(c[k>>2]|0)+40+8>>3]/2.0-+h[(c[k>>2]|0)+16>>3];break}case 98:{h[o+8>>3]=+h[(c[k>>2]|0)+56+8>>3]-+h[(c[k>>2]|0)+40+8>>3]/2.0+ +h[(c[k>>2]|0)+24+8>>3]-+h[(c[k>>2]|0)+16>>3];break}default:h[o+8>>3]=+h[(c[k>>2]|0)+56+8>>3]+ +h[(c[k>>2]|0)+24+8>>3]/2.0-+h[(c[k>>2]|0)+16>>3]}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[k>>2]|0)+72+4>>1]|0))break;switch(a[(c[(c[k>>2]|0)+72>>2]|0)+((c[l>>2]|0)*56|0)+48>>0]|0){case 108:{h[o>>3]=+h[(c[k>>2]|0)+56>>3]-+h[(c[k>>2]|0)+40>>3]/2.0;break}case 114:{h[o>>3]=+h[(c[k>>2]|0)+56>>3]+ +h[(c[k>>2]|0)+40>>3]/2.0;break}default:h[o>>3]=+h[(c[k>>2]|0)+56>>3]}f=c[g>>2]|0;r=(c[(c[k>>2]|0)+72>>2]|0)+((c[l>>2]|0)*56|0)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];CR(f,p,r);r=o+8|0;h[r>>3]=+h[r>>3]-+h[(c[(c[k>>2]|0)+72>>2]|0)+((c[l>>2]|0)*56|0)+32+8>>3];c[l>>2]=(c[l>>2]|0)+1}BR(c[g>>2]|0);c[(c[m>>2]|0)+12>>2]=c[n>>2];i=q;return}function jK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=oK(c[f>>2]|0,c[e>>2]|0,1)|0;i=d;return a|0}function kK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=lK(c[d>>2]|0,0)|0;i=b;return a|0}function lK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();f=p+20|0;g=p+24|0;k=p+16|0;n=p+12|0;m=p+8|0;h=p+4|0;l=p;c[f>>2]=b;a[g>>0]=e;c[m>>2]=0;c[l>>2]=0;if(!(c[13907]|0)){c[13908]=64;c[13907]=rK(c[13908]|0)|0}c[k>>2]=c[13907];while(1){if(!(c[f>>2]|0)){o=29;break}if(!(a[c[f>>2]>>0]|0)){o=29;break}if((c[l>>2]|0)>((c[13908]|0)-8|0)){c[13908]=c[13908]<<1;c[13907]=tK(c[13907]|0,c[13908]|0)|0;c[k>>2]=(c[13907]|0)+(c[l>>2]|0)}do if((a[c[f>>2]>>0]|0)==38){if((d[g>>0]|0)==0?(pK(c[f>>2]|0)|0)!=0:0){o=12;break}c[n>>2]=139961;c[h>>2]=5}else o=12;while(0);do if((o|0)==12){o=0;if((a[c[f>>2]>>0]|0)==60){c[n>>2]=139967;c[h>>2]=4;break}if((a[c[f>>2]>>0]|0)==62){c[n>>2]=139972;c[h>>2]=4;break}if((a[c[f>>2]>>0]|0)==45){c[n>>2]=139977;c[h>>2]=5;break}if(((c[m>>2]|0)!=0?(a[c[f>>2]>>0]|0)==32:0)?(a[c[m>>2]>>0]|0)==32:0){c[n>>2]=139983;c[h>>2]=6;break}if((a[c[f>>2]>>0]|0)==34){c[n>>2]=139990;c[h>>2]=6;break}if((a[c[f>>2]>>0]|0)==39){c[n>>2]=139997;c[h>>2]=5;break}else{c[n>>2]=c[f>>2];c[h>>2]=1;break}}while(0);while(1){b=c[h>>2]|0;c[h>>2]=b+-1;if(!b)break;e=c[n>>2]|0;c[n>>2]=e+1;e=a[e>>0]|0;b=c[k>>2]|0;c[k>>2]=b+1;a[b>>0]=e;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+1}if((o|0)==29){a[c[k>>2]>>0]=0;i=p;return c[13907]|0}return 0}function mK(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+16|0;f=l+12|0;h=l+8|0;e=l+4|0;g=l;c[d>>2]=b;c[g>>2]=0;if(!(c[13909]|0)){c[13910]=64;c[13909]=rK(c[13910]|0)|0}c[f>>2]=c[13909];while(1){if(!(c[d>>2]|0)){k=23;break}if(!(a[c[d>>2]>>0]|0)){k=23;break}if((c[g>>2]|0)>((c[13910]|0)-8|0)){c[13910]=c[13910]<<1;c[13909]=tK(c[13909]|0,c[13910]|0)|0;c[f>>2]=(c[13909]|0)+(c[g>>2]|0)}if((a[c[d>>2]>>0]|0)==38?(pK(c[d>>2]|0)|0)==0:0){c[h>>2]=139961;c[e>>2]=5}else k=11;do if((k|0)==11){k=0;if((a[c[d>>2]>>0]|0)==60){c[h>>2]=139967;c[e>>2]=4;break}if((a[c[d>>2]>>0]|0)==62){c[h>>2]=139972;c[e>>2]=4;break}if((a[c[d>>2]>>0]|0)==34){c[h>>2]=139990;c[e>>2]=6;break}if((a[c[d>>2]>>0]|0)==39){c[h>>2]=139997;c[e>>2]=5;break}else{c[h>>2]=c[d>>2];c[e>>2]=1;break}}while(0);while(1){b=c[e>>2]|0;c[e>>2]=b+-1;if(!b)break;m=c[h>>2]|0;c[h>>2]=m+1;m=a[m>>0]|0;b=c[f>>2]|0;c[f>>2]=b+1;a[b>>0]=m;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}if((k|0)==23){a[c[f>>2]>>0]=0;i=l;return c[13909]|0}return 0}function nK(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=i;i=i+64|0;if((i|0)>=(j|0))ba();l=s+48|0;m=s+44|0;n=s+40|0;o=s+52|0;q=s+16|0;r=s+36|0;k=s+32|0;p=s;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[k>>2]=(b[(c[m>>2]|0)+72+4>>1]|0)+1;if(c[(c[m>>2]|0)+72>>2]|0)d=sK(c[(c[m>>2]|0)+72>>2]|0,(c[k>>2]|0)+1|0,56,c[k>>2]|0)|0;else d=qK(((c[k>>2]|0)+1|0)*56|0)|0;c[(c[m>>2]|0)+72>>2]=d;c[r>>2]=(c[(c[m>>2]|0)+72>>2]|0)+((b[(c[m>>2]|0)+72+4>>1]|0)*56|0);c[c[r>>2]>>2]=c[n>>2];a[(c[r>>2]|0)+48>>0]=a[o>>0]|0;if((c[n>>2]|0)!=0?(a[c[n>>2]>>0]|0)!=0:0){c[8512]=c[(c[m>>2]|0)+4>>2];h[4258]=+h[(c[m>>2]|0)+16>>3];o=$b[c[c[(c[l>>2]|0)+144>>2]>>2]&63](c[(c[l>>2]|0)+144>>2]|0,34048,1)|0;c[(c[r>>2]|0)+4>>2]=o;fO(p,c[l>>2]|0,c[r>>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]}else{h[q>>3]=0.0;t=+(~~(+h[(c[m>>2]|0)+16>>3]*1.2)|0);h[q+8>>3]=t;h[(c[r>>2]|0)+32+8>>3]=t}r=(c[m>>2]|0)+72+4|0;b[r>>1]=(b[r>>1]|0)+1<<16>>16;if(+h[(c[m>>2]|0)+24>>3]>+h[q>>3]){t=+h[(c[m>>2]|0)+24>>3];r=c[m>>2]|0;r=r+24|0;h[r>>3]=t;r=q+8|0;t=+h[r>>3];r=c[m>>2]|0;r=r+24|0;r=r+8|0;u=+h[r>>3];t=u+t;h[r>>3]=t;i=s;return}else{u=+h[q>>3];r=c[m>>2]|0;r=r+24|0;h[r>>3]=u;r=q+8|0;u=+h[r>>3];r=c[m>>2]|0;r=r+24|0;r=r+8|0;t=+h[r>>3];u=t+u;h[r>>3]=u;i=s;return}}function oK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;J=i;i=i+160|0;if((i|0)>=(j|0))ba();f=J+140|0;g=J+136|0;h=J+132|0;k=J+144|0;C=J+128|0;A=J+124|0;D=J+120|0;z=J+116|0;I=J+112|0;s=J+108|0;o=J+104|0;x=J+100|0;m=J+96|0;q=J+92|0;F=J+88|0;v=J+84|0;n=J+80|0;w=J+76|0;l=J+72|0;p=J+68|0;E=J+64|0;u=J+60|0;H=J+56|0;r=J+52|0;y=J+48|0;t=J+44|0;G=J+40|0;B=J;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[I>>2]=178598;c[s>>2]=178598;c[o>>2]=140003;c[x>>2]=144035;c[m>>2]=140006;c[q>>2]=140009;c[F>>2]=140012;c[v>>2]=140015;c[n>>2]=2;c[w>>2]=2;c[l>>2]=2;c[p>>2]=2;c[E>>2]=2;c[u>>2]=2;c[H>>2]=0;c[r>>2]=0;c[y>>2]=0;c[t>>2]=0;switch(RC(c[g>>2]|0)|0){case 0:{c[o>>2]=MB(c[g>>2]|0)|0;c[n>>2]=e4(c[o>>2]|0)|0;c[G>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2];if((c[G>>2]|0)!=0?(c[v>>2]=c[c[G>>2]>>2],(c[f>>2]|0)!=0):0)c[u>>2]=e4(c[v>>2]|0)|0;break}case 1:{c[o>>2]=MB(GC(c[g>>2]|0)|0)|0;c[n>>2]=e4(c[o>>2]|0)|0;c[x>>2]=MB(c[g>>2]|0)|0;c[w>>2]=e4(c[x>>2]|0)|0;c[G>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+104>>2];if((c[G>>2]|0)!=0?(c[v>>2]=c[c[G>>2]>>2],(c[f>>2]|0)!=0):0)c[u>>2]=e4(c[v>>2]|0)|0;break}case 2:{c[t>>2]=1;b=c[g>>2]|0;c[o>>2]=MB(HC(GC(c[((c[c[g>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)|0)|0)|0;c[n>>2]=e4(c[o>>2]|0)|0;b=c[g>>2]|0;c[F>>2]=MB(c[((c[c[g>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)|0;c[E>>2]=e4(c[F>>2]|0)|0;b=B;d=(c[(c[g>>2]|0)+8>>2]|0)+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=c[B+36>>2]|0;c[I>>2]=b;if(b)c[H>>2]=e4(c[I>>2]|0)|0;b=c[g>>2]|0;c[q>>2]=MB(c[((c[c[g>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)|0;c[p>>2]=e4(c[q>>2]|0)|0;b=B;d=(c[(c[g>>2]|0)+8>>2]|0)+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));B=c[B+36>>2]|0;c[s>>2]=B;if(B)c[r>>2]=e4(c[s>>2]|0)|0;c[p>>2]=e4(c[q>>2]|0)|0;c[G>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+96>>2];if((c[G>>2]|0)!=0?(c[v>>2]=c[c[G>>2]>>2],(c[f>>2]|0)!=0):0)c[u>>2]=e4(c[v>>2]|0)|0;G=c[g>>2]|0;if(DB(HC(GC(c[((c[c[g>>2]>>2]&3|0)==3?G:G+32|0)+28>>2]|0)|0)|0)|0)c[m>>2]=175396;else c[m>>2]=178615;c[l>>2]=(c[E>>2]|0)+((c[H>>2]|0)!=0?(c[H>>2]|0)+1|0:0)+2+(c[p>>2]|0)+((c[r>>2]|0)!=0?(c[r>>2]|0)+1|0:0);break}default:{}}c[C>>2]=c[f>>2];a:while(1){G=c[C>>2]|0;c[C>>2]=G+1;G=a[G>>0]|0;a[k>>0]=G;if(!(G<<24>>24))break;if((a[k>>0]|0)!=92){c[y>>2]=(c[y>>2]|0)+1;continue}G=c[C>>2]|0;c[C>>2]=G+1;G=a[G>>0]|0;a[k>>0]=G;switch(G<<24>>24|0){case 71:{c[y>>2]=(c[y>>2]|0)+(c[n>>2]|0);continue a}case 78:{c[y>>2]=(c[y>>2]|0)+(c[w>>2]|0);continue a}case 69:{c[y>>2]=(c[y>>2]|0)+(c[l>>2]|0);continue a}case 72:{c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);continue a}case 84:{c[y>>2]=(c[y>>2]|0)+(c[E>>2]|0);continue a}case 76:{c[y>>2]=(c[y>>2]|0)+(c[u>>2]|0);continue a}case 92:{if(c[h>>2]|0){c[y>>2]=(c[y>>2]|0)+1;continue a}break}default:{}}c[y>>2]=(c[y>>2]|0)+2}c[z>>2]=rK((c[y>>2]|0)+1|0)|0;c[C>>2]=c[f>>2];c[A>>2]=c[z>>2];b:while(1){G=c[C>>2]|0;c[C>>2]=G+1;G=a[G>>0]|0;a[k>>0]=G;if(!(G<<24>>24))break;if((a[k>>0]|0)!=92){E=a[k>>0]|0;G=c[A>>2]|0;c[A>>2]=G+1;a[G>>0]=E;continue}G=c[C>>2]|0;c[C>>2]=G+1;G=a[G>>0]|0;a[k>>0]=G;switch(G<<24>>24|0){case 71:{c[D>>2]=c[o>>2];while(1){G=c[D>>2]|0;c[D>>2]=G+1;G=a[G>>0]|0;a[c[A>>2]>>0]=G;if(!(G<<24>>24))continue b;c[A>>2]=(c[A>>2]|0)+1}}case 78:{c[D>>2]=c[x>>2];while(1){G=c[D>>2]|0;c[D>>2]=G+1;G=a[G>>0]|0;a[c[A>>2]>>0]=G;if(!(G<<24>>24))continue b;c[A>>2]=(c[A>>2]|0)+1}}case 69:{if(!(c[t>>2]|0))continue b;c[D>>2]=c[F>>2];while(1){G=c[D>>2]|0;c[D>>2]=G+1;G=a[G>>0]|0;a[c[A>>2]>>0]=G;if(!(G<<24>>24))break;c[A>>2]=(c[A>>2]|0)+1}c:do if(c[H>>2]|0){G=c[A>>2]|0;c[A>>2]=G+1;a[G>>0]=58;c[D>>2]=c[I>>2];while(1){G=c[D>>2]|0;c[D>>2]=G+1;G=a[G>>0]|0;a[c[A>>2]>>0]=G;if(!(G<<24>>24))break c;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[D>>2]=c[m>>2];while(1){G=c[D>>2]|0;c[D>>2]=G+1;G=a[G>>0]|0;a[c[A>>2]>>0]=G;if(!(G<<24>>24))break;c[A>>2]=(c[A>>2]|0)+1}c[D>>2]=c[q>>2];while(1){G=c[D>>2]|0;c[D>>2]=G+1;G=a[G>>0]|0;a[c[A>>2]>>0]=G;if(!(G<<24>>24))break;c[A>>2]=(c[A>>2]|0)+1}if(!(c[r>>2]|0))continue b;G=c[A>>2]|0;c[A>>2]=G+1;a[G>>0]=58;c[D>>2]=c[s>>2];while(1){G=c[D>>2]|0;c[D>>2]=G+1;G=a[G>>0]|0;a[c[A>>2]>>0]=G;if(!(G<<24>>24))continue b;c[A>>2]=(c[A>>2]|0)+1}}case 84:{c[D>>2]=c[F>>2];while(1){G=c[D>>2]|0;c[D>>2]=G+1;G=a[G>>0]|0;a[c[A>>2]>>0]=G;if(!(G<<24>>24))continue b;c[A>>2]=(c[A>>2]|0)+1}}case 72:{c[D>>2]=c[q>>2];while(1){G=c[D>>2]|0;c[D>>2]=G+1;G=a[G>>0]|0;a[c[A>>2]>>0]=G;if(!(G<<24>>24))continue b;c[A>>2]=(c[A>>2]|0)+1}}case 76:{c[D>>2]=c[v>>2];while(1){G=c[D>>2]|0;c[D>>2]=G+1;G=a[G>>0]|0;a[c[A>>2]>>0]=G;if(!(G<<24>>24))continue b;c[A>>2]=(c[A>>2]|0)+1}}case 92:{if(c[h>>2]|0){G=c[A>>2]|0;c[A>>2]=G+1;a[G>>0]=92;continue b}break}default:{}}E=c[A>>2]|0;c[A>>2]=E+1;a[E>>0]=92;E=a[k>>0]|0;G=c[A>>2]|0;c[A>>2]=G+1;a[G>>0]=E}I=c[A>>2]|0;c[A>>2]=I+1;a[I>>0]=0;i=J;return c[z>>2]|0}function pK(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+4|0;e=g;c[e>>2]=b;c[e>>2]=(c[e>>2]|0)+1;a:do if((a[c[e>>2]>>0]|0)==35){c[e>>2]=(c[e>>2]|0)+1;if((a[c[e>>2]>>0]|0)!=120?(a[c[e>>2]>>0]|0)!=88:0)while(1){if((a[c[e>>2]>>0]|0)<48)break a;if((a[c[e>>2]>>0]|0)>57)break a;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=(c[e>>2]|0)+1;while(1){if(!((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=57:0))f=7;do if((f|0)==7){f=0;if((a[c[e>>2]>>0]|0)>=97?(a[c[e>>2]>>0]|0)<=102:0)break;if((a[c[e>>2]>>0]|0)<65)break a;if((a[c[e>>2]>>0]|0)>70)break a}while(0);c[e>>2]=(c[e>>2]|0)+1}}else while(1){if(!((a[c[e>>2]>>0]|0)>=97?(a[c[e>>2]>>0]|0)<=122:0)){if((a[c[e>>2]>>0]|0)<65)break a;if((a[c[e>>2]>>0]|0)>90)break a}c[e>>2]=(c[e>>2]|0)+1}while(0);if((a[c[e>>2]>>0]|0)==59){c[d>>2]=1;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function qK(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){c[b>>2]=0;e=c[b>>2]|0;i=f;return e|0}else{c[e>>2]=rK(c[d>>2]|0)|0;p5(c[e>>2]|0,0,c[d>>2]|0)|0;c[b>>2]=c[e>>2];e=c[b>>2]|0;i=f;return e|0}return 0}function rK(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+12|0;d=f+8|0;e=f+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){c[b>>2]=0;e=c[b>>2]|0;i=f;return e|0}c[e>>2]=A1(c[d>>2]|0)|0;if(!(c[e>>2]|0))p3(c[24742]|0,149423,f)|0;c[b>>2]=c[e>>2];e=c[b>>2]|0;i=f;return e|0}function sK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;c[n>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=D1(c[n>>2]|0,_(c[g>>2]|0,c[h>>2]|0)|0)|0;if((c[l>>2]|0)==0&(c[g>>2]|0)!=0){p3(c[24742]|0,149423,m)|0;c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}if((c[k>>2]|0)>>>0<(c[g>>2]|0)>>>0){n=(c[l>>2]|0)+(_(c[k>>2]|0,c[h>>2]|0)|0)|0;p5(n|0,0,_((c[g>>2]|0)-(c[k>>2]|0)|0,c[h>>2]|0)|0)|0}c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}function tK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=D1(c[g>>2]|0,c[f>>2]|0)|0;if(!((c[d>>2]|0)==0&(c[f>>2]|0)!=0)){g=c[d>>2]|0;i=e;return g|0}p3(c[24742]|0,149423,e)|0;g=c[d>>2]|0;i=e;return g|0}function uK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var k=0,l=0,m=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;if((i|0)>=(j|0))ba();t=x+32|0;s=x+24|0;q=x;v=4;u=A1(40)|0;c[u>>2]=0;p=x+60|0;k=x+56|0;if(a[139078]|0){n=0;Sa(59,b|0,p|0,k|0);m=n;n=0;if((m|0)!=0&(o|0)!=0){l=m5(c[m>>2]|0,u|0,v|0)|0;if(!l)hb(m|0,o|0);C=o}else l=-1;if((l|0)!=1){l=c[24742]|0;m=c[p>>2]|0;p=c[k>>2]|0;n=0;c[q>>2]=140018;c[q+4>>2]=m;c[q+8>>2]=p;c[q+12>>2]=f;c[q+16>>2]=e;Ga(36,l|0,140036,q|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)!=1){n=0;Ta(1);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)!=1)w=6;else{m=C;q=0}}else{m=C;q=0}}else{m=C;q=0}}else w=6;do if((w|0)==6){n=0;l=Ea(26,b|0)|0;k=n;n=0;if((k|0)!=0&(o|0)!=0){m=m5(c[k>>2]|0,u|0,v|0)|0;if(!m)hb(k|0,o|0);C=o}else m=-1;if((m|0)!=1){if(!l){n=0;Ta(2);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;q=0;break}}if((f|0)<=0){n=0;Aa(101,b|0);k=n;n=0;if((k|0)!=0&(o|0)!=0){l=m5(c[k>>2]|0,u|0,v|0)|0;if(!l)hb(k|0,o|0);C=o}else l=-1;if((l|0)==1){m=C;q=0;break}w=0;B1(u|0);i=x;return w|0}if((g|0)>=0)c[13911]=g;else c[13911]=30;u=k5(55648,1,u|0,v|0)|0;v=C;n=0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)!=1){m=0;q=0}else{m=C;q=0}}else{m=C;q=0}}while(0);a:while(1){if(m){w=19;break}n=0;m=Pa(2)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){g=q;m=C;q=g;continue}if(m){n=0;Aa(101,b|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){g=q;m=C;q=g;continue}else{w=23;break}}else p=q;while(1){n=0;q=Pa(3)|0;m=n;n=0;if((m|0)!=0&(o|0)!=0){l=m5(c[m>>2]|0,u|0,v|0)|0;if(!l)hb(m|0,o|0);C=o}else l=-1;if((l|0)==1){m=C;q=p;continue a}if(!q){g=p;break}n=0;m=Ea(27,q|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;q=p;continue a}n=0;Ca(20,q|0,m|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;q=p;continue a}q=p+1|0;if((d[139078]|0)!=0?((q|0)%100|0|0)==0:0){if(((q|0)%1e3|0|0)==100){n=0;Na(93,140018,c[24742]|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;continue a}}l=c[24742]|0;n=0;c[s>>2]=q;Ga(36,l|0,140080,s|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;continue a}if(!((q|0)%1e3|0)){n=0;Na(94,10,c[24742]|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;continue a}}}if((q|0)>=(f|0)){g=q;break}else p=q}switch(e|0){case 1:{n=0;Ta(3);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;q=g;continue a}break}case 2:{n=0;Ta(4);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;q=g;continue a}break}default:{n=0;Ta(5);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;q=g;continue a}n=0;Aa(101,c[13951]|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;q=g;continue a}}}if(!(a[139078]|0))break;if((g|0)>=100){n=0;Na(94,10,c[24742]|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;q=g;continue}}q=c[24742]|0;p=c[13952]|0;m=c[13953]|0;n=0;r=+Oa(1);l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;q=g;continue}n=0;c[t>>2]=140018;c[t+4>>2]=p;c[t+8>>2]=m;c[t+12>>2]=g;h[t+16>>3]=r;Ga(36,q|0,140084,t|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){k=m5(c[l>>2]|0,u|0,v|0)|0;if(!k)hb(l|0,o|0);C=o}else k=-1;if((k|0)==1){m=C;q=g}else{w=52;break}}if((w|0)==19){w=2;B1(u|0);i=x;return w|0}else if((w|0)==23){w=1;B1(u|0);i=x;return w|0}w=0;B1(u|0);i=x;return w|0}function vK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;d=OA(c[e>>2]|0,140122)|0;c[h>>2]=d;if(d)c[k>>2]=N3(c[h>>2]|0)|0;else c[k>>2]=30;k=uK(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[k>>2]|0)|0;i=l;return k|0}function wK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();o=n+28|0;e=n+24|0;f=n+20|0;h=n+16|0;m=n+12|0;l=n+8|0;k=n+4|0;g=n;c[o>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=0;c[m>>2]=0;c[k>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+192>>2];while(1){a=c[m>>2]|0;if(!(c[k>>2]|0))break;c[m>>2]=a+1;c[h>>2]=0;while(1){o=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+180>>2]|0)+(c[h>>2]<<2)>>2]|0;c[g>>2]=o;if(!o)break;c[l>>2]=(c[l>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+164>>2]}c[c[e>>2]>>2]=a;c[c[f>>2]>>2]=c[l>>2];i=n;return}function xK(b){b=b|0;var d=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;f=l;c[d>>2]=b;c[13951]=c[d>>2];c[13962]=0;c[13953]=0;c[13952]=0;c[k>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[k>>2]|0))break;a[(c[(c[k>>2]|0)+8>>2]|0)+157>>0]=0;c[13952]=(c[13952]|0)+1;c[h>>2]=0;while(1){b=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+180>>2]|0)+(c[h>>2]<<2)>>2]|0;c[f>>2]=b;if(!b)break;c[13953]=(c[13953]|0)+1;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+164>>2]}if(c[13963]|0)b=tK(c[13963]|0,c[13952]<<2)|0;else b=rK(c[13952]<<2)|0;c[13963]=b;c[13964]=0;if(c[13956]|0)b=tK(c[13956]|0,c[13952]<<2)|0;else b=rK(c[13952]<<2)|0;c[13956]=b;c[13957]=0;c[g>>2]=1;c[k>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[k>>2]|0))break;c[(c[(c[k>>2]|0)+8>>2]|0)+292>>2]=0;c[h>>2]=0;while(1){d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+172>>2]|0)+(c[h>>2]<<2)>>2]|0;c[f>>2]=d;if(!d)break;d=(c[(c[k>>2]|0)+8>>2]|0)+292|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[(c[f>>2]|0)+8>>2]|0)+160>>2]=0;c[(c[(c[f>>2]|0)+8>>2]|0)+164>>2]=-1;if((c[g>>2]|0)!=0?(b=c[f>>2]|0,d=c[f>>2]|0,((c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)|0)<(e[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]|0|0)):0)c[g>>2]=0;c[h>>2]=(c[h>>2]|0)+1}d=qK((c[h>>2]|0)+1<<2)|0;c[(c[(c[k>>2]|0)+8>>2]|0)+264>>2]=d;c[(c[(c[k>>2]|0)+8>>2]|0)+264+4>>2]=0;c[h>>2]=0;while(1){d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+180>>2]|0)+(c[h>>2]<<2)>>2]|0;c[f>>2]=d;b=(c[h>>2]|0)+1|0;if(!d)break;c[h>>2]=b}d=qK(b<<2)|0;c[(c[(c[k>>2]|0)+8>>2]|0)+272>>2]=d;c[(c[(c[k>>2]|0)+8>>2]|0)+272+4>>2]=0;c[k>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+164>>2]}i=l;return c[g>>2]|0}function yK(){var a=0,b=0,d=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m+8|0;k=m;g=m+32|0;d=m+28|0;b=m+24|0;h=m+20|0;f=m+16|0;c[b>>2]=pO(c[13952]|0)|0;c[d>>2]=0;c[h>>2]=c[(c[(c[13951]|0)+8>>2]|0)+192>>2];while(1){if(!(c[h>>2]|0))break;if(!(c[(c[(c[h>>2]|0)+8>>2]|0)+292>>2]|0))rO(c[b>>2]|0,c[h>>2]|0);c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+164>>2]}a:while(1){a=sO(c[b>>2]|0)|0;c[h>>2]=a;if(!a)break;c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]=0;c[d>>2]=(c[d>>2]|0)+1;c[g>>2]=0;while(1){a=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+172>>2]|0)+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a)break;a=c[f>>2]|0;if((c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0)>((c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)+(e[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]|0)|0))a=c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0;else{a=c[f>>2]|0;a=(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)+(e[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]|0)|0}c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]=a;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){a=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+180>>2]|0)+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a)continue a;n=c[f>>2]|0;n=(c[(c[((c[c[f>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2]|0)+8>>2]|0)+292|0;a=(c[n>>2]|0)+-1|0;c[n>>2]=a;if((a|0)<=0){n=c[f>>2]|0;rO(c[b>>2]|0,c[((c[c[f>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}}if((c[d>>2]|0)==(c[13952]|0)){n=c[b>>2]|0;qO(n);i=m;return}pA(1,140275,k)|0;c[h>>2]=c[(c[(c[13951]|0)+8>>2]|0)+192>>2];while(1){if(!(c[h>>2]|0))break;if(c[(c[(c[h>>2]|0)+8>>2]|0)+292>>2]|0){k=MB(c[h>>2]|0)|0;n=c[(c[(c[h>>2]|0)+8>>2]|0)+292>>2]|0;c[l>>2]=k;c[l+4>>2]=n;pA(3,140297,l)|0}c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+164>>2]}n=c[b>>2]|0;qO(n);i=m;return}function zK(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[e+4>>2]=b;c[d>>2]=c[(c[(c[13951]|0)+8>>2]|0)+192>>2];while(1){if(!(c[d>>2]|0))break;if(c[(c[(c[d>>2]|0)+8>>2]|0)+264>>2]|0)B1(c[(c[(c[d>>2]|0)+8>>2]|0)+264>>2]|0);if(c[(c[(c[d>>2]|0)+8>>2]|0)+272>>2]|0)B1(c[(c[(c[d>>2]|0)+8>>2]|0)+272>>2]|0);a[(c[(c[d>>2]|0)+8>>2]|0)+157>>0]=0;c[d>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]}i=e;return}function AK(){var a=0,b=0,d=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();h=k+20|0;f=k+16|0;a=k+12|0;g=k+8|0;b=k+4|0;d=k;if((c[13952]|0)<=1){c[h>>2]=0;h=c[h>>2]|0;i=k;return h|0}a:while(1){l=NK()|0;if((l|0)>=(c[13952]|0)){a=23;break}c[b>>2]=0;c[g>>2]=c[(c[(c[13951]|0)+8>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=0;while(1){l=c[(c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]|0)+(c[f>>2]<<2)>>2]|0;c[d>>2]=l;if(!l)break;do if(((c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]|0)>=0|0)==0?(OK(c[d>>2]|0)|0)!=0:0){if((c[b>>2]|0)!=0?(o=c[d>>2]|0,n=c[d>>2]|0,m=c[b>>2]|0,l=c[b>>2]|0,((c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?o:o+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?n:n+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(e[(c[(c[d>>2]|0)+8>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((c[c[b>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?l:l+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(e[(c[(c[b>>2]|0)+8>>2]|0)+170>>1]|0)|0)):0)break;c[b>>2]=c[d>>2]}while(0);c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+164>>2]}if(!(c[b>>2]|0)){a=22;break}n=c[b>>2]|0;o=c[b>>2]|0;c[a>>2]=(c[(c[(c[((c[c[b>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?o:o+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(e[(c[(c[b>>2]|0)+8>>2]|0)+170>>1]|0);if(!(c[a>>2]|0))continue;n=OK(c[b>>2]|0)|0;o=c[b>>2]|0;if((n|0)==(c[((c[c[b>>2]>>2]&3|0)==2?o:o+-32|0)+28>>2]|0))c[a>>2]=0-(c[a>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[13964]|0))continue a;o=(c[(c[(c[13963]|0)+(c[f>>2]<<2)>>2]|0)+8>>2]|0)+232|0;c[o>>2]=(c[o>>2]|0)+(c[a>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}if((a|0)==22){c[h>>2]=1;o=c[h>>2]|0;i=k;return o|0}else if((a|0)==23){PK();c[h>>2]=0;o=c[h>>2]|0;i=k;return o|0}return 0}function BK(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();a=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;b=h;c[f>>2]=0;c[b>>2]=0;c[e>>2]=c[13962];while(1){if((c[13962]|0)>=(c[13957]|0))break;k=c[(c[13956]|0)+(c[13962]<<2)>>2]|0;c[d>>2]=k;if((c[(c[k+8>>2]|0)+160>>2]|0)<0){if(c[f>>2]|0){if((c[(c[(c[f>>2]|0)+8>>2]|0)+160>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+160>>2]|0))c[f>>2]=c[d>>2]}else c[f>>2]=c[(c[13956]|0)+(c[13962]<<2)>>2];k=(c[b>>2]|0)+1|0;c[b>>2]=k;if((k|0)>=(c[13911]|0)){g=9;break}}c[13962]=(c[13962]|0)+1}if((g|0)==9){c[a>>2]=c[f>>2];k=c[a>>2]|0;i=h;return k|0}a:do if((c[e>>2]|0)>0){c[13962]=0;while(1){if((c[13962]|0)>=(c[e>>2]|0))break a;k=c[(c[13956]|0)+(c[13962]<<2)>>2]|0;c[d>>2]=k;if((c[(c[k+8>>2]|0)+160>>2]|0)<0){if(c[f>>2]|0){if((c[(c[(c[f>>2]|0)+8>>2]|0)+160>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+160>>2]|0))c[f>>2]=c[d>>2]}else c[f>>2]=c[(c[13956]|0)+(c[13962]<<2)>>2];k=(c[b>>2]|0)+1|0;c[b>>2]=k;if((k|0)>=(c[13911]|0))break}c[13962]=(c[13962]|0)+1}c[a>>2]=c[f>>2];k=c[a>>2]|0;i=h;return k|0}while(0);c[a>>2]=c[f>>2];k=c[a>>2]|0;i=h;return k|0}function CK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;h=c[b>>2]|0;g=c[b>>2]|0;a=c[c[b>>2]>>2]&3;if((c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?h:h+32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)<(c[(c[(c[((c[c[b>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)){h=c[b>>2]|0;c[d>>2]=c[((a|0)==3?h:h+32|0)+28>>2];c[e>>2]=0}else{h=c[b>>2]|0;c[d>>2]=c[((a|0)==2?h:h+-32|0)+28>>2];c[e>>2]=1}c[13958]=0;c[13959]=2147483647;c[13960]=c[(c[(c[d>>2]|0)+8>>2]|0)+284>>2];c[13961]=c[(c[(c[d>>2]|0)+8>>2]|0)+288>>2];a=c[d>>2]|0;if(c[e>>2]|0){LK(a);h=c[13958]|0;i=f;return h|0}else{MK(a);h=c[13958]|0;i=f;return h|0}return 0}function DK(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n;f=n+24|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;d=n+4|0;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;a=c[g>>2]|0;c[k>>2]=(c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(e[(c[(c[g>>2]|0)+8>>2]|0)+170>>1]|0);do if((c[k>>2]|0)>0){a=c[f>>2]|0;b=c[f>>2]|0;c[d>>2]=(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+264+4>>2]|0)+(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+272+4>>2]|0);b=c[c[f>>2]>>2]&3;if((c[d>>2]|0)==1){d=c[f>>2]|0;HK(c[((b|0)==3?d:d+32|0)+28>>2]|0,c[k>>2]|0);break}o=c[f>>2]|0;a=c[f>>2]|0;c[d>>2]=(c[(c[(c[((b|0)==2?o:o+-32|0)+28>>2]|0)+8>>2]|0)+264+4>>2]|0)+(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+272+4>>2]|0);a=c[c[f>>2]>>2]&3;if((c[d>>2]|0)==1){o=c[f>>2]|0;HK(c[((a|0)==2?o:o+-32|0)+28>>2]|0,0-(c[k>>2]|0)|0);break}d=c[f>>2]|0;o=c[f>>2]|0;b=c[c[f>>2]>>2]&3;if((c[(c[(c[((a|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)<(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?o:o+-32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)){o=c[f>>2]|0;HK(c[((b|0)==3?o:o+32|0)+28>>2]|0,c[k>>2]|0);break}else{o=c[f>>2]|0;HK(c[((b|0)==2?o:o+-32|0)+28>>2]|0,0-(c[k>>2]|0)|0);break}}while(0);c[h>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+160>>2];o=c[g>>2]|0;k=c[g>>2]|0;c[l>>2]=IK(c[((c[c[g>>2]>>2]&3|0)==3?o:o+32|0)+28>>2]|0,c[((c[c[g>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0,c[h>>2]|0,1)|0;k=c[g>>2]|0;o=c[g>>2]|0;o=IK(c[((c[c[g>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0,c[((c[c[g>>2]>>2]&3|0)==3?o:o+32|0)+28>>2]|0,c[h>>2]|0,0)|0;if((o|0)!=(c[l>>2]|0)){pA(1,140133,m)|0;hb(55648,1)}else{c[(c[(c[g>>2]|0)+8>>2]|0)+160>>2]=0-(c[h>>2]|0);c[(c[(c[f>>2]|0)+8>>2]|0)+160>>2]=0;JK(c[f>>2]|0,c[g>>2]|0);KK(c[l>>2]|0,c[(c[(c[l>>2]|0)+8>>2]|0)+280>>2]|0,c[(c[(c[l>>2]|0)+8>>2]|0)+284>>2]|0)|0;i=n;return}}function EK(){var b=0,d=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();m=p+32|0;f=p+28|0;h=p+24|0;l=p+20|0;g=p+16|0;d=p+12|0;n=p+8|0;k=p+4|0;o=p;GK();c[n>>2]=qK((c[13955]|0)+1<<2)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>(c[13955]|0))break;c[(c[n>>2]|0)+(c[h>>2]<<2)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}c[m>>2]=c[(c[(c[13951]|0)+8>>2]|0)+192>>2];while(1){if(!(c[m>>2]|0))break;if(!(a[(c[(c[m>>2]|0)+8>>2]|0)+156>>0]|0)){b=(c[n>>2]|0)+(c[(c[(c[m>>2]|0)+8>>2]|0)+232>>2]<<2)|0;c[b>>2]=(c[b>>2]|0)+1}c[m>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+164>>2]}c[m>>2]=c[(c[(c[13951]|0)+8>>2]|0)+192>>2];while(1){if(!(c[m>>2]|0))break;if(!(a[(c[(c[m>>2]|0)+8>>2]|0)+156>>0]|0)){c[o>>2]=0;c[k>>2]=0;c[l>>2]=0;c[g>>2]=c[13955];c[h>>2]=0;while(1){b=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+172>>2]|0)+(c[h>>2]<<2)>>2]|0;c[f>>2]=b;if(!b)break;c[k>>2]=(c[k>>2]|0)+(c[(c[(c[f>>2]|0)+8>>2]|0)+156>>2]|0);b=c[f>>2]|0;if((c[l>>2]|0)>((c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)+(e[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]|0)|0))b=c[l>>2]|0;else{b=c[f>>2]|0;b=(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)+(e[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]|0)|0}c[l>>2]=b;c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){b=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+180>>2]|0)+(c[h>>2]<<2)>>2]|0;c[f>>2]=b;if(!b)break;c[o>>2]=(c[o>>2]|0)+(c[(c[(c[f>>2]|0)+8>>2]|0)+156>>2]|0);b=c[f>>2]|0;if((c[g>>2]|0)<((c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(e[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]|0)|0))b=c[g>>2]|0;else{b=c[f>>2]|0;b=(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(e[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]|0)|0}c[g>>2]=b;c[h>>2]=(c[h>>2]|0)+1}if((c[l>>2]|0)<0)c[l>>2]=0;if((c[k>>2]|0)==(c[o>>2]|0)){c[d>>2]=c[l>>2];c[h>>2]=(c[l>>2]|0)+1;while(1){if((c[h>>2]|0)>(c[g>>2]|0))break;if((c[(c[n>>2]|0)+(c[h>>2]<<2)>>2]|0)<(c[(c[n>>2]|0)+(c[d>>2]<<2)>>2]|0))c[d>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}b=(c[n>>2]|0)+(c[(c[(c[m>>2]|0)+8>>2]|0)+232>>2]<<2)|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[n>>2]|0)+(c[d>>2]<<2)|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[(c[m>>2]|0)+8>>2]|0)+232>>2]=c[d>>2]}if(c[(c[(c[m>>2]|0)+8>>2]|0)+264>>2]|0)B1(c[(c[(c[m>>2]|0)+8>>2]|0)+264>>2]|0);if(c[(c[(c[m>>2]|0)+8>>2]|0)+272>>2]|0)B1(c[(c[(c[m>>2]|0)+8>>2]|0)+272>>2]|0);a[(c[(c[m>>2]|0)+8>>2]|0)+157>>0]=0}c[m>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+164>>2]}B1(c[n>>2]|0);i=p;return}function FK(){var a=0,b=0,d=0,f=0,g=0,h=0,k=0,l=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();g=h+12|0;b=h+8|0;d=h+4|0;f=h;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[13957]|0))break;c[d>>2]=c[(c[13956]|0)+(c[g>>2]<<2)>>2];do if(((c[(c[(c[d>>2]|0)+8>>2]|0)+160>>2]|0)==0?(c[f>>2]=CK(c[d>>2]|0)|0,(c[f>>2]|0)!=0):0)?(k=c[f>>2]|0,a=c[f>>2]|0,c[b>>2]=(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(e[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]|0),(c[b>>2]|0)>1):0){l=c[d>>2]|0;k=c[d>>2]|0;a=c[c[d>>2]>>2]&3;if((c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?l:l+32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)<(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)){l=c[d>>2]|0;HK(c[((a|0)==3?l:l+32|0)+28>>2]|0,(c[b>>2]|0)/2|0);break}else{l=c[d>>2]|0;HK(c[((a|0)==2?l:l+-32|0)+28>>2]|0,(0-(c[b>>2]|0)|0)/2|0);break}}while(0);c[g>>2]=(c[g>>2]|0)+1}zK(c[13951]|0);i=h;return}function GK(){var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[13954]=2147483647;c[13955]=-2147483647;c[d>>2]=c[(c[(c[13951]|0)+8>>2]|0)+192>>2];while(1){if(!(c[d>>2]|0))break;if(!(a[(c[(c[d>>2]|0)+8>>2]|0)+156>>0]|0)){if((c[13954]|0)<(c[(c[(c[d>>2]|0)+8>>2]|0)+232>>2]|0))b=c[13954]|0;else b=c[(c[(c[d>>2]|0)+8>>2]|0)+232>>2]|0;c[13954]=b;if((c[13955]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+232>>2]|0))b=c[13955]|0;else b=c[(c[(c[d>>2]|0)+8>>2]|0)+232>>2]|0;c[13955]=b}c[d>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]}if(!(c[13954]|0)){i=e;return}c[d>>2]=c[(c[(c[13951]|0)+8>>2]|0)+192>>2];while(1){b=c[13954]|0;if(!(c[d>>2]|0))break;f=(c[(c[d>>2]|0)+8>>2]|0)+232|0;c[f>>2]=(c[f>>2]|0)-b;c[d>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]}c[13955]=(c[13955]|0)-b;c[13954]=0;i=e;return}function HK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;a=(c[(c[d>>2]|0)+8>>2]|0)+232|0;c[a>>2]=(c[a>>2]|0)-(c[e>>2]|0);c[g>>2]=0;while(1){a=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+272>>2]|0)+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a)break;if((c[f>>2]|0)!=(c[(c[(c[d>>2]|0)+8>>2]|0)+280>>2]|0)){a=c[f>>2]|0;HK(c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0,c[e>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){a=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+264>>2]|0)+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a)break;if((c[f>>2]|0)!=(c[(c[(c[d>>2]|0)+8>>2]|0)+280>>2]|0)){a=c[f>>2]|0;HK(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0,c[e>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}i=h;return}function IK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;m=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;while(1){if((c[(c[(c[f>>2]|0)+8>>2]|0)+284>>2]|0)<=(c[(c[(c[g>>2]|0)+8>>2]|0)+288>>2]|0))a=(c[(c[(c[g>>2]|0)+8>>2]|0)+288>>2]|0)<=(c[(c[(c[f>>2]|0)+8>>2]|0)+288>>2]|0);else a=0;e=c[f>>2]|0;if(!(a^1))break;c[m>>2]=c[(c[e+8>>2]|0)+280>>2];b=c[m>>2]|0;a=c[k>>2]|0;if((c[f>>2]|0)==(c[((c[c[m>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0))c[l>>2]=a;else c[l>>2]=((a|0)!=0^1)&1;e=c[h>>2]|0;a=(c[(c[m>>2]|0)+8>>2]|0)+160|0;d=c[a>>2]|0;if(c[l>>2]|0)c[a>>2]=d+e;else c[a>>2]=d-e;d=c[m>>2]|0;b=c[m>>2]|0;a=c[c[m>>2]>>2]&3;if((c[(c[(c[((c[c[m>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)>(c[(c[(c[((c[c[m>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)){b=c[m>>2]|0;c[f>>2]=c[((a|0)==3?b:b+32|0)+28>>2];continue}else{b=c[m>>2]|0;c[f>>2]=c[((a|0)==2?b:b+-32|0)+28>>2];continue}}i=n;return e|0}function JK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[d>>2]=a;c[e>>2]=b;c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2];c[(c[13956]|0)+(c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]<<2)>>2]=c[e>>2];c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]=-1;a=c[d>>2]|0;c[h>>2]=c[((c[c[d>>2]>>2]&3|0)==3?a:a+32|0)+28>>2];a=(c[(c[h>>2]|0)+8>>2]|0)+272+4|0;b=(c[a>>2]|0)+-1|0;c[a>>2]=b;c[f>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>(c[f>>2]|0))break;if((c[(c[(c[(c[h>>2]|0)+8>>2]|0)+272>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[(c[(c[h>>2]|0)+8>>2]|0)+272>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+272>>2]|0)+(c[f>>2]<<2)>>2];c[(c[(c[(c[h>>2]|0)+8>>2]|0)+272>>2]|0)+(c[f>>2]<<2)>>2]=0;a=c[d>>2]|0;c[h>>2]=c[((c[c[d>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2];a=(c[(c[h>>2]|0)+8>>2]|0)+264+4|0;b=(c[a>>2]|0)+-1|0;c[a>>2]=b;c[f>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>(c[f>>2]|0))break;if((c[(c[(c[(c[h>>2]|0)+8>>2]|0)+264>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[(c[(c[h>>2]|0)+8>>2]|0)+264>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+264>>2]|0)+(c[f>>2]<<2)>>2];c[(c[(c[(c[h>>2]|0)+8>>2]|0)+264>>2]|0)+(c[f>>2]<<2)>>2]=0;b=c[e>>2]|0;c[h>>2]=c[((c[c[e>>2]>>2]&3|0)==3?b:b+32|0)+28>>2];b=c[e>>2]|0;g=(c[(c[h>>2]|0)+8>>2]|0)+272+4|0;f=c[g>>2]|0;c[g>>2]=f+1;c[(c[(c[(c[h>>2]|0)+8>>2]|0)+272>>2]|0)+(f<<2)>>2]=b;c[(c[(c[(c[h>>2]|0)+8>>2]|0)+272>>2]|0)+(c[(c[(c[h>>2]|0)+8>>2]|0)+272+4>>2]<<2)>>2]=0;f=c[e>>2]|0;c[h>>2]=c[((c[c[e>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2];f=c[e>>2]|0;b=(c[(c[h>>2]|0)+8>>2]|0)+264+4|0;g=c[b>>2]|0;c[b>>2]=g+1;c[(c[(c[(c[h>>2]|0)+8>>2]|0)+264>>2]|0)+(g<<2)>>2]=f;c[(c[(c[(c[h>>2]|0)+8>>2]|0)+264>>2]|0)+(c[(c[(c[h>>2]|0)+8>>2]|0)+264+4>>2]<<2)>>2]=0;i=k;return}function KK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+20|0;f=l+16|0;m=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[m>>2]=d;c[k>>2]=c[m>>2];c[(c[(c[e>>2]|0)+8>>2]|0)+280>>2]=c[f>>2];c[(c[(c[e>>2]|0)+8>>2]|0)+284>>2]=c[m>>2];c[h>>2]=0;while(1){m=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+272>>2]|0)+(c[h>>2]<<2)>>2]|0;c[g>>2]=m;if(!m)break;if((c[g>>2]|0)!=(c[f>>2]|0)){m=c[g>>2]|0;c[k>>2]=KK(c[((c[c[g>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2]|0,c[g>>2]|0,c[k>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){m=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+264>>2]|0)+(c[h>>2]<<2)>>2]|0;c[g>>2]=m;if(!m)break;if((c[g>>2]|0)!=(c[f>>2]|0)){m=c[g>>2]|0;c[k>>2]=KK(c[((c[c[g>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]|0,c[g>>2]|0,c[k>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}c[(c[(c[e>>2]|0)+8>>2]|0)+288>>2]=c[k>>2];i=l;return (c[k>>2]|0)+1|0}function LK(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();b=h+12|0;f=h+8|0;g=h+4|0;d=h;c[b>>2]=a;c[f>>2]=0;while(1){a=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0)+(c[f>>2]<<2)>>2]|0;c[d>>2]=a;if(!a)break;do if(!((c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]|0)>=0|0)){a=c[d>>2]|0;if((c[13960]|0)<=(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)?(a=c[d>>2]|0,(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)<=(c[13961]|0)):0)break;k=c[d>>2]|0;a=c[d>>2]|0;c[g>>2]=(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(e[(c[(c[d>>2]|0)+8>>2]|0)+170>>1]|0);if((c[13958]|0)==0?1:(c[g>>2]|0)<(c[13959]|0)){c[13958]=c[d>>2];c[13959]=c[g>>2]}}else{k=c[d>>2]|0;if((c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)<(c[(c[(c[b>>2]|0)+8>>2]|0)+288>>2]|0)){k=c[d>>2]|0;LK(c[((c[c[d>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)}}while(0);c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){k=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+264>>2]|0)+(c[f>>2]<<2)>>2]|0;c[d>>2]=k;if(!((k|0)!=0?(c[13959]|0)>0:0))break;k=c[d>>2]|0;if((c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?k:k+32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)<(c[(c[(c[b>>2]|0)+8>>2]|0)+288>>2]|0)){k=c[d>>2]|0;LK(c[((c[c[d>>2]>>2]&3|0)==3?k:k+32|0)+28>>2]|0)}c[f>>2]=(c[f>>2]|0)+1}i=h;return}function MK(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();b=h+12|0;f=h+8|0;g=h+4|0;d=h;c[b>>2]=a;c[f>>2]=0;while(1){a=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+172>>2]|0)+(c[f>>2]<<2)>>2]|0;c[d>>2]=a;if(!a)break;do if(!((c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]|0)>=0|0)){a=c[d>>2]|0;if((c[13960]|0)<=(c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)?(a=c[d>>2]|0,(c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)<=(c[13961]|0)):0)break;k=c[d>>2]|0;a=c[d>>2]|0;c[g>>2]=(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(e[(c[(c[d>>2]|0)+8>>2]|0)+170>>1]|0);if((c[13958]|0)==0?1:(c[g>>2]|0)<(c[13959]|0)){c[13958]=c[d>>2];c[13959]=c[g>>2]}}else{k=c[d>>2]|0;if((c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?k:k+32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)<(c[(c[(c[b>>2]|0)+8>>2]|0)+288>>2]|0)){k=c[d>>2]|0;MK(c[((c[c[d>>2]>>2]&3|0)==3?k:k+32|0)+28>>2]|0)}}while(0);c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){k=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+272>>2]|0)+(c[f>>2]<<2)>>2]|0;c[d>>2]=k;if(!((k|0)!=0?(c[13959]|0)>0:0))break;k=c[d>>2]|0;if((c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+288>>2]|0)<(c[(c[(c[b>>2]|0)+8>>2]|0)+288>>2]|0)){k=c[d>>2]|0;MK(c[((c[c[d>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)}c[f>>2]=(c[f>>2]|0)+1}i=h;return}function NK(){var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[d>>2]=c[(c[(c[13951]|0)+8>>2]|0)+192>>2];while(1){if(!(c[d>>2]|0))break;a[(c[(c[d>>2]|0)+8>>2]|0)+157>>0]=0;c[c[(c[(c[d>>2]|0)+8>>2]|0)+272>>2]>>2]=0;c[c[(c[(c[d>>2]|0)+8>>2]|0)+264>>2]>>2]=0;c[(c[(c[d>>2]|0)+8>>2]|0)+272+4>>2]=0;c[(c[(c[d>>2]|0)+8>>2]|0)+264+4>>2]=0;c[d>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]}c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[13957]|0))break;c[(c[(c[(c[13956]|0)+(c[b>>2]<<2)>>2]|0)+8>>2]|0)+164>>2]=-1;c[b>>2]=(c[b>>2]|0)+1}c[13957]=0;c[13964]=0;c[d>>2]=c[(c[(c[13951]|0)+8>>2]|0)+192>>2];while(1){if(!((c[d>>2]|0)!=0?(c[13957]|0)==0:0))break;TK(c[d>>2]|0)|0;c[d>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]}i=e;return c[13964]|0}function OK(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[e>>2]=b;g=c[e>>2]|0;b=c[e>>2]|0;b=a[(c[(c[((c[c[e>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+157>>0]|0;if(a[(c[(c[((c[c[e>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)+8>>2]|0)+157>>0]|0){if(!(b<<24>>24)){g=c[e>>2]|0;c[d>>2]=c[((c[c[e>>2]>>2]&3|0)==3?g:g+32|0)+28>>2];g=c[d>>2]|0;i=f;return g|0}}else if(b<<24>>24){g=c[e>>2]|0;c[d>>2]=c[((c[c[e>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2];g=c[d>>2]|0;i=f;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}function PK(){KK(c[(c[(c[13951]|0)+8>>2]|0)+192>>2]|0,0,1)|0;QK(c[(c[(c[13951]|0)+8>>2]|0)+192>>2]|0,0);return}function QK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;while(1){a=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+272>>2]|0)+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a)break;if((c[f>>2]|0)!=(c[e>>2]|0)){a=c[f>>2]|0;QK(c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0,c[f>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){a=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+264>>2]|0)+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a)break;if((c[f>>2]|0)!=(c[e>>2]|0)){a=c[f>>2]|0;QK(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0,c[f>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}if(!(c[e>>2]|0)){i=h;return}RK(c[e>>2]|0);i=h;return}function RK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();b=k+20|0;h=k+16|0;e=k+12|0;f=k+8|0;g=k+4|0;d=k;c[b>>2]=a;l=c[b>>2]|0;a=c[c[b>>2]>>2]&3;if((c[(c[(c[((c[c[b>>2]>>2]&3|0)==3?l:l+32|0)+28>>2]|0)+8>>2]|0)+280>>2]|0)==(c[b>>2]|0)){l=c[b>>2]|0;c[h>>2]=c[((a|0)==3?l:l+32|0)+28>>2];c[d>>2]=1}else{l=c[b>>2]|0;c[h>>2]=c[((a|0)==2?l:l+-32|0)+28>>2];c[d>>2]=-1}c[g>>2]=0;c[f>>2]=0;while(1){l=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+180>>2]|0)+(c[f>>2]<<2)>>2]|0;c[e>>2]=l;if(!l)break;l=SK(c[e>>2]|0,c[h>>2]|0,c[d>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+l;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){l=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+172>>2]|0)+(c[f>>2]<<2)>>2]|0;c[e>>2]=l;if(!l)break;l=SK(c[e>>2]|0,c[h>>2]|0,c[d>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+l;c[f>>2]=(c[f>>2]|0)+1}c[(c[(c[b>>2]|0)+8>>2]|0)+160>>2]=c[g>>2];i=k;return}function SK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+24|0;g=n+20|0;h=n+16|0;e=n+12|0;k=n+8|0;m=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[f>>2]|0;d=c[c[f>>2]>>2]&3;if((c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)==(c[g>>2]|0)){b=c[f>>2]|0;c[e>>2]=c[((d|0)==2?b:b+-32|0)+28>>2]}else{b=c[f>>2]|0;c[e>>2]=c[((d|0)==3?b:b+32|0)+28>>2]}if((c[(c[(c[g>>2]|0)+8>>2]|0)+284>>2]|0)<=(c[(c[(c[e>>2]|0)+8>>2]|0)+288>>2]|0)?(c[(c[(c[e>>2]|0)+8>>2]|0)+288>>2]|0)<=(c[(c[(c[g>>2]|0)+8>>2]|0)+288>>2]|0):0){c[l>>2]=0;if((c[(c[(c[f>>2]|0)+8>>2]|0)+164>>2]|0)>=0)c[m>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+160>>2];else c[m>>2]=0;c[m>>2]=(c[m>>2]|0)-(c[(c[(c[f>>2]|0)+8>>2]|0)+156>>2]|0)}else{c[l>>2]=1;c[m>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+156>>2]}d=c[c[f>>2]>>2]&3;do if((c[h>>2]|0)>0){h=c[f>>2]|0;if((c[((d|0)==2?h:h+-32|0)+28>>2]|0)==(c[g>>2]|0)){c[k>>2]=1;break}else{c[k>>2]=-1;break}}else{h=c[f>>2]|0;if((c[((d|0)==3?h:h+32|0)+28>>2]|0)==(c[g>>2]|0)){c[k>>2]=1;break}else{c[k>>2]=-1;break}}while(0);if(c[l>>2]|0)c[k>>2]=0-(c[k>>2]|0);if((c[k>>2]|0)>=0){m=c[m>>2]|0;i=n;return m|0}c[m>>2]=0-(c[m>>2]|0);m=c[m>>2]|0;i=n;return m|0}function TK(b){b=b|0;var d=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();d=l+12|0;f=l+8|0;h=l+4|0;g=l;c[f>>2]=b;c[h>>2]=0;while(1){b=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0)+(c[h>>2]<<2)>>2]|0;c[g>>2]=b;if(!b)break;b=c[g>>2]|0;if((a[(c[(c[((c[c[g>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+157>>0]|0)==0?(m=c[g>>2]|0,b=c[g>>2]|0,((c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(e[(c[(c[g>>2]|0)+8>>2]|0)+170>>1]|0)|0)==0):0){UK(c[g>>2]|0);if((c[13957]|0)==((c[13952]|0)-1|0)){k=7;break}m=c[g>>2]|0;if(TK(c[((c[c[g>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2]|0)|0){k=7;break}}c[h>>2]=(c[h>>2]|0)+1}if((k|0)==7){c[d>>2]=1;m=c[d>>2]|0;i=l;return m|0}c[h>>2]=0;while(1){m=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]|0)+(c[h>>2]<<2)>>2]|0;c[g>>2]=m;if(!m){k=17;break}m=c[g>>2]|0;if((a[(c[(c[((c[c[g>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]|0)+8>>2]|0)+157>>0]|0)==0?(k=c[g>>2]|0,m=c[g>>2]|0,((c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(e[(c[(c[g>>2]|0)+8>>2]|0)+170>>1]|0)|0)==0):0){UK(c[g>>2]|0);if((c[13957]|0)==((c[13952]|0)-1|0)){k=15;break}m=c[g>>2]|0;if(TK(c[((c[c[g>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]|0)|0){k=15;break}}c[h>>2]=(c[h>>2]|0)+1}if((k|0)==15){c[d>>2]=1;m=c[d>>2]|0;i=l;return m|0}else if((k|0)==17){c[d>>2]=0;m=c[d>>2]|0;i=l;return m|0}return 0}function UK(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();d=f+24|0;e=f+20|0;c[d>>2]=b;if((c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]|0)>=0){pA(1,140172,f)|0;hb(55648,1)}c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]=c[13957];g=c[d>>2]|0;b=c[13957]|0;c[13957]=b+1;c[(c[13956]|0)+(b<<2)>>2]=g;b=c[d>>2]|0;if(!(a[(c[(c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+157>>0]|0)){b=c[d>>2]|0;b=c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0;g=c[13964]|0;c[13964]=g+1;c[(c[13963]|0)+(g<<2)>>2]=b}g=c[d>>2]|0;if(!(a[(c[(c[((c[c[d>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+157>>0]|0)){b=c[d>>2]|0;b=c[((c[c[d>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0;g=c[13964]|0;c[13964]=g+1;c[(c[13963]|0)+(g<<2)>>2]=b}b=c[d>>2]|0;c[e>>2]=c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2];a[(c[(c[e>>2]|0)+8>>2]|0)+157>>0]=1;b=c[d>>2]|0;h=(c[(c[e>>2]|0)+8>>2]|0)+272+4|0;g=c[h>>2]|0;c[h>>2]=g+1;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+272>>2]|0)+(g<<2)>>2]=b;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+272>>2]|0)+(c[(c[(c[e>>2]|0)+8>>2]|0)+272+4>>2]<<2)>>2]=0;if(!(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+272+4>>2]|0)-1<<2)>>2]|0)){pA(1,140206,f+8|0)|0;hb(55648,1)}g=c[d>>2]|0;c[e>>2]=c[((c[c[d>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2];a[(c[(c[e>>2]|0)+8>>2]|0)+157>>0]=1;g=c[d>>2]|0;b=(c[(c[e>>2]|0)+8>>2]|0)+264+4|0;h=c[b>>2]|0;c[b>>2]=h+1;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+264>>2]|0)+(h<<2)>>2]=g;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+264>>2]|0)+(c[(c[(c[e>>2]|0)+8>>2]|0)+264+4>>2]<<2)>>2]=0;if(!(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+264+4>>2]|0)-1<<2)>>2]|0)){pA(1,140241,f+16|0)|0;hb(55648,1)}else{i=f;return}}function VK(a){a=+a;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;h[b>>3]=a;if(c[13802]|0){a=+h[4260]-+h[b>>3];i=d;return +a}else{a=+h[b>>3];i=d;return +a}return 0.0}function WK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=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;x=i;i=i+144|0;if((i|0)>=(j|0))ba();l=x+64|0;z=x+124|0;m=x+120|0;n=x+116|0;o=x+128|0;s=x+112|0;t=x+108|0;v=x+104|0;w=x+100|0;r=x+96|0;u=x+92|0;q=x+88|0;p=x+16|0;y=x;k=x+84|0;g=x+80|0;c[z>>2]=b;c[m>>2]=d;c[n>>2]=e;a[o>>0]=f;c[13965]=c[(c[(c[(c[m>>2]|0)+52>>2]|0)+8>>2]|0)+4>>2];ZK(c[m>>2]|0);b=(c[(c[m>>2]|0)+8>>2]|0)+16+16|0;c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];_K(c[n>>2]|0,140305,+h[(c[z>>2]|0)+352>>3]);_K(c[n>>2]|0,140312,+h[y>>3]/72.0);_K(c[n>>2]|0,140312,+h[y+8>>3]/72.0);$K(10,c[n>>2]|0);c[u>>2]=pC(c[m>>2]|0)|0;while(1){if(!(c[u>>2]|0))break;if(!(a[(c[(c[u>>2]|0)+8>>2]|0)+118>>0]|0)){d=c[n>>2]|0;aL(d,140314,ID(MB(c[u>>2]|0)|0)|0);d=c[n>>2]|0;z=(c[(c[u>>2]|0)+8>>2]|0)+16|0;c[l>>2]=c[z>>2];c[l+4>>2]=c[z+4>>2];c[l+8>>2]=c[z+8>>2];c[l+12>>2]=c[z+12>>2];bL(d,l);d=c[u>>2]|0;if(a[(c[(c[(c[u>>2]|0)+8>>2]|0)+104>>2]|0)+82>>0]|0)c[k>>2]=ID(PA(d,c[13831]|0)|0)|0;else{z=GC(d)|0;c[k>>2]=cL(z,c[c[(c[(c[u>>2]|0)+8>>2]|0)+104>>2]>>2]|0)|0}_K(c[n>>2]|0,140312,+h[(c[(c[u>>2]|0)+8>>2]|0)+32>>3]);_K(c[n>>2]|0,140312,+h[(c[(c[u>>2]|0)+8>>2]|0)+40>>3]);aL(c[n>>2]|0,140312,c[k>>2]|0);z=c[n>>2]|0;aL(z,140312,xO(c[u>>2]|0,c[13834]|0,148709)|0);aL(c[n>>2]|0,140312,c[c[(c[(c[u>>2]|0)+8>>2]|0)+8>>2]>>2]|0);z=c[n>>2]|0;aL(z,140312,xO(c[u>>2]|0,c[13817]|0,174997)|0);c[g>>2]=xO(c[u>>2]|0,c[13818]|0,178598)|0;if(!(a[c[g>>2]>>0]|0))c[g>>2]=xO(c[u>>2]|0,c[13817]|0,172483)|0;aL(c[n>>2]|0,140312,c[g>>2]|0);$K(10,c[n>>2]|0)}c[u>>2]=qC(c[m>>2]|0,c[u>>2]|0)|0}c[u>>2]=pC(c[m>>2]|0)|0;while(1){if(!(c[u>>2]|0))break;c[q>>2]=cB(c[m>>2]|0,c[u>>2]|0)|0;while(1){if(!(c[q>>2]|0))break;if(a[o>>0]|0){z=OA(c[q>>2]|0,149150)|0;c[w>>2]=z;c[w>>2]=(z|0)!=0?z:178598;z=OA(c[q>>2]|0,149141)|0;c[r>>2]=z;c[r>>2]=(z|0)!=0?z:178598}else{c[r>>2]=178598;c[w>>2]=178598}a:do if(c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0){c[v>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break;d=p;e=(c[c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[s>>2]|0)*48|0)|0;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));c[v>>2]=(c[v>>2]|0)+(c[p+4>>2]|0);c[s>>2]=(c[s>>2]|0)+1}aL(c[n>>2]|0,0,149159);z=c[q>>2]|0;dL(c[n>>2]|0,c[((c[c[q>>2]>>2]&3|0)==3?z:z+32|0)+28>>2]|0,c[w>>2]|0);z=c[q>>2]|0;dL(c[n>>2]|0,c[((c[c[q>>2]>>2]&3|0)==2?z:z+-32|0)+28>>2]|0,c[r>>2]|0);eL(c[n>>2]|0,140312,c[v>>2]|0);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break a;d=p;e=(c[c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[s>>2]|0)*48|0)|0;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[p+4>>2]|0))break;z=c[n>>2]|0;y=(c[p>>2]|0)+(c[t>>2]<<4)|0;c[l>>2]=c[y>>2];c[l+4>>2]=c[y+4>>2];c[l+8>>2]=c[y+8>>2];c[l+12>>2]=c[y+12>>2];bL(z,l);c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[(c[(c[q>>2]|0)+8>>2]|0)+96>>2]|0){y=c[n>>2]|0;z=c[q>>2]|0;z=GC(c[((c[c[q>>2]>>2]&3|0)==3?z:z+32|0)+28>>2]|0)|0;aL(y,140312,cL(z,c[c[(c[(c[q>>2]|0)+8>>2]|0)+96>>2]>>2]|0)|0);z=c[n>>2]|0;y=(c[(c[(c[q>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;c[l>>2]=c[y>>2];c[l+4>>2]=c[y+4>>2];c[l+8>>2]=c[y+8>>2];c[l+12>>2]=c[y+12>>2];bL(z,l)}z=c[n>>2]|0;aL(z,140312,xO(c[q>>2]|0,c[13869]|0,148709)|0);z=c[n>>2]|0;aL(z,140312,xO(c[q>>2]|0,c[13853]|0,174997)|0);$K(10,c[n>>2]|0);c[q>>2]=eB(c[m>>2]|0,c[q>>2]|0)|0}c[u>>2]=qC(c[m>>2]|0,c[u>>2]|0)|0}fL(140320,c[n>>2]|0);i=x;return}function XK(b,f,g){b=b|0;f=f|0;g=g|0;var k=0.0,l=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,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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0;Z=i;i=i+2384|0;if((i|0)>=(j|0))ba();W=Z+224|0;V=Z+208|0;U=Z+192|0;T=Z+176|0;S=Z+160|0;P=Z+144|0;N=Z+128|0;M=Z+112|0;L=Z+96|0;K=Z+80|0;J=Z+72|0;I=Z+64|0;X=Z+48|0;O=Z+40|0;H=Z+16|0;m=Z+332|0;n=Z+328|0;o=Z+324|0;t=Z+320|0;F=Z+316|0;u=Z+312|0;w=Z+308|0;G=Z+304|0;q=Z+1360|0;Y=Z+288|0;B=Z+280|0;s=Z+276|0;E=Z;r=Z+272|0;p=Z+268|0;z=Z+264|0;A=Z+260|0;y=Z+256|0;x=Z+252|0;D=Z+248|0;v=Z+244|0;C=Z+240|0;c[m>>2]=b;c[n>>2]=f;c[o>>2]=g;c[r>>2]=(e[(c[(c[m>>2]|0)+8>>2]|0)+178>>1]|0)>=3&1;ZH(1);c[F>>2]=0;c[t>>2]=0;ZK(c[m>>2]|0);tA(Y,1024,Z+336|0);WO(c[m>>2]|0,1,140326,178598)|0;WO(c[m>>2]|0,1,140330,178598)|0;c[13815]=WO(c[m>>2]|0,1,179205,178598)|0;c[13814]=WO(c[m>>2]|0,1,179137,178598)|0;WO(c[m>>2]|0,2,140326,178598)|0;if(d[(c[(c[m>>2]|0)+8>>2]|0)+113>>0]&16)WO(c[m>>2]|0,1,140336,178598)|0;if(d[(c[(c[m>>2]|0)+8>>2]|0)+113>>0]&1)WO(c[m>>2]|0,2,140340,178598)|0;if(d[(c[(c[m>>2]|0)+8>>2]|0)+113>>0]&32)WO(c[m>>2]|0,2,140336,178598)|0;if(d[(c[(c[m>>2]|0)+8>>2]|0)+113>>0]&2)WO(c[m>>2]|0,2,140343,178598)|0;if(d[(c[(c[m>>2]|0)+8>>2]|0)+113>>0]&4)WO(c[m>>2]|0,2,140351,178598)|0;if(d[(c[(c[m>>2]|0)+8>>2]|0)+113>>0]&8){c[z>>2]=WO(c[m>>2]|0,0,140340,178598)|0;c[A>>2]=WO(c[m>>2]|0,0,140359,178598)|0;c[y>>2]=WO(c[m>>2]|0,0,140366,178598)|0}c[p>>2]=WO(c[m>>2]|0,0,140374,178598)|0;c[B>>2]=pC(c[m>>2]|0)|0;while(1){if(!(c[B>>2]|0))break;l=+h[(c[(c[B>>2]|0)+8>>2]|0)+16>>3];g=(c[13802]|0)!=0;if(c[r>>2]|0){if(g)k=+h[4260]-+h[(c[(c[B>>2]|0)+8>>2]|0)+16+8>>3];else k=+h[(c[(c[B>>2]|0)+8>>2]|0)+16+8>>3];_=+h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+16>>3]*72.0;h[H>>3]=l;h[H+8>>3]=k;h[H+16>>3]=_;D3(q,140377,H)|0;wA(Y,q)|0;c[x>>2]=3;while(1){if((c[x>>2]|0)>=(e[(c[(c[m>>2]|0)+8>>2]|0)+178>>1]|0))break;h[O>>3]=+h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+(c[x>>2]<<3)>>3]*72.0;D3(q,140392,O)|0;wA(Y,q)|0;c[x>>2]=(c[x>>2]|0)+1}b=c[B>>2]|0;if((c[Y+4>>2]|0)>>>0>=(c[Y+8>>2]|0)>>>0)uA(Y,1)|0;g=Y+4|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=0;f=c[Y>>2]|0;c[Y+4>>2]=f;QA(b,140326,f)|0}else{if(g)k=+h[4260]-+h[(c[(c[B>>2]|0)+8>>2]|0)+16+8>>3];else k=+h[(c[(c[B>>2]|0)+8>>2]|0)+16+8>>3];h[X>>3]=l;h[X+8>>3]=k;D3(q,140398,X)|0;QA(c[B>>2]|0,140326,q)|0}h[I>>3]=+h[(c[(c[B>>2]|0)+8>>2]|0)+80>>3]/72.0;D3(q,140408,I)|0;RA(c[B>>2]|0,c[13814]|0,q)|0;h[J>>3]=(+h[(c[(c[B>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[B>>2]|0)+8>>2]|0)+96>>3])/72.0;D3(q,140408,J)|0;RA(c[B>>2]|0,c[13815]|0,q)|0;if((c[(c[(c[B>>2]|0)+8>>2]|0)+108>>2]|0)!=0?(d[(c[(c[(c[B>>2]|0)+8>>2]|0)+108>>2]|0)+81>>0]|0)!=0:0){f=(c[(c[(c[B>>2]|0)+8>>2]|0)+108>>2]|0)+56|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];if(c[13802]|0)k=+h[4260]-+h[E+8>>3];else k=+h[E+8>>3];h[K>>3]=+h[E>>3];h[K+8>>3]=k;D3(q,140398,K)|0;QA(c[B>>2]|0,140336,q)|0}if(a4(c[c[(c[(c[B>>2]|0)+8>>2]|0)+8>>2]>>2]|0,143726)|0){if((c[13847]|0)!=0?((tM(c[B>>2]|0)|0)&255|0)!=0:0){c[D>>2]=c[(c[(c[B>>2]|0)+8>>2]|0)+12>>2];c[G>>2]=c[(c[D>>2]|0)+8>>2];if((c[G>>2]|0)<3){c[C>>2]=OA(c[B>>2]|0,140413)|0;if(c[C>>2]|0)c[G>>2]=N3(c[C>>2]|0)|0;else c[G>>2]=8;if((c[G>>2]|0)<3)c[G>>2]=8}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[G>>2]|0))break;if((c[v>>2]|0)>0){if((c[Y+4>>2]|0)>>>0>=(c[Y+8>>2]|0)>>>0)uA(Y,1)|0;g=Y+4|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=32}if((c[(c[D>>2]|0)+8>>2]|0)>=3){if(c[13802]|0)k=+h[4261]-+h[(c[(c[D>>2]|0)+44>>2]|0)+(c[v>>2]<<4)+8>>3]/72.0;else k=+h[(c[(c[D>>2]|0)+44>>2]|0)+(c[v>>2]<<4)+8>>3]/72.0;h[L>>3]=+h[(c[(c[D>>2]|0)+44>>2]|0)+(c[v>>2]<<4)>>3]/72.0;h[L+8>>3]=k;D3(q,140426,L)|0}else{k=+h[(c[(c[B>>2]|0)+8>>2]|0)+32>>3]/2.0*+Q(+(+(c[v>>2]|0)/+(c[G>>2]|0)*3.141592653589793*2.0));if(c[13802]|0)l=+h[4261]-+h[(c[(c[B>>2]|0)+8>>2]|0)+40>>3]/2.0*+R(+(+(c[v>>2]|0)/+(c[G>>2]|0)*3.141592653589793*2.0));else l=+h[(c[(c[B>>2]|0)+8>>2]|0)+40>>3]/2.0*+R(+(+(c[v>>2]|0)/+(c[G>>2]|0)*3.141592653589793*2.0));h[M>>3]=k;h[M+8>>3]=l;D3(q,140426,M)|0}wA(Y,q)|0;c[v>>2]=(c[v>>2]|0)+1}b=c[B>>2]|0;g=c[13847]|0;if((c[Y+4>>2]|0)>>>0>=(c[Y+8>>2]|0)>>>0)uA(Y,1)|0;$=Y+4|0;f=c[$>>2]|0;c[$>>2]=f+1;a[f>>0]=0;f=c[Y>>2]|0;c[Y+4>>2]=f;RA(b,g,f)|0}}else{gL(c[B>>2]|0,c[(c[(c[B>>2]|0)+8>>2]|0)+12>>2]|0,Y);yA(Y)|0;b=c[B>>2]|0;if((c[Y+4>>2]|0)>>>0>=(c[Y+8>>2]|0)>>>0)uA(Y,1)|0;f=Y+4|0;$=c[f>>2]|0;c[f>>2]=$+1;a[$>>0]=0;$=c[Y>>2]|0;c[Y+4>>2]=$;QA(b,140330,$)|0}a:do if((c[13800]|0)>=1){c[s>>2]=cB(c[m>>2]|0,c[B>>2]|0)|0;while(1){if(!(c[s>>2]|0))break a;do if((a[(c[(c[s>>2]|0)+8>>2]|0)+112>>0]|0)!=6?(c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break;if((c[u>>2]|0)>0){if((c[Y+4>>2]|0)>>>0>=(c[Y+8>>2]|0)>>>0)uA(Y,1)|0;f=Y+4|0;$=c[f>>2]|0;c[f>>2]=$+1;a[$>>0]=59}if(c[(c[c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[u>>2]|0)*48|0)+8>>2]|0){c[F>>2]=1;if(c[13802]|0)k=+h[4260]-+h[(c[c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[u>>2]|0)*48|0)+16+8>>3];else k=+h[(c[c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[u>>2]|0)*48|0)+16+8>>3];h[N>>3]=+h[(c[c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[u>>2]|0)*48|0)+16>>3];h[N+8>>3]=k;D3(q,140436,N)|0;wA(Y,q)|0}if(c[(c[c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[u>>2]|0)*48|0)+12>>2]|0){c[t>>2]=1;if(c[13802]|0)k=+h[4260]-+h[(c[c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[u>>2]|0)*48|0)+32+8>>3];else k=+h[(c[c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[u>>2]|0)*48|0)+32+8>>3];h[P>>3]=+h[(c[c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[u>>2]|0)*48|0)+32>>3];h[P+8>>3]=k;D3(q,140449,P)|0;wA(Y,q)|0}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[u>>2]|0)*48|0)+4>>2]|0))break;if((c[w>>2]|0)>0){if((c[Y+4>>2]|0)>>>0>=(c[Y+8>>2]|0)>>>0)uA(Y,1)|0;f=Y+4|0;$=c[f>>2]|0;c[f>>2]=$+1;a[$>>0]=32}$=(c[(c[c[(c[(c[s>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[u>>2]|0)*48|0)>>2]|0)+(c[w>>2]<<4)|0;c[E>>2]=c[$>>2];c[E+4>>2]=c[$+4>>2];c[E+8>>2]=c[$+8>>2];c[E+12>>2]=c[$+12>>2];if(c[13802]|0)k=+h[4260]-+h[E+8>>3];else k=+h[E+8>>3];h[S>>3]=+h[E>>3];h[S+8>>3]=k;D3(q,140398,S)|0;wA(Y,q)|0;c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}b=c[s>>2]|0;if((c[Y+4>>2]|0)>>>0>=(c[Y+8>>2]|0)>>>0)uA(Y,1)|0;f=Y+4|0;$=c[f>>2]|0;c[f>>2]=$+1;a[$>>0]=0;$=c[Y>>2]|0;c[Y+4>>2]=$;QA(b,140326,$)|0;if(c[(c[(c[s>>2]|0)+8>>2]|0)+96>>2]|0){$=(c[(c[(c[s>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;c[E>>2]=c[$>>2];c[E+4>>2]=c[$+4>>2];c[E+8>>2]=c[$+8>>2];c[E+12>>2]=c[$+12>>2];if(c[13802]|0)k=+h[4260]-+h[E+8>>3];else k=+h[E+8>>3];h[T>>3]=+h[E>>3];h[T+8>>3]=k;D3(q,140398,T)|0;QA(c[s>>2]|0,140340,q)|0}do if(c[(c[(c[s>>2]|0)+8>>2]|0)+108>>2]|0){if(!(d[(c[(c[(c[s>>2]|0)+8>>2]|0)+108>>2]|0)+81>>0]|0))break;$=(c[(c[(c[s>>2]|0)+8>>2]|0)+108>>2]|0)+56|0;c[E>>2]=c[$>>2];c[E+4>>2]=c[$+4>>2];c[E+8>>2]=c[$+8>>2];c[E+12>>2]=c[$+12>>2];if(c[13802]|0)k=+h[4260]-+h[E+8>>3];else k=+h[E+8>>3];h[U>>3]=+h[E>>3];h[U+8>>3]=k;D3(q,140398,U)|0;QA(c[s>>2]|0,140336,q)|0}while(0);if(c[(c[(c[s>>2]|0)+8>>2]|0)+100>>2]|0){$=(c[(c[(c[s>>2]|0)+8>>2]|0)+100>>2]|0)+56|0;c[E>>2]=c[$>>2];c[E+4>>2]=c[$+4>>2];c[E+8>>2]=c[$+8>>2];c[E+12>>2]=c[$+12>>2];if(c[13802]|0)k=+h[4260]-+h[E+8>>3];else k=+h[E+8>>3];h[V>>3]=+h[E>>3];h[V+8>>3]=k;D3(q,140398,V)|0;QA(c[s>>2]|0,140343,q)|0}if(!(c[(c[(c[s>>2]|0)+8>>2]|0)+104>>2]|0))break;$=(c[(c[(c[s>>2]|0)+8>>2]|0)+104>>2]|0)+56|0;c[E>>2]=c[$>>2];c[E+4>>2]=c[$+4>>2];c[E+8>>2]=c[$+8>>2];c[E+12>>2]=c[$+12>>2];if(c[13802]|0)k=+h[4260]-+h[E+8>>3];else k=+h[E+8>>3];h[W>>3]=+h[E>>3];h[W+8>>3]=k;D3(q,140398,W)|0;QA(c[s>>2]|0,140351,q)|0}while(0);c[s>>2]=eB(c[m>>2]|0,c[s>>2]|0)|0}}while(0);c[B>>2]=qC(c[m>>2]|0,c[B>>2]|0)|0}hL(c[m>>2]|0,c[p>>2]|0,c[z>>2]|0,c[A>>2]|0,c[y>>2]|0);xA(Y);if(!(e[(c[(c[m>>2]|0)+8>>2]|0)+136>>1]&1)){$=c[F>>2]|0;Y=c[n>>2]|0;c[Y>>2]=$;Y=c[t>>2]|0;$=c[o>>2]|0;c[$>>2]=Y;ZH(0);i=Z;return}VO(c[m>>2]|0);$=c[F>>2]|0;Y=c[n>>2]|0;c[Y>>2]=$;Y=c[t>>2]|0;$=c[o>>2]|0;c[$>>2]=Y;ZH(0);i=Z;return}function YK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b+8|0;c[d>>2]=a;XK(c[d>>2]|0,b,b+4|0);i=b;return}function ZK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[13802]|0)){i=d;return}h[4260]=+h[(c[(c[b>>2]|0)+8>>2]|0)+16+16+8>>3]+ +h[(c[(c[b>>2]|0)+8>>2]|0)+16+8>>3];h[4261]=+h[4260]/72.0;i=d;return}function _K(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+1056|0;if((i|0)>=(j|0))ba();l=m+8|0;e=m+20|0;f=m+16|0;g=m;k=m+24|0;c[e>>2]=a;c[f>>2]=b;h[g>>3]=d;if(c[f>>2]|0)fL(c[f>>2]|0,c[e>>2]|0);h[l>>3]=+h[g>>3];D3(k,140408,l)|0;fL(k,c[e>>2]|0);i=m;return}function $K(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+4|0;f=e;c[g>>2]=b;c[f>>2]=d;a[140508]=c[g>>2];gc[c[55860>>2]&127](c[f>>2]|0,140508)|0;i=e;return}function aL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0)fL(c[f>>2]|0,c[e>>2]|0);fL(c[g>>2]|0,c[e>>2]|0);i=h;return}function bL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=a;_K(c[e>>2]|0,140312,+h[b>>3]/72.0);a=c[e>>2]|0;if(c[13802]|0){f=+h[4260]-+h[b+8>>3];f=f/72.0;_K(a,140312,f);i=d;return}else{f=+h[b+8>>3];f=f/72.0;_K(a,140312,f);i=d;return}}function cL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+12|0;h=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[h>>2]=b;c[f>>2]=mD(c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=ID(c[f>>2]|0)|0;oD(c[g>>2]|0,c[f>>2]|0)|0;i=d;return c[e>>2]|0}function dL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=c[g>>2]|0;if(a[(c[(c[g>>2]|0)+8>>2]|0)+118>>0]|0){e=GC(b)|0;c[k>>2]=cL(e,(_3(MB(c[g>>2]|0)|0,58)|0)+1|0)|0}else c[k>>2]=ID(MB(b)|0)|0;aL(c[f>>2]|0,140312,c[k>>2]|0);if(!(c[h>>2]|0)){i=l;return}if(!(a[c[h>>2]>>0]|0)){i=l;return}k=c[f>>2]|0;aL(k,148978,ID(c[h>>2]|0)|0);i=l;return}function eL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+1040|0;if((i|0)>=(j|0))ba();k=l;e=l+12|0;f=l+8|0;g=l+4|0;h=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0)fL(c[f>>2]|0,c[e>>2]|0);c[k>>2]=c[g>>2];D3(h,175103,k)|0;fL(h,c[e>>2]|0);i=l;return}function fL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;gc[c[55860>>2]&127](c[f>>2]|0,c[e>>2]|0)|0;i=d;return}function gL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+1072|0;if((i|0)>=(j|0))ba();p=q;k=q+44|0;l=q+40|0;m=q+36|0;o=q+32|0;n=q+48|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;if(!(c[(c[l>>2]|0)+48>>2]|0)){if(c[13802]|0)f=+h[4260]-(+h[(c[l>>2]|0)+16+8>>3]+ +h[(c[(c[k>>2]|0)+8>>2]|0)+16+8>>3]);else f=+h[(c[l>>2]|0)+16+8>>3]+ +h[(c[(c[k>>2]|0)+8>>2]|0)+16+8>>3];e=+h[(c[l>>2]|0)+16+16>>3]+ +h[(c[(c[k>>2]|0)+8>>2]|0)+16>>3];if(c[13802]|0)g=+h[4260]-(+h[(c[l>>2]|0)+16+16+8>>3]+ +h[(c[(c[k>>2]|0)+8>>2]|0)+16+8>>3]);else g=+h[(c[l>>2]|0)+16+16+8>>3]+ +h[(c[(c[k>>2]|0)+8>>2]|0)+16+8>>3];h[p>>3]=+h[(c[l>>2]|0)+16>>3]+ +h[(c[(c[k>>2]|0)+8>>2]|0)+16>>3];h[p+8>>3]=f;h[p+16>>3]=e;h[p+24>>3]=g;D3(n,140487,p)|0;wA(c[m>>2]|0,n)|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[l>>2]|0)+48>>2]|0))break;gL(c[k>>2]|0,c[(c[(c[l>>2]|0)+56>>2]|0)+(c[o>>2]<<2)>>2]|0,c[m>>2]|0);c[o>>2]=(c[o>>2]|0)+1}i=q;return}function hL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var k=0.0,l=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;z=i;i=i+1136|0;if((i|0)>=(j|0))ba();w=z+72|0;y=z+64|0;x=z+48|0;n=z+16|0;o=z+100|0;p=z+96|0;q=z+92|0;r=z+88|0;s=z+84|0;u=z+80|0;t=z+104|0;v=z;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;if(c[13802]|0)l=+h[4260]-+h[(c[(c[o>>2]|0)+8>>2]|0)+16+8>>3];else l=+h[(c[(c[o>>2]|0)+8>>2]|0)+16+8>>3];k=+h[(c[(c[o>>2]|0)+8>>2]|0)+16+16>>3];if(c[13802]|0)m=+h[4260]-+h[(c[(c[o>>2]|0)+8>>2]|0)+16+16+8>>3];else m=+h[(c[(c[o>>2]|0)+8>>2]|0)+16+16+8>>3];h[n>>3]=+h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3];h[n+8>>3]=l;h[n+16>>3]=k;h[n+24>>3]=m;D3(t,140462,n)|0;RA(c[o>>2]|0,c[p>>2]|0,t)|0;if((c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2]|0)!=0?(a[c[c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2]>>2]>>0]|0)!=0:0){n=(c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2]|0)+56|0;c[v>>2]=c[n>>2];c[v+4>>2]=c[n+4>>2];c[v+8>>2]=c[n+8>>2];c[v+12>>2]=c[n+12>>2];if(c[13802]|0)k=+h[4260]-+h[v+8>>3];else k=+h[v+8>>3];h[x>>3]=+h[v>>3];h[x+8>>3]=k;D3(t,140398,x)|0;RA(c[o>>2]|0,c[q>>2]|0,t)|0;x=(c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2]|0)+24|0;c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];h[y>>3]=+h[v>>3]/72.0;D3(t,140482,y)|0;RA(c[o>>2]|0,c[r>>2]|0,t)|0;h[w>>3]=+h[v+8>>3]/72.0;D3(t,140482,w)|0;RA(c[o>>2]|0,c[s>>2]|0,t)|0}c[u>>2]=1;while(1){if((c[u>>2]|0)>(c[(c[(c[o>>2]|0)+8>>2]|0)+180>>2]|0))break;hL(c[(c[(c[(c[o>>2]|0)+8>>2]|0)+184>>2]|0)+(c[u>>2]<<2)>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0);c[u>>2]=(c[u>>2]|0)+1}i=z;return}function iL(){return eA(55864,c[12989]|0)|0}function jL(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aA(c[d>>2]|0)|0;i=b;return}function kL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+8|0;g=d;c[g>>2]=a;e=c[c[g>>2]>>2]|0;a=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];b=uL(f)|0;$b[e&63](a,b,1)|0;i=d;return}function lL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();f=e+24|0;h=e+16|0;l=e+12|0;k=e+8|0;g=e;c[h>>2]=a;c[l>>2]=b;c[k>>2]=d;c[g>>2]=c[l>>2];c[g+4>>2]=c[k>>2];a=c[c[h>>2]>>2]|0;b=c[h>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];d=uL(f)|0;$b[a&63](b,d,1)|0;i=e;return}function mL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d+16|0;e=d;c[f>>2]=a;a=e+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];b=($b[c[c[f>>2]>>2]&63](c[f>>2]|0,e,4)|0)!=0;i=d;return (b?1:0)|0}function nL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();g=e+24|0;k=e+20|0;h=e+16|0;f=e;c[g>>2]=a;c[k>>2]=b;c[h>>2]=d;c[f+8>>2]=c[k>>2];c[f+8+4>>2]=c[h>>2];d=($b[c[c[g>>2]>>2]&63](c[g>>2]|0,f,4)|0)!=0;i=e;return (d?1:0)|0}function oL(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=gA(c[d>>2]|0)|0;i=b;return a|0}function pL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();g=f+16|0;h=f+12|0;e=f+8|0;b=f+4|0;d=f;c[g>>2]=a;c[h>>2]=gA(c[g>>2]|0)|0;c[e>>2]=qK(c[h>>2]<<3)|0;c[d>>2]=c[e>>2];c[b>>2]=cA(c[g>>2]|0)|0;while(1){if(!(c[b>>2]|0))break;h=c[d>>2]|0;c[d>>2]=h+8;g=(c[b>>2]|0)+8|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[b>>2]=c[c[b>>2]>>2]}i=f;return c[e>>2]|0}function qL(){var a=0,b=0,d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();a=d;c[a>>2]=rK(40)|0;b=c[a>>2]|0;e=55900;f=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));c[(c[a>>2]|0)+36>>2]=0;f=eA(c[a>>2]|0,c[12989]|0)|0;i=d;return f|0}function rL(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;$b[c[c[d>>2]>>2]&63](c[d>>2]|0,0,64)|0;i=b;return}function sL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+12|0;b=f+8|0;e=f+4|0;d=f;c[g>>2]=a;c[b>>2]=c[(c[g>>2]|0)+4>>2];aA(c[g>>2]|0)|0;c[e>>2]=c[(c[b>>2]|0)+36>>2];while(1){if(!(c[e>>2]|0))break;c[d>>2]=c[c[e>>2]>>2];B1(c[e>>2]|0);c[e>>2]=c[d>>2]}B1(c[b>>2]|0);i=f;return}function tL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;f=i;i=i+48|0;if((i|0)>=(j|0))ba();k=f+36|0;n=f+32|0;m=f+28|0;l=f+24|0;g=f+20|0;h=f;c[k>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[h+8>>2]=c[n>>2];c[h+8+4>>2]=c[m>>2];c[h+16>>2]=c[l>>2];c[g>>2]=$b[c[c[k>>2]>>2]&63](c[k>>2]|0,h,1)|0;i=f;return c[(c[g>>2]|0)+16>>2]|0}function uL(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=qK(16)|0;e=(c[d>>2]|0)+8|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];i=b;return c[d>>2]|0}function vL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[h+12>>2]=a;c[e>>2]=b;c[f>>2]=d;if(c[(c[f>>2]|0)+36>>2]|0){c[g>>2]=c[(c[f>>2]|0)+36>>2];c[(c[f>>2]|0)+36>>2]=c[c[g>>2]>>2]}else c[g>>2]=rK(20)|0;b=(c[g>>2]|0)+8|0;d=(c[e>>2]|0)+8|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[(c[g>>2]|0)+16>>2]=c[(c[e>>2]|0)+16>>2];i=h;return c[g>>2]|0}function wL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+4|0;f=e;c[e+8>>2]=a;c[g>>2]=b;c[f>>2]=d;c[c[g>>2]>>2]=c[(c[f>>2]|0)+36>>2];c[(c[f>>2]|0)+36>>2]=c[g>>2];i=e;return}function xL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+16|0;g=k+8|0;h=k+4|0;c[k+12>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;do if((c[c[g>>2]>>2]|0)<=(c[c[h>>2]>>2]|0)){if((c[c[g>>2]>>2]|0)<(c[c[h>>2]>>2]|0)){c[f>>2]=-1;break}if((c[(c[g>>2]|0)+4>>2]|0)>(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=1;break}if((c[(c[g>>2]|0)+4>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=-1;break}else{c[f>>2]=0;break}}else c[f>>2]=1;while(0);i=k;return c[f>>2]|0}function yL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;B1(c[f>>2]|0);i=e;return}function zL(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=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;w=i;i=i+240|0;if((i|0)>=(j|0))ba();e=w+208|0;f=w+232|0;g=w+228|0;u=w+224|0;t=w+176|0;v=w+144|0;l=w+128|0;m=w+112|0;n=w+96|0;o=w+80|0;p=w+64|0;q=w+48|0;r=w+32|0;s=w+16|0;k=w;c[f>>2]=a;c[g>>2]=b;b=(c[(c[f>>2]|0)+8>>2]|0)+16|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];c[t+16>>2]=c[b+16>>2];c[t+20>>2]=c[b+20>>2];c[t+24>>2]=c[b+24>>2];c[t+28>>2]=c[b+28>>2];d=+h[t>>3];if((c[g>>2]|0)==1|(c[g>>2]|0)==2){DL(l,d,+h[t+16+8>>3]);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];EL(m,e);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];s=v+16|0;DL(n,+h[t+16>>3],+h[t+8>>3]);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];EL(o,e);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]}else{DL(p,d,+h[t+8>>3]);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];EL(q,e);c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];q=v+16|0;DL(r,+h[t+16>>3],+h[t+16+8>>3]);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];EL(s,e);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2]}t=(c[(c[f>>2]|0)+8>>2]|0)+16|0;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];if(c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0){v=(c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0)+56|0;t=(c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0)+56|0;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];EL(k,e);c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2]}c[u>>2]=1;while(1){if((c[u>>2]|0)>(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0))break;zL(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]|0)+(c[u>>2]<<2)>>2]|0,c[g>>2]|0);c[u>>2]=(c[u>>2]|0)+1}i=w;return}function AL(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=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.0,w=0.0,x=0.0,y=0.0;u=i;i=i+1200|0;if((i|0)>=(j|0))ba();r=u+152|0;t=u+104|0;s=u+72|0;g=u+172|0;k=u+168|0;p=u+64|0;q=u+48|0;l=u+32|0;m=u+16|0;n=u;o=u+176|0;c[g>>2]=b;c[k>>2]=d;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[13984]=c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]&3;a[140510]=c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]&1;d=c[g>>2]|0;if(a[140510]|0)FL(d);else BL(d);GL(c[g>>2]|0);do if((c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]|0)!=0?(a[(c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]|0)==0:0){f=(c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]|0)+24|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];h[q>>3]=+h[q>>3]+16.0;f=q+8|0;h[f>>3]=+h[f>>3]+8.0;f=(a[(c[(c[g>>2]|0)+8>>2]|0)+275>>0]&1|0)!=0;if(a[140510]|0){e=+h[q+8>>3];b=(c[(c[g>>2]|0)+8>>2]|0)+16|0;if(f){f=b+16|0;h[f>>3]=+h[f>>3]+e}else h[b>>3]=+h[b>>3]-e;if(!(+h[q>>3]>+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16+8>>3]-+h[(c[(c[g>>2]|0)+8>>2]|0)+16+8>>3]))break;h[p>>3]=+h[q>>3]-(+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16+8>>3]-+h[(c[(c[g>>2]|0)+8>>2]|0)+16+8>>3]);h[p>>3]=+h[p>>3]/2.0;f=(c[(c[g>>2]|0)+8>>2]|0)+16+8|0;h[f>>3]=+h[f>>3]-+h[p>>3];f=(c[(c[g>>2]|0)+8>>2]|0)+16+16+8|0;h[f>>3]=+h[f>>3]+ +h[p>>3];break}b=(c[13984]|0)==0;e=+h[q+8>>3];d=(c[(c[g>>2]|0)+8>>2]|0)+16|0;do if(f)if(b){f=d+16+8|0;h[f>>3]=+h[f>>3]+e;break}else{f=d+8|0;h[f>>3]=+h[f>>3]-e;break}else if(b){f=d+8|0;h[f>>3]=+h[f>>3]-e;break}else{f=d+16+8|0;h[f>>3]=+h[f>>3]+e;break}while(0);if(+h[q>>3]>+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16>>3]-+h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3]){h[p>>3]=+h[q>>3]-(+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16>>3]-+h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3]);h[p>>3]=+h[p>>3]/2.0;f=(c[(c[g>>2]|0)+8>>2]|0)+16|0;h[f>>3]=+h[f>>3]-+h[p>>3];f=(c[(c[g>>2]|0)+8>>2]|0)+16+16|0;h[f>>3]=+h[f>>3]+ +h[p>>3]}}while(0);if(c[k>>2]|0){switch(c[13984]|0){case 0:{p=(c[(c[g>>2]|0)+8>>2]|0)+16|0;c[8524]=c[p>>2];c[8525]=c[p+4>>2];c[8526]=c[p+8>>2];c[8527]=c[p+12>>2];break}case 1:{DL(l,-+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16+8>>3],+h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3]);c[8524]=c[l>>2];c[8525]=c[l+4>>2];c[8526]=c[l+8>>2];c[8527]=c[l+12>>2];break}case 2:{DL(m,+h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3],-+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16+8>>3]);c[8524]=c[m>>2];c[8525]=c[m+4>>2];c[8526]=c[m+8>>2];c[8527]=c[m+12>>2];break}case 3:{DL(n,+h[(c[(c[g>>2]|0)+8>>2]|0)+16+8>>3],+h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3]);c[8524]=c[n>>2];c[8525]=c[n+4>>2];c[8526]=c[n+8>>2];c[8527]=c[n+12>>2];break}default:{}}HL(c[g>>2]|0)}if((c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]|0)!=0?(a[(c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]|0)==0:0){p=c[g>>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];IL(p,r)}if(!(c[13796]|0)){i=u;return}if(a[140510]|0){w=+h[4263];v=+h[4262];e=+h[4263];h[s>>3]=+h[4262];h[s+8>>3]=w;h[s+16>>3]=v;h[s+24>>3]=e;D3(o,140511,s)|0}else{y=+h[4262];x=+h[4263];e=+h[4262];w=-+h[4262];v=-+h[4263];h[t>>3]=+h[4263];h[t+8>>3]=y;h[t+16>>3]=x;h[t+24>>3]=e;h[t+32>>3]=w;h[t+40>>3]=v;D3(o,140726,t)|0}t=d4(o)|0;c[c[13796]>>2]=t;i=u;return}function BL(b){b=b|0;var d=0.0,e=0,f=0,g=0,k=0,l=0;l=i;i=i+48|0;if((i|0)>=(j|0))ba();e=l+36|0;f=l+32|0;k=l+16|0;g=l;c[e>>2]=b;b=c[e>>2]|0;if(((b|0)!=(HC(c[e>>2]|0)|0)?(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)!=0:0)?(a[(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]|0)==0:0){b=(c[(c[e>>2]|0)+8>>2]|0)+48|0;if(a[(c[(c[e>>2]|0)+8>>2]|0)+275>>0]&1){b=b+32|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];h[k+8>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+16+16+8>>3]-+h[g+8>>3]/2.0}else{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];h[k+8>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+16+8>>3]+ +h[g+8>>3]/2.0}b=c[(c[e>>2]|0)+8>>2]|0;do if(!(a[(c[(c[e>>2]|0)+8>>2]|0)+275>>0]&4)){d=+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3];if(a[b+275>>0]&2){h[k>>3]=d+ +h[g>>3]/2.0;break}else{h[k>>3]=(d+ +h[(c[(c[e>>2]|0)+8>>2]|0)+16+16>>3])/2.0;break}}else h[k>>3]=+h[b+16+16>>3]-+h[g>>3]/2.0;while(0);g=(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)+56|0;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];a[(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]=1}c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;BL(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=l;return}function CL(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;AL(c[d>>2]|0,1);i=b;return}function DL(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();k=e+24|0;g=e+16|0;f=e;h[k>>3]=b;h[g>>3]=d;h[f>>3]=+h[k>>3];h[f+8>>3]=+h[g>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function EL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();g=d+16|0;e=d;f=(c[13984]|0)*90|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];UJ(e,g,f);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];h[b>>3]=+h[b>>3]-+h[4262];e=b+8|0;h[e>>3]=+h[e>>3]-+h[4263];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=d;return}function FL(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;l=i;i=i+48|0;if((i|0)>=(j|0))ba();e=l+36|0;f=l+32|0;k=l+16|0;g=l;c[e>>2]=b;d=c[e>>2]|0;if(((d|0)!=(HC(c[e>>2]|0)|0)?(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)!=0:0)?(a[(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]|0)==0:0){b=(c[(c[e>>2]|0)+8>>2]|0)+48|0;if(a[(c[(c[e>>2]|0)+8>>2]|0)+275>>0]&1){d=b+16|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];h[k>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+16+16>>3]-+h[g>>3]/2.0}else{d=b+48|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];h[k>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3]+ +h[g>>3]/2.0}b=c[(c[e>>2]|0)+8>>2]|0;do if(!(a[(c[(c[e>>2]|0)+8>>2]|0)+275>>0]&4)){d=(c[(c[e>>2]|0)+8>>2]|0)+16|0;if(a[b+275>>0]&2){h[k+8>>3]=+h[d+16+8>>3]-+h[g+8>>3]/2.0;break}else{h[k+8>>3]=(+h[d+8>>3]+ +h[(c[(c[e>>2]|0)+8>>2]|0)+16+16+8>>3])/2.0;break}}else h[k+8>>3]=+h[b+16+8>>3]+ +h[g+8>>3]/2.0;while(0);g=(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)+56|0;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];a[(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]=1}c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;FL(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=l;return}function GL(b){b=b|0;var f=0,g=0,h=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;Z=i;i=i+640|0;if((i|0)>=(j|0))ba();P=Z+520|0;X=Z+512|0;W=Z+504|0;F=Z+496|0;E=Z+488|0;D=Z+480|0;C=Z+472|0;H=Z+628|0;z=Z+624|0;t=Z+620|0;L=Z+616|0;N=Z+612|0;T=Z+608|0;S=Z+604|0;x=Z+600|0;w=Z+596|0;y=Z+592|0;v=Z+588|0;K=Z+440|0;B=Z+424|0;R=Z+584|0;V=Z+384|0;U=Z+580|0;Q=Z+576|0;A=Z+572|0;Y=Z+568|0;M=Z+564|0;u=Z+560|0;k=Z+368|0;l=Z+352|0;m=Z+320|0;n=Z+288|0;o=Z+256|0;p=Z+240|0;q=Z+208|0;r=Z+192|0;s=Z+160|0;h=Z+144|0;g=Z+112|0;f=Z+96|0;O=Z+56|0;I=Z+16|0;J=Z;c[H>>2]=b;c[x>>2]=0;c[w>>2]=0;c[y>>2]=0;c[v>>2]=0;c[u>>2]=e[(c[(c[H>>2]|0)+8>>2]|0)+136>>1]&14;if(((((d[(c[(c[H>>2]|0)+8>>2]|0)+113>>0]&16|0)==0?(d[(c[(c[H>>2]|0)+8>>2]|0)+113>>0]&32|0)==0:0)?(d[(c[(c[H>>2]|0)+8>>2]|0)+113>>0]&4|0)==0:0)?(d[(c[(c[H>>2]|0)+8>>2]|0)+113>>0]&2|0)==0:0)?((c[13801]|0)!=0?1:(d[(c[(c[H>>2]|0)+8>>2]|0)+113>>0]&1|0)==0):0){i=Z;return}c[z>>2]=pC(c[H>>2]|0)|0;while(1){if(!(c[z>>2]|0))break;do if(c[(c[(c[z>>2]|0)+8>>2]|0)+108>>2]|0)if(a[(c[(c[(c[z>>2]|0)+8>>2]|0)+108>>2]|0)+81>>0]|0){c[y>>2]=(c[y>>2]|0)+1;break}else{c[x>>2]=(c[x>>2]|0)+1;break}while(0);c[t>>2]=cB(c[H>>2]|0,c[z>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;do if(c[(c[(c[t>>2]|0)+8>>2]|0)+108>>2]|0){if(a[(c[(c[(c[t>>2]|0)+8>>2]|0)+108>>2]|0)+81>>0]|0){c[y>>2]=(c[y>>2]|0)+1;break}if((c[u>>2]|0)!=0?(c[(c[(c[t>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0)c[w>>2]=(c[w>>2]|0)+1}while(0);do if(c[(c[(c[t>>2]|0)+8>>2]|0)+100>>2]|0){if(a[(c[(c[(c[t>>2]|0)+8>>2]|0)+100>>2]|0)+81>>0]|0){c[y>>2]=(c[y>>2]|0)+1;break}if((c[u>>2]|0)!=0?(c[(c[(c[t>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0)c[w>>2]=(c[w>>2]|0)+1}while(0);do if(c[(c[(c[t>>2]|0)+8>>2]|0)+104>>2]|0){if(a[(c[(c[(c[t>>2]|0)+8>>2]|0)+104>>2]|0)+81>>0]|0){c[y>>2]=(c[y>>2]|0)+1;break}if((c[u>>2]|0)!=0?(c[(c[(c[t>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0)c[w>>2]=(c[w>>2]|0)+1}while(0);do if(c[(c[(c[t>>2]|0)+8>>2]|0)+96>>2]|0){if(a[(c[(c[(c[t>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]|0){c[y>>2]=(c[y>>2]|0)+1;break}if((c[u>>2]|0)!=0?(c[(c[(c[t>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0)c[w>>2]=(c[w>>2]|0)+1}while(0);c[t>>2]=eB(c[H>>2]|0,c[t>>2]|0)|0}c[z>>2]=qC(c[H>>2]|0,c[z>>2]|0)|0}if(d[(c[(c[H>>2]|0)+8>>2]|0)+113>>0]&8)c[v>>2]=KL(c[H>>2]|0)|0;c[S>>2]=(c[x>>2]|0)+(c[w>>2]|0);if(!(c[S>>2]|0)){i=Z;return}x=AB(c[H>>2]|0)|0;c[T>>2]=x+(c[y>>2]|0)+(c[v>>2]|0)+(c[w>>2]|0);y=qK((c[T>>2]|0)*40|0)|0;c[U>>2]=y;c[A>>2]=y;y=qK((c[S>>2]|0)*40|0)|0;c[Q>>2]=y;c[Y>>2]=y;DL(k,2147483647.0,2147483647.0);c[K>>2]=c[k>>2];c[K+4>>2]=c[k+4>>2];c[K+8>>2]=c[k+8>>2];c[K+12>>2]=c[k+12>>2];y=K+16|0;DL(l,-2147483647.0,-2147483647.0);c[y>>2]=c[l>>2];c[y+4>>2]=c[l+4>>2];c[y+8>>2]=c[l+8>>2];c[y+12>>2]=c[l+12>>2];c[z>>2]=pC(c[H>>2]|0)|0;while(1){if(!(c[z>>2]|0))break;x=c[z>>2]|0;y=c[A>>2]|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];c[P+16>>2]=c[K+16>>2];c[P+20>>2]=c[K+20>>2];c[P+24>>2]=c[K+24>>2];c[P+28>>2]=c[K+28>>2];LL(m,x,y,P);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[K+16>>2]=c[m+16>>2];c[K+20>>2]=c[m+20>>2];c[K+24>>2]=c[m+24>>2];c[K+28>>2]=c[m+28>>2];y=c[(c[(c[z>>2]|0)+8>>2]|0)+108>>2]|0;c[R>>2]=y;do if(y)if(a[(c[R>>2]|0)+81>>0]|0){c[A>>2]=(c[A>>2]|0)+40;x=c[R>>2]|0;y=c[A>>2]|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];c[P+16>>2]=c[K+16>>2];c[P+20>>2]=c[K+20>>2];c[P+24>>2]=c[K+24>>2];c[P+28>>2]=c[K+28>>2];ML(n,x,y,P);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];c[K+28>>2]=c[n+28>>2];break}else{w=c[R>>2]|0;x=c[A>>2]|0;y=c[Y>>2]|0;c[P>>2]=c[B>>2];c[P+4>>2]=c[B+4>>2];c[P+8>>2]=c[B+8>>2];c[P+12>>2]=c[B+12>>2];NL(w,x,y,0,P);c[Y>>2]=(c[Y>>2]|0)+40;break}while(0);c[A>>2]=(c[A>>2]|0)+40;c[t>>2]=cB(c[H>>2]|0,c[z>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;y=c[(c[(c[t>>2]|0)+8>>2]|0)+96>>2]|0;c[R>>2]=y;a:do if(y){do if(a[(c[R>>2]|0)+81>>0]|0){y=c[R>>2]|0;G=c[A>>2]|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];c[P+16>>2]=c[K+16>>2];c[P+20>>2]=c[K+20>>2];c[P+24>>2]=c[K+24>>2];c[P+28>>2]=c[K+28>>2];ML(o,y,G,P);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];c[K+16>>2]=c[o+16>>2];c[K+20>>2]=c[o+20>>2];c[K+24>>2]=c[o+24>>2];c[K+28>>2]=c[o+28>>2]}else{if((c[u>>2]|0)!=0?(c[(c[(c[t>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0){x=c[R>>2]|0;y=c[A>>2]|0;G=c[Y>>2]|0;GN(p,c[H>>2]|0,c[t>>2]|0);c[P>>2]=c[p>>2];c[P+4>>2]=c[p+4>>2];c[P+8>>2]=c[p+8>>2];c[P+12>>2]=c[p+12>>2];NL(x,y,G,1,P);c[Y>>2]=(c[Y>>2]|0)+40;break}c[C>>2]=c[c[(c[(c[t>>2]|0)+8>>2]|0)+96>>2]>>2];pA(0,141538,C)|0;break a}while(0);c[A>>2]=(c[A>>2]|0)+40;G=59}else G=59;while(0);b:do if((G|0)==59){G=0;y=c[(c[(c[t>>2]|0)+8>>2]|0)+104>>2]|0;c[R>>2]=y;if(y){do if(a[(c[R>>2]|0)+81>>0]|0){x=c[R>>2]|0;y=c[A>>2]|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];c[P+16>>2]=c[K+16>>2];c[P+20>>2]=c[K+20>>2];c[P+24>>2]=c[K+24>>2];c[P+28>>2]=c[K+28>>2];ML(q,x,y,P);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];c[K+24>>2]=c[q+24>>2];c[K+28>>2]=c[q+28>>2]}else{if((c[u>>2]|0)!=0?(c[(c[(c[t>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0){w=c[R>>2]|0;x=c[A>>2]|0;y=c[Y>>2]|0;OL(r,c[t>>2]|0);c[P>>2]=c[r>>2];c[P+4>>2]=c[r+4>>2];c[P+8>>2]=c[r+8>>2];c[P+12>>2]=c[r+12>>2];NL(w,x,y,1,P);c[Y>>2]=(c[Y>>2]|0)+40;break}c[D>>2]=c[c[(c[(c[t>>2]|0)+8>>2]|0)+104>>2]>>2];pA(0,141573,D)|0;break b}while(0);c[A>>2]=(c[A>>2]|0)+40}y=c[(c[(c[t>>2]|0)+8>>2]|0)+100>>2]|0;c[R>>2]=y;if(y){do if(a[(c[R>>2]|0)+81>>0]|0){x=c[R>>2]|0;y=c[A>>2]|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];c[P+16>>2]=c[K+16>>2];c[P+20>>2]=c[K+20>>2];c[P+24>>2]=c[K+24>>2];c[P+28>>2]=c[K+28>>2];ML(s,x,y,P);c[K>>2]=c[s>>2];c[K+4>>2]=c[s+4>>2];c[K+8>>2]=c[s+8>>2];c[K+12>>2]=c[s+12>>2];c[K+16>>2]=c[s+16>>2];c[K+20>>2]=c[s+20>>2];c[K+24>>2]=c[s+24>>2];c[K+28>>2]=c[s+28>>2]}else{if((c[u>>2]|0)!=0?(c[(c[(c[t>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0){w=c[R>>2]|0;x=c[A>>2]|0;y=c[Y>>2]|0;PL(h,c[t>>2]|0);c[P>>2]=c[h>>2];c[P+4>>2]=c[h+4>>2];c[P+8>>2]=c[h+8>>2];c[P+12>>2]=c[h+12>>2];NL(w,x,y,1,P);c[Y>>2]=(c[Y>>2]|0)+40;break}c[E>>2]=c[c[(c[(c[t>>2]|0)+8>>2]|0)+100>>2]>>2];pA(0,141613,E)|0;break b}while(0);c[A>>2]=(c[A>>2]|0)+40}y=c[(c[(c[t>>2]|0)+8>>2]|0)+108>>2]|0;c[R>>2]=y;if(y){do if(a[(c[R>>2]|0)+81>>0]|0){x=c[R>>2]|0;y=c[A>>2]|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];c[P+16>>2]=c[K+16>>2];c[P+20>>2]=c[K+20>>2];c[P+24>>2]=c[K+24>>2];c[P+28>>2]=c[K+28>>2];ML(g,x,y,P);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[K+16>>2]=c[g+16>>2];c[K+20>>2]=c[g+20>>2];c[K+24>>2]=c[g+24>>2];c[K+28>>2]=c[g+28>>2]}else{if((c[u>>2]|0)!=0?(c[(c[(c[t>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0){w=c[R>>2]|0;x=c[A>>2]|0;y=c[Y>>2]|0;GN(f,c[H>>2]|0,c[t>>2]|0);c[P>>2]=c[f>>2];c[P+4>>2]=c[f+4>>2];c[P+8>>2]=c[f+8>>2];c[P+12>>2]=c[f+12>>2];NL(w,x,y,1,P);c[Y>>2]=(c[Y>>2]|0)+40;break}c[F>>2]=c[c[(c[(c[t>>2]|0)+8>>2]|0)+108>>2]>>2];pA(0,141653,F)|0;break b}while(0);c[A>>2]=(c[A>>2]|0)+40}}while(0);c[t>>2]=eB(c[H>>2]|0,c[t>>2]|0)|0}c[z>>2]=qC(c[H>>2]|0,c[z>>2]|0)|0}if(c[v>>2]|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[O+16>>2]=c[K+16>>2];c[O+20>>2]=c[K+20>>2];c[O+24>>2]=c[K+24>>2];c[O+28>>2]=c[K+28>>2];c[O+32>>2]=c[A>>2];f=c[H>>2]|0;g=P;h=O;k=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(k|0));QL(I,f,P);g=O;h=I;k=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(k|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];c[K+16>>2]=c[O+16>>2];c[K+20>>2]=c[O+20>>2];c[K+24>>2]=c[O+24>>2];c[K+28>>2]=c[O+28>>2]}c[M>>2]=GA(c[H>>2]|0,0,141689,0)|0;a[V+32>>0]=yO(c[H>>2]|0,c[M>>2]|0,1)|0;c[V>>2]=c[K>>2];c[V+4>>2]=c[K+4>>2];c[V+8>>2]=c[K+8>>2];c[V+12>>2]=c[K+12>>2];c[V+16>>2]=c[K+16>>2];c[V+20>>2]=c[K+20>>2];c[V+24>>2]=c[K+24>>2];c[V+28>>2]=c[K+28>>2];YS(c[U>>2]|0,c[T>>2]|0,c[Q>>2]|0,c[S>>2]|0,V)|0;if(a[139078]|0)RL(c[U>>2]|0,c[T>>2]|0,c[Q>>2]|0,c[S>>2]|0,V)|0;c[Y>>2]=c[Q>>2];c[L>>2]=0;c[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[S>>2]|0))break;if(a[(c[Y>>2]|0)+36>>0]|0){c[L>>2]=(c[L>>2]|0)+1;c[R>>2]=c[(c[Y>>2]|0)+32>>2];a[(c[R>>2]|0)+81>>0]=1;V=(c[R>>2]|0)+56|0;SL(J,c[Y>>2]|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];PO(c[H>>2]|0,c[R>>2]|0)}c[Y>>2]=(c[Y>>2]|0)+40;c[N>>2]=(c[N>>2]|0)+1}if(!(a[139078]|0)){if((c[L>>2]|0)!=(c[S>>2]|0)){Y=c[S>>2]|0;c[X>>2]=c[L>>2];c[X+4>>2]=Y;pA(0,141734,X)|0}}else{Y=c[24742]|0;X=c[S>>2]|0;c[W>>2]=c[L>>2];c[W+4>>2]=X;p3(Y,141701,W)|0}B1(c[U>>2]|0);B1(c[Q>>2]|0);i=Z;return}function HL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0;l=i;i=i+64|0;if((i|0)>=(j|0))ba();b=l+32|0;d=l+60|0;k=l+56|0;g=l+52|0;m=l+48|0;e=l+16|0;f=l;c[d>>2]=a;c[m>>2]=(+h[4262]!=0.0?1:+h[4263]!=0.0)&1;if(!((c[m>>2]|0)!=0|(c[13984]|0)!=0)){i=l;return}c[k>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;if(c[13984]|0)iP(c[k>>2]|0,0);m=(c[(c[k>>2]|0)+8>>2]|0)+16|0;a=(c[(c[k>>2]|0)+8>>2]|0)+16|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];EL(e,b);c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];if(c[(c[(c[k>>2]|0)+8>>2]|0)+108>>2]|0){m=(c[(c[(c[k>>2]|0)+8>>2]|0)+108>>2]|0)+56|0;a=(c[(c[(c[k>>2]|0)+8>>2]|0)+108>>2]|0)+56|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];EL(f,b);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]}a:do if((c[13800]|0)==1){c[g>>2]=cB(c[d>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[g>>2]|0))break a;JL(c[g>>2]|0);c[g>>2]=eB(c[d>>2]|0,c[g>>2]|0)|0}}while(0);c[k>>2]=qC(c[d>>2]|0,c[k>>2]|0)|0}zL(c[d>>2]|0,c[(c[(c[d>>2]|0)+8>>2]|0)+116>>2]&3);i=l;return}function IL(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+16|0;g=k;c[f>>2]=b;b=c[(c[f>>2]|0)+8>>2]|0;do if(!(a[(c[(c[f>>2]|0)+8>>2]|0)+275>>0]&4)){e=+h[(c[(c[f>>2]|0)+8>>2]|0)+16>>3];if(a[b+275>>0]&2){h[g>>3]=e+ +h[d>>3]/2.0;break}else{h[g>>3]=(e+ +h[(c[(c[f>>2]|0)+8>>2]|0)+16+16>>3])/2.0;break}}else h[g>>3]=+h[b+16+16>>3]-+h[d>>3]/2.0;while(0);b=(c[(c[f>>2]|0)+8>>2]|0)+16|0;if(a[(c[(c[f>>2]|0)+8>>2]|0)+275>>0]&1)h[g+8>>3]=+h[b+16+8>>3]-+h[d+8>>3]/2.0;else h[g+8>>3]=+h[b+8>>3]+ +h[d+8>>3]/2.0;d=(c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0)+56|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];a[(c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]=1;i=k;return}function JL(b){b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+208|0;if((i|0)>=(j|0))ba();g=u+168|0;e=u+80|0;h=u+192|0;s=u+188|0;t=u+184|0;r=u+120|0;k=u+104|0;l=u+88|0;m=u+64|0;n=u+48|0;o=u+32|0;p=u+16|0;q=u;c[h>>2]=b;if(!(c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]|0)){if(d[139080]|0){i=u;return}if((a[(c[(c[h>>2]|0)+8>>2]|0)+112>>0]|0)==6){i=u;return}s=c[h>>2]|0;s=MB(c[((c[c[h>>2]>>2]&3|0)==3?s:s+32|0)+28>>2]|0)|0;t=c[h>>2]|0;t=MB(c[((c[c[h>>2]>>2]&3|0)==2?t:t+-32|0)+28>>2]|0)|0;c[e>>2]=s;c[e+4>>2]=t;pA(1,141521,e)|0;i=u;return}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break;e=r;b=(c[c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[s>>2]|0)*48|0)|0;f=e+48|0;do{c[e>>2]=c[b>>2];e=e+4|0;b=b+4|0}while((e|0)<(f|0));c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r+4>>2]|0))break;f=(c[r>>2]|0)+(c[t>>2]<<4)|0;e=(c[r>>2]|0)+(c[t>>2]<<4)|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];EL(k,g);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];c[t>>2]=(c[t>>2]|0)+1}if(c[r+8>>2]|0){f=(c[c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[s>>2]|0)*48|0)+16|0;e=(c[c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[s>>2]|0)*48|0)+16|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];EL(l,g);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]}if(c[r+12>>2]|0){f=(c[c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[s>>2]|0)*48|0)+32|0;e=(c[c[(c[(c[h>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+((c[s>>2]|0)*48|0)+32|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];EL(m,g);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[s>>2]=(c[s>>2]|0)+1}if(c[(c[(c[h>>2]|0)+8>>2]|0)+96>>2]|0){t=(c[(c[(c[h>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;s=(c[(c[(c[h>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;c[g>>2]=c[s>>2];c[g+4>>2]=c[s+4>>2];c[g+8>>2]=c[s+8>>2];c[g+12>>2]=c[s+12>>2];EL(n,g);c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2]}if(c[(c[(c[h>>2]|0)+8>>2]|0)+108>>2]|0){t=(c[(c[(c[h>>2]|0)+8>>2]|0)+108>>2]|0)+56|0;s=(c[(c[(c[h>>2]|0)+8>>2]|0)+108>>2]|0)+56|0;c[g>>2]=c[s>>2];c[g+4>>2]=c[s+4>>2];c[g+8>>2]=c[s+8>>2];c[g+12>>2]=c[s+12>>2];EL(o,g);c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];c[t+12>>2]=c[o+12>>2]}if(c[(c[(c[h>>2]|0)+8>>2]|0)+100>>2]|0){t=(c[(c[(c[h>>2]|0)+8>>2]|0)+100>>2]|0)+56|0;s=(c[(c[(c[h>>2]|0)+8>>2]|0)+100>>2]|0)+56|0;c[g>>2]=c[s>>2];c[g+4>>2]=c[s+4>>2];c[g+8>>2]=c[s+8>>2];c[g+12>>2]=c[s+12>>2];EL(p,g);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]}if(!(c[(c[(c[h>>2]|0)+8>>2]|0)+104>>2]|0)){i=u;return}t=(c[(c[(c[h>>2]|0)+8>>2]|0)+104>>2]|0)+56|0;s=(c[(c[(c[h>>2]|0)+8>>2]|0)+104>>2]|0)+56|0;c[g>>2]=c[s>>2];c[g+4>>2]=c[s+4>>2];c[g+8>>2]=c[s+8>>2];c[g+12>>2]=c[s+12>>2];EL(q,g);c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];i=u;return}function KL(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[f>>2]=0;a=c[b>>2]|0;if(((a|0)!=(HC(c[b>>2]|0)|0)?(c[(c[(c[b>>2]|0)+8>>2]|0)+12>>2]|0)!=0:0)?(d[(c[(c[(c[b>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]|0|0)!=0:0)c[f>>2]=(c[f>>2]|0)+1;c[e>>2]=1;while(1){if((c[e>>2]|0)>(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0))break;a=KL(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+a;c[e>>2]=(c[e>>2]|0)+1}i=g;return c[f>>2]|0}function LL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m;g=m+36|0;k=m+32|0;c[g>>2]=d;c[k>>2]=e;d=c[(c[g>>2]|0)+8>>2]|0;if(a[140510]|0){h[(c[k>>2]|0)+16>>3]=+h[d+40>>3]*72.0;h[(c[k>>2]|0)+16+8>>3]=+h[(c[(c[g>>2]|0)+8>>2]|0)+32>>3]*72.0}else{h[(c[k>>2]|0)+16>>3]=+h[d+32>>3]*72.0;h[(c[k>>2]|0)+16+8>>3]=+h[(c[(c[g>>2]|0)+8>>2]|0)+40>>3]*72.0}e=c[k>>2]|0;g=(c[(c[g>>2]|0)+8>>2]|0)+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];g=c[k>>2]|0;h[g>>3]=+h[g>>3]-+h[(c[k>>2]|0)+16>>3]/2.0;g=(c[k>>2]|0)+8|0;h[g>>3]=+h[g>>3]-+h[(c[k>>2]|0)+16+8>>3]/2.0;k=c[k>>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[l+16>>2]=c[f+16>>2];c[l+20>>2]=c[f+20>>2];c[l+24>>2]=c[f+24>>2];c[l+28>>2]=c[f+28>>2];TL(b,k,l);i=m;return}function ML(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m;g=m+36|0;k=m+32|0;c[g>>2]=d;c[k>>2]=e;d=(c[g>>2]|0)+24|0;if(a[140510]|0){h[(c[k>>2]|0)+16>>3]=+h[d+8>>3];h[(c[k>>2]|0)+16+8>>3]=+h[(c[g>>2]|0)+24>>3]}else{h[(c[k>>2]|0)+16>>3]=+h[d>>3];h[(c[k>>2]|0)+16+8>>3]=+h[(c[g>>2]|0)+24+8>>3]}e=c[k>>2]|0;g=(c[g>>2]|0)+56|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];g=c[k>>2]|0;h[g>>3]=+h[g>>3]-+h[(c[k>>2]|0)+16>>3]/2.0;g=(c[k>>2]|0)+8|0;h[g>>3]=+h[g>>3]-+h[(c[k>>2]|0)+16+8>>3]/2.0;k=c[k>>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[l+16>>2]=c[f+16>>2];c[l+20>>2]=c[f+20>>2];c[l+24>>2]=c[f+24>>2];c[l+28>>2]=c[f+28>>2];TL(b,k,l);i=m;return}function NL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var k=0,l=0,m=0,n=0,o=0;n=i;i=i+16|0;if((i|0)>=(j|0))ba();k=n+12|0;l=n+8|0;m=n+4|0;o=n;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[o>>2]=f;if(c[o>>2]|0){h[(c[l>>2]|0)+16>>3]=0.0;h[(c[l>>2]|0)+16+8>>3]=0.0;o=c[l>>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]}if(a[140510]|0){h[c[m>>2]>>3]=+h[(c[k>>2]|0)+24+8>>3];h[(c[m>>2]|0)+8>>3]=+h[(c[k>>2]|0)+24>>3]}else{o=c[m>>2]|0;e=(c[k>>2]|0)+24|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[(c[m>>2]|0)+32>>2]=c[k>>2];a[(c[m>>2]|0)+36>>0]=0;c[(c[l>>2]|0)+32>>2]=c[m>>2];i=n;return}function OL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();k=g+24|0;e=g+20|0;f=g+16|0;d=g;c[k>>2]=b;b=IN(c[k>>2]|0)|0;c[e>>2]=b;if(!b){h[d+8>>3]=0.0;h[d>>3]=0.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];i=g;return}c[f>>2]=c[c[e>>2]>>2];b=c[f>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){k=b+16|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];i=g;return}else{k=c[b>>2]|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];i=g;return}}function PL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();k=g+24|0;e=g+20|0;f=g+16|0;d=g;c[k>>2]=b;b=IN(c[k>>2]|0)|0;c[e>>2]=b;if(!b){h[d+8>>3]=0.0;h[d>>3]=0.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];i=g;return}c[f>>2]=(c[c[e>>2]>>2]|0)+(((c[(c[e>>2]|0)+4>>2]|0)-1|0)*48|0);b=c[f>>2]|0;if(c[(c[f>>2]|0)+12>>2]|0){k=b+32|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];i=g;return}else{k=(c[c[f>>2]>>2]|0)+((c[b+4>>2]|0)-1<<4)|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];i=g;return}}function QL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+128|0;if((i|0)>=(j|0))ba();k=q+72|0;l=q+120|0;o=q+116|0;m=q+32|0;p=q+112|0;n=q;c[l>>2]=b;c[o>>2]=1;while(1){if((c[o>>2]|0)>(c[(c[(c[l>>2]|0)+8>>2]|0)+180>>2]|0))break;b=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+184>>2]|0)+(c[o>>2]<<2)>>2]|0;f=k;g=e;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));QL(m,b,k);f=e;g=m;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));c[o>>2]=(c[o>>2]|0)+1}o=c[l>>2]|0;if((o|0)==(HC(c[l>>2]|0)|0)){f=a;g=e;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));i=q;return}if(!(c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2]|0)){f=a;g=e;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));i=q;return}if(!(d[(c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]|0)){f=a;g=e;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));i=q;return}c[p>>2]=c[e+32>>2];g=c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2]|0;f=c[p>>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[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];ML(n,g,f,k);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[e+16>>2]=c[n+16>>2];c[e+20>>2]=c[n+20>>2];c[e+24>>2]=c[n+24>>2];c[e+28>>2]=c[n+28>>2];f=e+32|0;c[f>>2]=(c[f>>2]|0)+40;f=a;g=e;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));i=q;return}function RL(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var k=0.0,l=0.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,z=0,A=0;y=i;i=i+208|0;if((i|0)>=(j|0))ba();v=y+112|0;u=y+104|0;w=y+56|0;z=y;o=y+196|0;p=y+192|0;q=y+188|0;r=y+184|0;s=y+180|0;A=y+176|0;t=y+172|0;x=y+168|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[A>>2]=g;g=c[24742]|0;b=c[s>>2]|0;a=d[(c[A>>2]|0)+32>>0]|0;k=+h[c[A>>2]>>3];l=+h[(c[A>>2]|0)+8>>3];m=+h[(c[A>>2]|0)+16>>3];n=+h[(c[A>>2]|0)+16+8>>3];c[z>>2]=c[q>>2];c[z+4>>2]=b;c[z+8>>2]=a;h[z+16>>3]=k;h[z+24>>3]=l;h[z+32>>3]=m;h[z+40>>3]=n;p3(g,141776,z)|0;if((d[139078]|0|0)<2){c[o>>2]=0;A=c[o>>2]|0;i=y;return A|0}p3(c[24742]|0,141836,y+48|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;c[x>>2]=c[(c[p>>2]|0)+32>>2];g=c[24742]|0;k=+h[c[p>>2]>>3];l=+h[(c[p>>2]|0)+8>>3];m=+h[(c[p>>2]|0)+16>>3];n=+h[(c[p>>2]|0)+16+8>>3];a=c[(c[p>>2]|0)+32>>2]|0;if(c[x>>2]|0)b=c[c[(c[x>>2]|0)+32>>2]>>2]|0;else b=178598;c[w>>2]=c[t>>2];h[w+8>>3]=k;h[w+16>>3]=l;h[w+24>>3]=m;h[w+32>>3]=n;c[w+40>>2]=a;c[w+44>>2]=b;p3(g,141845,w)|0;c[p>>2]=(c[p>>2]|0)+40;c[t>>2]=(c[t>>2]|0)+1}p3(c[24742]|0,141888,u)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[s>>2]|0))break;A=c[24742]|0;w=c[r>>2]|0;x=d[(c[r>>2]|0)+36>>0]|0;k=+h[(c[r>>2]|0)+16>>3];l=+h[(c[r>>2]|0)+16+8>>3];m=+h[c[r>>2]>>3];n=+h[(c[r>>2]|0)+8>>3];z=c[c[(c[r>>2]|0)+32>>2]>>2]|0;c[v>>2]=c[t>>2];c[v+4>>2]=w;c[v+8>>2]=x;h[v+16>>3]=k;h[v+24>>3]=l;h[v+32>>3]=m;h[v+40>>3]=n;c[v+48>>2]=z;p3(A,141897,v)|0;c[r>>2]=(c[r>>2]|0)+40;c[t>>2]=(c[t>>2]|0)+1}c[o>>2]=0;A=c[o>>2]|0;i=y;return A|0}function SL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d+16|0;e=d;c[f>>2]=b;b=(c[f>>2]|0)+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];h[e>>3]=+h[e>>3]+ +h[c[f>>2]>>3]/2.0;b=e+8|0;h[b>>3]=+h[b>>3]+ +h[(c[f>>2]|0)+8>>3]/2.0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=d;return} +function iq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+96|0;if((i|0)>=(j|0))ba();f=t+80|0;g=t+76|0;k=t+72|0;l=t+56|0;o=t+68|0;p=t+64|0;m=t+40|0;n=t+24|0;r=t+16|0;s=t+8|0;q=t;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;h[l>>3]=e;h[q>>3]=.017453277777777776;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[g>>2]|0))break;h[n+(c[o>>2]<<3)>>3]=0.0;c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[f>>2]|0))break;c[p>>2]=0;while(1){b=c[o>>2]|0;if((c[p>>2]|0)>=(c[g>>2]|0))break;a=_(b,c[g>>2]|0)|0;d=n+(c[p>>2]<<3)|0;h[d>>3]=+h[d>>3]+ +h[(c[k>>2]|0)+(a+(c[p>>2]|0)<<3)>>3];c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=b+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[g>>2]|0))break;d=n+(c[o>>2]<<3)|0;h[d>>3]=+h[d>>3]/+(c[f>>2]|0);c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[f>>2]|0))break;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[g>>2]|0))break;a=_(c[g>>2]|0,c[o>>2]|0)|0;d=_(c[g>>2]|0,c[o>>2]|0)|0;h[(c[k>>2]|0)+(d+(c[p>>2]|0)<<3)>>3]=+h[(c[k>>2]|0)+(a+(c[p>>2]|0)<<3)>>3]-+h[n+(c[p>>2]<<3)>>3];c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}h[m>>3]=+Q(+(-+h[l>>3]*+h[q>>3]));h[m+8>>3]=+R(+(-+h[l>>3]*+h[q>>3]));c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[f>>2]|0))break;q=_(c[g>>2]|0,c[o>>2]|0)|0;n=(_(c[g>>2]|0,c[o>>2]|0)|0)+1|0;h[r>>3]=+h[(c[k>>2]|0)+(q<<3)>>3]*+h[m>>3]+ +h[(c[k>>2]|0)+(n<<3)>>3]*+h[m+8>>3];n=_(c[g>>2]|0,c[o>>2]|0)|0;q=(_(c[g>>2]|0,c[o>>2]|0)|0)+1|0;h[s>>3]=-+h[(c[k>>2]|0)+(n<<3)>>3]*+h[m+8>>3]+ +h[(c[k>>2]|0)+(q<<3)>>3]*+h[m>>3];q=_(c[g>>2]|0,c[o>>2]|0)|0;h[(c[k>>2]|0)+(q<<3)>>3]=+h[r>>3];q=(_(c[g>>2]|0,c[o>>2]|0)|0)+1|0;h[(c[k>>2]|0)+(q<<3)>>3]=+h[s>>3];c[o>>2]=(c[o>>2]|0)+1}i=t;return}function jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;P3(c[f>>2]|0,c[e>>2]|0,8,68);i=d;return}function kq(a,b,d,e,f,g){a=a|0;b=b|0;d=+d;e=+e;f=f|0;g=g|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();l=k+28|0;o=k+24|0;m=k+8|0;q=k;p=k+20|0;n=k+16|0;c[l>>2]=a;c[o>>2]=b;h[m>>3]=d;h[q>>3]=e;c[p>>2]=f;c[n>>2]=g;d=+Q(+(+h[q>>3]));a=_(c[o>>2]|0,c[p>>2]|0)|0;g=_(c[o>>2]|0,c[n>>2]|0)|0;h[(c[l>>2]|0)+(g<<3)>>3]=d*+h[m>>3]+ +h[(c[l>>2]|0)+(a<<3)>>3];d=+R(+(+h[q>>3]));g=(_(c[o>>2]|0,c[p>>2]|0)|0)+1|0;a=(_(c[o>>2]|0,c[n>>2]|0)|0)+1|0;h[(c[l>>2]|0)+(a<<3)>>3]=d*+h[m>>3]+ +h[(c[l>>2]|0)+(g<<3)>>3];i=k;return}function lq(a,b,d,e,f,g,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;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;y=i;i=i+64|0;if((i|0)>=(j|0))ba();r=y+52|0;s=y+48|0;t=y+44|0;n=y+40|0;o=y+36|0;p=y+8|0;q=y+32|0;w=y+28|0;x=y+24|0;m=y;v=y+20|0;u=y+16|0;c[r>>2]=a;c[s>>2]=b;c[t>>2]=d;c[n>>2]=e;c[o>>2]=f;h[p>>3]=g;c[q>>2]=k;h[m>>3]=0.0;c[u>>2]=c[s>>2];if(!((fw(c[u>>2]|0,0)|0)!=0?(c[(c[u>>2]|0)+16>>2]|0)==1:0))l=3;do if((l|0)==3){e=c[u>>2]|0;if((c[(c[u>>2]|0)+16>>2]|0)==1){c[u>>2]=dw(e,0)|0;c[u>>2]=jw(c[u>>2]|0)|0;break}else{c[u>>2]=uw(e)|0;break}}while(0);c[u>>2]=jw(c[u>>2]|0)|0;c[c[q>>2]>>2]=0;c[w>>2]=c[c[u>>2]>>2];a:do if(!(c[t>>2]|0)){l=rK(_(c[w>>2]<<3,c[r>>2]|0)|0)|0;c[c[t>>2]>>2]=l;L2(123);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(_(c[r>>2]|0,c[w>>2]|0)|0))break a;g=+Kw();h[(c[c[t>>2]>>2]|0)+(c[v>>2]<<3)>>3]=g;c[v>>2]=(c[v>>2]|0)+1}}while(0);a=c[u>>2]|0;b=c[r>>2]|0;g=+h[m>>3];e=c[c[t>>2]>>2]|0;if(c[n>>2]|0)c[x>>2]=Bx(a,b,g,e,2,1)|0;else c[x>>2]=Bx(a,b,g,e,0,1)|0;if(c[x>>2]|0){h[(c[x>>2]|0)+40>>3]=.1;c[(c[x>>2]|0)+24>>2]=5;+Dx(c[x>>2]|0,c[r>>2]|0,c[c[t>>2]>>2]|0,c[o>>2]|0,+h[p>>3]);c[v>>2]=0;while(1){q=(c[v>>2]|0)<(_(c[r>>2]|0,c[w>>2]|0)|0);e=c[x>>2]|0;if(!q)break;q=(c[c[t>>2]>>2]|0)+(c[v>>2]<<3)|0;h[q>>3]=+h[q>>3]/+h[e+32>>3];c[v>>2]=(c[v>>2]|0)+1}Cx(e)}else c[c[q>>2]>>2]=-1;if((c[u>>2]|0)==(c[s>>2]|0)){i=y;return}cw(c[u>>2]|0);i=y;return}function mq(a,b,d,e,f,g,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=+k;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();t=m+32|0;s=m+24|0;r=m+20|0;q=m+16|0;p=m+12|0;o=m;n=m+8|0;c[t>>2]=a;c[m+28>>2]=b;c[s>>2]=d;c[r>>2]=e;c[q>>2]=f;c[p>>2]=g;h[o>>3]=k;c[n>>2]=l;lq(c[t>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,+h[o>>3],c[n>>2]|0);i=m;return}function nq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|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,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=i;i=i+128|0;if((i|0)>=(j|0))ba();n=H+124|0;k=H+116|0;l=H+40|0;m=H+32|0;F=H+104|0;u=H+100|0;y=H+96|0;C=H+92|0;D=H+88|0;v=H+84|0;z=H+80|0;x=H+76|0;B=H+72|0;w=H+68|0;A=H+64|0;E=H+60|0;p=H+56|0;G=H+52|0;o=H+48|0;q=H+24|0;r=H+16|0;s=H+8|0;t=H;c[H+120>>2]=a;c[k>>2]=b;c[H+112>>2]=d;h[l>>3]=e;h[m>>3]=f;c[H+108>>2]=g;c[D>>2]=c[c[k>>2]>>2];c[v>>2]=c[(c[k>>2]|0)+20>>2];c[z>>2]=c[(c[k>>2]|0)+24>>2];c[o>>2]=c[(c[k>>2]|0)+28>>2];h[t>>3]=.01;if(!(fw(c[k>>2]|0,0)|0))db(133265,129810,37,129827);c[F>>2]=rK(56)|0;c[(c[F>>2]|0)+20>>2]=0;c[(c[F>>2]|0)+24>>2]=2;c[(c[F>>2]|0)+12>>2]=0;d=rK(16)|0;c[(c[F>>2]|0)+20>>2]=d;h[c[(c[F>>2]|0)+20>>2]>>3]=+h[l>>3];h[(c[(c[F>>2]|0)+20>>2]|0)+8>>3]=+h[m>>3];c[(c[F>>2]|0)+16>>2]=96;h[(c[F>>2]|0)+40>>3]=.01;d=~~+O(+(+(c[c[k>>2]>>2]|0)));c[(c[F>>2]|0)+48>>2]=d;d=ew(c[D>>2]|0,c[D>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[D>>2]|0)|0,1,1)|0;c[(c[F>>2]|0)+4>>2]=d;d=ew(c[D>>2]|0,c[D>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[D>>2]|0)|0,1,1)|0;c[(c[F>>2]|0)+8>>2]=d;c[x>>2]=c[(c[(c[F>>2]|0)+4>>2]|0)+20>>2];c[B>>2]=c[(c[(c[F>>2]|0)+4>>2]|0)+24>>2];c[w>>2]=c[(c[(c[F>>2]|0)+8>>2]|0)+20>>2];c[A>>2]=c[(c[(c[F>>2]|0)+8>>2]|0)+24>>2];c[G>>2]=c[(c[(c[F>>2]|0)+4>>2]|0)+28>>2];c[p>>2]=c[(c[(c[F>>2]|0)+8>>2]|0)+28>>2];if((c[(c[F>>2]|0)+4>>2]|0)!=0?(c[(c[F>>2]|0)+8>>2]|0)!=0:0){c[x>>2]=c[(c[(c[F>>2]|0)+4>>2]|0)+20>>2];c[B>>2]=c[(c[(c[F>>2]|0)+4>>2]|0)+24>>2];c[w>>2]=c[(c[(c[F>>2]|0)+8>>2]|0)+20>>2];c[A>>2]=c[(c[(c[F>>2]|0)+8>>2]|0)+24>>2];c[G>>2]=c[(c[(c[F>>2]|0)+4>>2]|0)+28>>2];c[p>>2]=c[(c[(c[F>>2]|0)+8>>2]|0)+28>>2];c[c[w>>2]>>2]=0;c[c[x>>2]>>2]=0;c[E>>2]=0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[D>>2]|0))break;h[r>>3]=0.0;h[q>>3]=0.0;c[y>>2]=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2];while(1){if((c[y>>2]|0)>=(c[(c[v>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0))break;c[C>>2]=c[(c[z>>2]|0)+(c[y>>2]<<2)>>2];if((c[C>>2]|0)!=(c[u>>2]|0)){e=+h[(c[o>>2]|0)+(c[y>>2]<<3)>>3];if((+h[(c[o>>2]|0)+(c[y>>2]<<3)>>3]>=0.0?e:-e)>+h[t>>3]){f=+h[(c[o>>2]|0)+(c[y>>2]<<3)>>3];f=+h[(c[o>>2]|0)+(c[y>>2]<<3)>>3]>=0.0?f:-f}else f=+h[t>>3];h[s>>3]=f;d=c[C>>2]|0;c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=d;c[(c[A>>2]|0)+(c[E>>2]<<2)>>2]=d;h[(c[G>>2]|0)+(c[E>>2]<<3)>>3]=-1.0/(+h[s>>3]*+h[s>>3]);h[(c[G>>2]|0)+(c[E>>2]<<3)>>3]=-1.0;h[(c[p>>2]|0)+(c[E>>2]<<3)>>3]=+h[(c[G>>2]|0)+(c[E>>2]<<3)>>3]*+h[s>>3];h[r>>3]=+h[r>>3]+ +h[(c[G>>2]|0)+(c[E>>2]<<3)>>3];h[q>>3]=+h[q>>3]+ +h[(c[p>>2]|0)+(c[E>>2]<<3)>>3];c[E>>2]=(c[E>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}d=c[u>>2]|0;c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=d;c[(c[A>>2]|0)+(c[E>>2]<<2)>>2]=d;h[(c[G>>2]|0)+(c[E>>2]<<3)>>3]=-+h[r>>3];h[(c[p>>2]|0)+(c[E>>2]<<3)>>3]=-+h[q>>3];c[E>>2]=(c[E>>2]|0)+1;c[(c[x>>2]|0)+((c[u>>2]|0)+1<<2)>>2]=c[E>>2];c[(c[w>>2]|0)+((c[u>>2]|0)+1<<2)>>2]=c[E>>2];c[u>>2]=(c[u>>2]|0)+1}c[(c[(c[F>>2]|0)+4>>2]|0)+8>>2]=c[E>>2];c[(c[(c[F>>2]|0)+8>>2]|0)+8>>2]=c[E>>2];c[n>>2]=c[F>>2];G=c[n>>2]|0;i=H;return G|0}Ax(c[F>>2]|0);c[n>>2]=0;G=c[n>>2]|0;i=H;return G|0}function oq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;Ax(c[d>>2]|0);i=b;return}function pq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,k=0,l=0,m=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();m=f+12|0;l=f+8|0;k=f+4|0;h=f;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[h>>2]=e;g=+Ex(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[h>>2]|0,.001);i=f;return +g}function qq(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();l=k+20|0;d=k;e=k+16|0;g=k+12|0;f=k+8|0;c[l>>2]=a;h[d>>3]=b;a=c[l>>2]|0;if((c[(c[l>>2]|0)+16>>2]|0)==1)c[e>>2]=dw(a,0)|0;else c[e>>2]=uw(a)|0;c[g>>2]=c[(c[e>>2]|0)+28>>2];if(!(+h[d>>3]!=1.0)){l=c[e>>2]|0;i=k;return l|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;l=(c[g>>2]|0)+(c[f>>2]<<3)|0;h[l>>3]=+h[l>>3]*+h[d>>3];c[f>>2]=(c[f>>2]|0)+1}l=c[e>>2]|0;i=k;return l|0}function rq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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.0;x=i;i=i+80|0;if((i|0)>=(j|0))ba();f=x+64|0;g=x+60|0;k=x+56|0;l=x+52|0;v=x+48|0;q=x+16|0;n=x+8|0;u=x;r=x+44|0;t=x+40|0;o=x+36|0;p=x+32|0;s=x+28|0;m=x+24|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;h[q>>3]=10.1;h[n>>3]=100.0;h[u>>3]=1.0;c[r>>2]=300;c[t>>2]=1;c[s>>2]=c[c[g>>2]>>2];c[m>>2]=0;c[c[l>>2]>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(_(c[f>>2]|0,c[s>>2]|0)|0))break;y=+h[n>>3];y=y*+Kw();h[(c[k>>2]|0)+(c[o>>2]<<3)>>3]=y;c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=1;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[f>>2]|0))break;d=_(c[o>>2]|0,c[f>>2]|0)|0;e=_(c[o>>2]|0,c[f>>2]|0)|0;y=+h[(c[k>>2]|0)+(0+(c[p>>2]|0)<<3)>>3]-+h[(c[k>>2]|0)+(e+(c[p>>2]|0)<<3)>>3];if((+h[(c[k>>2]|0)+(0+(c[p>>2]|0)<<3)>>3]-+h[(c[k>>2]|0)+(d+(c[p>>2]|0)<<3)>>3]>=0.0?y:-y)>1.0e-16){w=9;break}c[p>>2]=(c[p>>2]|0)+1}if((w|0)==9){w=0;c[t>>2]=0;c[o>>2]=c[s>>2]}c[o>>2]=(c[o>>2]|0)+1}a:do if(c[t>>2]|0){L2(1);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(_(c[f>>2]|0,c[s>>2]|0)|0))break a;y=+h[n>>3];y=y*+Kw();h[(c[k>>2]|0)+(c[o>>2]<<3)>>3]=y;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[m>>2]=qq(c[g>>2]|0,+h[u>>3])|0;if(fw(c[m>>2]|0,0)|0){c[v>>2]=nq(c[f>>2]|0,c[m>>2]|0,c[k>>2]|0,+h[q>>3]*1.0e6,+h[n>>3],c[l>>2]|0)|0;+pq(c[v>>2]|0,c[f>>2]|0,c[k>>2]|0,c[r>>2]|0);oq(c[v>>2]|0);c[v>>2]=nq(c[f>>2]|0,c[m>>2]|0,c[k>>2]|0,+h[q>>3]*1.0e4,+h[n>>3],c[l>>2]|0)|0;+pq(c[v>>2]|0,c[f>>2]|0,c[k>>2]|0,c[r>>2]|0);oq(c[v>>2]|0);c[v>>2]=nq(c[f>>2]|0,c[m>>2]|0,c[k>>2]|0,+h[q>>3]*100.0,+h[n>>3],c[l>>2]|0)|0;+pq(c[v>>2]|0,c[f>>2]|0,c[k>>2]|0,c[r>>2]|0);oq(c[v>>2]|0);c[v>>2]=nq(c[f>>2]|0,c[m>>2]|0,c[k>>2]|0,+h[q>>3],+h[n>>3],c[l>>2]|0)|0;+pq(c[v>>2]|0,c[f>>2]|0,c[k>>2]|0,c[r>>2]|0);oq(c[v>>2]|0);Uw(0.0,0.0,490.0,700.0,c[c[g>>2]>>2]|0,c[f>>2]|0,c[k>>2]|0);cw(c[m>>2]|0);i=x;return}else db(129853,129810,164,129889)}function sq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();f=q+28|0;g=q+24|0;k=q+20|0;n=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;l=q;c[f>>2]=a;c[g>>2]=d;c[k>>2]=e;c[p>>2]=rK((AB(c[f>>2]|0)|0)<<1<<3)|0;c[n>>2]=pC(c[f>>2]|0)|0;while(1){e=(c[k>>2]|0)!=0;if(!(c[n>>2]|0))break;if(e?(g4(MB(c[n>>2]|0)|0,129904,11)|0)==0:0)c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+120>>2];h[(c[p>>2]|0)+(c[m>>2]<<1<<3)>>3]=+h[(c[(c[n>>2]|0)+8>>2]|0)+32>>3]*.5+ +h[b>>3];h[(c[p>>2]|0)+((c[m>>2]<<1)+1<<3)>>3]=+h[(c[(c[n>>2]|0)+8>>2]|0)+40>>3]*.5+ +h[b+8>>3];c[n>>2]=qC(c[f>>2]|0,c[n>>2]|0)|0}if(!(e&(c[o>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[l>>2]=rK(c[o>>2]<<2)|0;c[o>>2]=0;c[n>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;if(!(g4(MB(c[n>>2]|0)|0,129904,11)|0)){m=c[(c[(c[n>>2]|0)+8>>2]|0)+120>>2]|0;b=c[o>>2]|0;c[o>>2]=b+1;c[(c[l>>2]|0)+(b<<2)>>2]=m}c[n>>2]=qC(c[f>>2]|0,c[n>>2]|0)|0}c[c[k>>2]>>2]=c[l>>2];c[c[g>>2]>>2]=c[o>>2];p=c[p>>2]|0;i=q;return p|0}function tq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=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=i;i=i+96|0;if((i|0)>=(j|0))ba();A=B+16|0;z=B+8|0;e=B+88|0;f=B+84|0;g=B+76|0;k=B+72|0;p=B+68|0;n=B+64|0;t=B+60|0;r=B+56|0;q=B+52|0;o=B+48|0;s=B+44|0;l=B+40|0;m=B+36|0;x=B+32|0;w=B;v=B+28|0;u=B+24|0;y=B+20|0;c[f>>2]=a;c[B+80>>2]=b;c[g>>2]=d;c[k>>2]=0;c[v>>2]=1;c[u>>2]=0;c[y>>2]=0;if(!(c[f>>2]|0)){c[e>>2]=0;A=c[e>>2]|0;i=B;return A|0}c[r>>2]=AB(c[f>>2]|0)|0;c[q>>2]=BB(c[f>>2]|0)|0;c[o>>2]=0;c[p>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;a=c[o>>2]|0;c[o>>2]=a+1;c[(c[(c[p>>2]|0)+8>>2]|0)+120>>2]=a;c[p>>2]=qC(c[f>>2]|0,c[p>>2]|0)|0}c[l>>2]=rK(c[q>>2]<<2)|0;c[m>>2]=rK(c[q>>2]<<2)|0;c[x>>2]=rK(c[q>>2]<<3)|0;c[t>>2]=GA(c[f>>2]|0,2,139413,0)|0;if(c[g>>2]|0){c[u>>2]=GA(c[f>>2]|0,2,129916,0)|0;c[y>>2]=qK(c[q>>2]<<3)|0}c[o>>2]=0;c[p>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;c[s>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+120>>2];c[n>>2]=cB(c[f>>2]|0,c[p>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[s>>2];a=c[n>>2]|0;c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[(c[((c[c[n>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+120>>2];if(!((c[t>>2]|0)!=0?(a=PA(c[n>>2]|0,c[t>>2]|0)|0,c[z>>2]=w,(E3(a,139081,z)|0)==1):0))h[w>>3]=1.0;h[(c[x>>2]|0)+(c[o>>2]<<3)>>3]=+h[w>>3];if(c[u>>2]|0){a=PA(c[n>>2]|0,c[u>>2]|0)|0;c[A>>2]=w;if((E3(a,139081,A)|0)!=1)h[w>>3]=1.0;h[(c[y>>2]|0)+(c[o>>2]<<3)>>3]=+h[w>>3]}c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=eB(c[f>>2]|0,c[n>>2]|0)|0}c[p>>2]=qC(c[f>>2]|0,c[p>>2]|0)|0}c[k>>2]=mw(c[q>>2]|0,c[r>>2]|0,c[r>>2]|0,c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,c[v>>2]|0,8)|0;if(c[g>>2]|0){A=mw(c[q>>2]|0,c[r>>2]|0,c[r>>2]|0,c[l>>2]|0,c[m>>2]|0,c[y>>2]|0,c[v>>2]|0,8)|0;c[c[g>>2]>>2]=A}B1(c[l>>2]|0);B1(c[m>>2]|0);B1(c[x>>2]|0);if(c[y>>2]|0)B1(c[y>>2]|0);c[e>>2]=c[k>>2];A=c[e>>2]|0;i=B;return A|0}function uq(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+80|0;if((i|0)>=(j|0))ba();d=q+72|0;e=q+68|0;p=q+64|0;g=q+60|0;m=q+48|0;f=q+40|0;o=q+32|0;l=q+16|0;k=q;n=q+56|0;c[e>>2]=a;if(!(Bq(c[e>>2]|0,m)|0)){c[d>>2]=0;p=c[d>>2]|0;i=q;return p|0}c[p>>2]=pC(c[e>>2]|0)|0;h[l>>3]=+h[c[(c[(c[p>>2]|0)+8>>2]|0)+132>>2]>>3];h[l+8>>3]=+h[(c[(c[(c[p>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];c[p>>2]=pC(c[e>>2]|0)|0;while(1){b=+h[l>>3];if(!(c[p>>2]|0))break;a=c[(c[(c[p>>2]|0)+8>>2]|0)+132>>2]|0;h[a>>3]=+h[a>>3]-b;a=(c[(c[(c[p>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[a>>3]=+h[a>>3]-+h[l+8>>3];c[p>>2]=qC(c[e>>2]|0,c[p>>2]|0)|0}if(!(b!=0.0)?!(+h[l+8>>3]!=0.0):0)c[n>>2]=0;else c[n>>2]=1;c[g>>2]=0;c[p>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;a=cB(c[e>>2]|0,c[p>>2]|0)|0;c[g>>2]=a;if(a)break;c[p>>2]=qC(c[e>>2]|0,c[p>>2]|0)|0}if(!(c[g>>2]|0)){c[d>>2]=c[n>>2];p=c[d>>2]|0;i=q;return p|0}t=c[g>>2]|0;s=c[g>>2]|0;r=c[g>>2]|0;a=c[g>>2]|0;b=+W(+(+h[(c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?t:t+-32|0)+28>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]-+h[(c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?s:s+32|0)+28>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]),+(+h[c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?r:r+-32|0)+28>>2]|0)+8>>2]|0)+132>>2]>>3]-+h[c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+132>>2]>>3]));h[m>>3]=+h[m>>3]-b;if(!(+h[m>>3]!=0.0)){c[d>>2]=c[n>>2];t=c[d>>2]|0;i=q;return t|0}t=c[g>>2]|0;h[k>>3]=+h[c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?t:t+32|0)+28>>2]|0)+8>>2]|0)+132>>2]>>3];t=c[g>>2]|0;h[k+8>>3]=+h[(c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?t:t+32|0)+28>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];h[f>>3]=+Q(+(+h[m>>3]));h[o>>3]=+R(+(+h[m>>3]));c[p>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;h[l>>3]=+h[c[(c[(c[p>>2]|0)+8>>2]|0)+132>>2]>>3]-+h[k>>3];h[l+8>>3]=+h[(c[(c[(c[p>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]-+h[k+8>>3];h[c[(c[(c[p>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[l>>3]*+h[f>>3]-+h[l+8>>3]*+h[o>>3]+ +h[k>>3];h[(c[(c[(c[p>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[l>>3]*+h[o>>3]+ +h[l+8>>3]*+h[f>>3]+ +h[k+8>>3];c[p>>2]=qC(c[e>>2]|0,c[p>>2]|0)|0}c[d>>2]=1;t=c[d>>2]|0;i=q;return t|0}function vq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();k=h+12|0;e=h+8|0;f=h+4|0;g=h;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=OA(c[k>>2]|0,129920)|0;a=c[k>>2]|0;if(c[g>>2]|0){g=c[g>>2]|0;k=c[e>>2]|0;k=Cq(a,g,k)|0;i=h;return k|0}else{g=(c[f>>2]|0)!=0?c[f>>2]|0:178598;k=c[e>>2]|0;k=Cq(a,g,k)|0;i=h;return k|0}return 0}function wq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n+8|0;l=n;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;h=n+12|0;c[f>>2]=b;c[g>>2]=d;if((AB(c[f>>2]|0)|0)<2){c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}c[h>>2]=uq(c[f>>2]|0)|0;d=Dq(c[f>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+d;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=c[h>>2];m=c[e>>2]|0;i=n;return m|0}if(a[139078]|0){d=c[24742]|0;o=MB(c[f>>2]|0)|0;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=o;c[l+4>>2]=b;p3(d,129928,l)|0}if((c[c[g>>2]>>2]|0)>>>0>2){switch(c[c[g>>2]>>2]|0){case 3:{c[k>>2]=nr(c[f>>2]|0,1)|0;break}case 4:{c[k>>2]=nr(c[f>>2]|0,0)|0;break}case 6:case 5:break;case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{mr(c[f>>2]|0,c[c[g>>2]>>2]|0)|0;break}case 15:{c[k>>2]=nr(c[f>>2]|0,-1)|0;break}default:if((c[c[g>>2]>>2]|0)!=1?(c[c[g>>2]>>2]|0)!=2:0){c[m>>2]=c[(c[g>>2]|0)+4>>2];pA(0,129951,m)|0}}c[e>>2]=(c[h>>2]|0)+(c[k>>2]|0);o=c[e>>2]|0;i=n;return o|0}else{if(Eq(c[f>>2]|0)|0){Fq();B1(c[12779]|0);c[12779]=0;c[e>>2]=c[h>>2];o=c[e>>2]|0;i=n;return o|0}Gq(c[f>>2]|0);if((c[c[g>>2]>>2]|0)==2)c[k>>2]=Hq()|0;else c[k>>2]=Iq()|0;if(c[k>>2]|0)Jq(c[f>>2]|0);Fq();B1(c[12779]|0);c[12779]=0;c[e>>2]=(c[k>>2]|0)+(c[h>>2]|0);o=c[e>>2]|0;i=n;return o|0}return 0}function xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+48|0;if((i|0)>=(j|0))ba();d=h+32|0;e=h+28|0;f=h+24|0;g=h;c[e>>2]=a;c[f>>2]=b;if((AB(c[e>>2]|0)|0)<2){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}else{Cq(c[e>>2]|0,c[f>>2]|0,g)|0;c[d>>2]=wq(c[e>>2]|0,g)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function yq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=c[d>>2]|0;a=xq(a,OA(c[d>>2]|0,129920)|0)|0;i=b;return a|0}function zq(b,e){b=b|0;e=e|0;var f=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();m=o;f=o+40|0;l=o+28|0;k=o+24|0;c[f>>2]=e;e=OA(c[f>>2]|0,129979)|0;c[k>>2]=e;if(!((e|0)!=0?(Kq(c[k>>2]|0,l,1.0)|0)!=0:0))n=3;do if((n|0)==3){n=OA(c[f>>2]|0,129983)|0;c[k>>2]=n;if((n|0)!=0?(Kq(c[k>>2]|0,l,.800000011920929)|0)!=0:0)break;g[l+4>>2]=4.0;g[l>>2]=4.0;a[l+8>>0]=1}while(0);if(!(a[139078]|0)){c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];i=o;return}n=c[24742]|0;q=+g[l>>2];p=+g[l+4>>2];c[m>>2]=d[l+8>>0];h[m+8>>3]=q;h[m+16>>3]=p;p3(n,129988,m)|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];i=o;return}function Aq(b,e){b=b|0;e=e|0;var f=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();m=o;f=o+40|0;l=o+28|0;k=o+24|0;c[f>>2]=e;e=OA(c[f>>2]|0,129983)|0;c[k>>2]=e;if(!((e|0)!=0?(Kq(c[k>>2]|0,l,1.0)|0)!=0:0))n=3;do if((n|0)==3){n=OA(c[f>>2]|0,129979)|0;c[k>>2]=n;if((n|0)!=0?(Kq(c[k>>2]|0,l,1.25)|0)!=0:0)break;g[l+4>>2]=3.200000047683716;g[l>>2]=3.200000047683716;a[l+8>>0]=1}while(0);if(!(a[139078]|0)){c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];i=o;return}n=c[24742]|0;q=+g[l>>2];p=+g[l+4>>2];c[m>>2]=d[l+8>>0];h[m+8>>3]=q;h[m+16>>3]=p;p3(n,130021,m)|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];i=o;return}function Bq(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();k=n+24|0;o=n+20|0;l=n+16|0;m=n;g=n+12|0;f=n+8|0;c[o>>2]=b;c[l>>2]=d;c[f>>2]=OA(c[o>>2]|0,130593)|0;if((c[f>>2]|0)!=0?(a[c[f>>2]>>0]|0)!=0:0){h[m>>3]=+Q3(c[f>>2]|0,g);do if((c[g>>2]|0)==(c[f>>2]|0)){if((zO(c[f>>2]|0)|0)<<24>>24){h[m>>3]=0.0;break}c[k>>2]=0;o=c[k>>2]|0;i=n;return o|0}while(0);while(1){if(!(+h[m>>3]>180.0))break;h[m>>3]=+h[m>>3]-360.0}while(1){e=+h[m>>3];if(!(+h[m>>3]<=-180.0))break;h[m>>3]=e+360.0}h[c[l>>2]>>3]=e/180.0*3.141592653589793;c[k>>2]=1;o=c[k>>2]|0;i=n;return o|0}c[k>>2]=0;o=c[k>>2]|0;i=n;return o|0}function Cq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();n=p+8|0;m=p;f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;l=p+12|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=51156;if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){while(1){if(!(c[(c[k>>2]|0)+4>>2]|0))break;d=(f4(c[g>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+8>>2]|0)|0)!=0;e=c[k>>2]|0;if(!d){o=6;break}c[k>>2]=e+16}if((o|0)==6){if(!(c[e+12>>2]|0)){c[m>>2]=c[(c[k>>2]|0)+4>>2];pA(0,130167,m)|0;c[k>>2]=51156}c[c[h>>2]>>2]=c[c[k>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+12>>2];if((c[c[k>>2]>>2]|0)==18)_q(c[f>>2]|0,(c[g>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0,c[h>>2]|0)}if(c[(c[k>>2]|0)+4>>2]|0){o=c[h>>2]|0;i=p;return o|0}c[l>>2]=(JO(c[g>>2]|0,63)|0)&255;if((c[l>>2]|0)==63){c[n>>2]=c[g>>2];pA(0,130209,n)|0;c[l>>2]=0}if(c[l>>2]|0){c[c[h>>2]>>2]=c[12785];c[(c[h>>2]|0)+4>>2]=c[12788]}else{c[c[h>>2]>>2]=c[12789];c[(c[h>>2]|0)+4>>2]=c[12792]}if((c[c[h>>2]>>2]|0)!=18){o=c[h>>2]|0;i=p;return o|0}_q(c[f>>2]|0,178598,c[h>>2]|0);o=c[h>>2]|0;i=p;return o|0}c[c[h>>2]>>2]=c[12785];c[(c[h>>2]|0)+4>>2]=c[12788];o=c[h>>2]|0;i=p;return o|0}function Dq(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();n=o+24|0;m=o+16|0;d=o+56|0;e=o+52|0;l=o;g=o+48|0;f=o+44|0;k=o+40|0;c[e>>2]=b;b=OA(c[e>>2]|0,178831)|0;c[k>>2]=b;if((b|0)!=0?(k=c[k>>2]|0,c[m>>2]=l,c[m+4>>2]=l+8,m=E3(k,144045,m)|0,c[f>>2]=m,(m|0)!=0):0){if(+N(+(+h[l>>3]))<1.0e-09){c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}if((c[f>>2]|0)!=1){if(+N(+(+h[l+8>>3]))<1.0e-09){c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}}else h[l+8>>3]=+h[l>>3];if(+h[l+8>>3]==1.0?+h[l>>3]==1.0:0){c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}if(a[139078]|0){m=c[24742]|0;p=+h[l+8>>3];h[n>>3]=+h[l>>3];h[n+8>>3]=p;p3(m,130144,n)|0}c[g>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;n=c[(c[(c[g>>2]|0)+8>>2]|0)+132>>2]|0;h[n>>3]=+h[n>>3]*+h[l>>3];n=(c[(c[(c[g>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[n>>3]=+h[n>>3]*+h[l+8>>3];c[g>>2]=qC(c[e>>2]|0,c[g>>2]|0)|0}c[d>>2]=1;n=c[d>>2]|0;i=o;return n|0}c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}function Eq(b){b=b|0;var d=0,e=0,f=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();n=o+44|0;d=o+40|0;k=o+36|0;e=o+32|0;f=o+28|0;l=o+16|0;m=o+12|0;p=o;c[d>>2]=b;c[12875]=AB(c[d>>2]|0)|0;fs();c[12890]=rK((c[12875]|0)*96|0)|0;c[k>>2]=pC(c[d>>2]|0)|0;c[f>>2]=c[12890];zq(p,c[d>>2]|0);c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];if(a[l+8>>0]|0){c[m>>2]=1;g[l>>2]=+g[l>>2]/72.0;g[l+4>>2]=+g[l+4>>2]/72.0}else c[m>>2]=2;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[12875]|0)){d=9;break}h[(c[f>>2]|0)+8>>3]=+h[c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]>>3];h[(c[f>>2]|0)+8+8>>3]=+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];if(Wb[c[m>>2]&3]((c[f>>2]|0)+40|0,c[k>>2]|0,+g[l>>2],+g[l+4>>2])|0){d=7;break}c[(c[f>>2]|0)+8+16>>2]=c[e>>2];c[(c[f>>2]|0)+8+20>>2]=1;c[c[f>>2]>>2]=c[k>>2];c[(c[f>>2]|0)+88>>2]=0;c[k>>2]=qC(c[d>>2]|0,c[k>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+96;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){B1(c[12890]|0);c[12890]=0;c[n>>2]=1;p=c[n>>2]|0;i=o;return p|0}else if((d|0)==9){c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}return 0}function Fq(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();a=d+4|0;b=d;c[b>>2]=c[12890];c[a>>2]=0;while(1){if((c[a>>2]|0)>=(c[12875]|0))break;bu((c[b>>2]|0)+40|0);c[b>>2]=(c[b>>2]|0)+96;c[a>>2]=(c[a>>2]|0)+1}au();Hs();B1(c[12890]|0);i=d;return}function Gq(b){b=b|0;var d=0,e=0,f=0,g=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=i;i=i+160|0;if((i|0)>=(j|0))ba();d=z+144|0;k=z+140|0;g=z+112|0;m=z+96|0;e=z+136|0;n=z+88|0;t=z+80|0;q=z+72|0;p=z+64|0;w=z+56|0;v=z+48|0;r=z+40|0;s=z+32|0;x=z+24|0;y=z+16|0;u=z+8|0;o=z;f=z+132|0;l=z+128|0;c[d>>2]=b;c[f>>2]=c[12890];c[l>>2]=(c[f>>2]|0)+40;h[n>>3]=+h[(c[f>>2]|0)+8>>3];h[t>>3]=+h[(c[f>>2]|0)+8+8>>3];h[q>>3]=+h[c[l>>2]>>3]+ +h[n>>3];h[w>>3]=+h[(c[l>>2]|0)+8>>3]+ +h[t>>3];h[p>>3]=+h[(c[l>>2]|0)+16>>3]+ +h[n>>3];h[v>>3]=+h[(c[l>>2]|0)+16+8>>3]+ +h[t>>3];c[e>>2]=1;while(1){if((c[e>>2]|0)>=(c[12875]|0))break;c[f>>2]=(c[f>>2]|0)+96;c[l>>2]=(c[f>>2]|0)+40;h[n>>3]=+h[(c[f>>2]|0)+8>>3];h[t>>3]=+h[(c[f>>2]|0)+8+8>>3];h[r>>3]=+h[c[l>>2]>>3]+ +h[n>>3];h[x>>3]=+h[(c[l>>2]|0)+8>>3]+ +h[t>>3];h[s>>3]=+h[(c[l>>2]|0)+16>>3]+ +h[n>>3];h[y>>3]=+h[(c[l>>2]|0)+16+8>>3]+ +h[t>>3];if(+h[r>>3]<+h[q>>3])h[q>>3]=+h[r>>3];if(+h[x>>3]<+h[w>>3])h[w>>3]=+h[x>>3];if(+h[s>>3]>+h[p>>3])h[p>>3]=+h[s>>3];if(+h[y>>3]>+h[v>>3])h[v>>3]=+h[y>>3];c[e>>2]=(c[e>>2]|0)+1}c[k>>2]=OA(c[d>>2]|0,130132)|0;if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)h[4197]=+M3(c[k>>2]|0);h[u>>3]=+h[4197]*(+h[v>>3]-+h[w>>3]);h[o>>3]=+h[4197]*(+h[p>>3]-+h[q>>3]);h[g>>3]=+h[q>>3]-+h[o>>3];h[g+8>>3]=+h[w>>3]-+h[u>>3];h[m>>3]=+h[p>>3]+ +h[o>>3];h[m+8>>3]=+h[v>>3]+ +h[u>>3];Sq(g,m);i=z;return}function Hq(){var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+64|0;if((i|0)>=(j|0))ba();e=m+24|0;l=m+16|0;b=m+52|0;g=m+48|0;k=m+44|0;f=m+40|0;d=m;c[g>>2]=0;c[k>>2]=0;if((c[12780]|0)==0|(c[12781]|0)>0)c[k>>2]=Lq(c[g>>2]|0)|0;if((c[k>>2]|0)==0|(c[12781]|0)==0){c[b>>2]=0;l=c[b>>2]|0;i=m;return l|0}Mq();h[d>>3]=(+h[4201]+ +h[4200])/2.0;h[d+8>>3]=(+h[4199]+ +h[4198])/2.0;do{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];+Zq(e);c[g>>2]=(c[g>>2]|0)+1;if((c[12780]|0)!=0?(c[g>>2]|0)==(c[12781]|0):0)break;c[f>>2]=Lq(c[g>>2]|0)|0}while((c[f>>2]|0)!=0);if(a[139078]|0){k=c[24742]|0;c[l>>2]=c[g>>2];p3(k,130060,l)|0}c[b>>2]=1;l=c[b>>2]|0;i=m;return l|0}function Iq(){var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m+8|0;k=m;b=m+32|0;g=m+28|0;h=m+24|0;d=m+20|0;f=m+16|0;e=m+12|0;c[g>>2]=0;c[h>>2]=0;c[d>>2]=0;c[f>>2]=0;if((c[12780]|0)==0|(c[12781]|0)>0)c[h>>2]=Lq(c[g>>2]|0)|0;if((c[h>>2]|0)==0|(c[12781]|0)==0){c[b>>2]=0;l=c[b>>2]|0;i=m;return l|0}Mq();Nq(0);Ku(0,1);while(1){Pq();c[g>>2]=(c[g>>2]|0)+1;if((c[12780]|0)!=0?(c[g>>2]|0)==(c[12781]|0):0)break;c[e>>2]=Lq(c[g>>2]|0)|0;if(!(c[e>>2]|0))break;if((c[e>>2]|0)>=(c[h>>2]|0))c[d>>2]=(c[d>>2]|0)+1;else c[d>>2]=0;c[h>>2]=c[e>>2];n=(c[d>>2]|0)==0;c[12782]=1;if(!n){c[f>>2]=(c[f>>2]|0)+1;Qq()}Nq(1);Ku(0,1)}if(a[139078]|0){n=c[24742]|0;c[k>>2]=c[g>>2];p3(n,130060,k)|0;n=c[24742]|0;c[l>>2]=c[f>>2];p3(n,130087,l)|0}Rq();c[b>>2]=1;n=c[b>>2]|0;i=m;return n|0}function Jq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[e+8>>2]=a;c[d>>2]=c[12890];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[12875]|0))break;h[c[(c[(c[c[d>>2]>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[(c[d>>2]|0)+8>>3];h[(c[(c[(c[c[d>>2]>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[(c[d>>2]|0)+8+8>>3];c[d>>2]=(c[d>>2]|0)+96;c[b>>2]=(c[b>>2]|0)+1}i=e;return}function Kq(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();k=q;m=q+32|0;f=q+28|0;n=q+24|0;o=q+20|0;h=q+16|0;l=q+12|0;p=q+8|0;c[f>>2]=b;c[n>>2]=d;g[o>>2]=e;while(1){b=(K1(a[c[f>>2]>>0]|0)|0)!=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+1}if((a[d>>0]|0)==43){c[f>>2]=(c[f>>2]|0)+1;a[(c[n>>2]|0)+8>>0]=1}else a[(c[n>>2]|0)+8>>0]=0;f=c[f>>2]|0;c[k>>2]=l;c[k+4>>2]=p;k=E3(f,130054,k)|0;c[h>>2]=k;if(!k){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}if((c[h>>2]|0)==1)g[p>>2]=+g[l>>2];e=+g[l>>2]/+g[o>>2];if(a[(c[n>>2]|0)+8>>0]|0){g[c[n>>2]>>2]=e;g[(c[n>>2]|0)+4>>2]=+g[p>>2]/+g[o>>2]}else{g[c[n>>2]>>2]=1.0+e;g[(c[n>>2]|0)+4>>2]=+g[p>>2]/+g[o>>2]+1.0}c[m>>2]=1;p=c[m>>2]|0;i=q;return p|0}function Lq(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();e=o+24|0;b=o+8|0;n=o;f=o+60|0;g=o+56|0;h=o+52|0;l=o+48|0;k=o+44|0;m=o+40|0;c[f>>2]=a;c[g>>2]=0;c[k>>2]=c[12890];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[12875]|0))break;c[(c[12890]|0)+((c[h>>2]|0)*96|0)+32>>2]=0;c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if((c[h>>2]|0)>=((c[12875]|0)-1|0))break;c[m>>2]=(c[k>>2]|0)+96;c[l>>2]=(c[h>>2]|0)+1;while(1){a=c[k>>2]|0;if((c[l>>2]|0)>=(c[12875]|0))break;r=a+8|0;p=(c[k>>2]|0)+40|0;q=(c[m>>2]|0)+8|0;a=(c[m>>2]|0)+40|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[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];if(eu(b,p,e,a)|0){c[g>>2]=(c[g>>2]|0)+1;c[(c[k>>2]|0)+32>>2]=1;c[(c[m>>2]|0)+32>>2]=1}c[m>>2]=(c[m>>2]|0)+96;c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=a+96;c[h>>2]=(c[h>>2]|0)+1}if((d[139078]|0|0)<=1){r=c[g>>2]|0;i=o;return r|0}r=c[24742]|0;q=c[g>>2]|0;c[n>>2]=c[f>>2];c[n+4>>2]=q;p3(r,130113,n)|0;r=c[g>>2]|0;i=o;return r|0}function Mq(){var a=0,b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();b=m+28|0;a=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m;d=m+8|0;Xq();c[e>>2]=c[12779];while(1){if((c[e>>2]|0)>>>0>=(c[12784]|0)>>>0)break;c[f>>2]=(c[e>>2]|0)+4;if(((c[f>>2]|0)>>>0<(c[12784]|0)>>>0?!(+h[c[c[f>>2]>>2]>>3]!=+h[c[c[e>>2]>>2]>>3]):0)?!(+h[(c[c[f>>2]>>2]|0)+8>>3]!=+h[(c[c[e>>2]>>2]|0)+8>>3]):0){c[a>>2]=2;c[g>>2]=(c[f>>2]|0)+4;while(1){if((c[g>>2]|0)>>>0>=(c[12784]|0)>>>0)break;if(!(+h[c[c[g>>2]>>2]>>3]==+h[c[c[e>>2]>>2]>>3]))break;if(!(+h[(c[c[g>>2]>>2]|0)+8>>3]==+h[(c[c[e>>2]>>2]|0)+8>>3]))break;c[a>>2]=(c[a>>2]|0)+1;c[f>>2]=c[g>>2];c[g>>2]=(c[f>>2]|0)+4}a:do if((c[g>>2]|0)>>>0<(c[12784]|0)>>>0?+h[(c[c[g>>2]>>2]|0)+8>>3]==+h[(c[c[e>>2]>>2]|0)+8>>3]:0){h[k>>3]=(+h[c[c[g>>2]>>2]>>3]-+h[c[c[e>>2]>>2]>>3])/+(c[a>>2]|0);c[b>>2]=1;c[f>>2]=(c[e>>2]|0)+4;while(1){if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break a;n=c[c[f>>2]>>2]|0;h[n>>3]=+h[n>>3]+ +(c[b>>2]|0)*+h[k>>3];c[b>>2]=(c[b>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+4}}else l=17;while(0);b:do if((l|0)==17){l=0;c[f>>2]=(c[e>>2]|0)+4;while(1){if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break b;c[d>>2]=(c[12890]|0)+((c[(c[c[e>>2]>>2]|0)+16>>2]|0)*96|0);h[k>>3]=+h[(c[d>>2]|0)+40+16>>3]-+h[(c[d>>2]|0)+40>>3];c[d>>2]=(c[12890]|0)+((c[(c[c[f>>2]>>2]|0)+16>>2]|0)*96|0);h[k>>3]=+h[k>>3]+(+h[(c[d>>2]|0)+40+16>>3]-+h[(c[d>>2]|0)+40>>3]);h[c[c[f>>2]>>2]>>3]=+h[c[c[e>>2]>>2]>>3]+ +h[k>>3]/2.0;c[e>>2]=(c[e>>2]|0)+4;c[f>>2]=(c[f>>2]|0)+4}}while(0);c[e>>2]=c[g>>2];continue}c[e>>2]=c[f>>2]}i=m;return}function Nq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;b=d;c[e>>2]=a;if(c[e>>2]|0)Xq();h[4204]=+h[c[c[12779]>>2]>>3];h[4205]=+h[c[c[12779]>>2]>>3];c[b>>2]=1;while(1){if((c[b>>2]|0)>=(c[12875]|0))break;if(+h[c[(c[12779]|0)+(c[b>>2]<<2)>>2]>>3]<+h[4204])h[4204]=+h[c[(c[12779]|0)+(c[b>>2]<<2)>>2]>>3];if(+h[c[(c[12779]|0)+(c[b>>2]<<2)>>2]>>3]>+h[4205])h[4205]=+h[c[(c[12779]|0)+(c[b>>2]<<2)>>2]>>3];c[b>>2]=(c[b>>2]|0)+1}h[4206]=+h[(c[c[12779]>>2]|0)+8>>3];h[4207]=+h[(c[(c[12779]|0)+((c[12875]|0)-1<<2)>>2]|0)+8>>3];h[4209]=+h[4207]-+h[4206];h[4208]=+h[4205]-+h[4204];i=d;return}function Oq(){var a=0,b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();a=d+4|0;b=d;if((c[12783]|0)>>>0<(c[12784]|0)>>>0){e=c[12783]|0;c[12783]=e+4;c[b>>2]=c[e>>2];c[a>>2]=c[b>>2];b=c[a>>2]|0;i=d;return b|0}else{c[a>>2]=0;e=c[a>>2]|0;i=d;return e|0}return 0}function Pq(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();a=d+4|0;b=d;c[b>>2]=c[12890];Tq();c[a>>2]=0;while(1){if((c[a>>2]|0)>=(c[12875]|0))break;if(!((c[12782]|0)==0?(c[(c[b>>2]|0)+32>>2]|0)==0:0))Uq(c[b>>2]|0);c[b>>2]=(c[b>>2]|0)+96;c[a>>2]=(c[a>>2]|0)+1}i=d;return}function Qq(){var a=0,b=0,c=0,d=0,e=0,f=0;a=i;i=i+48|0;if((i|0)>=(j|0))ba();e=a+40|0;d=a+32|0;c=a+16|0;b=a;h[b>>3]=+h[4200];h[b+8>>3]=+h[4198];h[c>>3]=+h[4201];h[c+8>>3]=+h[4199];h[e>>3]=+h[4188]*(+h[b+8>>3]-+h[c+8>>3]);h[d>>3]=+h[4188]*(+h[b>>3]-+h[c>>3]);h[b>>3]=+h[b>>3]+ +h[d>>3];f=b+8|0;h[f>>3]=+h[f>>3]+ +h[e>>3];h[c>>3]=+h[c>>3]-+h[d>>3];d=c+8|0;h[d>>3]=+h[d>>3]-+h[e>>3];Sq(c,b);i=a;return}function Rq(){rs();us();wu();_r();return}function Sq(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+4|0;f=d;c[g>>2]=a;c[f>>2]=b;h[4201]=+h[c[g>>2]>>3];h[4200]=+h[c[f>>2]>>3];h[4199]=+h[(c[g>>2]|0)+8>>3];h[4198]=+h[(c[f>>2]|0)+8>>3];e=+h[4201];h[4189]=e;h[4191]=e;e=+h[4200];h[4193]=e;h[4195]=e;e=+h[4198];h[4196]=e;h[4192]=e;e=+h[4199];h[4194]=e;h[4190]=e;i=d;return}function Tq(){var a=0,b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;if((i|0)>=(j|0))ba();d=p+60|0;o=p+56|0;k=p+52|0;m=p+48|0;f=p+44|0;n=p+32|0;g=p+24|0;l=p+16|0;e=p+8|0;a=p;b=p+40|0;c[d>>2]=c[12890];c[o>>2]=c[d>>2];c[k>>2]=c[d>>2];c[m>>2]=c[d>>2];c[f>>2]=c[d>>2];h[n>>3]=+gs((c[d>>2]|0)+8|0,33512);h[g>>3]=+gs((c[d>>2]|0)+8|0,33528);h[l>>3]=+gs((c[d>>2]|0)+8|0,33544);h[e>>3]=+gs((c[d>>2]|0)+8|0,33560);c[d>>2]=(c[d>>2]|0)+96;c[b>>2]=1;while(1){if((c[b>>2]|0)>=(c[12875]|0))break;h[a>>3]=+gs((c[d>>2]|0)+8|0,33512);if(+h[a>>3]<+h[n>>3]){h[n>>3]=+h[a>>3];c[o>>2]=c[d>>2]}h[a>>3]=+gs((c[d>>2]|0)+8|0,33544);if(+h[a>>3]<+h[l>>3]){h[l>>3]=+h[a>>3];c[m>>2]=c[d>>2]}h[a>>3]=+gs((c[d>>2]|0)+8|0,33528);if(+h[a>>3]<+h[g>>3]){h[g>>3]=+h[a>>3];c[k>>2]=c[d>>2]}h[a>>3]=+gs((c[d>>2]|0)+8|0,33560);if(+h[a>>3]<+h[e>>3]){h[e>>3]=+h[a>>3];c[f>>2]=c[d>>2]}c[d>>2]=(c[d>>2]|0)+96;c[b>>2]=(c[b>>2]|0)+1}Is((c[o>>2]|0)+8|0,+h[4189],+h[4190]);Is((c[m>>2]|0)+8|0,+h[4193],+h[4194]);Is((c[k>>2]|0)+8|0,+h[4191],+h[4192]);Is((c[f>>2]|0)+8|0,+h[4195],+h[4196]);i=p;return}function Uq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+112|0;if((i|0)>=(j|0))ba();e=s+80|0;d=s+64|0;b=s+48|0;f=s+108|0;g=s+104|0;n=s+100|0;o=s+96|0;p=s+40|0;l=s+32|0;m=s+24|0;q=s+16|0;r=s+8|0;k=s;c[f>>2]=a;c[g>>2]=c[(c[f>>2]|0)+88>>2];h[p>>3]=0.0;h[l>>3]=0.0;h[m>>3]=0.0;c[n>>2]=c[c[g>>2]>>2];c[o>>2]=c[c[n>>2]>>2];while(1){if(!(c[o>>2]|0))break;a=(c[g>>2]|0)+8|0;t=(c[n>>2]|0)+8|0;u=(c[o>>2]|0)+8|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[d>>2]=c[t>>2];c[d+4>>2]=c[t+4>>2];c[d+8>>2]=c[t+8>>2];c[d+12>>2]=c[t+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];h[k>>3]=+Vq(b,d,e);u=(c[g>>2]|0)+8|0;t=(c[n>>2]|0)+8|0;a=(c[o>>2]|0)+8|0;c[b>>2]=c[u>>2];c[b+4>>2]=c[u+4>>2];c[b+8>>2]=c[u+8>>2];c[b+12>>2]=c[u+12>>2];c[d>>2]=c[t>>2];c[d+4>>2]=c[t+4>>2];c[d+8>>2]=c[t+8>>2];c[d+12>>2]=c[t+12>>2];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];Wq(b,d,e,q,r);h[l>>3]=+h[l>>3]+ +h[k>>3]*+h[q>>3];h[m>>3]=+h[m>>3]+ +h[k>>3]*+h[r>>3];h[p>>3]=+h[p>>3]+ +h[k>>3];c[n>>2]=c[o>>2];c[o>>2]=c[c[o>>2]>>2]}h[(c[f>>2]|0)+8>>3]=+h[l>>3]/+h[p>>3];h[(c[f>>2]|0)+8+8>>3]=+h[m>>3]/+h[p>>3];i=s;return}function Vq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;h[e>>3]=+N(+(+h[a>>3]*(+h[b+8>>3]-+h[c+8>>3])+ +h[b>>3]*(+h[c+8>>3]-+h[a+8>>3])+ +h[c>>3]*(+h[a+8>>3]-+h[b+8>>3])))/2.0;i=d;return +(+h[e>>3])}function Wq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();l=g+4|0;k=g;c[l>>2]=e;c[k>>2]=f;h[c[l>>2]>>3]=(+h[a>>3]+ +h[b>>3]+ +h[d>>3])/3.0;h[c[k>>2]>>3]=(+h[a+8>>3]+ +h[b+8>>3]+ +h[d+8>>3])/3.0;i=g;return}function Xq(){var a=0,b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();a=e+8|0;d=e+4|0;b=e;if(!(c[12779]|0)){c[12779]=rK(c[12875]<<2)|0;c[12784]=(c[12779]|0)+(c[12875]<<2)}c[d>>2]=c[12779];c[b>>2]=c[12890];Hs();c[a>>2]=0;while(1){if((c[a>>2]|0)>=(c[12875]|0))break;g=(c[b>>2]|0)+8|0;f=c[d>>2]|0;c[d>>2]=f+4;c[f>>2]=g;c[(c[b>>2]|0)+88>>2]=0;c[(c[b>>2]|0)+8+20>>2]=1;c[b>>2]=(c[b>>2]|0)+96;c[a>>2]=(c[a>>2]|0)+1}P3(c[12779]|0,c[12875]|0,4,69);c[12783]=c[12779];i=e;return}function Yq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();d=g+16|0;l=g+12|0;k=g+8|0;e=g+4|0;f=g;c[l>>2]=a;c[k>>2]=b;c[e>>2]=c[c[l>>2]>>2];c[f>>2]=c[c[k>>2]>>2];do if(!(+h[(c[e>>2]|0)+8>>3]<+h[(c[f>>2]|0)+8>>3])){if(+h[(c[e>>2]|0)+8>>3]>+h[(c[f>>2]|0)+8>>3]){c[d>>2]=1;break}if(+h[c[e>>2]>>3]<+h[c[f>>2]>>3]){c[d>>2]=-1;break}if(+h[c[e>>2]>>3]>+h[c[f>>2]>>3]){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=-1;while(0);i=g;return c[d>>2]|0}function Zq(a){a=a|0;var b=0.0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+12|0;e=f+8|0;a=f;c[e>>2]=c[12890];h[a>>3]=+h[4188]+1.0;c[d>>2]=0;while(1){b=+h[a>>3];if((c[d>>2]|0)>=(c[12875]|0))break;h[(c[e>>2]|0)+8>>3]=b*+h[(c[e>>2]|0)+8>>3];h[(c[e>>2]|0)+8+8>>3]=+h[a>>3]*+h[(c[e>>2]|0)+8+8>>3];c[e>>2]=(c[e>>2]|0)+96;c[d>>2]=(c[d>>2]|0)+1}i=f;return +b}function _q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0.0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();l=k;e=k+16|0;m=k+12|0;f=k+8|0;g=k+4|0;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;b=c[m>>2]|0;c[l>>2]=g;b=(E3(b,175103,l)|0)>0;if(b&(c[g>>2]|0)>=0)c[(c[f>>2]|0)+8>>2]=c[g>>2];else c[(c[f>>2]|0)+8>>2]=1e3;m=c[e>>2]|0;n=+uO(m,GA(c[e>>2]|0,0,130256,0)|0,-4.0,-1.0e10);h[(c[f>>2]|0)+16>>3]=n;i=k;return}function $q(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();h=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;q=s+12|0;p=s+8|0;r=s+4|0;o=s;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=2147483647;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]=-1;c[q>>2]=(c[q>>2]|0)+1}c[(c[m>>2]|0)+(c[h>>2]<<2)>>2]=0;ar(c[n>>2]|0,c[h>>2]|0);a:do if(!(c[(c[k>>2]|0)+8>>2]|0))b:while(1){if(!((br(c[n>>2]|0,p)|0)<<24>>24))break a;c[o>>2]=c[(c[m>>2]|0)+(c[p>>2]<<2)>>2];c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0))continue b;c[r>>2]=c[(c[(c[k>>2]|0)+((c[p>>2]|0)*20|0)+4>>2]|0)+(c[q>>2]<<2)>>2];if(+(c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]|0)<-.5){c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]=(c[o>>2]|0)+1;cr(c[n>>2]|0,c[r>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+1}}else c:while(1){if(!((br(c[n>>2]|0,p)|0)<<24>>24))break a;c[o>>2]=c[(c[m>>2]|0)+(c[p>>2]<<2)>>2];c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0))continue c;c[r>>2]=c[(c[(c[k>>2]|0)+((c[p>>2]|0)*20|0)+4>>2]|0)+(c[q>>2]<<2)>>2];if(+(c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]|0)<-.5){c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]=(c[o>>2]|0)+~~+g[(c[(c[k>>2]|0)+((c[p>>2]|0)*20|0)+8>>2]|0)+(c[q>>2]<<2)>>2];cr(c[n>>2]|0,c[r>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+1}}while(0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;if(+(c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]|0)<-.5)c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]=(c[o>>2]|0)+10;c[q>>2]=(c[q>>2]|0)+1}i=s;return}function ar(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[c[e>>2]>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+8>>2]=1;i=d;return}function br(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[(c[f>>2]|0)+12>>2]|0)>=(c[(c[f>>2]|0)+8>>2]|0)){a[e>>0]=0;d=a[e>>0]|0;i=h;return d|0}else{b=(c[f>>2]|0)+12|0;d=c[b>>2]|0;c[b>>2]=d+1;c[c[g>>2]>>2]=c[(c[c[f>>2]>>2]|0)+(d<<2)>>2];a[e>>0]=1;d=a[e>>0]|0;i=h;return d|0}return 0}function cr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[(c[f>>2]|0)+8>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){a[e>>0]=0;d=a[e>>0]|0;i=h;return d|0}else{b=c[g>>2]|0;g=(c[f>>2]|0)+8|0;d=c[g>>2]|0;c[g>>2]=d+1;c[(c[c[f>>2]>>2]|0)+(d<<2)>>2]=b;a[e>>0]=1;d=a[e>>0]|0;i=h;return d|0}return 0}function dr(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 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;w=i;i=i+48|0;if((i|0)>=(j|0))ba();k=w+44|0;l=w+40|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;s=w+16|0;u=w+12|0;r=w+8|0;t=w+4|0;q=w;c[k>>2]=a;c[l>>2]=b;c[w+36>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]=0;ar(c[n>>2]|0,c[k>>2]|0);c[u>>2]=0;a:while(1){if(!((br(c[n>>2]|0,r)|0)<<24>>24))break;c[q>>2]=c[(c[m>>2]|0)+(c[r>>2]<<2)>>2];f=c[r>>2]|0;if((c[q>>2]|0)>(c[o>>2]|0)){v=4;break}h=c[u>>2]|0;c[u>>2]=h+1;c[(c[p>>2]|0)+(h<<2)>>2]=f;c[s>>2]=1;while(1){if((c[s>>2]|0)>=(c[(c[l>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0))continue a;c[t>>2]=c[(c[(c[l>>2]|0)+((c[r>>2]|0)*20|0)+4>>2]|0)+(c[s>>2]<<2)>>2];if(+(c[(c[m>>2]|0)+(c[t>>2]<<2)>>2]|0)<-.5){c[(c[m>>2]|0)+(c[t>>2]<<2)>>2]=(c[q>>2]|0)+1;cr(c[n>>2]|0,c[t>>2]|0)|0}c[s>>2]=(c[s>>2]|0)+1}}if((v|0)==4)c[(c[m>>2]|0)+(f<<2)>>2]=-1;while(1){if(!((br(c[n>>2]|0,r)|0)<<24>>24))break;c[(c[m>>2]|0)+(c[r>>2]<<2)>>2]=-1}c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]=-1;i=w;return c[u>>2]|0}function er(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=rK(c[f>>2]<<2)|0;c[c[e>>2]>>2]=b;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;i=d;return}function fr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[c[d>>2]>>2]|0);i=b;return}function gr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+28|0;g=o+24|0;k=o+20|0;n=o;l=o+16|0;m=o+12|0;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if(a[139078]|0)p3(c[24742]|0,130603,o+8|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[f>>2]|0))break;h[n>>3]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;if((c[l>>2]|0)!=(c[m>>2]|0))h[n>>3]=+h[n>>3]+ +h[(c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}h[(c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[l>>2]<<3)>>3]=-+h[n>>3];c[l>>2]=(c[l>>2]|0)+1}n=it(c[g>>2]|0,c[k>>2]|0,(c[f>>2]|0)-1|0)|0;i=o;return n|0}function hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();f=p+32|0;g=p+28|0;k=p+24|0;l=p+20|0;o=p+16|0;m=p+12|0;n=p+8|0;e=p+4|0;d=p;c[f>>2]=a;c[g>>2]=b;c[k>>2]=dn(c[g>>2]|0,c[g>>2]|0,0.0)|0;c[l>>2]=dn(c[g>>2]|0,c[g>>2]|0,0.0)|0;c[e>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[d>>2]=hB(c[f>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;b=c[d>>2]|0;c[m>>2]=(c[c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]>>2]|0)>>>4;b=c[d>>2]|0;c[n>>2]=(c[c[((c[c[d>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]>>2]|0)>>>4;if((c[m>>2]|0)!=(c[n>>2]|0)){q=-1.0/+h[(c[(c[d>>2]|0)+8>>2]|0)+136>>3];h[(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]=q;h[(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3]=q}c[d>>2]=iB(c[f>>2]|0,c[d>>2]|0,c[e>>2]|0)|0}c[e>>2]=qC(c[f>>2]|0,c[e>>2]|0)|0}c[o>>2]=gr(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[o>>2]|0)){n=c[k>>2]|0;en(n);n=c[l>>2]|0;en(n);o=c[o>>2]|0;i=p;return o|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;c[n>>2]=0;while(1){d=c[m>>2]|0;if((c[n>>2]|0)>=(c[g>>2]|0))break;h[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+160>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3]=+h[(c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)+(d<<3)>>3]+ +h[(c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3]-+h[(c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3]*2.0;c[n>>2]=(c[n>>2]|0)+1}c[m>>2]=d+1}n=c[k>>2]|0;en(n);n=c[l>>2]|0;en(n);o=c[o>>2]|0;i=p;return o|0}function ir(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+112|0;if((i|0)>=(j|0))ba();C=E+48|0;k=E+100|0;l=E+96|0;F=E+92|0;m=E+88|0;n=E+40|0;o=E+84|0;u=E+80|0;B=E+76|0;r=E+32|0;t=E+24|0;z=E+16|0;A=E+8|0;x=E;y=E+72|0;w=E+68|0;p=E+64|0;q=E+60|0;s=E+56|0;v=E+52|0;c[k>>2]=a;c[l>>2]=b;c[F>>2]=d;c[m>>2]=e;h[n>>3]=f;c[o>>2]=g;c[B>>2]=0;c[y>>2]=rK(c[m>>2]<<3)|0;c[w>>2]=rK(c[m>>2]<<3)|0;c[p>>2]=rK(c[m>>2]<<3)|0;c[q>>2]=rK(c[m>>2]<<3)|0;c[s>>2]=rK(c[m>>2]<<3)|0;c[v>>2]=rK(c[m>>2]<<3)|0;At(c[m>>2]|0,c[F>>2]|0,c[v>>2]|0);tt(c[m>>2]|0,c[v>>2]|0);tt(c[m>>2]|0,c[l>>2]|0);vt(c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);xt(c[m>>2]|0,c[v>>2]|0,c[q>>2]|0,c[y>>2]|0);At(c[m>>2]|0,c[y>>2]|0,c[w>>2]|0);h[z>>3]=+Bt(c[m>>2]|0,c[y>>2]|0,c[y>>2]|0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[o>>2]|0))break;f=+Ct(c[m>>2]|0,c[y>>2]|0);if(!(f>+h[n>>3]))break;vt(c[k>>2]|0,c[m>>2]|0,c[w>>2]|0,c[p>>2]|0);h[x>>3]=+Bt(c[m>>2]|0,c[w>>2]|0,c[p>>2]|0);if(+h[x>>3]==0.0)break;h[r>>3]=+h[z>>3]/+h[x>>3];zt(c[m>>2]|0,c[w>>2]|0,+h[r>>3],c[s>>2]|0);yt(c[m>>2]|0,c[l>>2]|0,c[s>>2]|0,c[l>>2]|0);if((c[u>>2]|0)<((c[o>>2]|0)-1|0)){zt(c[m>>2]|0,c[p>>2]|0,+h[r>>3],c[p>>2]|0);xt(c[m>>2]|0,c[y>>2]|0,c[p>>2]|0,c[y>>2]|0);h[A>>3]=+Bt(c[m>>2]|0,c[y>>2]|0,c[y>>2]|0);if(+h[z>>3]==0.0){D=7;break}h[t>>3]=+h[A>>3]/+h[z>>3];h[z>>3]=+h[A>>3];zt(c[m>>2]|0,c[w>>2]|0,+h[t>>3],c[w>>2]|0);yt(c[m>>2]|0,c[y>>2]|0,c[w>>2]|0,c[w>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}if((D|0)==7){pA(1,130629,C)|0;c[B>>2]=1}B1(c[y>>2]|0);B1(c[w>>2]|0);B1(c[p>>2]|0);B1(c[q>>2]|0);B1(c[s>>2]|0);B1(c[v>>2]|0);i=E;return c[B>>2]|0}function jr(b,d,e,f,g,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;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;G=i;i=i+112|0;if((i|0)>=(j|0))ba();E=G+48|0;m=G+100|0;n=G+96|0;I=G+92|0;o=G+88|0;p=G+40|0;q=G+84|0;H=G+104|0;w=G+80|0;D=G+76|0;t=G+32|0;v=G+24|0;B=G+16|0;C=G+8|0;z=G;A=G+72|0;y=G+68|0;r=G+64|0;s=G+60|0;u=G+56|0;x=G+52|0;c[m>>2]=b;c[n>>2]=d;c[I>>2]=e;c[o>>2]=f;h[p>>3]=g;c[q>>2]=k;a[H>>0]=l;c[D>>2]=0;c[A>>2]=rK(c[o>>2]<<3)|0;c[y>>2]=rK(c[o>>2]<<3)|0;c[r>>2]=rK(c[o>>2]<<3)|0;c[s>>2]=rK(c[o>>2]<<3)|0;c[u>>2]=rK(c[o>>2]<<3)|0;c[x>>2]=rK(c[o>>2]<<3)|0;At(c[o>>2]|0,c[I>>2]|0,c[x>>2]|0);if(a[H>>0]|0){tt(c[o>>2]|0,c[x>>2]|0);tt(c[o>>2]|0,c[n>>2]|0)}wt(c[m>>2]|0,c[o>>2]|0,c[n>>2]|0,c[s>>2]|0);xt(c[o>>2]|0,c[x>>2]|0,c[s>>2]|0,c[A>>2]|0);At(c[o>>2]|0,c[A>>2]|0,c[y>>2]|0);h[B>>3]=+Bt(c[o>>2]|0,c[A>>2]|0,c[A>>2]|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[q>>2]|0))break;g=+Ct(c[o>>2]|0,c[A>>2]|0);if(!(g>+h[p>>3]))break;wt(c[m>>2]|0,c[o>>2]|0,c[y>>2]|0,c[r>>2]|0);h[z>>3]=+Bt(c[o>>2]|0,c[y>>2]|0,c[r>>2]|0);if(+h[z>>3]==0.0)break;h[t>>3]=+h[B>>3]/+h[z>>3];zt(c[o>>2]|0,c[y>>2]|0,+h[t>>3],c[u>>2]|0);yt(c[o>>2]|0,c[n>>2]|0,c[u>>2]|0,c[n>>2]|0);if((c[w>>2]|0)<((c[q>>2]|0)-1|0)){zt(c[o>>2]|0,c[r>>2]|0,+h[t>>3],c[r>>2]|0);xt(c[o>>2]|0,c[A>>2]|0,c[r>>2]|0,c[A>>2]|0);h[C>>3]=+Bt(c[o>>2]|0,c[A>>2]|0,c[A>>2]|0);if(+h[B>>3]==0.0){F=9;break}h[v>>3]=+h[C>>3]/+h[B>>3];h[B>>3]=+h[C>>3];zt(c[o>>2]|0,c[y>>2]|0,+h[v>>3],c[y>>2]|0);yt(c[o>>2]|0,c[A>>2]|0,c[y>>2]|0,c[y>>2]|0)}c[w>>2]=(c[w>>2]|0)+1}if((F|0)==9){c[D>>2]=1;pA(1,130629,E)|0}B1(c[A>>2]|0);B1(c[y>>2]|0);B1(c[r>>2]|0);B1(c[s>>2]|0);B1(c[u>>2]|0);B1(c[x>>2]|0);i=G;return c[D>>2]|0}function kr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|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,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=i;i=i+96|0;if((i|0)>=(j|0))ba();A=B+48|0;k=B+92|0;l=B+88|0;C=B+84|0;m=B+80|0;n=B+40|0;o=B+76|0;r=B+72|0;z=B+68|0;p=B+32|0;q=B+24|0;t=B+16|0;u=B+8|0;s=B;y=B+64|0;x=B+60|0;v=B+56|0;w=B+52|0;c[k>>2]=a;c[l>>2]=b;c[C>>2]=d;c[m>>2]=e;h[n>>3]=f;c[o>>2]=g;c[z>>2]=0;c[y>>2]=qK(c[m>>2]<<2)|0;c[x>>2]=qK(c[m>>2]<<2)|0;c[v>>2]=qK(c[m>>2]<<2)|0;c[w>>2]=qK(c[m>>2]<<2)|0;Et(c[m>>2]|0,c[l>>2]|0);Et(c[m>>2]|0,c[C>>2]|0);Ft(c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,c[w>>2]|0);Et(c[m>>2]|0,c[w>>2]|0);Gt(c[m>>2]|0,c[C>>2]|0,c[w>>2]|0,c[y>>2]|0);Kt(c[m>>2]|0,c[y>>2]|0,c[x>>2]|0);h[t>>3]=+Lt(c[m>>2]|0,c[y>>2]|0,c[y>>2]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0)){k=10;break}f=+Ot(c[m>>2]|0,c[y>>2]|0);if(!(f>+h[n>>3])){k=10;break}Et(c[m>>2]|0,c[x>>2]|0);Et(c[m>>2]|0,c[l>>2]|0);Et(c[m>>2]|0,c[y>>2]|0);Ft(c[k>>2]|0,c[m>>2]|0,c[x>>2]|0,c[v>>2]|0);Et(c[m>>2]|0,c[v>>2]|0);h[s>>3]=+Lt(c[m>>2]|0,c[x>>2]|0,c[v>>2]|0);if(+h[s>>3]==0.0){k=10;break}h[p>>3]=+h[t>>3]/+h[s>>3];It(c[m>>2]|0,c[l>>2]|0,+h[p>>3],c[x>>2]|0);if((c[r>>2]|0)<((c[o>>2]|0)-1|0)){It(c[m>>2]|0,c[y>>2]|0,-+h[p>>3],c[v>>2]|0);h[u>>3]=+Lt(c[m>>2]|0,c[y>>2]|0,c[y>>2]|0);if(+h[t>>3]==0.0){k=7;break}h[q>>3]=+h[u>>3]/+h[t>>3];h[t>>3]=+h[u>>3];Jt(c[m>>2]|0,c[x>>2]|0,+h[q>>3],c[x>>2]|0);Ht(c[m>>2]|0,c[y>>2]|0,c[x>>2]|0,c[x>>2]|0)}c[r>>2]=(c[r>>2]|0)+1}if((k|0)==7){c[z>>2]=1;pA(1,130629,A)|0;C=c[y>>2]|0;B1(C);C=c[x>>2]|0;B1(C);C=c[v>>2]|0;B1(C);C=c[w>>2]|0;B1(C);C=c[z>>2]|0;i=B;return C|0}else if((k|0)==10){C=c[y>>2]|0;B1(C);C=c[x>>2]|0;B1(C);C=c[v>>2]|0;B1(C);C=c[w>>2]|0;B1(C);C=c[z>>2]|0;i=B;return C|0}return 0}function lr(b,e,f,k,l,m,n,o,p,q){b=b|0;e=e|0;f=f|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=+q;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,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,aa=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;Ha=i;i=i+352|0;if((i|0)>=(j|0))ba();R=Ha+160|0;Q=Ha+152|0;V=Ha+144|0;U=Ha+136|0;T=Ha+128|0;S=Ha+120|0;P=Ha+112|0;O=Ha+104|0;Z=Ha+336|0;x=Ha+332|0;aa=Ha+328|0;r=Ha+324|0;ca=Ha+320|0;s=Ha+316|0;da=Ha+312|0;t=Ha+308|0;y=Ha+304|0;ea=Ha+300|0;$=Ha+96|0;ra=Ha+296|0;qa=Ha+292|0;sa=Ha+288|0;ta=Ha+284|0;v=Ha+341|0;ua=Ha+280|0;oa=Ha+276|0;Da=Ha+272|0;fa=Ha+268|0;na=Ha+264|0;va=Ha+260|0;wa=Ha+256|0;D=Ha+252|0;ka=Ha+248|0;ha=Ha+88|0;Ea=Ha+244|0;ga=Ha+240|0;Y=Ha+80|0;E=Ha+236|0;J=Ha+232|0;B=Ha+228|0;z=Ha+224|0;u=Ha+72|0;w=Ha+64|0;Ba=Ha+220|0;ya=Ha+216|0;ia=Ha+212|0;la=Ha+208|0;ma=Ha+56|0;Ca=Ha+204|0;Fa=Ha+200|0;Aa=Ha+48|0;za=Ha+40|0;ja=Ha+340|0;xa=Ha+196|0;H=Ha+192|0;pa=Ha+188|0;W=Ha+184|0;X=Ha+180|0;C=Ha+32|0;K=Ha+176|0;G=Ha+24|0;F=Ha+172|0;L=Ha+16|0;M=Ha+8|0;I=Ha;A=Ha+168|0;c[x>>2]=b;c[aa>>2]=e;c[r>>2]=f;c[ca>>2]=k;c[s>>2]=l;c[da>>2]=m;c[t>>2]=n;c[y>>2]=o;c[ea>>2]=p;h[$>>3]=q;c[ra>>2]=0;a[v>>0]=0;c[ua>>2]=0;c[oa>>2]=0;c[Da>>2]=0;c[fa>>2]=0;c[na>>2]=0;c[va>>2]=0;c[D>>2]=0;c[ka>>2]=0;h[ha>>3]=.001;c[Ea>>2]=0;c[ga>>2]=0;c[J>>2]=c[t>>2]&4;c[z>>2]=0;h[u>>3]=.01;h[w>>3]=.1;c[Ba>>2]=0;c[ya>>2]=0;a:do if(c[(c[x>>2]|0)+16>>2]|0){c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[aa>>2]|0))break a;c[sa>>2]=1;while(1){if((c[sa>>2]|0)>=(c[(c[x>>2]|0)+((c[qa>>2]|0)*20|0)>>2]|0))break;if(d[v>>0]|0)k=1;else k=+g[(c[(c[x>>2]|0)+((c[qa>>2]|0)*20|0)+16>>2]|0)+(c[sa>>2]<<2)>>2]!=0.0;a[v>>0]=k&1;c[sa>>2]=(c[sa>>2]|0)+1}c[qa>>2]=(c[qa>>2]|0)+1}}while(0);if(!(a[v>>0]|0)){c[Z>>2]=Ym(c[x>>2]|0,c[aa>>2]|0,c[r>>2]|0,c[ca>>2]|0,c[s>>2]|0,c[da>>2]|0,c[t>>2]|0,c[y>>2]|0,c[ea>>2]|0)|0;Ga=c[Z>>2]|0;i=Ha;return Ga|0}do if(c[J>>2]|0){b:do if((c[da>>2]|0)>2){if((Ym(c[x>>2]|0,c[aa>>2]|0,c[r>>2]|0,(c[ca>>2]|0)+4|0,c[s>>2]|0,(c[da>>2]|0)-1|0,c[t>>2]|0,c[y>>2]|0,15)|0)<0){c[Z>>2]=-1;Ga=c[Z>>2]|0;i=Ha;return Ga|0}c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[aa>>2]|0))break b;h[(c[(c[ca>>2]|0)+((c[da>>2]|0)-1<<2)>>2]|0)+(c[qa>>2]<<3)>>3]=+h[(c[(c[ca>>2]|0)+4>>2]|0)+(c[qa>>2]<<3)>>3];c[qa>>2]=(c[qa>>2]|0)+1}}while(0);c[W>>2]=c[c[ca>>2]>>2];c[X>>2]=c[(c[ca>>2]|0)+4>>2];if(Xt(c[x>>2]|0,c[aa>>2]|0,c[X>>2]|0,c[aa>>2]|0)|0){c[ra>>2]=-1;break}if(oy(c[x>>2]|0,c[aa>>2]|0,+h[u>>3],+h[w>>3],c[X>>2]|0,Ba,ya,H)|0){c[ra>>2]=-1;break}if((c[H>>2]|0)<1){c[Z>>2]=Ym(c[x>>2]|0,c[aa>>2]|0,c[r>>2]|0,c[ca>>2]|0,c[s>>2]|0,c[da>>2]|0,c[t>>2]|0,c[y>>2]|0,c[ea>>2]|0)|0;Ga=c[Z>>2]|0;i=Ha;return Ga|0}c:do if(+h[$>>3]>0.0){h[C>>3]=0.0;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[H>>2]|0))break c;if(0.0>+h[$>>3]-(+h[(c[X>>2]|0)+(c[(c[Ba>>2]|0)+(c[(c[ya>>2]|0)+(c[qa>>2]<<2)>>2]<<2)>>2]<<3)>>3]+ +h[C>>3]-+h[(c[X>>2]|0)+(c[(c[Ba>>2]|0)+((c[(c[ya>>2]|0)+(c[qa>>2]<<2)>>2]|0)-1<<2)>>2]<<3)>>3]))q=0.0;else q=+h[$>>3]-(+h[(c[X>>2]|0)+(c[(c[Ba>>2]|0)+(c[(c[ya>>2]|0)+(c[qa>>2]<<2)>>2]<<2)>>2]<<3)>>3]+ +h[C>>3]-+h[(c[X>>2]|0)+(c[(c[Ba>>2]|0)+((c[(c[ya>>2]|0)+(c[qa>>2]<<2)>>2]|0)-1<<2)>>2]<<3)>>3]);h[C>>3]=+h[C>>3]+q;if((c[qa>>2]|0)<((c[H>>2]|0)-1|0))k=c[(c[ya>>2]|0)+((c[qa>>2]|0)+1<<2)>>2]|0;else k=c[aa>>2]|0;c[K>>2]=k;c[sa>>2]=c[(c[ya>>2]|0)+(c[qa>>2]<<2)>>2];while(1){if((c[sa>>2]|0)>=(c[K>>2]|0))break;w=(c[X>>2]|0)+(c[(c[Ba>>2]|0)+(c[sa>>2]<<2)>>2]<<3)|0;h[w>>3]=+h[w>>3]+ +h[C>>3];c[sa>>2]=(c[sa>>2]|0)+1}c[qa>>2]=(c[qa>>2]|0)+1}}while(0);if((c[da>>2]|0)==2?(Cu(c[x>>2]|0,c[aa>>2]|0,c[X>>2]|0,c[W>>2]|0,+h[4247])|0)!=0:0)c[ra>>2]=-1;else Ga=42}else{Tm(c[x>>2]|0,c[aa>>2]|0,c[da>>2]|0,c[ca>>2]|0,c[s>>2]|0)|0;if(oy(c[x>>2]|0,c[aa>>2]|0,+h[u>>3],+h[w>>3],0,Ba,ya,H)|0)c[ra>>2]=-1;else Ga=42}while(0);do if((Ga|0)==42){if((c[aa>>2]|0)==1){c[Z>>2]=0;Ga=c[Z>>2]|0;i=Ha;return Ga|0}c[pa>>2]=rK(c[H>>2]<<2)|0;if(!(c[ea>>2]|0)){c[Z>>2]=c[ra>>2];Ga=c[Z>>2]|0;i=Ha;return Ga|0}if(a[139078]|0)nO();do if((c[y>>2]|0)!=2){if((c[y>>2]|0)==1){c[z>>2]=Um(c[x>>2]|0,c[aa>>2]|0)|0;if(c[z>>2]|0)break;pA(0,130702,P)|0;pA(3,130751,S)|0;break}if((c[y>>2]|0)==3){if(a[139078]|0)p3(c[24742]|0,130804,T)|0;c[z>>2]=Vm(c[x>>2]|0,c[aa>>2]|0)|0}}else{if(a[139078]|0)p3(c[24742]|0,130677,O)|0;c[z>>2]=Xm(c[x>>2]|0,c[aa>>2]|0)|0}while(0);if(!(c[z>>2]|0)){if(a[139078]|0)p3(c[24742]|0,130826,U)|0;c[z>>2]=Wm(c[x>>2]|0,c[aa>>2]|0)|0}if(a[139078]|0){X=c[24742]|0;h[V>>3]=+oO();p3(X,130853,V)|0;p3(c[24742]|0,130865,Q)|0;nO()}c[B>>2]=-1;c[E>>2]=(c[aa>>2]|0)+((_(c[aa>>2]|0,(c[aa>>2]|0)-1|0)|0)/2|0);c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[E>>2]|0))break;if(+g[(c[z>>2]|0)+(c[qa>>2]<<2)>>2]>+(c[B>>2]|0))c[B>>2]=~~+g[(c[z>>2]|0)+(c[qa>>2]<<2)>>2];c[qa>>2]=(c[qa>>2]|0)+1}d:do if(!(c[J>>2]|0)){h[G>>3]=1.0;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[da>>2]|0))break;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=(c[aa>>2]|0))break;q=+N(+(+h[(c[(c[ca>>2]|0)+(c[qa>>2]<<2)>>2]|0)+(c[sa>>2]<<3)>>3]));if(q>+h[G>>3])h[G>>3]=+N(+(+h[(c[(c[ca>>2]|0)+(c[qa>>2]<<2)>>2]|0)+(c[sa>>2]<<3)>>3]));c[sa>>2]=(c[sa>>2]|0)+1}c[qa>>2]=(c[qa>>2]|0)+1}c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[da>>2]|0))break d;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=(c[aa>>2]|0))break;X=(c[(c[ca>>2]|0)+(c[qa>>2]<<2)>>2]|0)+(c[sa>>2]<<3)|0;h[X>>3]=+h[X>>3]*(10.0/+h[G>>3]);c[sa>>2]=(c[sa>>2]|0)+1}c[qa>>2]=(c[qa>>2]|0)+1}}while(0);e:do if(+h[$>>3]>0.0){c[F>>2]=(c[aa>>2]|0)+((_(c[aa>>2]|0,(c[aa>>2]|0)-1|0)|0)/2|0);h[L>>3]=+((_(c[aa>>2]|0,(c[aa>>2]|0)-1|0)|0)/2|0|0);h[M>>3]=0.0;c[A>>2]=0;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=((c[aa>>2]|0)-1|0))break;c[A>>2]=(c[A>>2]|0)+1;c[sa>>2]=(c[qa>>2]|0)+1;while(1){if((c[sa>>2]|0)>=(c[aa>>2]|0))break;q=+Rs(c[ca>>2]|0,c[da>>2]|0,c[qa>>2]|0,c[sa>>2]|0);h[M>>3]=+h[M>>3]+q/+g[(c[z>>2]|0)+(c[A>>2]<<2)>>2];c[sa>>2]=(c[sa>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}c[qa>>2]=(c[qa>>2]|0)+1}h[I>>3]=+h[M>>3]/+h[L>>3];c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[F>>2]|0))break e;X=(c[z>>2]|0)+(c[qa>>2]<<2)|0;g[X>>2]=+g[X>>2]*+h[I>>3];c[qa>>2]=(c[qa>>2]|0)+1}}while(0);c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[da>>2]|0))break;tt(c[aa>>2]|0,c[(c[ca>>2]|0)+(c[qa>>2]<<2)>>2]|0);c[qa>>2]=(c[qa>>2]|0)+1}h[Y>>3]=+h[c[(c[ca>>2]|0)+4>>2]>>3];c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[aa>>2]|0))break;X=(c[(c[ca>>2]|0)+4>>2]|0)+(c[qa>>2]<<3)|0;h[X>>3]=+h[X>>3]-+h[Y>>3];c[qa>>2]=(c[qa>>2]|0)+1}c[ka>>2]=rK(c[da>>2]<<2)|0;c[D>>2]=rK((_(c[da>>2]|0,c[aa>>2]|0)|0)<<2)|0;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[da>>2]|0))break;Y=(c[D>>2]|0)+((_(c[qa>>2]|0,c[aa>>2]|0)|0)<<2)|0;c[(c[ka>>2]|0)+(c[qa>>2]<<2)>>2]=Y;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=(c[aa>>2]|0))break;g[(c[(c[ka>>2]|0)+(c[qa>>2]<<2)>>2]|0)+(c[sa>>2]<<2)>>2]=+h[(c[(c[ca>>2]|0)+(c[qa>>2]<<2)>>2]|0)+(c[sa>>2]<<3)>>3];c[sa>>2]=(c[sa>>2]|0)+1}c[qa>>2]=(c[qa>>2]|0)+1}g[ia>>2]=+((_(c[aa>>2]|0,(c[aa>>2]|0)-1|0)|0)/2|0|0);if(a[139078]|0){Y=c[24742]|0;h[R>>3]=+oO();p3(Y,130891,R)|0}c[va>>2]=c[z>>2];c[wa>>2]=(c[aa>>2]|0)+((_(c[aa>>2]|0,(c[aa>>2]|0)-1|0)|0)/2|0);Pt(c[wa>>2]|0,c[va>>2]|0);Qt(c[wa>>2]|0,c[va>>2]|0);c[la>>2]=0;c[na>>2]=rK(c[aa>>2]<<3)|0;Mt(c[aa>>2]|0,0.0,c[na>>2]|0);c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=((c[aa>>2]|0)-1|0))break;h[ma>>3]=0.0;c[la>>2]=(c[la>>2]|0)+1;c[sa>>2]=1;while(1){if((c[sa>>2]|0)>=((c[aa>>2]|0)-(c[qa>>2]|0)|0))break;g[Fa>>2]=+g[(c[va>>2]|0)+(c[la>>2]<<2)>>2];h[ma>>3]=+h[ma>>3]+ +g[Fa>>2];Y=(c[na>>2]|0)+((c[qa>>2]|0)+(c[sa>>2]|0)<<3)|0;h[Y>>3]=+h[Y>>3]-+g[Fa>>2];c[sa>>2]=(c[sa>>2]|0)+1;c[la>>2]=(c[la>>2]|0)+1}Y=(c[na>>2]|0)+(c[qa>>2]<<3)|0;h[Y>>3]=+h[Y>>3]-+h[ma>>3];c[qa>>2]=(c[qa>>2]|0)+1}c[Ca>>2]=c[aa>>2];c[la>>2]=0;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[aa>>2]|0))break;g[(c[va>>2]|0)+(c[la>>2]<<2)>>2]=+h[(c[na>>2]|0)+(c[qa>>2]<<3)>>3];c[qa>>2]=(c[qa>>2]|0)+1;c[la>>2]=(c[la>>2]|0)+(c[Ca>>2]|0);c[Ca>>2]=(c[Ca>>2]|0)+-1}c[fa>>2]=rK(c[da>>2]<<2)|0;Y=rK((_(c[da>>2]|0,c[aa>>2]|0)|0)<<2)|0;c[c[fa>>2]>>2]=Y;c[ta>>2]=1;while(1){if((c[ta>>2]|0)>=(c[da>>2]|0))break;Y=(c[c[fa>>2]>>2]|0)+((_(c[ta>>2]|0,c[aa>>2]|0)|0)<<2)|0;c[(c[fa>>2]|0)+(c[ta>>2]<<2)>>2]=Y;c[ta>>2]=(c[ta>>2]|0)+1}c[Da>>2]=rK(c[aa>>2]<<2)|0;c[oa>>2]=rK(c[aa>>2]<<2)|0;c[ua>>2]=rK(c[wa>>2]<<2)|0;h[Aa>>3]=1797693134862315708145274.0e284;c[Ea>>2]=qu(c[va>>2]|0,c[aa>>2]|0)|0;c[ga>>2]=tu(c[va>>2]|0,c[aa>>2]|0,c[Ba>>2]|0,c[ya>>2]|0,c[H>>2]|0)|0;a[ja>>0]=0;c[ra>>2]=0;f:while(1){if((c[ra>>2]|0)>=(c[ea>>2]|0))break;if(!((a[ja>>0]|0)!=0^1))break;Mt(c[aa>>2]|0,0.0,c[na>>2]|0);Rt(c[wa>>2]|0,c[va>>2]|0,c[ua>>2]|0);c[la>>2]=0;c[qa>>2]=0;while(1){k=c[aa>>2]|0;if((c[qa>>2]|0)>=((c[aa>>2]|0)-1|0))break;c[xa>>2]=k-(c[qa>>2]|0)-1;Nt(c[aa>>2]|0,0.0,c[oa>>2]|0);c[ta>>2]=0;while(1){k=c[xa>>2]|0;if((c[ta>>2]|0)>=(c[da>>2]|0))break;Nt(k,+g[(c[(c[ka>>2]|0)+(c[ta>>2]<<2)>>2]|0)+(c[qa>>2]<<2)>>2],c[Da>>2]|0);It(c[xa>>2]|0,c[Da>>2]|0,-1.0,(c[(c[ka>>2]|0)+(c[ta>>2]<<2)>>2]|0)+(c[qa>>2]<<2)+4|0);Pt(c[xa>>2]|0,c[Da>>2]|0);Ht(c[xa>>2]|0,c[Da>>2]|0,c[oa>>2]|0,c[oa>>2]|0);c[ta>>2]=(c[ta>>2]|0)+1}St(k,c[oa>>2]|0);c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=(c[xa>>2]|0))break;if(!(!(+g[(c[oa>>2]|0)+(c[sa>>2]<<2)>>2]>=3402823466385288598117041.0e14)?!(+g[(c[oa>>2]|0)+(c[sa>>2]<<2)>>2]<0.0):0))g[(c[oa>>2]|0)+(c[sa>>2]<<2)>>2]=0.0;c[sa>>2]=(c[sa>>2]|0)+1}c[la>>2]=(c[la>>2]|0)+1;h[ma>>3]=0.0;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=(c[xa>>2]|0))break;Y=(c[ua>>2]|0)+(c[la>>2]<<2)|0;q=+g[Y>>2]*+g[(c[oa>>2]|0)+(c[sa>>2]<<2)>>2];g[Y>>2]=q;g[Fa>>2]=q;h[ma>>3]=+h[ma>>3]+ +g[Fa>>2];Y=(c[na>>2]|0)+((c[qa>>2]|0)+(c[sa>>2]|0)+1<<3)|0;h[Y>>3]=+h[Y>>3]-+g[Fa>>2];c[sa>>2]=(c[sa>>2]|0)+1;c[la>>2]=(c[la>>2]|0)+1}Y=(c[na>>2]|0)+(c[qa>>2]<<3)|0;h[Y>>3]=+h[Y>>3]-+h[ma>>3];c[qa>>2]=(c[qa>>2]|0)+1}c[Ca>>2]=k;c[la>>2]=0;c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[aa>>2]|0))break;g[(c[ua>>2]|0)+(c[la>>2]<<2)>>2]=+h[(c[na>>2]|0)+(c[qa>>2]<<3)>>3];c[qa>>2]=(c[qa>>2]|0)+1;c[la>>2]=(c[la>>2]|0)+(c[Ca>>2]|0);c[Ca>>2]=(c[Ca>>2]|0)+-1}c[ta>>2]=0;while(1){if((c[ta>>2]|0)>=(c[da>>2]|0))break;Ft(c[ua>>2]|0,c[aa>>2]|0,c[(c[ka>>2]|0)+(c[ta>>2]<<2)>>2]|0,c[(c[fa>>2]|0)+(c[ta>>2]<<2)>>2]|0);c[ta>>2]=(c[ta>>2]|0)+1}h[za>>3]=0.0;c[ta>>2]=0;while(1){if((c[ta>>2]|0)>=(c[da>>2]|0))break;q=+Lt(c[aa>>2]|0,c[(c[ka>>2]|0)+(c[ta>>2]<<2)>>2]|0,c[(c[fa>>2]|0)+(c[ta>>2]<<2)>>2]|0);h[za>>3]=+h[za>>3]+q;c[ta>>2]=(c[ta>>2]|0)+1}h[za>>3]=+h[za>>3]*2.0;h[za>>3]=+h[za>>3]+ +g[ia>>2];c[ta>>2]=0;while(1){if((c[ta>>2]|0)>=(c[da>>2]|0))break;Ft(c[va>>2]|0,c[aa>>2]|0,c[(c[ka>>2]|0)+(c[ta>>2]<<2)>>2]|0,c[Da>>2]|0);q=+Lt(c[aa>>2]|0,c[(c[ka>>2]|0)+(c[ta>>2]<<2)>>2]|0,c[Da>>2]|0);h[za>>3]=+h[za>>3]-q;c[ta>>2]=(c[ta>>2]|0)+1}q=+N(+(+h[za>>3]-+h[Aa>>3]));q=q/+N(+(+h[Aa>>3]+1.0e-10));a[ja>>0]=q<+h[4247];if(!(d[ja>>0]|0))if((c[ra>>2]|0)>1)k=+h[za>>3]>+h[Aa>>3];else k=0;else k=1;a[ja>>0]=k&1;h[Aa>>3]=+h[za>>3];c[ta>>2]=0;while(1){if((c[ta>>2]|0)>=(c[da>>2]|0))break;if((c[ta>>2]|0)!=1){if(kr(c[va>>2]|0,c[(c[ka>>2]|0)+(c[ta>>2]<<2)>>2]|0,c[(c[fa>>2]|0)+(c[ta>>2]<<2)>>2]|0,c[aa>>2]|0,+h[ha>>3],c[aa>>2]|0)|0){Ga=159;break f}}else ru(c[ga>>2]|0,c[(c[fa>>2]|0)+(c[ta>>2]<<2)>>2]|0,c[ka>>2]|0,c[da>>2]|0,c[ta>>2]|0,15,c[pa>>2]|0,+h[$>>3])|0;c[ta>>2]=(c[ta>>2]|0)+1}c[ra>>2]=(c[ra>>2]|0)+1}if((Ga|0)==159){c[ra>>2]=-1;break}B1(c[pa>>2]|0);su(c[ga>>2]|0);if(c[ka>>2]|0){c[qa>>2]=0;while(1){if((c[qa>>2]|0)>=(c[da>>2]|0))break;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=(c[aa>>2]|0))break;h[(c[(c[ca>>2]|0)+(c[qa>>2]<<2)>>2]|0)+(c[sa>>2]<<3)>>3]=+g[(c[(c[ka>>2]|0)+(c[qa>>2]<<2)>>2]|0)+(c[sa>>2]<<2)>>2];c[sa>>2]=(c[sa>>2]|0)+1}c[qa>>2]=(c[qa>>2]|0)+1}B1(c[c[ka>>2]>>2]|0);B1(c[ka>>2]|0)}if(c[fa>>2]|0){B1(c[c[fa>>2]>>2]|0);B1(c[fa>>2]|0)}B1(c[Da>>2]|0);B1(c[oa>>2]|0);B1(c[na>>2]|0);B1(c[va>>2]|0);B1(c[ua>>2]|0)}while(0);B1(c[Ba>>2]|0);B1(c[ya>>2]|0);if(c[Ea>>2]|0){B1(c[c[Ea>>2]>>2]|0);B1(c[Ea>>2]|0)}c[Z>>2]=c[ra>>2];Ga=c[Z>>2]|0;i=Ha;return Ga|0}function mr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;if((i|0)>=(j|0))ba();k=s+64|0;d=s+60|0;e=s+56|0;g=s+44|0;q=s+40|0;f=s+36|0;n=s+32|0;m=s+28|0;o=s+24|0;l=s+20|0;t=s+8|0;p=s;c[d>>2]=a;c[e>>2]=b;c[n>>2]=AB(c[d>>2]|0)|0;c[m>>2]=rK((c[n>>2]|0)*48|0)|0;c[o>>2]=c[m>>2];zq(t,c[d>>2]|0);c[g>>2]=c[t>>2];c[g+4>>2]=c[t+4>>2];c[g+8>>2]=c[t+8>>2];c[l>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;b=c[l>>2]|0;t=c[o>>2]|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];or(b,t,k);c[o>>2]=(c[o>>2]|0)+48;c[l>>2]=qC(c[d>>2]|0,c[l>>2]|0)|0}if(!(pr(c[m>>2]|0,c[n>>2]|0)|0)){c[q>>2]=0;t=c[m>>2]|0;B1(t);t=c[q>>2]|0;i=s;return t|0}switch(c[e>>2]|0){case 9:{rr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,70,1);tr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,71,1);break}case 10:{tr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,71,1);rr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,70,1);break}case 7:{rr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,72,1);tr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,71,1);r=9;break}case 8:{r=9;break}case 13:{r=10;break}case 14:{tr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,71,0);rr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,70,0);break}case 12:{tr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,73,0);rr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,70,0);break}default:{rr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,72,0);tr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,71,0)}}if((r|0)==9){tr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,73,1);rr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,70,1);r=10}if((r|0)==10){rr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,70,0);tr(c[d>>2]|0,c[m>>2]|0,c[n>>2]|0,71,0)}c[o>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[n>>2]|0))break;c[l>>2]=c[(c[o>>2]|0)+20>>2];t=(c[o>>2]|0)+12|0;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];h[c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]>>3]=+(c[p>>2]|0)/72.0/10.0;h[(c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+(c[p+4>>2]|0)/72.0/10.0;c[o>>2]=(c[o>>2]|0)+48;c[f>>2]=(c[f>>2]|0)+1}c[q>>2]=1;t=c[m>>2]|0;B1(t);t=c[q>>2]|0;i=s;return t|0}function nr(b,d){b=b|0;d=d|0;var e=0,f=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.0;z=i;i=i+144|0;if((i|0)>=(j|0))ba();y=z+56|0;n=z+48|0;p=z+132|0;e=z+128|0;q=z+124|0;v=z+120|0;u=z+116|0;w=z+112|0;l=z+108|0;x=z+32|0;t=z+104|0;k=z+92|0;s=z+88|0;o=z+84|0;A=z+72|0;m=z+24|0;f=z+16|0;r=z;c[e>>2]=b;c[q>>2]=d;c[v>>2]=AB(c[e>>2]|0)|0;c[u>>2]=rK((c[v>>2]|0)*72|0)|0;c[w>>2]=c[u>>2];zq(A,c[e>>2]|0);c[k>>2]=c[A>>2];c[k+4>>2]=c[A+4>>2];c[k+8>>2]=c[A+8>>2];if(a[k+8>>0]|0){g[k>>2]=+g[k>>2]/72.0;g[k+4>>2]=+g[k+4>>2]/72.0}c[l>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;if(a[k+8>>0]|0){h[m>>3]=+h[(c[(c[l>>2]|0)+8>>2]|0)+32>>3]/2.0+ +g[k>>2];h[f>>3]=+h[(c[(c[l>>2]|0)+8>>2]|0)+40>>3]/2.0+ +g[k+4>>2]}else{h[m>>3]=+g[k>>2]*+h[(c[(c[l>>2]|0)+8>>2]|0)+32>>3]/2.0;h[f>>3]=+g[k+4>>2]*+h[(c[(c[l>>2]|0)+8>>2]|0)+40>>3]/2.0}h[c[w>>2]>>3]=+h[c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]>>3];h[(c[w>>2]|0)+8>>3]=+h[(c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];h[(c[w>>2]|0)+16>>3]=+h[c[w>>2]>>3]-+h[m>>3];h[(c[w>>2]|0)+16+8>>3]=+h[(c[w>>2]|0)+8>>3]-+h[f>>3];h[(c[w>>2]|0)+16+16>>3]=+h[c[w>>2]>>3]+ +h[m>>3];h[(c[w>>2]|0)+16+16+8>>3]=+h[(c[w>>2]|0)+8>>3]+ +h[f>>3];h[(c[w>>2]|0)+48>>3]=+h[m>>3];h[(c[w>>2]|0)+56>>3]=+h[f>>3];c[(c[w>>2]|0)+64>>2]=c[l>>2];c[w>>2]=(c[w>>2]|0)+72;c[l>>2]=qC(c[e>>2]|0,c[l>>2]|0)|0}e=c[u>>2]|0;d=c[v>>2]|0;do if((c[q>>2]|0)<0){B=+wr(e,d);h[x+8>>3]=B;h[x>>3]=B;if(+h[x>>3]==0.0){B1(c[u>>2]|0);c[p>>2]=0;A=c[p>>2]|0;i=z;return A|0}else{if(!(a[139078]|0))break;A=c[24742]|0;h[n>>3]=+h[x>>3];p3(A,130902,n)|0;break}}else{c[s>>2]=xr(e,d,o)|0;if(!(c[o>>2]|0)){B1(c[s>>2]|0);B1(c[u>>2]|0);c[p>>2]=0;A=c[p>>2]|0;i=z;return A|0}e=c[s>>2]|0;d=c[o>>2]|0;if(c[q>>2]|0){B=+yr(e,d);h[x+8>>3]=B;h[x>>3]=B}else{zr(r,e,d);c[x>>2]=c[r>>2];c[x+4>>2]=c[r+4>>2];c[x+8>>2]=c[r+8>>2];c[x+12>>2]=c[r+12>>2]}B1(c[s>>2]|0);if(a[139078]|0){A=c[24742]|0;B=+h[x+8>>3];h[y>>3]=+h[x>>3];h[y+8>>3]=B;p3(A,130916,y)|0}}while(0);c[w>>2]=c[u>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[v>>2]|0))break;h[c[(c[(c[(c[w>>2]|0)+64>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[x>>3]*+h[c[w>>2]>>3];h[(c[(c[(c[(c[w>>2]|0)+64>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[x+8>>3]*+h[(c[w>>2]|0)+8>>3];c[w>>2]=(c[w>>2]|0)+72;c[t>>2]=(c[t>>2]|0)+1}B1(c[u>>2]|0);c[p>>2]=1;A=c[p>>2]|0;i=z;return A|0}function or(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();f=q+36|0;k=q+32|0;o=q+28|0;p=q+24|0;n=q+20|0;m=q+16|0;l=q;c[f>>2]=b;c[k>>2]=d;r=+h[c[(c[(c[f>>2]|0)+8>>2]|0)+132>>2]>>3]*10.0*72.0;c[o>>2]=~~(+h[c[(c[(c[f>>2]|0)+8>>2]|0)+132>>2]>>3]*10.0*72.0>=0.0?r+.5:r-.5);r=+h[(c[(c[(c[f>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]*10.0*72.0;c[p>>2]=~~(+h[(c[(c[(c[f>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]*10.0*72.0>=0.0?r+.5:r-.5);if(a[e+8>>0]|0){r=+h[(c[(c[f>>2]|0)+8>>2]|0)+32>>3]/2.0*72.0;c[n>>2]=~~((+(~~(+h[(c[(c[f>>2]|0)+8>>2]|0)+32>>3]/2.0*72.0>=0.0?r+.5:r-.5)|0)+ +g[e>>2])*10.0);r=+h[(c[(c[f>>2]|0)+8>>2]|0)+40>>3]/2.0*72.0;c[m>>2]=~~((+(~~(+h[(c[(c[f>>2]|0)+8>>2]|0)+40>>3]/2.0*72.0>=0.0?r+.5:r-.5)|0)+ +g[e+4>>2])*10.0)}else{r=+g[e>>2]*5.0*+h[(c[(c[f>>2]|0)+8>>2]|0)+32>>3]*72.0;c[n>>2]=~~(+g[e>>2]*5.0*+h[(c[(c[f>>2]|0)+8>>2]|0)+32>>3]*72.0>=0.0?r+.5:r-.5);r=+g[e+4>>2]*5.0*+h[(c[(c[f>>2]|0)+8>>2]|0)+40>>3]*72.0;c[m>>2]=~~(+g[e+4>>2]*5.0*+h[(c[(c[f>>2]|0)+8>>2]|0)+40>>3]*72.0>=0.0?r+.5:r-.5)}c[l>>2]=(c[o>>2]|0)-(c[n>>2]|0);c[l+4>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[l+8>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[l+8+4>>2]=(c[p>>2]|0)+(c[m>>2]|0);c[(c[k>>2]|0)+12>>2]=c[o>>2];c[(c[k>>2]|0)+12+4>>2]=c[p>>2];c[(c[k>>2]|0)+20>>2]=c[f>>2];p=(c[k>>2]|0)+32|0;c[p>>2]=c[l>>2];c[p+4>>2]=c[l+4>>2];c[p+8>>2]=c[l+8>>2];c[p+12>>2]=c[l+12>>2];i=q;return}function pr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l+24|0;m=l+20|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;c[m>>2]=a;c[d>>2]=b;c[g>>2]=c[m>>2];c[e>>2]=0;a:while(1){if((c[e>>2]|0)>=((c[d>>2]|0)-1|0)){b=12;break}c[h>>2]=(c[g>>2]|0)+48;c[f>>2]=(c[e>>2]|0)+1;while(1){b=c[g>>2]|0;if((c[f>>2]|0)>=(c[d>>2]|0))break;if((((c[b+32>>2]|0)<=(c[(c[h>>2]|0)+32+8>>2]|0)?(c[(c[h>>2]|0)+32>>2]|0)<=(c[(c[g>>2]|0)+32+8>>2]|0):0)?(c[(c[g>>2]|0)+32+4>>2]|0)<=(c[(c[h>>2]|0)+32+8+4>>2]|0):0)?(c[(c[h>>2]|0)+32+4>>2]|0)<=(c[(c[g>>2]|0)+32+8+4>>2]|0):0){b=9;break a}c[h>>2]=(c[h>>2]|0)+48;c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=b+48;c[e>>2]=(c[e>>2]|0)+1}if((b|0)==9){c[k>>2]=1;m=c[k>>2]|0;i=l;return m|0}else if((b|0)==12){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}return 0}function qr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+32+4>>2]|0)>(c[(c[e>>2]|0)+32+8+4>>2]|0)){b=0;b=b&1;i=f;return b|0}b=(c[(c[e>>2]|0)+32+4>>2]|0)<=(c[(c[d>>2]|0)+32+8+4>>2]|0);b=b&1;i=f;return b|0}function rr(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;if((i|0)>=(j|0))ba();g=u+44|0;k=u+40|0;l=u+36|0;h=u+32|0;m=u+28|0;q=u+24|0;t=u+20|0;n=u+16|0;p=u+12|0;r=u+8|0;s=u+4|0;o=u;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[h>>2]=e;c[m>>2]=f;c[q>>2]=eA(51428,c[12990]|0)|0;c[t>>2]=c[k>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[l>>2]|0))break;c[(c[t>>2]|0)+8>>2]=c[(c[t>>2]|0)+12>>2];$b[c[c[q>>2]>>2]&63](c[q>>2]|0,c[t>>2]|0,1)|0;c[t>>2]=(c[t>>2]|0)+48;c[p>>2]=(c[p>>2]|0)+1}a=c[g>>2]|0;g=c[q>>2]|0;e=c[h>>2]|0;if(c[m>>2]|0)c[n>>2]=Dr(a,g,e,74)|0;else c[n>>2]=Er(a,g,e,74)|0;vK(c[n>>2]|0,2,2147483647)|0;c[t>>2]=c[k>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[l>>2]|0))break;c[s>>2]=c[(c[t>>2]|0)+12>>2];c[r>>2]=c[(c[(c[(c[t>>2]|0)+24>>2]|0)+8>>2]|0)+232>>2];c[o>>2]=(c[r>>2]|0)-(c[s>>2]|0);c[(c[t>>2]|0)+12>>2]=c[r>>2];m=(c[t>>2]|0)+32|0;c[m>>2]=(c[m>>2]|0)+(c[o>>2]|0);m=(c[t>>2]|0)+32+8|0;c[m>>2]=(c[m>>2]|0)+(c[o>>2]|0);c[t>>2]=(c[t>>2]|0)+48;c[p>>2]=(c[p>>2]|0)+1}Fr(c[n>>2]|0);aA(c[q>>2]|0)|0;i=u;return}function sr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+32>>2]|0)>(c[(c[e>>2]|0)+32+8>>2]|0)){b=0;b=b&1;i=f;return b|0}b=(c[(c[e>>2]|0)+32>>2]|0)<=(c[(c[d>>2]|0)+32+8>>2]|0);b=b&1;i=f;return b|0}function tr(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;if((i|0)>=(j|0))ba();g=u+44|0;k=u+40|0;l=u+36|0;h=u+32|0;m=u+28|0;q=u+24|0;t=u+20|0;n=u+16|0;p=u+12|0;r=u+8|0;s=u+4|0;o=u;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[h>>2]=e;c[m>>2]=f;c[q>>2]=eA(51428,c[12990]|0)|0;c[t>>2]=c[k>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[l>>2]|0))break;c[(c[t>>2]|0)+8>>2]=c[(c[t>>2]|0)+12+4>>2];$b[c[c[q>>2]>>2]&63](c[q>>2]|0,c[t>>2]|0,1)|0;c[t>>2]=(c[t>>2]|0)+48;c[p>>2]=(c[p>>2]|0)+1}a=c[g>>2]|0;g=c[q>>2]|0;e=c[h>>2]|0;if(c[m>>2]|0)c[n>>2]=Dr(a,g,e,75)|0;else c[n>>2]=Er(a,g,e,75)|0;vK(c[n>>2]|0,2,2147483647)|0;c[t>>2]=c[k>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[l>>2]|0))break;c[s>>2]=c[(c[t>>2]|0)+12+4>>2];c[r>>2]=c[(c[(c[(c[t>>2]|0)+24>>2]|0)+8>>2]|0)+232>>2];c[o>>2]=(c[r>>2]|0)-(c[s>>2]|0);c[(c[t>>2]|0)+12+4>>2]=c[r>>2];m=(c[t>>2]|0)+32+4|0;c[m>>2]=(c[m>>2]|0)+(c[o>>2]|0);m=(c[t>>2]|0)+32+8+4|0;c[m>>2]=(c[m>>2]|0)+(c[o>>2]|0);c[t>>2]=(c[t>>2]|0)+48;c[p>>2]=(c[p>>2]|0)+1}Fr(c[n>>2]|0);aA(c[q>>2]|0)|0;i=u;return}function ur(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;d=l;c[f>>2]=a;c[g>>2]=b;if((c[(c[f>>2]|0)+32+4>>2]|0)<=(c[(c[g>>2]|0)+32+8+4>>2]|0))a=(c[(c[g>>2]|0)+32+4>>2]|0)<=(c[(c[f>>2]|0)+32+8+4>>2]|0);else a=0;c[d>>2]=a&1;if(!(c[d>>2]|0)){c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}if((c[(c[f>>2]|0)+32+8>>2]|0)<(c[(c[g>>2]|0)+32>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}d=Cr((c[f>>2]|0)+32|0,(c[g>>2]|0)+32|0)|0;c[h>>2]=d-((c[(c[g>>2]|0)+12>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0));d=(c[(c[g>>2]|0)+12+4>>2]|0)>=(c[(c[f>>2]|0)+12+4>>2]|0);a=Br((c[f>>2]|0)+32|0,(c[g>>2]|0)+32|0)|0;if(d)c[k>>2]=a-((c[(c[g>>2]|0)+12+4>>2]|0)-(c[(c[f>>2]|0)+12+4>>2]|0));else c[k>>2]=a-((c[(c[f>>2]|0)+12+4>>2]|0)-(c[(c[g>>2]|0)+12+4>>2]|0));c[e>>2]=(c[h>>2]|0)<=(c[k>>2]|0)&1;k=c[e>>2]|0;i=l;return k|0}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;d=l;c[f>>2]=a;c[g>>2]=b;if((c[(c[f>>2]|0)+32>>2]|0)<=(c[(c[g>>2]|0)+32+8>>2]|0))a=(c[(c[g>>2]|0)+32>>2]|0)<=(c[(c[f>>2]|0)+32+8>>2]|0);else a=0;c[d>>2]=a&1;if(!(c[d>>2]|0)){c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}if((c[(c[f>>2]|0)+32+8+4>>2]|0)<(c[(c[g>>2]|0)+32+4>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}d=Br((c[f>>2]|0)+32|0,(c[g>>2]|0)+32|0)|0;c[k>>2]=d-((c[(c[g>>2]|0)+12+4>>2]|0)-(c[(c[f>>2]|0)+12+4>>2]|0));d=(c[(c[g>>2]|0)+12>>2]|0)>=(c[(c[f>>2]|0)+12>>2]|0);a=Cr((c[f>>2]|0)+32|0,(c[g>>2]|0)+32|0)|0;if(d)c[h>>2]=a-((c[(c[g>>2]|0)+12>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0));else c[h>>2]=a-((c[(c[f>>2]|0)+12>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0));c[e>>2]=(c[k>>2]|0)<=(c[h>>2]|0)&1;k=c[e>>2]|0;i=l;return k|0}function wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;p=i;i=i+64|0;if((i|0)>=(j|0))ba();n=p+32|0;q=p+60|0;d=p+56|0;g=p+52|0;l=p+48|0;e=p+44|0;f=p+40|0;m=p+24|0;o=p+16|0;k=p;c[q>>2]=a;c[d>>2]=b;c[g>>2]=c[q>>2];h[o>>3]=0.0;c[e>>2]=0;a:while(1){if((c[e>>2]|0)>=(c[d>>2]|0)){a=23;break}c[l>>2]=(c[g>>2]|0)+72;c[f>>2]=(c[e>>2]|0)+1;while(1){a=c[g>>2]|0;if((c[f>>2]|0)>=(c[d>>2]|0))break;if(((+h[a+16>>3]<=+h[(c[l>>2]|0)+16+16>>3]?+h[(c[l>>2]|0)+16>>3]<=+h[(c[g>>2]|0)+16+16>>3]:0)?+h[(c[g>>2]|0)+16+8>>3]<=+h[(c[l>>2]|0)+16+16+8>>3]:0)?+h[(c[l>>2]|0)+16+8>>3]<=+h[(c[g>>2]|0)+16+16+8>>3]:0){a=9;break a}if(+h[c[g>>2]>>3]==+h[c[l>>2]>>3])h[k>>3]=s;else h[k>>3]=(+h[(c[g>>2]|0)+48>>3]+ +h[(c[l>>2]|0)+48>>3])/+N(+(+h[c[g>>2]>>3]-+h[c[l>>2]>>3]));if(+h[(c[g>>2]|0)+8>>3]==+h[(c[l>>2]|0)+8>>3])h[k+8>>3]=s;else h[k+8>>3]=(+h[(c[g>>2]|0)+56>>3]+ +h[(c[l>>2]|0)+56>>3])/+N(+(+h[(c[g>>2]|0)+8>>3]-+h[(c[l>>2]|0)+8>>3]));if(+h[k+8>>3]<+h[k>>3])h[m>>3]=+h[k+8>>3];else h[m>>3]=+h[k>>3];if(+h[m>>3]>+h[o>>3])h[o>>3]=+h[m>>3];c[l>>2]=(c[l>>2]|0)+72;c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=a+72;c[e>>2]=(c[e>>2]|0)+1}if((a|0)==9){h[n>>3]=0.0;r=+h[n>>3];i=p;return +r}else if((a|0)==23){h[n>>3]=+h[o>>3];r=+h[n>>3];i=p;return +r}return +(0.0)}function xr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();t=r+52|0;e=r+48|0;f=r+44|0;n=r+40|0;p=r+36|0;q=r+32|0;g=r+28|0;l=r+24|0;m=r+20|0;k=r+16|0;o=r;c[t>>2]=a;c[e>>2]=b;c[f>>2]=d;c[n>>2]=c[t>>2];c[q>>2]=c[e>>2];c[g>>2]=rK((c[q>>2]|0)+1<<4)|0;c[k>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[e>>2]|0))break;c[p>>2]=(c[n>>2]|0)+72;c[m>>2]=(c[l>>2]|0)+1;while(1){d=c[n>>2]|0;if((c[m>>2]|0)>=(c[e>>2]|0))break;if(((+h[d+16>>3]<=+h[(c[p>>2]|0)+16+16>>3]?+h[(c[p>>2]|0)+16>>3]<=+h[(c[n>>2]|0)+16+16>>3]:0)?+h[(c[n>>2]|0)+16+8>>3]<=+h[(c[p>>2]|0)+16+16+8>>3]:0)?+h[(c[p>>2]|0)+16+8>>3]<=+h[(c[n>>2]|0)+16+16+8>>3]:0){if((c[k>>2]|0)==(c[q>>2]|0)){c[q>>2]=(c[q>>2]|0)+(c[e>>2]|0);c[g>>2]=tK(c[g>>2]|0,(c[q>>2]|0)+1<<4)|0}if(!(+h[c[n>>2]>>3]==+h[c[p>>2]>>3])){h[o>>3]=(+h[(c[n>>2]|0)+48>>3]+ +h[(c[p>>2]|0)+48>>3])/+N(+(+h[c[n>>2]>>3]-+h[c[p>>2]>>3]));if(+h[o>>3]<1.0)h[o>>3]=1.0}else h[o>>3]=s;if(!(+h[(c[n>>2]|0)+8>>3]==+h[(c[p>>2]|0)+8>>3])){h[o+8>>3]=(+h[(c[n>>2]|0)+56>>3]+ +h[(c[p>>2]|0)+56>>3])/+N(+(+h[(c[n>>2]|0)+8>>3]-+h[(c[p>>2]|0)+8>>3]));if(+h[o+8>>3]<1.0)h[o+8>>3]=1.0}else h[o+8>>3]=s;t=(c[k>>2]|0)+1|0;c[k>>2]=t;t=(c[g>>2]|0)+(t<<4)|0;c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];c[t+12>>2]=c[o+12>>2]}c[p>>2]=(c[p>>2]|0)+72;c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=d+72;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=tK(c[g>>2]|0,(c[k>>2]|0)+1<<4)|0;c[c[f>>2]>>2]=c[k>>2];i=r;return c[g>>2]|0}function yr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();d=m+40|0;e=m+36|0;f=m+32|0;k=m+24|0;l=m+16|0;g=m;c[d>>2]=a;c[e>>2]=b;h[k>>3]=0.0;c[d>>2]=(c[d>>2]|0)+16;c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[e>>2]|0))break;b=c[d>>2]|0;c[d>>2]=b+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];h[l>>3]=+h[g>>3]<+h[g+8>>3]?+h[g>>3]:+h[g+8>>3];if(+h[l>>3]>+h[k>>3])h[k>>3]=+h[l>>3];c[f>>2]=(c[f>>2]|0)+1}i=m;return +(+h[k>>3])}function zr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();f=q+48|0;g=q+44|0;k=q+40|0;n=q+24|0;m=q+16|0;o=q+36|0;l=q+32|0;p=q;c[f>>2]=b;c[g>>2]=d;c[l>>2]=0;h[c[f>>2]>>3]=1.0;h[(c[f>>2]|0)+8>>3]=s;P3((c[f>>2]|0)+16|0,c[g>>2]|0,16,76);c[k>>2]=rK((c[g>>2]|0)+1<<4)|0;h[(c[k>>2]|0)+(c[g>>2]<<4)>>3]=+h[(c[f>>2]|0)+(c[g>>2]<<4)>>3];h[(c[k>>2]|0)+(c[g>>2]<<4)+8>>3]=1.0;c[o>>2]=(c[g>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break;h[(c[k>>2]|0)+(c[o>>2]<<4)>>3]=+h[(c[f>>2]|0)+(c[o>>2]<<4)>>3];b=(c[o>>2]|0)+1|0;if(+h[(c[f>>2]|0)+((c[o>>2]|0)+1<<4)+8>>3]>+h[(c[k>>2]|0)+((c[o>>2]|0)+1<<4)+8>>3])e=+h[(c[f>>2]|0)+(b<<4)+8>>3];else e=+h[(c[k>>2]|0)+(b<<4)+8>>3];h[(c[k>>2]|0)+(c[o>>2]<<4)+8>>3]=e;c[o>>2]=(c[o>>2]|0)+-1}h[m>>3]=s;c[o>>2]=0;while(1){if((c[o>>2]|0)>(c[g>>2]|0))break;h[n>>3]=+h[(c[k>>2]|0)+(c[o>>2]<<4)>>3]*+h[(c[k>>2]|0)+(c[o>>2]<<4)+8>>3];if(+h[n>>3]<+h[m>>3]){h[m>>3]=+h[n>>3];c[l>>2]=c[o>>2]}c[o>>2]=(c[o>>2]|0)+1}if(+h[m>>3]>3]=+h[(c[k>>2]|0)+(c[l>>2]<<4)>>3];h[p+8>>3]=+h[(c[k>>2]|0)+(c[l>>2]<<4)+8>>3];c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2];i=q;return}else db(130933,130953,834,130966)}function Ar(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(+h[c[e>>2]>>3]<+h[c[f>>2]>>3])){if(+h[c[e>>2]>>3]>+h[c[f>>2]>>3]){c[d>>2]=1;break}if(+h[(c[e>>2]|0)+8>>3]<+h[(c[f>>2]|0)+8>>3]){c[d>>2]=-1;break}if(+h[(c[e>>2]|0)+8>>3]>+h[(c[f>>2]|0)+8>>3]){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=-1;while(0);i=g;return c[d>>2]|0}function Br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;i=d;return ((c[(c[f>>2]|0)+8+4>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)+((c[(c[e>>2]|0)+8+4>>2]|0)-(c[(c[e>>2]|0)+4>>2]|0))|0)/2|0|0}function Cr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;i=d;return ((c[(c[f>>2]|0)+8>>2]|0)-(c[c[f>>2]>>2]|0)+((c[(c[e>>2]|0)+8>>2]|0)-(c[c[e>>2]>>2]|0))|0)/2|0|0}function Dr(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=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=i;i=i+80|0;if((i|0)>=(j|0))ba();k=z+68|0;g=z+60|0;h=z+56|0;w=z+52|0;t=z+48|0;r=z+44|0;q=z+40|0;y=z+36|0;u=z+32|0;v=z+28|0;p=z+24|0;m=z+20|0;o=z+16|0;l=z+12|0;s=z+8|0;n=z+4|0;x=z;c[z+64>>2]=a;c[g>>2]=d;c[h>>2]=e;c[w>>2]=f;c[r>>2]=0;c[u>>2]=0;c[v>>2]=0;c[p>>2]=0;c[s>>2]=-2147483647;c[n>>2]=0;c[k>>2]=c[13066];c[x>>2]=wB(130981,k,0)|0;aD(c[x>>2]|0,175129,280,1)|0;c[l>>2]=0;c[t>>2]=cA(c[g>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;if((c[s>>2]|0)!=(c[(c[t>>2]|0)+8>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8>>2];c[l>>2]=(c[l>>2]|0)+1}c[t>>2]=c[c[t>>2]>>2]}c[s>>2]=-2147483647;c[o>>2]=0;c[t>>2]=cA(c[g>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;if((c[s>>2]|0)!=(c[(c[t>>2]|0)+8>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8>>2];f=c[x>>2]|0;c[p>>2]=vC(f,MB(c[(c[t>>2]|0)+20>>2]|0)|0,1)|0;aD(c[p>>2]|0,175106,304,1)|0;c[(c[(c[p>>2]|0)+8>>2]|0)+112>>2]=c[t>>2];f=c[p>>2]|0;if(c[v>>2]|0){c[(c[(c[n>>2]|0)+8>>2]|0)+164>>2]=f;c[n>>2]=c[p>>2]}else{c[v>>2]=f;d=c[p>>2]|0;c[(c[(c[x>>2]|0)+8>>2]|0)+192>>2]=d;c[n>>2]=d}c[(c[(c[p>>2]|0)+8>>2]|0)+172+4>>2]=0;d=qK((c[o>>2]|0)+1<<2)|0;c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]=d;if(c[u>>2]|0){d=(c[u>>2]|0)==(c[v>>2]|0);c[(c[(c[u>>2]|0)+8>>2]|0)+180+4>>2]=0;f=c[l>>2]|0;if(d){d=qK((f-1<<1)+1<<2)|0;c[(c[(c[u>>2]|0)+8>>2]|0)+180>>2]=d}else{d=qK(f-(c[o>>2]|0)-1+1<<2)|0;c[(c[(c[u>>2]|0)+8>>2]|0)+180>>2]=d}c[m>>2]=jB(c[x>>2]|0,c[u>>2]|0,c[p>>2]|0,0,1)|0;aD(c[m>>2]|0,175399,176,1)|0;b[(c[(c[m>>2]|0)+8>>2]|0)+170>>1]=10;c[(c[(c[m>>2]|0)+8>>2]|0)+156>>2]=1;f=(c[(c[u>>2]|0)+8>>2]|0)+180|0;if(c[(c[(c[u>>2]|0)+8>>2]|0)+180>>2]|0)f=tK(c[f>>2]|0,(c[(c[(c[u>>2]|0)+8>>2]|0)+180+4>>2]|0)+2<<2)|0;else f=rK((c[f+4>>2]|0)+2<<2)|0;c[(c[(c[u>>2]|0)+8>>2]|0)+180>>2]=f;d=c[m>>2]|0;e=(c[(c[u>>2]|0)+8>>2]|0)+180+4|0;f=c[e>>2]|0;c[e>>2]=f+1;c[(c[(c[(c[u>>2]|0)+8>>2]|0)+180>>2]|0)+(f<<2)>>2]=d;c[(c[(c[(c[u>>2]|0)+8>>2]|0)+180>>2]|0)+(c[(c[(c[u>>2]|0)+8>>2]|0)+180+4>>2]<<2)>>2]=0;f=(c[(c[p>>2]|0)+8>>2]|0)+172|0;if(c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]|0)f=tK(c[f>>2]|0,(c[(c[(c[p>>2]|0)+8>>2]|0)+172+4>>2]|0)+2<<2)|0;else f=rK((c[f+4>>2]|0)+2<<2)|0;c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]=f;e=c[m>>2]|0;a=(c[(c[p>>2]|0)+8>>2]|0)+172+4|0;d=c[a>>2]|0;c[a>>2]=d+1;c[(c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]|0)+(d<<2)>>2]=e;c[(c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]|0)+(c[(c[(c[p>>2]|0)+8>>2]|0)+172+4>>2]<<2)>>2]=0}c[o>>2]=(c[o>>2]|0)+1;c[u>>2]=c[p>>2]}c[(c[t>>2]|0)+24>>2]=c[p>>2];c[t>>2]=c[c[t>>2]>>2]}c[(c[(c[u>>2]|0)+8>>2]|0)+180+4>>2]=0;v=qK(4)|0;c[(c[(c[u>>2]|0)+8>>2]|0)+180>>2]=v;c[k>>2]=c[13066];c[y>>2]=wB(131015,k,0)|0;c[t>>2]=cA(c[g>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;v=c[y>>2]|0;c[p>>2]=vC(v,MB(c[(c[t>>2]|0)+20>>2]|0)|0,1)|0;aD(c[p>>2]|0,175106,304,1)|0;c[(c[t>>2]|0)+28>>2]=c[p>>2];c[(c[(c[p>>2]|0)+8>>2]|0)+112>>2]=c[t>>2];c[t>>2]=c[c[t>>2]>>2]}c[s>>2]=-2147483647;c[t>>2]=cA(c[g>>2]|0)|0;while(1){if(!(c[t>>2]|0)){f=42;break}if((c[s>>2]|0)!=(c[(c[t>>2]|0)+8>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8>>2];c[r>>2]=c[c[t>>2]>>2];while(1){if(!(c[r>>2]|0))break;if((c[(c[r>>2]|0)+8>>2]|0)!=(c[s>>2]|0))break;c[r>>2]=c[c[r>>2]>>2]}if(!(c[r>>2]|0)){f=42;break}}c[q>>2]=c[r>>2];while(1){if(!(c[q>>2]|0))break;if(gc[c[h>>2]&127](c[t>>2]|0,c[q>>2]|0)|0)jB(c[y>>2]|0,c[(c[t>>2]|0)+28>>2]|0,c[(c[q>>2]|0)+28>>2]|0,0,1)|0;c[q>>2]=c[c[q>>2]>>2]}c[t>>2]=c[c[t>>2]>>2]}if((f|0)==42){Gr(c[y>>2]|0,c[x>>2]|0,c[w>>2]|0);zB(c[y>>2]|0)|0;i=z;return c[x>>2]|0}return 0}function Er(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=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=i;i=i+64|0;if((i|0)>=(j|0))ba();w=v+48|0;g=v+44|0;k=v+40|0;l=v+36|0;m=v+32|0;u=v+28|0;p=v+24|0;t=v+20|0;s=v+16|0;o=v+12|0;r=v+8|0;n=v;c[g>>2]=a;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[o>>2]=0;c[w>>2]=c[13066];c[r>>2]=wB(130981,w,0)|0;aD(c[r>>2]|0,175129,280,1)|0;c[u>>2]=cA(c[k>>2]|0)|0;while(1){if(!(c[u>>2]|0))break;f=c[r>>2]|0;c[t>>2]=vC(f,MB(c[(c[u>>2]|0)+20>>2]|0)|0,1)|0;aD(c[t>>2]|0,175106,304,1)|0;c[(c[(c[t>>2]|0)+8>>2]|0)+112>>2]=c[u>>2];c[(c[u>>2]|0)+24>>2]=c[t>>2];c[(c[(c[t>>2]|0)+8>>2]|0)+172+4>>2]=0;f=qK(4)|0;c[(c[(c[t>>2]|0)+8>>2]|0)+172>>2]=f;c[(c[(c[t>>2]|0)+8>>2]|0)+180+4>>2]=0;f=qK(4)|0;c[(c[(c[t>>2]|0)+8>>2]|0)+180>>2]=f;f=c[t>>2]|0;if(c[o>>2]|0){c[(c[(c[o>>2]|0)+8>>2]|0)+164>>2]=f;c[o>>2]=c[t>>2]}else{c[(c[(c[r>>2]|0)+8>>2]|0)+192>>2]=f;c[o>>2]=f}c[u>>2]=c[c[u>>2]>>2]}c[u>>2]=cA(c[k>>2]|0)|0;a:while(1){if(!(c[u>>2]|0))break;c[p>>2]=c[c[u>>2]>>2];while(1){if(!(c[p>>2]|0))break;c[s>>2]=0;if(gc[c[l>>2]&127](c[u>>2]|0,c[p>>2]|0)|0){h[n>>3]=+(gc[c[m>>2]&127]((c[u>>2]|0)+32|0,(c[p>>2]|0)+32|0)|0);c[s>>2]=jB(c[r>>2]|0,c[(c[u>>2]|0)+24>>2]|0,c[(c[p>>2]|0)+24>>2]|0,0,1)|0;aD(c[s>>2]|0,175399,176,1)|0;if(!(+h[n>>3]<=65535.0)){q=13;break a}b[(c[(c[s>>2]|0)+8>>2]|0)+170>>1]=~~+h[n>>3];c[(c[(c[s>>2]|0)+8>>2]|0)+156>>2]=1}if((c[s>>2]|0)!=0?(jB(c[g>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20>>2]|0,0,0)|0)!=0:0)c[(c[(c[s>>2]|0)+8>>2]|0)+156>>2]=100;c[p>>2]=c[c[p>>2]>>2]}c[u>>2]=c[c[u>>2]>>2]}if((q|0)==13)db(130984,130953,256,131e3);c[u>>2]=cA(c[k>>2]|0)|0;while(1){if(!(c[u>>2]|0))break;c[t>>2]=c[(c[u>>2]|0)+24>>2];c[s>>2]=cB(c[r>>2]|0,c[t>>2]|0)|0;while(1){if(!(c[s>>2]|0))break;f=(c[(c[t>>2]|0)+8>>2]|0)+180|0;if(c[(c[(c[t>>2]|0)+8>>2]|0)+180>>2]|0)f=tK(c[f>>2]|0,(c[(c[(c[t>>2]|0)+8>>2]|0)+180+4>>2]|0)+2<<2)|0;else f=rK((c[f+4>>2]|0)+2<<2)|0;c[(c[(c[t>>2]|0)+8>>2]|0)+180>>2]=f;w=c[s>>2]|0;q=(c[(c[t>>2]|0)+8>>2]|0)+180+4|0;f=c[q>>2]|0;c[q>>2]=f+1;c[(c[(c[(c[t>>2]|0)+8>>2]|0)+180>>2]|0)+(f<<2)>>2]=w;c[(c[(c[(c[t>>2]|0)+8>>2]|0)+180>>2]|0)+(c[(c[(c[t>>2]|0)+8>>2]|0)+180+4>>2]<<2)>>2]=0;f=c[s>>2]|0;f=(c[(c[((c[c[s>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0)+8>>2]|0)+172|0;if(c[(c[(c[((c[c[s>>2]>>2]&3|0)==2?c[s>>2]|0:(c[s>>2]|0)+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0){w=c[s>>2]|0;f=tK(c[f>>2]|0,(c[(c[(c[((c[c[s>>2]>>2]&3|0)==2?w:w+-32|0)+28>>2]|0)+8>>2]|0)+172+4>>2]|0)+2<<2)|0}else f=rK((c[f+4>>2]|0)+2<<2)|0;p=c[s>>2]|0;c[(c[(c[((c[c[s>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]=f;p=c[s>>2]|0;q=c[s>>2]|0;q=(c[(c[((c[c[s>>2]>>2]&3|0)==2?q:q+-32|0)+28>>2]|0)+8>>2]|0)+172+4|0;w=c[q>>2]|0;c[q>>2]=w+1;q=c[s>>2]|0;c[(c[(c[(c[((c[c[s>>2]>>2]&3|0)==2?q:q+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0)+(w<<2)>>2]=p;w=c[s>>2]|0;q=c[s>>2]|0;c[(c[(c[(c[((c[c[s>>2]>>2]&3|0)==2?q:q+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0)+(c[(c[(c[((c[c[s>>2]>>2]&3|0)==2?w:w+-32|0)+28>>2]|0)+8>>2]|0)+172+4>>2]<<2)>>2]=0;c[s>>2]=eB(c[r>>2]|0,c[s>>2]|0)|0}c[u>>2]=c[c[u>>2]>>2]}i=v;return c[r>>2]|0}function Fr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;if(c[(c[(c[d>>2]|0)+8>>2]|0)+172>>2]|0)B1(c[(c[(c[d>>2]|0)+8>>2]|0)+172>>2]|0);if(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0)B1(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0);c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}zB(c[b>>2]|0)|0;i=e;return}function Gr(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();g=t+40|0;h=t+36|0;k=t+32|0;q=t+28|0;n=t+24|0;l=t+20|0;r=t+16|0;o=t+12|0;s=t+8|0;p=t+4|0;m=t;c[g>>2]=a;c[h>>2]=d;c[k>>2]=f;c[q>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[q>>2]|0))break;c[s>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+112>>2];c[r>>2]=c[(c[s>>2]|0)+24>>2];c[n>>2]=cB(c[g>>2]|0,c[q>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;a=c[n>>2]|0;c[p>>2]=c[(c[(c[((c[c[n>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+112>>2];c[m>>2]=gc[c[k>>2]&127]((c[s>>2]|0)+32|0,(c[p>>2]|0)+32|0)|0;c[o>>2]=c[(c[p>>2]|0)+24>>2];c[l>>2]=jB(c[h>>2]|0,c[r>>2]|0,c[o>>2]|0,0,1)|0;aD(c[l>>2]|0,175399,176,1)|0;c[(c[(c[l>>2]|0)+8>>2]|0)+156>>2]=1;if((e[(c[(c[l>>2]|0)+8>>2]|0)+170>>1]|0|0)<(c[m>>2]|0)){if(+(e[(c[(c[l>>2]|0)+8>>2]|0)+170>>1]|0|0)==0.0){d=(c[(c[r>>2]|0)+8>>2]|0)+180|0;if(c[(c[(c[r>>2]|0)+8>>2]|0)+180>>2]|0)d=tK(c[d>>2]|0,(c[(c[(c[r>>2]|0)+8>>2]|0)+180+4>>2]|0)+2<<2)|0;else d=rK((c[d+4>>2]|0)+2<<2)|0;c[(c[(c[r>>2]|0)+8>>2]|0)+180>>2]=d;a=c[l>>2]|0;f=(c[(c[r>>2]|0)+8>>2]|0)+180+4|0;d=c[f>>2]|0;c[f>>2]=d+1;c[(c[(c[(c[r>>2]|0)+8>>2]|0)+180>>2]|0)+(d<<2)>>2]=a;c[(c[(c[(c[r>>2]|0)+8>>2]|0)+180>>2]|0)+(c[(c[(c[r>>2]|0)+8>>2]|0)+180+4>>2]<<2)>>2]=0;d=(c[(c[o>>2]|0)+8>>2]|0)+172|0;if(c[(c[(c[o>>2]|0)+8>>2]|0)+172>>2]|0)d=tK(c[d>>2]|0,(c[(c[(c[o>>2]|0)+8>>2]|0)+172+4>>2]|0)+2<<2)|0;else d=rK((c[d+4>>2]|0)+2<<2)|0;c[(c[(c[o>>2]|0)+8>>2]|0)+172>>2]=d;f=c[l>>2]|0;d=(c[(c[o>>2]|0)+8>>2]|0)+172+4|0;a=c[d>>2]|0;c[d>>2]=a+1;c[(c[(c[(c[o>>2]|0)+8>>2]|0)+172>>2]|0)+(a<<2)>>2]=f;c[(c[(c[(c[o>>2]|0)+8>>2]|0)+172>>2]|0)+(c[(c[(c[o>>2]|0)+8>>2]|0)+172+4>>2]<<2)>>2]=0}b[(c[(c[l>>2]|0)+8>>2]|0)+170>>1]=c[m>>2]}c[n>>2]=eB(c[g>>2]|0,c[n>>2]|0)|0}c[q>>2]=qC(c[g>>2]|0,c[q>>2]|0)|0}i=t;return}function Hr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();h=f+8|0;g=f+4|0;c[f+12>>2]=a;c[h>>2]=b;c[g>>2]=d;c[f>>2]=e;i=f;return (c[c[h>>2]>>2]|0)-(c[c[g>>2]>>2]|0)|0}function Ir(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[e+12>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=c[12866];pA(1,131018,f)|0;i=e;return 0}function Jr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();g=f;c[f+16>>2]=a;c[f+12>>2]=b;c[f+8>>2]=d;c[f+4>>2]=e;c[g>>2]=c[12866];pA(1,131046,g)|0;i=f;return 0}function Kr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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;D=i;i=i+112|0;if((i|0)>=(j|0))ba();f=D+108|0;g=D+104|0;k=D+100|0;l=D+96|0;m=D+92|0;n=D+88|0;t=D+84|0;o=D+48|0;p=D+40|0;q=D+32|0;z=D+24|0;B=D+16|0;A=D+8|0;C=D;u=D+80|0;v=D+76|0;w=D+72|0;x=D+68|0;y=D+64|0;r=D+60|0;s=D+56|0;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if((c[l>>2]|0)==2){c[r>>2]=rK(16)|0;c[n>>2]=rK((c[l>>2]|0)*12|0)|0;c[(c[n>>2]|0)+8>>2]=0;c[(c[n>>2]|0)+4>>2]=c[r>>2];c[c[n>>2]>>2]=2;c[c[(c[n>>2]|0)+4>>2]>>2]=0;c[(c[(c[n>>2]|0)+4>>2]|0)+4>>2]=1;c[(c[n>>2]|0)+12+4>>2]=(c[r>>2]|0)+8;c[(c[n>>2]|0)+12+8>>2]=0;c[(c[n>>2]|0)+12>>2]=2;c[c[(c[n>>2]|0)+12+4>>2]>>2]=1;c[(c[(c[n>>2]|0)+12+4>>2]|0)+4>>2]=0;c[f>>2]=c[n>>2];C=c[f>>2]|0;i=D;return C|0}if((c[l>>2]|0)==1){c[s>>2]=rK(4)|0;c[n>>2]=rK((c[l>>2]|0)*12|0)|0;c[(c[n>>2]|0)+8>>2]=0;c[(c[n>>2]|0)+4>>2]=c[s>>2];c[c[n>>2]>>2]=1;c[c[(c[n>>2]|0)+4>>2]>>2]=0;c[f>>2]=c[n>>2];C=c[f>>2]|0;i=D;return C|0}c[n>>2]=Ir(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;b=(c[m>>2]|0)!=0;c[t>>2]=0;a:do if(b)while(1){if((c[t>>2]|0)>=(c[l>>2]|0))break a;h[z>>3]=+h[(c[g>>2]|0)+(c[t>>2]<<3)>>3];h[B>>3]=+h[(c[k>>2]|0)+(c[t>>2]<<3)>>3];c[u>>2]=1;while(1){if((c[u>>2]|0)>=(c[(c[n>>2]|0)+((c[t>>2]|0)*12|0)>>2]|0))break;c[w>>2]=c[(c[(c[n>>2]|0)+((c[t>>2]|0)*12|0)+4>>2]|0)+(c[u>>2]<<2)>>2];if((c[w>>2]|0)<(c[t>>2]|0)){c[u>>2]=(c[u>>2]|0)+1;continue}h[A>>3]=+h[(c[g>>2]|0)+(c[w>>2]<<3)>>3];h[C>>3]=+h[(c[k>>2]|0)+(c[w>>2]<<3)>>3];h[o>>3]=(+h[A>>3]-+h[z>>3])*(+h[A>>3]-+h[z>>3])+(+h[C>>3]-+h[B>>3])*(+h[C>>3]-+h[B>>3]);c[y>>2]=0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[l>>2]|0))break;if(!((c[y>>2]|0)!=0^1))break;h[p>>3]=(+h[(c[g>>2]|0)+(c[v>>2]<<3)>>3]-+h[z>>3])*(+h[(c[g>>2]|0)+(c[v>>2]<<3)>>3]-+h[z>>3])+(+h[(c[k>>2]|0)+(c[v>>2]<<3)>>3]-+h[B>>3])*(+h[(c[k>>2]|0)+(c[v>>2]<<3)>>3]-+h[B>>3]);if(+h[p>>3]<+h[o>>3]?(h[q>>3]=(+h[(c[g>>2]|0)+(c[v>>2]<<3)>>3]-+h[A>>3])*(+h[(c[g>>2]|0)+(c[v>>2]<<3)>>3]-+h[A>>3])+(+h[(c[k>>2]|0)+(c[v>>2]<<3)>>3]-+h[C>>3])*(+h[(c[k>>2]|0)+(c[v>>2]<<3)>>3]-+h[C>>3]),+h[q>>3]<+h[o>>3]):0){a=(c[n>>2]|0)+((c[t>>2]|0)*12|0)|0;b=(c[a>>2]|0)+-1|0;c[a>>2]=b;c[(c[(c[n>>2]|0)+((c[t>>2]|0)*12|0)+4>>2]|0)+(c[u>>2]<<2)>>2]=c[(c[(c[n>>2]|0)+((c[t>>2]|0)*12|0)+4>>2]|0)+(b<<2)>>2];Nr(c[n>>2]|0,c[w>>2]|0,c[t>>2]|0);c[y>>2]=1}c[v>>2]=(c[v>>2]|0)+1}if(c[y>>2]|0)continue;c[u>>2]=(c[u>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}else while(1){if((c[t>>2]|0)>=(c[l>>2]|0))break a;h[z>>3]=+h[(c[g>>2]|0)+(c[t>>2]<<3)>>3];h[B>>3]=+h[(c[k>>2]|0)+(c[t>>2]<<3)>>3];c[u>>2]=1;while(1){if((c[u>>2]|0)>=(c[(c[n>>2]|0)+((c[t>>2]|0)*12|0)>>2]|0))break;c[w>>2]=c[(c[(c[n>>2]|0)+((c[t>>2]|0)*12|0)+4>>2]|0)+(c[u>>2]<<2)>>2];h[A>>3]=+h[(c[g>>2]|0)+(c[w>>2]<<3)>>3];h[C>>3]=+h[(c[k>>2]|0)+(c[w>>2]<<3)>>3];h[o>>3]=(+h[A>>3]-+h[z>>3])*(+h[A>>3]-+h[z>>3])+(+h[C>>3]-+h[B>>3])*(+h[C>>3]-+h[B>>3]);c[y>>2]=0;c[v>>2]=1;while(1){if((c[v>>2]|0)>=(c[(c[n>>2]|0)+((c[t>>2]|0)*12|0)>>2]|0))break;if(!((c[y>>2]|0)!=0^1))break;c[x>>2]=c[(c[(c[n>>2]|0)+((c[t>>2]|0)*12|0)+4>>2]|0)+(c[v>>2]<<2)>>2];h[p>>3]=(+h[(c[g>>2]|0)+(c[x>>2]<<3)>>3]-+h[z>>3])*(+h[(c[g>>2]|0)+(c[x>>2]<<3)>>3]-+h[z>>3])+(+h[(c[k>>2]|0)+(c[x>>2]<<3)>>3]-+h[B>>3])*(+h[(c[k>>2]|0)+(c[x>>2]<<3)>>3]-+h[B>>3]);if(+h[p>>3]<+h[o>>3]?(h[q>>3]=(+h[(c[g>>2]|0)+(c[x>>2]<<3)>>3]-+h[A>>3])*(+h[(c[g>>2]|0)+(c[x>>2]<<3)>>3]-+h[A>>3])+(+h[(c[k>>2]|0)+(c[x>>2]<<3)>>3]-+h[C>>3])*(+h[(c[k>>2]|0)+(c[x>>2]<<3)>>3]-+h[C>>3]),+h[q>>3]<+h[o>>3]):0){a=(c[n>>2]|0)+((c[t>>2]|0)*12|0)|0;b=(c[a>>2]|0)+-1|0;c[a>>2]=b;c[(c[(c[n>>2]|0)+((c[t>>2]|0)*12|0)+4>>2]|0)+(c[u>>2]<<2)>>2]=c[(c[(c[n>>2]|0)+((c[t>>2]|0)*12|0)+4>>2]|0)+(b<<2)>>2];Nr(c[n>>2]|0,c[w>>2]|0,c[t>>2]|0);c[y>>2]=1}c[v>>2]=(c[v>>2]|0)+1}if(c[y>>2]|0)continue;c[u>>2]=(c[u>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}while(0);c[f>>2]=c[n>>2];C=c[f>>2]|0;i=D;return C|0}function Lr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[(c[b>>2]|0)+4>>2]|0)B1(c[(c[b>>2]|0)+4>>2]|0);if(c[(c[b>>2]|0)+8>>2]|0)B1(c[(c[b>>2]|0)+8>>2]|0);B1(c[b>>2]|0);i=d;return}function Mr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[(c[b>>2]|0)+4>>2]|0)B1(c[(c[b>>2]|0)+4>>2]|0);if(c[(c[b>>2]|0)+8>>2]|0)B1(c[(c[b>>2]|0)+8>>2]|0);if(c[(c[b>>2]|0)+16>>2]|0)B1(c[(c[b>>2]|0)+16>>2]|0);B1(c[b>>2]|0);i=d;return}function Nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();e=l+12|0;f=l+8|0;g=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+((c[f>>2]|0)*12|0)>>2]|0)){k=6;break}if((c[(c[(c[e>>2]|0)+((c[f>>2]|0)*12|0)+4>>2]|0)+(c[h>>2]<<2)>>2]|0)==(c[g>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}if((k|0)==6){i=l;return}b=(c[e>>2]|0)+((c[f>>2]|0)*12|0)|0;k=(c[b>>2]|0)+-1|0;c[b>>2]=k;c[(c[(c[e>>2]|0)+((c[f>>2]|0)*12|0)+4>>2]|0)+(c[h>>2]<<2)>>2]=c[(c[(c[e>>2]|0)+((c[f>>2]|0)*12|0)+4>>2]|0)+(k<<2)>>2];i=l;return}function Or(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();f=s+40|0;h=s+36|0;k=s+32|0;l=s+28|0;p=s+24|0;m=s+16|0;o=s+12|0;q=s+8|0;n=s+4|0;r=s;c[f>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[r>>2]=2147483647;c[12867]=D1(c[12867]|0,c[k>>2]<<2)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break;c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]=2147483647;c[p>>2]=(c[p>>2]|0)+1}c[(c[l>>2]|0)+(c[f>>2]<<2)>>2]=0;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0))break;c[(c[l>>2]|0)+(c[(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]=~~+g[(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0)+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}Rr(m,c[f>>2]|0,c[12867]|0,c[l>>2]|0,c[k>>2]|0);while(1){if(!((Sr(m,o,c[12867]|0,c[l>>2]|0)|0)<<24>>24))break;c[n>>2]=c[(c[l>>2]|0)+(c[o>>2]<<2)>>2];if(+(c[n>>2]|0)==2147483647.0)break;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[h>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0))break;c[q>>2]=c[(c[(c[h>>2]|0)+((c[o>>2]|0)*20|0)+4>>2]|0)+(c[p>>2]<<2)>>2];Tr(m,c[q>>2]|0,(c[n>>2]|0)+~~+g[(c[(c[h>>2]|0)+((c[o>>2]|0)*20|0)+8>>2]|0)+(c[p>>2]<<2)>>2]|0,c[12867]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[n>>2]}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break;if(+(c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)==2147483647.0)c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]=(c[r>>2]|0)+10;c[p>>2]=(c[p>>2]|0)+1}Ur(m);i=s;return}function Pr(b,d,e,f,h,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|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;z=i;i=i+80|0;if((i|0)>=(j|0))ba();l=z+68|0;m=z+64|0;n=z+60|0;o=z+56|0;p=z+52|0;q=z+48|0;y=z+44|0;v=z+40|0;s=z+24|0;r=z+16|0;u=z+12|0;w=z+8|0;t=z+4|0;x=z;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=h;c[q>>2]=k;c[x>>2]=0;er(s,c[n>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[n>>2]|0))break;c[(c[o>>2]|0)+(c[v>>2]<<2)>>2]=-1;c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=dr(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,s,c[p>>2]|0,c[q>>2]|0)|0;if((c[12868]|0)<(c[n>>2]|0)){c[12869]=D1(c[12869]|0,c[n>>2]|0)|0;c[v>>2]=c[12868];while(1){if((c[v>>2]|0)>=(c[n>>2]|0))break;a[(c[12869]|0)+(c[v>>2]|0)>>0]=0;c[v>>2]=(c[v>>2]|0)+1}c[12868]=c[n>>2]}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[y>>2]|0))break;a[(c[12869]|0)+(c[(c[q>>2]|0)+(c[v>>2]<<2)>>2]|0)>>0]=1;c[v>>2]=(c[v>>2]|0)+1}c[12870]=D1(c[12870]|0,c[n>>2]<<2)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[n>>2]|0))break;c[(c[o>>2]|0)+(c[v>>2]<<2)>>2]=2147483647;c[v>>2]=(c[v>>2]|0)+1}c[(c[o>>2]|0)+(c[l>>2]<<2)>>2]=0;c[v>>2]=1;while(1){if((c[v>>2]|0)>=(c[(c[m>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0))break;c[(c[o>>2]|0)+(c[(c[(c[m>>2]|0)+((c[l>>2]|0)*20|0)+4>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]=~~+g[(c[(c[m>>2]|0)+((c[l>>2]|0)*20|0)+8>>2]|0)+(c[v>>2]<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}Rr(r,c[l>>2]|0,c[12870]|0,c[o>>2]|0,c[n>>2]|0);a:while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break;if(!((Sr(r,u,c[12870]|0,c[o>>2]|0)|0)&255))break;if(a[(c[12869]|0)+(c[u>>2]|0)>>0]|0)c[x>>2]=(c[x>>2]|0)+1;c[t>>2]=c[(c[o>>2]|0)+(c[u>>2]<<2)>>2];if(+(c[t>>2]|0)==2147483647.0)break;c[v>>2]=1;while(1){if((c[v>>2]|0)>=(c[(c[m>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0))continue a;c[w>>2]=c[(c[(c[m>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)+(c[v>>2]<<2)>>2];Tr(r,c[w>>2]|0,(c[t>>2]|0)+~~+g[(c[(c[m>>2]|0)+((c[u>>2]|0)*20|0)+8>>2]|0)+(c[v>>2]<<2)>>2]|0,c[12870]|0,c[o>>2]|0);c[v>>2]=(c[v>>2]|0)+1}}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[y>>2]|0))break;a[(c[12869]|0)+(c[(c[q>>2]|0)+(c[v>>2]<<2)>>2]|0)>>0]=0;c[v>>2]=(c[v>>2]|0)+1}Ur(r);fr(s);i=z;return c[y>>2]|0}function Qr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();f=s+40|0;h=s+36|0;k=s+32|0;l=s+28|0;o=s+24|0;q=s+16|0;n=s+12|0;p=s+8|0;m=s+4|0;r=s;c[f>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[n>>2]=0;c[r>>2]=rK(c[k>>2]<<2)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;g[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=3402823466385288598117041.0e14;c[o>>2]=(c[o>>2]|0)+1}g[(c[l>>2]|0)+(c[f>>2]<<2)>>2]=0.0;c[o>>2]=1;while(1){if((c[o>>2]|0)>=(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0))break;g[(c[l>>2]|0)+(c[(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2]=+g[(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}Vr(q,c[f>>2]|0,c[r>>2]|0,c[l>>2]|0,c[k>>2]|0);a:while(1){if(!((Wr(q,n,c[r>>2]|0,c[l>>2]|0)|0)<<24>>24)){f=13;break}g[m>>2]=+g[(c[l>>2]|0)+(c[n>>2]<<2)>>2];if(+g[m>>2]==3402823466385288598117041.0e14){f=13;break}c[o>>2]=1;while(1){if((c[o>>2]|0)>=(c[(c[h>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0))continue a;c[p>>2]=c[(c[(c[h>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0)+(c[o>>2]<<2)>>2];Xr(q,c[p>>2]|0,+g[m>>2]+ +g[(c[(c[h>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)+(c[o>>2]<<2)>>2],c[r>>2]|0,c[l>>2]|0);c[o>>2]=(c[o>>2]|0)+1}}if((f|0)==13){Ur(q);B1(c[r>>2]|0);i=s;return}}function Rr(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();g=q+28|0;h=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if((c[m>>2]|0)==1)c[c[g>>2]>>2]=0;else{b=rK((c[m>>2]|0)-1<<2)|0;c[c[g>>2]>>2]=b}c[(c[g>>2]|0)+4>>2]=(c[m>>2]|0)-1;c[n>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;if((c[o>>2]|0)!=(c[h>>2]|0)){c[(c[c[g>>2]>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=((c[m>>2]|0)-1|0)/2|0;while(1){if((c[p>>2]|0)<0)break;Zr(c[g>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+-1}i=q;return}function Sr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();g=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(!(c[(c[h>>2]|0)+4>>2]|0)){a[g>>0]=0;d=a[g>>0]|0;i=n;return d|0}else{c[c[k>>2]>>2]=c[c[c[h>>2]>>2]>>2];c[c[c[h>>2]>>2]>>2]=c[(c[c[h>>2]>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1<<2)>>2];c[(c[l>>2]|0)+(c[c[c[h>>2]>>2]>>2]<<2)>>2]=0;d=(c[h>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+-1;Zr(c[h>>2]|0,0,c[l>>2]|0,c[m>>2]|0);a[g>>0]=1;d=a[g>>0]|0;i=n;return d|0}return 0}function Tr(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,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+24|0;h=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if((c[(c[m>>2]|0)+(c[h>>2]<<2)>>2]|0)<=(c[k>>2]|0)){i=p;return}c[o>>2]=c[(c[l>>2]|0)+(c[h>>2]<<2)>>2];c[(c[m>>2]|0)+(c[h>>2]<<2)>>2]=c[k>>2];c[n>>2]=c[o>>2];while(1){if((c[n>>2]|0)<=0)break;if((c[(c[m>>2]|0)+(c[(c[c[g>>2]>>2]|0)+(((c[n>>2]|0)/2|0)<<2)>>2]<<2)>>2]|0)<=(c[k>>2]|0))break;c[(c[c[g>>2]>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[c[g>>2]>>2]|0)+(((c[n>>2]|0)/2|0)<<2)>>2];c[(c[l>>2]|0)+(c[(c[c[g>>2]>>2]|0)+(c[n>>2]<<2)>>2]<<2)>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)/2|0}c[(c[c[g>>2]>>2]|0)+(c[n>>2]<<2)>>2]=c[h>>2];c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]=c[n>>2];i=p;return}function Ur(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[c[b>>2]>>2]|0)){i=d;return}B1(c[c[b>>2]>>2]|0);i=d;return}function Vr(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();g=q+28|0;h=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;b=rK((c[m>>2]|0)-1<<2)|0;c[c[g>>2]>>2]=b;c[(c[g>>2]|0)+4>>2]=(c[m>>2]|0)-1;c[n>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;if((c[o>>2]|0)!=(c[h>>2]|0)){c[(c[c[g>>2]>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=((c[m>>2]|0)-1|0)/2|0;while(1){if((c[p>>2]|0)<0)break;Yr(c[g>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+-1}i=q;return}function Wr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();g=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(!(c[(c[h>>2]|0)+4>>2]|0)){a[g>>0]=0;d=a[g>>0]|0;i=n;return d|0}else{c[c[k>>2]>>2]=c[c[c[h>>2]>>2]>>2];c[c[c[h>>2]>>2]>>2]=c[(c[c[h>>2]>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1<<2)>>2];c[(c[l>>2]|0)+(c[c[c[h>>2]>>2]>>2]<<2)>>2]=0;d=(c[h>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+-1;Yr(c[h>>2]|0,0,c[l>>2]|0,c[m>>2]|0);a[g>>0]=1;d=a[g>>0]|0;i=n;return d|0}return 0}function Xr(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();h=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[h>>2]=a;c[k>>2]=b;g[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(+g[(c[n>>2]|0)+(c[k>>2]<<2)>>2]<=+g[l>>2]){i=q;return}c[p>>2]=c[(c[m>>2]|0)+(c[k>>2]<<2)>>2];g[(c[n>>2]|0)+(c[k>>2]<<2)>>2]=+g[l>>2];c[o>>2]=c[p>>2];while(1){if((c[o>>2]|0)<=0)break;if(!(+g[(c[n>>2]|0)+(c[(c[c[h>>2]>>2]|0)+(((c[o>>2]|0)/2|0)<<2)>>2]<<2)>>2]>+g[l>>2]))break;c[(c[c[h>>2]>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[c[h>>2]>>2]|0)+(((c[o>>2]|0)/2|0)<<2)>>2];c[(c[m>>2]|0)+(c[(c[c[h>>2]>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)/2|0}c[(c[c[h>>2]>>2]|0)+(c[o>>2]<<2)>>2]=c[k>>2];c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2];i=q;return}function Yr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();f=q+28|0;h=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;n=q+4|0;p=q;c[f>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;while(1){c[m>>2]=c[h>>2]<<1;c[o>>2]=(c[h>>2]<<1)+1;if((c[m>>2]|0)<(c[(c[f>>2]|0)+4>>2]|0)?+g[(c[l>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[m>>2]<<2)>>2]<<2)>>2]<+g[(c[l>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[h>>2]<<2)>>2]<<2)>>2]:0)c[n>>2]=c[m>>2];else c[n>>2]=c[h>>2];if((c[o>>2]|0)<(c[(c[f>>2]|0)+4>>2]|0)?+g[(c[l>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2]<+g[(c[l>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[n>>2]<<2)>>2]<<2)>>2]:0)c[n>>2]=c[o>>2];if((c[n>>2]|0)==(c[h>>2]|0))break;c[p>>2]=c[(c[c[f>>2]>>2]|0)+(c[n>>2]<<2)>>2];c[(c[c[f>>2]>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[c[f>>2]>>2]|0)+(c[h>>2]<<2)>>2];c[(c[c[f>>2]>>2]|0)+(c[h>>2]<<2)>>2]=c[p>>2];c[(c[k>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[n>>2]<<2)>>2]<<2)>>2]=c[n>>2];c[(c[k>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[h>>2]<<2)>>2]<<2)>>2]=c[h>>2];c[h>>2]=c[n>>2]}i=q;return}function Zr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;o=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;while(1){c[l>>2]=c[g>>2]<<1;c[n>>2]=(c[g>>2]<<1)+1;if((c[l>>2]|0)<(c[(c[f>>2]|0)+4>>2]|0)?(c[(c[k>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[l>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[k>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2]<<2)>>2]|0):0)c[m>>2]=c[l>>2];else c[m>>2]=c[g>>2];if((c[n>>2]|0)<(c[(c[f>>2]|0)+4>>2]|0)?(c[(c[k>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[n>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[k>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[m>>2]<<2)>>2]<<2)>>2]|0):0)c[m>>2]=c[n>>2];if((c[m>>2]|0)==(c[g>>2]|0))break;c[o>>2]=c[(c[c[f>>2]>>2]|0)+(c[m>>2]<<2)>>2];c[(c[c[f>>2]>>2]|0)+(c[m>>2]<<2)>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2];c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2]=c[o>>2];c[(c[h>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[m>>2]<<2)>>2]<<2)>>2]=c[m>>2];c[(c[h>>2]|0)+(c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2]<<2)>>2]=c[g>>2];c[g>>2]=c[m>>2]}i=p;return}function _r(){Tt(51484,48);c[12874]=0;return}function $r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0.0,o=0;g=i;i=i+48|0;if((i|0)>=(j|0))ba();m=g+40|0;o=g+36|0;d=g+24|0;e=g+16|0;l=g+8|0;k=g;f=g+32|0;c[m>>2]=a;c[o>>2]=b;c[f>>2]=Ut(51484)|0;c[(c[f>>2]|0)+32>>2]=c[m>>2];c[(c[f>>2]|0)+32+4>>2]=c[o>>2];Bu(c[m>>2]|0);Bu(c[o>>2]|0);c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+24+4>>2]=0;h[d>>3]=+h[c[o>>2]>>3]-+h[c[m>>2]>>3];h[e>>3]=+h[(c[o>>2]|0)+8>>3]-+h[(c[m>>2]|0)+8>>3];n=+h[d>>3];h[l>>3]=+h[d>>3]>0.0?n:-n;n=+h[e>>3];h[k>>3]=+h[e>>3]>0.0?n:-n;h[(c[f>>2]|0)+16>>3]=+h[c[m>>2]>>3]*+h[d>>3]+ +h[(c[m>>2]|0)+8>>3]*+h[e>>3]+(+h[d>>3]*+h[d>>3]+ +h[e>>3]*+h[e>>3])*.5;a=c[f>>2]|0;if(+h[l>>3]>+h[k>>3]){h[a>>3]=1.0;h[(c[f>>2]|0)+8>>3]=+h[e>>3]/+h[d>>3];m=(c[f>>2]|0)+16|0;h[m>>3]=+h[m>>3]/+h[d>>3];m=c[12874]|0;o=c[f>>2]|0;o=o+40|0;c[o>>2]=m;o=c[12874]|0;o=o+1|0;c[12874]=o;o=c[f>>2]|0;i=g;return o|0}else{h[a+8>>3]=1.0;h[c[f>>2]>>3]=+h[d>>3]/+h[e>>3];m=(c[f>>2]|0)+16|0;h[m>>3]=+h[m>>3]/+h[e>>3];m=c[12874]|0;o=c[f>>2]|0;o=o+40|0;c[o>>2]=m;o=c[12874]|0;o=o+1|0;c[12874]=o;o=c[f>>2]|0;i=g;return o|0}return 0}function as(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();b=m+40|0;d=m+36|0;e=m+32|0;f=m+24|0;g=m+16|0;k=m+8|0;l=m;c[b>>2]=a;if(+h[c[b>>2]>>3]==1.0?+h[(c[b>>2]|0)+8>>3]>=0.0:0){c[d>>2]=c[(c[b>>2]|0)+24+4>>2];c[e>>2]=c[(c[b>>2]|0)+24>>2]}else{c[d>>2]=c[(c[b>>2]|0)+24>>2];c[e>>2]=c[(c[b>>2]|0)+24+4>>2]}a=(c[d>>2]|0)!=0;if(+h[c[b>>2]>>3]==1.0){do if(a){h[k>>3]=+h[(c[d>>2]|0)+8>>3];if(+h[k>>3]>+h[4198]){i=m;return}if(+h[k>>3]>=+h[4199]){h[f>>3]=+h[c[d>>2]>>3];break}else{h[k>>3]=+h[4199];h[f>>3]=+h[(c[b>>2]|0)+16>>3]-+h[(c[b>>2]|0)+8>>3]*+h[k>>3];break}}else{h[k>>3]=+h[4199];h[f>>3]=+h[(c[b>>2]|0)+16>>3]-+h[(c[b>>2]|0)+8>>3]*+h[k>>3]}while(0);do if(c[e>>2]|0){h[l>>3]=+h[(c[e>>2]|0)+8>>3];if(+h[l>>3]<+h[4199]){i=m;return}if(+h[l>>3]<=+h[4198]){h[g>>3]=+h[c[e>>2]>>3];break}else{h[l>>3]=+h[4198];h[g>>3]=+h[(c[b>>2]|0)+16>>3]-+h[(c[b>>2]|0)+8>>3]*+h[l>>3];break}}else{h[l>>3]=+h[4198];h[g>>3]=+h[(c[b>>2]|0)+16>>3]-+h[(c[b>>2]|0)+8>>3]*+h[l>>3]}while(0);if((+h[f>>3]>+h[4200]?+h[g>>3]>+h[4200]:0)|(+h[f>>3]<+h[4201]?+h[g>>3]<+h[4201]:0)){i=m;return}if(+h[f>>3]>+h[4200]){h[f>>3]=+h[4200];h[k>>3]=(+h[(c[b>>2]|0)+16>>3]-+h[f>>3])/+h[(c[b>>2]|0)+8>>3]}if(+h[f>>3]<+h[4201]){h[f>>3]=+h[4201];h[k>>3]=(+h[(c[b>>2]|0)+16>>3]-+h[f>>3])/+h[(c[b>>2]|0)+8>>3]}if(+h[g>>3]>+h[4200]){h[g>>3]=+h[4200];h[l>>3]=(+h[(c[b>>2]|0)+16>>3]-+h[g>>3])/+h[(c[b>>2]|0)+8>>3]}if(+h[g>>3]<+h[4201]){h[g>>3]=+h[4201];h[l>>3]=(+h[(c[b>>2]|0)+16>>3]-+h[g>>3])/+h[(c[b>>2]|0)+8>>3]}}else{do if(a){h[f>>3]=+h[c[d>>2]>>3];if(+h[f>>3]>+h[4200]){i=m;return}if(+h[f>>3]>=+h[4201]){h[k>>3]=+h[(c[d>>2]|0)+8>>3];break}else{h[f>>3]=+h[4201];h[k>>3]=+h[(c[b>>2]|0)+16>>3]-+h[c[b>>2]>>3]*+h[f>>3];break}}else{h[f>>3]=+h[4201];h[k>>3]=+h[(c[b>>2]|0)+16>>3]-+h[c[b>>2]>>3]*+h[f>>3]}while(0);do if(c[e>>2]|0){h[g>>3]=+h[c[e>>2]>>3];if(+h[g>>3]<+h[4201]){i=m;return}if(+h[g>>3]<=+h[4200]){h[l>>3]=+h[(c[e>>2]|0)+8>>3];break}else{h[g>>3]=+h[4200];h[l>>3]=+h[(c[b>>2]|0)+16>>3]-+h[c[b>>2]>>3]*+h[g>>3];break}}else{h[g>>3]=+h[4200];h[l>>3]=+h[(c[b>>2]|0)+16>>3]-+h[c[b>>2]>>3]*+h[g>>3]}while(0);if((+h[k>>3]>+h[4198]?+h[l>>3]>+h[4198]:0)|(+h[k>>3]<+h[4199]?+h[l>>3]<+h[4199]:0)){i=m;return}if(+h[k>>3]>+h[4198]){h[k>>3]=+h[4198];h[f>>3]=(+h[(c[b>>2]|0)+16>>3]-+h[k>>3])/+h[c[b>>2]>>3]}if(+h[k>>3]<+h[4199]){h[k>>3]=+h[4199];h[f>>3]=(+h[(c[b>>2]|0)+16>>3]-+h[k>>3])/+h[c[b>>2]>>3]}if(+h[l>>3]>+h[4198]){h[l>>3]=+h[4198];h[g>>3]=(+h[(c[b>>2]|0)+16>>3]-+h[l>>3])/+h[c[b>>2]>>3]}if(+h[l>>3]<+h[4199]){h[l>>3]=+h[4199];h[g>>3]=(+h[(c[b>>2]|0)+16>>3]-+h[l>>3])/+h[c[b>>2]>>3]}}cs(c[b>>2]|0,+h[f>>3],+h[k>>3],+h[g>>3],+h[l>>3]);i=m;return}function bs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+8|0;g=f+4|0;h=f;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+24+(c[g>>2]<<2)>>2]=c[h>>2];Bu(c[h>>2]|0);if(!(c[(c[e>>2]|0)+24+(1-(c[g>>2]|0)<<2)>>2]|0)){i=f;return}as(c[e>>2]|0);Au(c[(c[e>>2]|0)+32>>2]|0);Au(c[(c[e>>2]|0)+32+4>>2]|0);Vt(c[e>>2]|0,51484);i=f;return}function cs(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+48|0;if((i|0)>=(j|0))ba();m=g+32|0;o=g+24|0;n=g+16|0;l=g+8|0;k=g;c[m>>2]=a;h[o>>3]=b;h[n>>3]=d;h[l>>3]=e;h[k>>3]=f;Is(c[(c[m>>2]|0)+32>>2]|0,+h[o>>3],+h[n>>3]);Is(c[(c[m>>2]|0)+32>>2]|0,+h[l>>3],+h[k>>3]);Is(c[(c[m>>2]|0)+32+4>>2]|0,+h[o>>3],+h[n>>3]);Is(c[(c[m>>2]|0)+32+4>>2]|0,+h[l>>3],+h[k>>3]);i=g;return}function ds(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,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;w=i;i=i+80|0;if((i|0)>=(j|0))ba();k=w+68|0;l=w+64|0;m=w+60|0;g=w+56|0;n=w+52|0;r=w+48|0;s=w+44|0;u=w+40|0;h=w+36|0;p=w+32|0;q=w+28|0;v=w+24|0;o=w+8|0;t=w;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[g>>2]=e;c[n>>2]=f;c[h>>2]=rK((_(c[l>>2]|0,c[m>>2]|0)|0)<<2)|0;c[p>>2]=c[c[g>>2]>>2];c[q>>2]=rK(c[l>>2]<<2)|0;c[v>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=0;if(c[p>>2]|0){B1(c[c[p>>2]>>2]|0);B1(c[p>>2]|0)}f=rK(c[m>>2]<<2)|0;c[p>>2]=f;c[c[g>>2]>>2]=f;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[m>>2]|0))break;f=(c[h>>2]|0)+((_(c[r>>2]|0,c[l>>2]|0)|0)<<2)|0;c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]=f;c[r>>2]=(c[r>>2]|0)+1}if(c[n>>2]|0)Ps(c[k>>2]|0,c[l>>2]|0);a=M2()|0;c[u>>2]=(a|0)%(c[l>>2]|0)|0;er(o,c[l>>2]|0);a=c[u>>2]|0;d=c[k>>2]|0;e=c[l>>2]|0;g=c[c[p>>2]>>2]|0;if(c[n>>2]|0)Or(a,d,e,g);else $q(a,d,e,g,o);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[l>>2]|0))break;c[(c[q>>2]|0)+(c[r>>2]<<2)>>2]=c[(c[c[p>>2]>>2]|0)+(c[r>>2]<<2)>>2];if((c[(c[q>>2]|0)+(c[r>>2]<<2)>>2]|0)>(c[t>>2]|0)){c[u>>2]=c[r>>2];c[t>>2]=c[(c[q>>2]|0)+(c[r>>2]<<2)>>2]}c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=1;while(1){if((c[r>>2]|0)>=(c[m>>2]|0))break;g=c[u>>2]|0;e=c[k>>2]|0;d=c[l>>2]|0;a=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0;if(c[n>>2]|0)Or(g,e,d,a);else $q(g,e,d,a,o);c[t>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[l>>2]|0))break;a=c[s>>2]|0;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)<(c[(c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0)+(c[s>>2]<<2)>>2]|0))a=c[(c[q>>2]|0)+(a<<2)>>2]|0;else a=c[(c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0)+(a<<2)>>2]|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=a;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)>(c[t>>2]|0)){c[u>>2]=c[s>>2];c[t>>2]=c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]}c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}B1(c[q>>2]|0);if(!(c[n>>2]|0)){i=w;return}Qs(c[k>>2]|0,c[l>>2]|0,c[v>>2]|0);i=w;return}function es(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();e=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;m=o+16|0;n=o+8|0;k=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;h[n>>3]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;h[n>>3]=+h[n>>3]+ +(c[(c[(c[e>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}h[k>>3]=+h[n>>3]/+(c[f>>2]|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;b=(c[(c[e>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<2)|0;c[b>>2]=(c[b>>2]|0)-~~+h[k>>3];c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=o;return}function fs(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=a;h[b>>3]=+((c[12875]|0)+4|0);c[12876]=~~+O(+(+h[b>>3]));i=a;return}function gs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();k=d+20|0;g=d+16|0;f=d+8|0;e=d;c[k>>2]=a;c[g>>2]=b;h[f>>3]=+h[c[k>>2]>>3]-+h[c[g>>2]>>3];h[e>>3]=+h[(c[k>>2]|0)+8>>3]-+h[(c[g>>2]|0)+8>>3];i=d;return +(+h[f>>3]*+h[f>>3]+ +h[e>>3]*+h[e>>3])}function hs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[f>>2]=a;h[c[f>>2]>>3]=+h[b>>3]-+h[d>>3];h[(c[f>>2]|0)+8>>3]=+h[b+8>>3]-+h[d+8>>3];i=e;return}function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[f>>2]=a;h[c[f>>2]>>3]=+h[b>>3]+ +h[d>>3];h[(c[f>>2]|0)+8>>3]=+h[b+8>>3]+ +h[d+8>>3];i=e;return}function js(a,b,c){a=a|0;b=b|0;c=c|0;return +((+h[a+8>>3]-+h[b+8>>3])*(+h[c>>3]-+h[b>>3])-(+h[c+8>>3]-+h[b+8>>3])*(+h[a>>3]-+h[b>>3]))}function ks(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+48|0;if((i|0)>=(j|0))ba();f=e+32|0;g=e+16|0;h=e;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+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];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=+js(h,g,f)>0.0&1;i=e;return d|0}function ls(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+28|0;k=o+24|0;m=o+16|0;n=o+8|0;l=o;c[k>>2]=f;h[l>>3]=+h[a>>3]*(+h[e+8>>3]-+h[d+8>>3])+ +h[b>>3]*(+h[d+8>>3]-+h[e+8>>3])+ +h[e>>3]*(+h[b+8>>3]-+h[a+8>>3])+ +h[d>>3]*(+h[a+8>>3]-+h[b+8>>3]);if(+h[l>>3]==0.0){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}h[m>>3]=(+h[a>>3]*(+h[e+8>>3]-+h[d+8>>3])+ +h[d>>3]*(+h[a+8>>3]-+h[e+8>>3])+ +h[e>>3]*(+h[d+8>>3]-+h[a+8>>3]))/+h[l>>3];h[n>>3]=-(+h[a>>3]*(+h[d+8>>3]-+h[b+8>>3])+ +h[b>>3]*(+h[a+8>>3]-+h[d+8>>3])+ +h[d>>3]*(+h[b+8>>3]-+h[a+8>>3]))/+h[l>>3];h[c[k>>2]>>3]=+h[a>>3]+ +h[m>>3]*(+h[b>>3]-+h[a>>3]);h[(c[k>>2]|0)+8>>3]=+h[a+8>>3]+ +h[m>>3]*(+h[b+8>>3]-+h[a+8>>3]);if(0.0<=+h[m>>3]&+h[m>>3]<=1.0&0.0<=+h[n>>3]&+h[n>>3]<=1.0){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}else{c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}return 0}function ms(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+20|0;f=l+16|0;m=l;g=l+12|0;k=l+8|0;c[e>>2]=a;c[f>>2]=b;h[m>>3]=d;c[(c[e>>2]|0)+20>>2]=c[f>>2];Bu(c[f>>2]|0);h[(c[e>>2]|0)+24>>3]=+h[(c[f>>2]|0)+8>>3]+ +h[m>>3];b=ts(c[e>>2]|0)|0;c[g>>2]=(c[12877]|0)+(b*40|0);while(1){m=c[(c[g>>2]|0)+32>>2]|0;c[k>>2]=m;if(!m)break;if(!(+h[(c[e>>2]|0)+24>>3]>+h[(c[k>>2]|0)+24>>3])){if(!(+h[(c[e>>2]|0)+24>>3]==+h[(c[k>>2]|0)+24>>3]))break;if(!(+h[c[f>>2]>>3]>+h[c[(c[k>>2]|0)+20>>2]>>3]))break}c[g>>2]=c[k>>2]}c[(c[e>>2]|0)+32>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+32>>2]=c[e>>2];c[12878]=(c[12878]|0)+1;i=l;return}function ns(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+20>>2]|0)){i=e;return}a=ts(c[b>>2]|0)|0;c[d>>2]=(c[12877]|0)+(a*40|0);while(1){if((c[(c[d>>2]|0)+32>>2]|0)==(c[b>>2]|0))break;c[d>>2]=c[(c[d>>2]|0)+32>>2]}c[(c[d>>2]|0)+32>>2]=c[(c[b>>2]|0)+32>>2];c[12878]=(c[12878]|0)-1;Au(c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+20>>2]=0;i=e;return}function os(){return (c[12878]|0)==0|0}function ps(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;while(1){b=c[12879]|0;if(c[(c[12877]|0)+((c[12879]|0)*40|0)+32>>2]|0)break;c[12879]=b+1}h[d>>3]=+h[c[(c[(c[12877]|0)+(b*40|0)+32>>2]|0)+20>>2]>>3];h[d+8>>3]=+h[(c[(c[12877]|0)+((c[12879]|0)*40|0)+32>>2]|0)+24>>3];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];i=e;return}function qs(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=a;c[b>>2]=c[(c[12877]|0)+((c[12879]|0)*40|0)+32>>2];c[(c[12877]|0)+((c[12879]|0)*40|0)+32>>2]=c[(c[b>>2]|0)+32>>2];c[12878]=(c[12878]|0)-1;i=a;return c[b>>2]|0}function rs(){B1(c[12877]|0);c[12877]=0;return}function ss(){var a=0,b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();a=b;c[12878]=0;c[12879]=0;c[12880]=c[12876]<<2;if(!(c[12877]|0))c[12877]=rK((c[12880]|0)*40|0)|0;c[a>>2]=0;while(1){if((c[a>>2]|0)>=(c[12880]|0))break;c[(c[12877]|0)+((c[a>>2]|0)*40|0)+32>>2]=0;c[a>>2]=(c[a>>2]|0)+1}i=b;return}function ts(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+12|0;d=e+8|0;b=e;c[f>>2]=a;h[b>>3]=(+h[(c[f>>2]|0)+24>>3]-+h[4206])/+h[4209]*+(c[12880]|0);do if(!(+h[b>>3]<0.0))if(+h[b>>3]>=+(c[12880]|0)){c[d>>2]=(c[12880]|0)-1;break}else{c[d>>2]=~~+h[b>>3];break}else c[d>>2]=0;while(0);if((c[d>>2]|0)>=(c[12879]|0)){f=c[d>>2]|0;i=e;return f|0}c[12879]=c[d>>2];f=c[d>>2]|0;i=e;return f|0}function us(){Tt(51532,40);B1(c[12886]|0);c[12886]=0;return}function vs(){var a=0,b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();a=b;Tt(51532,40);c[12887]=c[12876]<<1;if(!(c[12886]|0))c[12886]=rK(c[12887]<<2)|0;c[a>>2]=0;while(1){if((c[a>>2]|0)>=(c[12887]|0))break;c[(c[12886]|0)+(c[a>>2]<<2)>>2]=0;c[a>>2]=(c[a>>2]|0)+1}c[12881]=ws(0,0)|0;c[12882]=ws(0,0)|0;c[c[12881]>>2]=0;c[(c[12881]|0)+4>>2]=c[12882];c[c[12882]>>2]=c[12881];c[(c[12882]|0)+4>>2]=0;c[c[12886]>>2]=c[12881];c[(c[12886]|0)+((c[12887]|0)-1<<2)>>2]=c[12882];i=b;return}function ws(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+4|0;g=e+8|0;f=e;c[h>>2]=b;a[g>>0]=d;c[f>>2]=Ut(51532)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];a[(c[f>>2]|0)+16>>0]=a[g>>0]|0;c[(c[f>>2]|0)+32>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+12>>2]=0;i=e;return c[f>>2]|0}function xs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;if((i|0)>=(j|0))ba();e=u+56|0;f=u+52|0;g=u+48|0;m=u+44|0;n=u+40|0;l=u+36|0;o=u+32|0;k=u+16|0;r=u+8|0;s=u;p=u+28|0;q=u+24|0;c[f>>2]=b;c[g>>2]=d;c[m>>2]=c[(c[f>>2]|0)+8>>2];c[n>>2]=c[(c[g>>2]|0)+8>>2];if((c[m>>2]|0)==0|(c[n>>2]|0)==0){c[e>>2]=0;t=c[e>>2]|0;i=u;return t|0}if((c[(c[m>>2]|0)+32+4>>2]|0)==(c[(c[n>>2]|0)+32+4>>2]|0)){c[e>>2]=0;t=c[e>>2]|0;i=u;return t|0}h[k>>3]=+h[c[m>>2]>>3]*+h[(c[n>>2]|0)+8>>3]-+h[(c[m>>2]|0)+8>>3]*+h[c[n>>2]>>3];if(-1.0e-10<+h[k>>3]&+h[k>>3]<1.0e-10){c[e>>2]=0;t=c[e>>2]|0;i=u;return t|0}h[r>>3]=(+h[(c[m>>2]|0)+16>>3]*+h[(c[n>>2]|0)+8>>3]-+h[(c[n>>2]|0)+16>>3]*+h[(c[m>>2]|0)+8>>3])/+h[k>>3];h[s>>3]=(+h[(c[n>>2]|0)+16>>3]*+h[c[m>>2]>>3]-+h[(c[m>>2]|0)+16>>3]*+h[c[n>>2]>>3])/+h[k>>3];do if(+h[(c[(c[m>>2]|0)+32+4>>2]|0)+8>>3]<+h[(c[(c[n>>2]|0)+32+4>>2]|0)+8>>3])t=10;else{if(+h[(c[(c[m>>2]|0)+32+4>>2]|0)+8>>3]==+h[(c[(c[n>>2]|0)+32+4>>2]|0)+8>>3]?+h[c[(c[m>>2]|0)+32+4>>2]>>3]<+h[c[(c[n>>2]|0)+32+4>>2]>>3]:0){t=10;break}c[o>>2]=c[g>>2];c[l>>2]=c[n>>2]}while(0);if((t|0)==10){c[o>>2]=c[f>>2];c[l>>2]=c[m>>2]}c[p>>2]=+h[r>>3]>=+h[c[(c[l>>2]|0)+32+4>>2]>>3]&1;if(!((c[p>>2]|0)!=0?(a[(c[o>>2]|0)+16>>0]|0)==0:0))t=14;do if((t|0)==14){if((c[p>>2]|0)==0?(a[(c[o>>2]|0)+16>>0]|0)==1:0)break;c[q>>2]=xu()|0;c[(c[q>>2]|0)+20>>2]=0;h[c[q>>2]>>3]=+h[r>>3];h[(c[q>>2]|0)+8>>3]=+h[s>>3];c[e>>2]=c[q>>2];t=c[e>>2]|0;i=u;return t|0}while(0);c[e>>2]=0;t=c[e>>2]|0;i=u;return t|0}function ys(b,d){b=b|0;d=d|0;var e=0,f=0,g=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;w=i;i=i+96|0;if((i|0)>=(j|0))ba();v=w+84|0;u=w+80|0;e=w+76|0;m=w+72|0;s=w+68|0;o=w+64|0;f=w+60|0;n=w+56|0;g=w+48|0;l=w+40|0;k=w+32|0;p=w+24|0;q=w+16|0;r=w+8|0;t=w;c[u>>2]=b;c[e>>2]=d;c[m>>2]=c[(c[u>>2]|0)+8>>2];c[s>>2]=c[(c[m>>2]|0)+32+4>>2];c[o>>2]=+h[c[e>>2]>>3]>+h[c[s>>2]>>3]&1;if((c[o>>2]|0)!=0?(a[(c[u>>2]|0)+16>>0]|0)==0:0){c[v>>2]=1;v=c[v>>2]|0;i=w;return v|0}if((c[o>>2]|0)==0?(a[(c[u>>2]|0)+16>>0]|0)==1:0){c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}if(+h[c[m>>2]>>3]==1.0){h[l>>3]=+h[(c[e>>2]|0)+8>>3]-+h[(c[s>>2]|0)+8>>3];h[g>>3]=+h[c[e>>2]>>3]-+h[c[s>>2]>>3];c[n>>2]=0;if(!(((c[o>>2]|0)!=0^1)&1&+h[(c[m>>2]|0)+8>>3]<0.0|c[o>>2]&+h[(c[m>>2]|0)+8>>3]>=0.0)){c[f>>2]=+h[c[e>>2]>>3]+ +h[(c[e>>2]|0)+8>>3]*+h[(c[m>>2]|0)+8>>3]>+h[(c[m>>2]|0)+16>>3]&1;if(+h[(c[m>>2]|0)+8>>3]<0.0)c[f>>2]=((c[f>>2]|0)!=0^1)&1;if(!(c[f>>2]|0))c[n>>2]=1}else{c[f>>2]=+h[l>>3]>=+h[(c[m>>2]|0)+8>>3]*+h[g>>3]&1;c[n>>2]=c[f>>2]}if((c[n>>2]|0)==0?(h[k>>3]=+h[c[s>>2]>>3]-+h[c[(c[m>>2]|0)+32>>2]>>3],c[f>>2]=+h[(c[m>>2]|0)+8>>3]*(+h[g>>3]*+h[g>>3]-+h[l>>3]*+h[l>>3])<+h[k>>3]*+h[l>>3]*(+h[g>>3]*2.0/+h[k>>3]+1.0+ +h[(c[m>>2]|0)+8>>3]*+h[(c[m>>2]|0)+8>>3])&1,+h[(c[m>>2]|0)+8>>3]<0.0):0)c[f>>2]=((c[f>>2]|0)!=0^1)&1}else{h[t>>3]=+h[(c[m>>2]|0)+16>>3]-+h[c[m>>2]>>3]*+h[c[e>>2]>>3];h[p>>3]=+h[(c[e>>2]|0)+8>>3]-+h[t>>3];h[q>>3]=+h[c[e>>2]>>3]-+h[c[s>>2]>>3];h[r>>3]=+h[t>>3]-+h[(c[s>>2]|0)+8>>3];c[f>>2]=+h[p>>3]*+h[p>>3]>+h[q>>3]*+h[q>>3]+ +h[r>>3]*+h[r>>3]&1}e=c[f>>2]|0;if(a[(c[u>>2]|0)+16>>0]|0)e=((e|0)!=0^1)&1;c[v>>2]=e;v=c[v>>2]|0;i=w;return v|0}function zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=c[(c[e>>2]|0)+4>>2];c[c[(c[e>>2]|0)+4>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=c[f>>2];i=d;return}function As(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();b=k+12|0;f=k+8|0;d=k+4|0;e=k;c[b>>2]=a;a=~~((+h[c[b>>2]>>3]-+h[4204])/+h[4208]*+(c[12887]|0));c[d>>2]=a;c[d>>2]=(c[d>>2]|0)<0?0:a;if((c[d>>2]|0)>=(c[12887]|0))c[d>>2]=(c[12887]|0)-1;c[e>>2]=Gs(c[d>>2]|0)|0;if(!(c[e>>2]|0)){c[f>>2]=1;while(1){a=Gs((c[d>>2]|0)-(c[f>>2]|0)|0)|0;c[e>>2]=a;if(a)break;a=Gs((c[d>>2]|0)+(c[f>>2]|0)|0)|0;c[e>>2]=a;if(a)break;c[f>>2]=(c[f>>2]|0)+1}c[12888]=(c[12888]|0)+(c[f>>2]|0)}c[12889]=(c[12889]|0)+1;a:do if((c[e>>2]|0)==(c[12881]|0))g=12;else{if((c[e>>2]|0)!=(c[12882]|0)?(ys(c[e>>2]|0,c[b>>2]|0)|0)!=0:0){g=12;break}do{c[e>>2]=c[c[e>>2]>>2];if((c[e>>2]|0)==(c[12881]|0))break a}while((ys(c[e>>2]|0,c[b>>2]|0)|0)!=0^1)}while(0);if((g|0)==12){while(1){c[e>>2]=c[(c[e>>2]|0)+4>>2];if((c[e>>2]|0)==(c[12882]|0))break;if(ys(c[e>>2]|0,c[b>>2]|0)|0)g=12;else break}c[e>>2]=c[c[e>>2]>>2]}if((c[d>>2]|0)<=0){g=c[e>>2]|0;i=k;return g|0}if((c[d>>2]|0)>=((c[12887]|0)-1|0)){g=c[e>>2]|0;i=k;return g|0}if(c[(c[12886]|0)+(c[d>>2]<<2)>>2]|0){g=(c[(c[12886]|0)+(c[d>>2]<<2)>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)-1}c[(c[12886]|0)+(c[d>>2]<<2)>>2]=c[e>>2];g=(c[(c[12886]|0)+(c[d>>2]<<2)>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+1;g=c[e>>2]|0;i=k;return g|0}function Bs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[(c[c[d>>2]>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];c[c[(c[d>>2]|0)+4>>2]>>2]=c[c[d>>2]>>2];c[(c[d>>2]|0)+8>>2]=-2;i=b;return}function Cs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[(c[d>>2]|0)+4>>2]|0}function Ds(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[c[d>>2]>>2]|0}function Es(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+4|0;d=f;c[d>>2]=b;if(!(c[(c[d>>2]|0)+8>>2]|0)){c[e>>2]=c[12940];e=c[e>>2]|0;i=f;return e|0}b=(c[(c[d>>2]|0)+8>>2]|0)+32|0;if(!(a[(c[d>>2]|0)+16>>0]|0))b=c[b>>2]|0;else b=c[b+4>>2]|0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function Fs(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+4|0;d=f;c[d>>2]=b;if(!(c[(c[d>>2]|0)+8>>2]|0)){c[e>>2]=c[12940];e=c[e>>2]|0;i=f;return e|0}b=(c[(c[d>>2]|0)+8>>2]|0)+32|0;if(!(a[(c[d>>2]|0)+16>>0]|0))b=c[b+4>>2]|0;else b=c[b>>2]|0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function Gs(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;if((c[d>>2]|0)>=0?(c[d>>2]|0)<(c[12887]|0):0){c[e>>2]=c[(c[12886]|0)+(c[d>>2]<<2)>>2];if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+8>>2]|0)==(-2|0):0){c[(c[12886]|0)+(c[d>>2]<<2)>>2]=0;d=(c[e>>2]|0)+12|0;a=(c[d>>2]|0)-1|0;c[d>>2]=a;if(!a)Vt(c[e>>2]|0,51532);c[b>>2]=0;e=c[b>>2]|0;i=f;return e|0}c[b>>2]=c[e>>2];e=c[b>>2]|0;i=f;return e|0}c[b>>2]=0;e=c[b>>2]|0;i=f;return e|0}function Hs(){Tt(51564,24);return}function Is(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;if((i|0)>=(j|0))ba();r=q+64|0;e=q+32|0;f=q+24|0;l=q+60|0;n=q+56|0;k=q+52|0;o=q+48|0;m=q+44|0;p=q;g=q+40|0;c[r>>2]=a;h[e>>3]=b;h[f>>3]=d;c[m>>2]=c[r>>2];c[l>>2]=(c[12890]|0)+((c[(c[r>>2]|0)+16>>2]|0)*96|0);c[k>>2]=c[(c[l>>2]|0)+88>>2];h[p+8>>3]=+h[e>>3];h[p+8+8>>3]=+h[f>>3];c[g>>2]=Js(c[m>>2]|0,p,c[k>>2]|0)|0;if(!(c[g>>2]|0)){i=q;return}if((c[g>>2]|0)<0){c[n>>2]=Ut(51564)|0;h[(c[n>>2]|0)+8>>3]=+h[e>>3];h[(c[n>>2]|0)+8+8>>3]=+h[f>>3];c[c[n>>2]>>2]=c[k>>2];c[(c[l>>2]|0)+88>>2]=c[n>>2];i=q;return}c[o>>2]=c[k>>2];c[k>>2]=c[c[k>>2]>>2];while(1){r=Js(c[m>>2]|0,p,c[k>>2]|0)|0;c[g>>2]=r;if((r|0)<=0)break;c[o>>2]=c[k>>2];c[k>>2]=c[c[k>>2]>>2]}if(!(c[g>>2]|0)){i=q;return}c[n>>2]=Ut(51564)|0;h[(c[n>>2]|0)+8>>3]=+h[e>>3];h[(c[n>>2]|0)+8+8>>3]=+h[f>>3];c[c[o>>2]>>2]=c[n>>2];c[c[n>>2]>>2]=c[k>>2];i=q;return}function Js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;if((i|0)>=(j|0))ba();q=s+60|0;f=s+56|0;g=s+52|0;k=s+48|0;n=s+40|0;r=s+32|0;o=s+24|0;p=s+16|0;l=s+8|0;m=s;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;do if(c[k>>2]|0){if(+h[(c[g>>2]|0)+8>>3]==+h[(c[k>>2]|0)+8>>3]?+h[(c[g>>2]|0)+8+8>>3]==+h[(c[k>>2]|0)+8+8>>3]:0){c[q>>2]=0;break}h[n>>3]=+h[(c[g>>2]|0)+8>>3]-+h[c[f>>2]>>3];h[r>>3]=+h[(c[g>>2]|0)+8+8>>3]-+h[(c[f>>2]|0)+8>>3];h[o>>3]=+h[(c[k>>2]|0)+8>>3]-+h[c[f>>2]>>3];h[p>>3]=+h[(c[k>>2]|0)+8+8>>3]-+h[(c[f>>2]|0)+8>>3];e=+h[o>>3];if(!(+h[n>>3]>=0.0)){if(e>=0.0){c[q>>2]=1;break}h[l>>3]=+h[p>>3]/+h[o>>3];h[m>>3]=+h[r>>3]/+h[n>>3];if(+h[m>>3]<+h[l>>3]){c[q>>2]=-1;break}if(+h[m>>3]>+h[l>>3]){c[q>>2]=1;break}if(+h[n>>3]>+h[o>>3]){c[q>>2]=-1;break}else{c[q>>2]=1;break}}if(e<0.0){c[q>>2]=-1;break}f=+h[o>>3]>0.0;if(+h[n>>3]>0.0){e=+h[p>>3];if(!f)if(e>0.0){c[q>>2]=-1;break}else{c[q>>2]=1;break}h[l>>3]=e/+h[o>>3];h[m>>3]=+h[r>>3]/+h[n>>3];if(+h[m>>3]<+h[l>>3]){c[q>>2]=-1;break}if(+h[m>>3]>+h[l>>3]){c[q>>2]=1;break}if(+h[n>>3]<+h[o>>3]){c[q>>2]=-1;break}else{c[q>>2]=1;break}}else{e=+h[r>>3];if(f)if(e<=0.0){c[q>>2]=-1;break}else{c[q>>2]=1;break}if(e<+h[p>>3])if(+h[p>>3]<=0.0){c[q>>2]=1;break}else{c[q>>2]=-1;break}else if(+h[r>>3]<=0.0){c[q>>2]=-1;break}else{c[q>>2]=1;break}}}else c[q>>2]=-1;while(0);i=s;return c[q>>2]|0}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+24|0;g=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;k=n;c[f>>2]=a;c[n+20>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=0;c[k>>2]=1;while(1){if((c[k>>2]|0)>=(c[(c[f>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0))break;c[l>>2]=c[(c[(c[f>>2]|0)+((c[g>>2]|0)*20|0)+4>>2]|0)+(c[k>>2]<<2)>>2];if((c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)>0)c[m>>2]=(c[m>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}i=n;return c[m>>2]|0}function Ls(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0))break;c[(c[g>>2]|0)+(c[(c[(c[e>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)+(c[h>>2]<<2)>>2]<<2)>>2]=1;c[h>>2]=(c[h>>2]|0)+1}i=k;return}function Ms(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0))break;c[(c[g>>2]|0)+(c[(c[(c[e>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)+(c[h>>2]<<2)>>2]<<2)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}i=k;return}function Ns(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e+8|0;f=e+4|0;g=e;c[f>>2]=a;c[g>>2]=b;b=c[f>>2]|0;a=c[g>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[d>>2]=Us(b,a)|0;g=c[d>>2]|0;i=e;return g|0}else{c[d>>2]=Vs(b,a)|0;g=c[d>>2]|0;i=e;return g|0}return 0}function Os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();h=d+12|0;g=d+8|0;e=d+4|0;f=d;c[h>>2]=a;c[g>>2]=b;c[f>>2]=c[(c[h>>2]|0)+8>>2];Ps(c[h>>2]|0,c[g>>2]|0);c[e>>2]=Us(c[h>>2]|0,c[g>>2]|0)|0;Qs(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=d;return c[e>>2]|0}function Ps(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();d=q+36|0;e=q+32|0;k=q+28|0;l=q+24|0;m=q+20|0;p=q+16|0;o=q+12|0;f=q+8|0;h=q+4|0;n=q;c[d>>2]=a;c[e>>2]=b;c[m>>2]=0;c[o>>2]=rK(c[e>>2]<<2)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(c[(c[d>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[p>>2]=rK(c[m>>2]<<2)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;c[(c[o>>2]|0)+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;c[(c[d>>2]|0)+((c[k>>2]|0)*20|0)+8>>2]=c[p>>2];Ls(c[d>>2]|0,c[k>>2]|0,c[o>>2]|0);c[f>>2]=(c[(c[d>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0)-1;c[l>>2]=1;while(1){if((c[l>>2]|0)>(c[f>>2]|0))break;c[n>>2]=c[(c[(c[d>>2]|0)+((c[k>>2]|0)*20|0)+4>>2]|0)+(c[l>>2]<<2)>>2];c[h>>2]=(c[(c[d>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)-1;m=(c[f>>2]|0)+(c[h>>2]|0)|0;r=+(m-((Ks(c[d>>2]|0,c[k>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)<<1)|0);g[(c[p>>2]|0)+(c[l>>2]<<2)>>2]=r;c[l>>2]=(c[l>>2]|0)+1}Ms(c[d>>2]|0,c[k>>2]|0,c[o>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[(c[d>>2]|0)+((c[k>>2]|0)*20|0)>>2]<<2);c[k>>2]=(c[k>>2]|0)+1}B1(c[o>>2]|0);i=q;return}function Qs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;B1(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;if(!(c[g>>2]|0)){i=k;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[(c[e>>2]|0)+((c[h>>2]|0)*20|0)+8>>2]=c[g>>2];c[g>>2]=(c[g>>2]|0)+(c[(c[e>>2]|0)+((c[h>>2]|0)*20|0)>>2]<<2);c[h>>2]=(c[h>>2]|0)+1}i=k;return}function Rs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o+20|0;k=o+16|0;l=o+12|0;n=o;m=o+8|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;h[n>>3]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;h[n>>3]=+h[n>>3]+(+h[(c[(c[f>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[k>>2]<<3)>>3]-+h[(c[(c[f>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[l>>2]<<3)>>3])*(+h[(c[(c[f>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[k>>2]<<3)>>3]-+h[(c[(c[f>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[l>>2]<<3)>>3]);c[m>>2]=(c[m>>2]|0)+1}p=+O(+(+h[n>>3]));i=o;return +p}function Ss(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if((c[h>>2]|0)>=(c[k>>2]|0)){i=l;return}c[12894]=c[f>>2];P3((c[g>>2]|0)+(c[h>>2]<<2)|0,(c[k>>2]|0)-(c[h>>2]|0)+1|0,4,77);i=l;return}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,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if((c[h>>2]|0)>=(c[k>>2]|0)){i=m;return}Xs(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,l);Ts(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[l>>2]|0)-1|0);Ts(c[f>>2]|0,c[g>>2]|0,(c[l>>2]|0)+1|0,c[k>>2]|0);if(!(Ys(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[l>>2]|0)-1|0)|0))Ts(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[l>>2]|0)-1|0);if(Ys(c[f>>2]|0,c[g>>2]|0,(c[l>>2]|0)+1|0,c[k>>2]|0)|0){i=m;return}Ts(c[f>>2]|0,c[g>>2]|0,(c[l>>2]|0)+1|0,c[k>>2]|0);i=m;return}function Us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;f=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=rK((_(c[e>>2]|0,c[e>>2]|0)|0)<<2)|0;c[f>>2]=rK(c[e>>2]<<2)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[e>>2]|0))break;b=(c[h>>2]|0)+((_(c[g>>2]|0,c[e>>2]|0)|0)<<2)|0;c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]=b;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[e>>2]|0))break;Or(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+1}i=k;return c[f>>2]|0}function Vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+48|0;if((i|0)>=(j|0))ba();d=l+32|0;e=l+28|0;h=l+24|0;k=l+20|0;g=l+16|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=rK((_(c[e>>2]|0,c[e>>2]|0)|0)<<2)|0;c[g>>2]=rK(c[e>>2]<<2)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[e>>2]|0))break;b=(c[k>>2]|0)+((_(c[h>>2]|0,c[e>>2]|0)|0)<<2)|0;c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]=b;c[h>>2]=(c[h>>2]|0)+1}er(f,c[e>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[e>>2]|0))break;$q(c[h>>2]|0,c[d>>2]|0,c[e>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,f);c[h>>2]=(c[h>>2]|0)+1}fr(f);i=l;return c[g>>2]|0}function Ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,k=0,l=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();d=h+16|0;l=h+12|0;k=h+8|0;e=h+4|0;f=h;c[l>>2]=a;c[k>>2]=b;g[e>>2]=+g[(c[12894]|0)+(c[c[l>>2]>>2]<<2)>>2];g[f>>2]=+g[(c[12894]|0)+(c[c[k>>2]>>2]<<2)>>2];if(+g[e>>2]<+g[f>>2]){c[d>>2]=-1;l=c[d>>2]|0;i=h;return l|0}if(+g[e>>2]>+g[f>>2]){c[d>>2]=1;l=c[d>>2]|0;i=h;return l|0}else{c[d>>2]=0;l=c[d>>2]|0;i=h;return l|0}return 0}function Xs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();g=s+44|0;k=s+40|0;l=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;r=s+20|0;o=s;n=s+16|0;p=s+12|0;q=s+8|0;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[u>>2]=e;c[m>>2]=f;a=M2()|0;a=a|(M2()|0)<<16;c[t>>2]=((a>>>0)%(((c[u>>2]|0)-(c[l>>2]|0)+1|0)>>>0)|0)+(c[l>>2]|0);c[n>>2]=(c[l>>2]|0)+1;c[p>>2]=c[u>>2];c[r>>2]=c[(c[k>>2]|0)+(c[t>>2]<<2)>>2];c[(c[k>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[l>>2]<<2)>>2];c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=c[r>>2];h[o>>3]=+h[(c[g>>2]|0)+(c[r>>2]<<3)>>3];while(1){if((c[n>>2]|0)>=(c[p>>2]|0))break;while(1){if((c[n>>2]|0)>=(c[p>>2]|0))break;if(!(+h[(c[g>>2]|0)+(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]<<3)>>3]<=+h[o>>3]))break;c[n>>2]=(c[n>>2]|0)+1}while(1){if((c[n>>2]|0)>=(c[p>>2]|0))break;if(!(+h[(c[g>>2]|0)+(c[(c[k>>2]|0)+(c[p>>2]<<2)>>2]<<3)>>3]>+h[o>>3]))break;c[p>>2]=(c[p>>2]|0)+-1}if((c[n>>2]|0)>=(c[p>>2]|0))continue;c[q>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[p>>2]<<2)>>2];c[(c[k>>2]|0)+(c[p>>2]<<2)>>2]=c[q>>2];c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if(!(+h[(c[g>>2]|0)+(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]<<3)>>3]>+h[o>>3])){t=c[n>>2]|0;u=c[m>>2]|0;c[u>>2]=t;u=c[n>>2]|0;t=c[k>>2]|0;u=t+(u<<2)|0;u=c[u>>2]|0;t=c[l>>2]|0;q=c[k>>2]|0;t=q+(t<<2)|0;c[t>>2]=u;t=c[r>>2]|0;u=c[n>>2]|0;r=c[k>>2]|0;u=r+(u<<2)|0;c[u>>2]=t;i=s;return}c[n>>2]=(c[n>>2]|0)-1;t=c[n>>2]|0;u=c[m>>2]|0;c[u>>2]=t;u=c[n>>2]|0;t=c[k>>2]|0;u=t+(u<<2)|0;u=c[u>>2]|0;t=c[l>>2]|0;q=c[k>>2]|0;t=q+(t<<2)|0;c[t>>2]=u;t=c[r>>2]|0;u=c[n>>2]|0;r=c[k>>2]|0;u=r+(u<<2)|0;c[u>>2]=t;i=s;return}function Ys(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+20|0;g=n+16|0;o=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[o>>2]=d;c[k>>2]=e;c[m>>2]=1;c[l>>2]=(c[o>>2]|0)+1;while(1){if(!((c[l>>2]|0)<=(c[k>>2]|0)?(c[m>>2]|0)!=0:0))break;if(+h[(c[f>>2]|0)+(c[(c[g>>2]|0)+((c[l>>2]|0)-1<<2)>>2]<<3)>>3]>+h[(c[f>>2]|0)+(c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]<<3)>>3])c[m>>2]=0;c[l>>2]=(c[l>>2]|0)+1}i=n;return c[m>>2]|0}function Zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0;t=i;i=i+240048|0;if((i|0)>=(j|0))ba();r=4;s=A1(40)|0;c[s>>2]=0;q=t+240032|0;p=t+32|0;k=t;n=0;m=Ea(22,b*40|0)|0;d=n;n=0;if((d|0)!=0&(o|0)!=0){e=m5(c[d>>2]|0,s|0,r|0)|0;if(!e)hb(d|0,o|0);C=o}else e=-1;if((e|0)!=1){e=0;g=0;while(1){if((e|0)>=(b|0))break;l=g+(c[(c[a+(e<<2)>>2]|0)+4>>2]|0)|0;e=e+1|0;g=l}n=0;l=Ea(22,g*24|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,s|0,r|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)!=1){e=0;f=0;while(1){if((e|0)>=(b|0))break;c[m+(e*40|0)>>2]=l+(f*24|0);h[k+8>>3]=1797693134862315708145274.0e284;h[k>>3]=1797693134862315708145274.0e284;h[k+16+8>>3]=-1797693134862315708145274.0e284;h[k+16>>3]=-1797693134862315708145274.0e284;d=0;while(1){if((d|0)>=(c[(c[a+(e<<2)>>2]|0)+4>>2]|0))break;v=+h[(c[c[a+(e<<2)>>2]>>2]|0)+(d<<4)>>3];u=+h[(c[c[a+(e<<2)>>2]>>2]|0)+(d<<4)+8>>3];h[k>>3]=+h[k>>3]>3]:v;h[k+8>>3]=+h[k+8>>3]>3]:u;h[k+16>>3]=+h[k+16>>3]>v?+h[k+16>>3]:v;h[k+16+8>>3]=+h[k+16+8>>3]>u?+h[k+16+8>>3]:u;h[l+(f*24|0)>>3]=v;h[l+(f*24|0)+8>>3]=u;c[l+(f*24|0)+16>>2]=m+(e*40|0);c[l+(f*24|0)+20>>2]=0;d=d+1|0;f=f+1|0}c[m+(e*40|0)+4>>2]=l+((f-1|0)*24|0);d=m+(e*40|0)+8|0;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];c[d+16>>2]=c[k+16>>2];c[d+20>>2]=c[k+20>>2];c[d+24>>2]=c[k+24>>2];c[d+28>>2]=c[k+28>>2];e=e+1|0}c[q>>2]=g;c[q+4>>2]=b;s=k5(51580,1,s|0,r|0)|0;r=C;n=0;e=n;n=0;if((e|0)!=0&(o|0)!=0){d=m5(c[e>>2]|0,s|0,r|0)|0;if(!d)hb(e|0,o|0);C=o}else d=-1;if((d|0)==1)e=C;else e=0}else{e=C;l=0}}else{e=C;m=0;l=0}while(1){if(e){n=0;Aa(96,m|0);e=n;n=0;if((e|0)!=0&(o|0)!=0){d=m5(c[e>>2]|0,s|0,r|0)|0;if(!d)hb(e|0,o|0);C=o}else d=-1;if((d|0)==1){g=l;k=m;e=C;l=g;m=k;continue}n=0;Aa(96,l|0);e=n;n=0;if((e|0)!=0&(o|0)!=0){d=m5(c[e>>2]|0,s|0,r|0)|0;if(!d)hb(e|0,o|0);C=o}else d=-1;if((d|0)==1){g=l;k=m;e=C;l=g;m=k;continue}else{d=17;break}}n=0;e=Ra(50,l|0,m|0,q|0,p|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){d=m5(c[f>>2]|0,s|0,r|0)|0;if(!d)hb(f|0,o|0);C=o}else d=-1;if((d|0)==1){g=l;k=m;e=C;l=g;m=k;continue}if(!e){n=0;e=Ga(29,a|0,b|0,m|0)|0;d=n;n=0;if((d|0)!=0&(o|0)!=0){f=m5(c[d>>2]|0,s|0,r|0)|0;if(!f)hb(d|0,o|0);C=o}else f=-1;if((f|0)==1){g=l;k=m;e=C;l=g;m=k;continue}}n=0;Aa(96,m|0);f=n;n=0;if((f|0)!=0&(o|0)!=0){d=m5(c[f>>2]|0,s|0,r|0)|0;if(!d)hb(f|0,o|0);C=o}else d=-1;if((d|0)==1){g=l;k=m;e=C;l=g;m=k;continue}n=0;Aa(96,l|0);f=n;n=0;if((f|0)!=0&(o|0)!=0){d=m5(c[f>>2]|0,s|0,r|0)|0;if(!d)hb(f|0,o|0);C=o}else d=-1;if((d|0)==1){g=l;k=m;e=C;l=g;m=k}else{d=24;break}}if((d|0)==17){r=0;B1(s|0);i=t;return r|0}else if((d|0)==24){r=((e|0)!=0^1)&1;B1(s|0);i=t;return r|0}return 0}function _s(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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=i;i=i+80|0;if((i|0)>=(j|0))ba();v=x;f=x+68|0;g=x+60|0;h=x+56|0;m=x+52|0;n=x+48|0;o=x+44|0;l=x+40|0;k=x+28|0;p=x+24|0;t=x+20|0;q=x+16|0;r=x+12|0;u=x+8|0;s=x+4|0;c[f>>2]=a;c[x+64>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;c[(c[g>>2]|0)+8>>2]=0;c[k+4>>2]=0;c[k>>2]=0;c[k+8>>2]=0;c[s>>2]=rK(c[c[g>>2]>>2]<<2)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[g>>2]>>2]|0))break;c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]=(c[f>>2]|0)+((c[m>>2]|0)*24|0);c[m>>2]=(c[m>>2]|0)+1}P3(c[s>>2]|0,c[c[g>>2]>>2]|0,4,78);c[m>>2]=0;a:while(1){if((c[m>>2]|0)>=(c[c[g>>2]>>2]|0))break;c[q>>2]=c[(c[s>>2]|0)+(c[m>>2]<<2)>>2];f=c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]|0;if((c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]|0)==(c[c[(c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]|0)+16>>2]>>2]|0))f=c[(c[f+16>>2]|0)+4>>2]|0;else f=f+-24|0;c[r>>2]=f;c[u>>2]=f;c[o>>2]=0;while(1){if((c[o>>2]|0)>=2)break;switch(at(q,r)|0){case -1:{c[t>>2]=c[k>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k+8>>2]|0))break;c[l>>2]=bt(c[c[t>>2]>>2]|0,c[u>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0)break a;c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=c[(c[t>>2]|0)+4>>2]}c[p>>2]=rK(12)|0;f=c[p>>2]|0;if(!(c[k+8>>2]|0)){c[k>>2]=f;c[(c[p>>2]|0)+8>>2]=0}else{c[(c[k+4>>2]|0)+4>>2]=f;c[(c[p>>2]|0)+8>>2]=c[k+4>>2]}c[c[p>>2]>>2]=c[u>>2];c[(c[p>>2]|0)+4>>2]=0;c[(c[u>>2]|0)+20>>2]=c[p>>2];c[k+4>>2]=c[p>>2];a=k+8|0;c[a>>2]=(c[a>>2]|0)+1;break}case 1:{a=c[(c[u>>2]|0)+20>>2]|0;c[t>>2]=a;if(!a){w=21;break a}do if((c[k+8>>2]|0)!=1){if((c[t>>2]|0)==(c[k>>2]|0)){c[k>>2]=c[(c[k>>2]|0)+4>>2];c[(c[k>>2]|0)+8>>2]=0;break}if((c[t>>2]|0)==(c[k+4>>2]|0)){c[k+4>>2]=c[(c[k+4>>2]|0)+8>>2];c[(c[k+4>>2]|0)+4>>2]=0;break}else{c[(c[(c[t>>2]|0)+8>>2]|0)+4>>2]=c[(c[t>>2]|0)+4>>2];c[(c[(c[t>>2]|0)+4>>2]|0)+8>>2]=c[(c[t>>2]|0)+8>>2];break}}else{c[k>>2]=0;c[k+4>>2]=0}while(0);B1(c[t>>2]|0);a=k+8|0;c[a>>2]=(c[a>>2]|0)+-1;c[(c[u>>2]|0)+20>>2]=0;break}default:{}}f=c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]|0;if((c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]|0)==(c[(c[(c[(c[s>>2]|0)+(c[m>>2]<<2)>>2]|0)+16>>2]|0)+4>>2]|0))f=c[c[f+16>>2]>>2]|0;else f=f+24|0;c[r>>2]=f;c[u>>2]=c[(c[s>>2]|0)+(c[m>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((w|0)==21){pA(1,131114,v)|0;hb(51580,1)}c[t>>2]=c[k>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k+8>>2]|0))break;c[p>>2]=c[(c[t>>2]|0)+4>>2];B1(c[t>>2]|0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=c[p>>2]}B1(c[s>>2]|0);i=x;return c[l>>2]|0}function $s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+80|0;if((i|0)>=(j|0))ba();f=t+16|0;e=t+64|0;g=t+60|0;k=t+56|0;l=t+52|0;m=t+48|0;n=t+44|0;o=t+40|0;r=t;p=t+36|0;q=t+32|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[l>>2]|0)){s=27;break}c[p>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];a=c[c[p>>2]>>2]|0;c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];c[o>>2]=(c[n>>2]|0)+1;while(1){if((c[o>>2]|0)>=(c[l>>2]|0))break;c[q>>2]=c[(c[k>>2]|0)+(c[o>>2]<<2)>>2];if(((((((+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8>>3]<=+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+16>>3]?+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8>>3]>=+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8>>3]:0)?+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+8>>3]<=+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+16+8>>3]:0)?+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+8>>3]>=+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+8>>3]:0)?+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+16>>3]<=+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+16>>3]:0)?+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+16>>3]>=+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8>>3]:0)?+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+16+8>>3]<=+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+16+8>>3]:0)?+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+16+8>>3]>=+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+8>>3]:0){a=c[q>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>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];if(FX(e,f)|0){s=14;break a}}else s=15;if((((((((((s|0)==15?(s=0,+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8>>3]<=+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+16>>3]):0)?+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8>>3]>=+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8>>3]:0)?+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+8>>3]<=+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+16+8>>3]:0)?+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+8>>3]>=+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+8>>3]:0)?+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+16>>3]<=+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+16>>3]:0)?+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+16>>3]>=+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8>>3]:0)?+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+16+8>>3]<=+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+16+8>>3]:0)?+h[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+8+16+8>>3]>=+h[(c[m>>2]|0)+((c[n>>2]|0)*40|0)+8+8>>3]:0)?(d=c[p>>2]|0,a=c[c[q>>2]>>2]|0,c[e>>2]=c[d>>2],c[e+4>>2]=c[d+4>>2],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],(FX(e,f)|0)!=0):0){s=24;break a}c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((s|0)==14){c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}else if((s|0)==24){c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}else if((s|0)==27){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}return 0}function at(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0.0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;f=k+8|0;g=k;c[e>>2]=a;c[f>>2]=b;l=+h[c[c[e>>2]>>2]>>3]-+h[c[c[f>>2]>>2]>>3];h[g>>3]=l;if(l!=0.0){c[d>>2]=+h[g>>3]>0.0?1:-1;g=c[d>>2]|0;i=k;return g|0}l=+h[(c[c[e>>2]>>2]|0)+8>>3]-+h[(c[c[f>>2]>>2]|0)+8>>3];h[g>>3]=l;if(l==0.0){c[d>>2]=0;g=c[d>>2]|0;i=k;return g|0}else{c[d>>2]=+h[g>>3]>0.0?1:-1;g=c[d>>2]|0;i=k;return g|0}return 0}function bt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+80|0;if((i|0)>=(j|0))ba();o=r+32|0;k=r+76|0;l=r+72|0;m=r+68|0;p=r+24|0;q=r+16|0;n=r;g=r+48|0;c[l>>2]=a;c[m>>2]=b;c[r+64>>2]=d;c[r+60>>2]=e;ct(c[l>>2]|0,c[m>>2]|0,g);if((c[g+8>>2]|0)>0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}if((c[g+8>>2]|0)<0){ct(c[m>>2]|0,c[l>>2]|0,g);if((c[g+8>>2]|0)>0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}e=c[l>>2]|0;d=c[m>>2]|0;if((c[g+8>>2]|0)<0)a=3;else{a=c[g>>2]|0;a=dt(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)>=0?a:0-a|0)|0}if(!(et(e,d,p,q,a)|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}else{b=c[l>>2]|0;f=c[m>>2]|0;d=c[l>>2]|0;e=c[m>>2]|0;if((c[g>>2]|0)==(c[g+4>>2]|0)){g=dt(d,e,0)|0;g=(g|0)>(dt(c[l>>2]|0,c[m>>2]|0,1)|0);d=c[l>>2]|0;e=c[m>>2]|0;if(g)a=dt(d,e,0)|0;else a=dt(d,e,1)|0;a=a<<1}else{a=c[g>>2]|0;a=dt(d,e,(c[g>>2]|0)>=0?a:0-a|0)|0}if(!(et(b,f,p,q,a)|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}h[n>>3]=+h[p>>3];h[n+8>>3]=+h[q>>3];p=c[l>>2]|0;q=c[m>>2]|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[k>>2]=ft(p,q,o)|0;q=c[k>>2]|0;i=r;return q|0}function ct(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+96|0;if((i|0)>=(j|0))ba();e=t+80|0;g=t+76|0;n=t+72|0;f=t+64|0;k=t+56|0;o=t+48|0;p=t+40|0;l=t+32|0;m=t+24|0;q=t+16|0;r=t+8|0;s=t;c[e>>2]=a;c[g>>2]=b;c[n>>2]=d;h[f>>3]=+h[c[e>>2]>>3];h[k>>3]=+h[(c[e>>2]|0)+8>>3];d=c[e>>2]|0;if((c[e>>2]|0)==(c[(c[(c[e>>2]|0)+16>>2]|0)+4>>2]|0))d=c[c[d+16>>2]>>2]|0;else d=d+24|0;h[o>>3]=+h[d>>3]-+h[f>>3];d=c[e>>2]|0;if((c[e>>2]|0)==(c[(c[(c[e>>2]|0)+16>>2]|0)+4>>2]|0))d=c[c[d+16>>2]>>2]|0;else d=d+24|0;h[p>>3]=+h[d+8>>3]-+h[k>>3];h[l>>3]=+h[c[g>>2]>>3]-+h[f>>3];h[m>>3]=+h[(c[g>>2]|0)+8>>3]-+h[k>>3];d=c[g>>2]|0;if((c[g>>2]|0)==(c[(c[(c[g>>2]|0)+16>>2]|0)+4>>2]|0))d=c[c[d+16>>2]>>2]|0;else d=d+24|0;h[q>>3]=+h[d>>3]-+h[f>>3];d=c[g>>2]|0;if((c[g>>2]|0)==(c[(c[(c[g>>2]|0)+16>>2]|0)+4>>2]|0))d=c[c[d+16>>2]>>2]|0;else d=d+24|0;h[r>>3]=+h[d+8>>3]-+h[k>>3];h[s>>3]=+h[o>>3]*+h[m>>3]-+h[p>>3]*+h[l>>3];if(+h[s>>3]==0.0)d=0;else d=+h[s>>3]>0.0?1:-1;c[c[n>>2]>>2]=d;h[s>>3]=+h[o>>3]*+h[r>>3]-+h[p>>3]*+h[q>>3];if(+h[s>>3]==0.0){r=0;s=c[n>>2]|0;s=s+4|0;c[s>>2]=r;s=c[n>>2]|0;s=c[s>>2]|0;r=c[n>>2]|0;r=r+4|0;r=c[r>>2]|0;r=_(s,r)|0;s=c[n>>2]|0;s=s+8|0;c[s>>2]=r;i=t;return}r=+h[s>>3]>0.0?1:-1;s=c[n>>2]|0;s=s+4|0;c[s>>2]=r;s=c[n>>2]|0;s=c[s>>2]|0;r=c[n>>2]|0;r=r+4|0;r=c[r>>2]|0;r=_(s,r)|0;s=c[n>>2]|0;s=s+8|0;c[s>>2]=r;i=t;return}function dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();p=o+56|0;k=o+52|0;g=o+48|0;l=o+32|0;m=o+16|0;n=o;c[p>>2]=a;c[k>>2]=b;c[g>>2]=d;a=c[p>>2]|0;c[l>>2]=c[a>>2];c[l+4>>2]=c[a+4>>2];c[l+8>>2]=c[a+8>>2];c[l+12>>2]=c[a+12>>2];a=c[p>>2]|0;if((c[p>>2]|0)==(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0))a=c[c[a+16>>2]>>2]|0;else a=a+24|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];d=c[k>>2]|0;if(!(c[g>>2]|0)){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]}else{a=c[k>>2]|0;if((d|0)==(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0))a=c[c[a+16>>2]>>2]|0;else a=a+24|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2]}e=+h[l>>3];f=+h[n>>3];if(!(+h[l>>3]==+h[m>>3])){n=ht(e,f,+h[m>>3])|0;i=o;return n|0}if(e==f)a=-1!=(ht(+h[l+8>>3],+h[n+8>>3],+h[m+8>>3])|0);else a=0;n=a&1;i=o;return n|0}function et(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=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=i;i=i+160|0;if((i|0)>=(j|0))ba();g=z+148|0;k=z+144|0;l=z+140|0;m=z+136|0;n=z+132|0;o=z+128|0;s=z+112|0;r=z+96|0;w=z+80|0;v=z+64|0;x=z+48|0;y=z+32|0;t=z+24|0;u=z+16|0;p=z+8|0;q=z;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;if((c[o>>2]|0)<=0){c[g>>2]=0;y=c[g>>2]|0;i=z;return y|0}f=c[k>>2]|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];f=c[k>>2]|0;if((c[k>>2]|0)==(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0))f=c[c[f+16>>2]>>2]|0;else f=f+24|0;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];f=c[l>>2]|0;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];f=c[l>>2]|0;if((c[l>>2]|0)==(c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2]|0))f=c[c[f+16>>2]>>2]|0;else f=f+24|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];a:do switch(c[o>>2]|0){case 3:{if(+h[s>>3]==+h[r>>3]){h[c[m>>2]>>3]=+h[s>>3];h[c[n>>2]>>3]=+h[v+8>>3]+(+h[w+8>>3]-+h[v+8>>3])/(+h[w>>3]-+h[v>>3])*(+h[c[m>>2]>>3]-+h[v>>3]);break a}if(+h[w>>3]==+h[v>>3]){h[c[m>>2]>>3]=+h[w>>3];h[c[n>>2]>>3]=+h[r+8>>3]+(+h[s+8>>3]-+h[r+8>>3])/(+h[s>>3]-+h[r>>3])*(+h[c[m>>2]>>3]-+h[r>>3]);break a}else{h[t>>3]=(+h[w+8>>3]-+h[v+8>>3])/(+h[w>>3]-+h[v>>3]);h[u>>3]=(+h[s+8>>3]-+h[r+8>>3])/(+h[s>>3]-+h[r>>3]);h[p>>3]=+h[w+8>>3]-+h[t>>3]*+h[w>>3];h[q>>3]=+h[s+8>>3]-+h[u>>3]*+h[s>>3];h[c[m>>2]>>3]=(+h[q>>3]-+h[p>>3])/(+h[t>>3]-+h[u>>3]);h[c[n>>2]>>3]=(+h[t>>3]*+h[q>>3]-+h[p>>3]*+h[u>>3])/(+h[t>>3]-+h[u>>3]);break a}}case 2:{do if((dt(c[k>>2]|0,c[l>>2]|0,0)|0)==-1){c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];if((dt(c[l>>2]|0,c[k>>2]|0,1)|0)!=-1){c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];break}if((dt(c[l>>2]|0,c[k>>2]|0,0)|0)==-1){c[y>>2]=c[r>>2];c[y+4>>2]=c[r+4>>2];c[y+8>>2]=c[r+8>>2];c[y+12>>2]=c[r+12>>2];break}else{c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];break}}else{if((dt(c[k>>2]|0,c[l>>2]|0,1)|0)!=-1){if((dt(c[l>>2]|0,c[k>>2]|0,0)|0)==-1){c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];c[y>>2]=c[r>>2];c[y+4>>2]=c[r+4>>2];c[y+8>>2]=c[r+8>>2];c[y+12>>2]=c[r+12>>2];break}c[g>>2]=0;y=c[g>>2]|0;i=z;return y|0};c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];if((dt(c[k>>2]|0,c[l>>2]|0,0)|0)!=-1){c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];break}if((dt(c[l>>2]|0,c[k>>2]|0,0)|0)==-1){c[y>>2]=c[r>>2];c[y+4>>2]=c[r+4>>2];c[y+8>>2]=c[r+8>>2];c[y+12>>2]=c[r+12>>2];break}else{c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];break}}while(0);h[c[m>>2]>>3]=(+h[x>>3]+ +h[y>>3])/2.0;h[c[n>>2]>>3]=(+h[x+8>>3]+ +h[y+8>>3])/2.0;break}case 1:if((+h[s>>3]-+h[r>>3])*(+h[w+8>>3]-+h[s+8>>3])==(+h[s+8>>3]-+h[r+8>>3])*(+h[w>>3]-+h[s>>3])){h[c[m>>2]>>3]=+h[w>>3];h[c[n>>2]>>3]=+h[w+8>>3];break a}else{h[c[m>>2]>>3]=+h[v>>3];h[c[n>>2]>>3]=+h[v+8>>3];break a}default:{}}while(0);c[g>>2]=1;y=c[g>>2]|0;i=z;return y|0}function ft(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=i;i=i+96|0;if((i|0)>=(j|0))ba();n=r+64|0;f=r+88|0;g=r+84|0;k=r+80|0;o=r+48|0;p=r+32|0;l=r+16|0;m=r;c[g>>2]=a;c[k>>2]=b;a=c[g>>2]|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];a=c[g>>2]|0;if((c[g>>2]|0)==(c[(c[(c[g>>2]|0)+16>>2]|0)+4>>2]|0))a=c[c[a+16>>2]>>2]|0;else a=a+24|0;c[l>>2]=c[a>>2];c[l+4>>2]=c[a+4>>2];c[l+8>>2]=c[a+8>>2];c[l+12>>2]=c[a+12>>2];a=c[k>>2]|0;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];a=c[k>>2]|0;if((c[k>>2]|0)==(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0))a=c[c[a+16>>2]>>2]|0;else a=a+24|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];if(!(+h[o>>3]!=+h[l>>3]?+h[p>>3]!=+h[m>>3]:0))q=9;a:do if((q|0)==9){do if(+h[o>>3]==+h[l>>3]){if(+h[o>>3]==+h[e>>3]?+h[o+8>>3]==+h[e+8>>3]:0)break;if(!(+h[l>>3]==+h[e>>3]))break a;if(!(+h[l+8>>3]==+h[e+8>>3]))break a}while(0);do if(+h[p>>3]==+h[m>>3]){if(+h[p>>3]==+h[e>>3]?+h[p+8>>3]==+h[e+8>>3]:0)break;if(!(+h[m>>3]==+h[e>>3]))break a;if(!(+h[m+8>>3]==+h[e+8>>3]))break a}while(0);c[f>>2]=0;q=c[f>>2]|0;i=r;return q|0}while(0);if((d[139078]|0|0)>1){q=c[24742]|0;s=+h[e+8>>3];h[n>>3]=+h[e>>3];h[n+8>>3]=s;p3(q,131143,n)|0;gt(1,c[g>>2]|0);gt(2,c[k>>2]|0)}c[f>>2]=1;q=c[f>>2]|0;i=r;return q|0}function gt(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,k=0,l=0,m=0,n=0.0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m;k=m+44|0;g=m+40|0;c[k>>2]=a;c[g>>2]=b;a=c[24742]|0;e=+h[c[g>>2]>>3];f=+h[(c[g>>2]|0)+8>>3];b=c[g>>2]|0;if((c[g>>2]|0)==(c[(c[(c[g>>2]|0)+16>>2]|0)+4>>2]|0))b=c[c[b+16>>2]>>2]|0;else b=b+24|0;d=+h[b>>3];b=c[g>>2]|0;if((c[g>>2]|0)==(c[(c[(c[g>>2]|0)+16>>2]|0)+4>>2]|0))b=c[c[b+16>>2]>>2]|0;else b=b+24|0;n=+h[b+8>>3];c[l>>2]=c[k>>2];h[l+8>>3]=e;h[l+16>>3]=f;h[l+24>>3]=d;h[l+32>>3]=n;p3(a,131171,l)|0;i=m;return}function ht(a,b,d){a=+a;b=+b;d=+d;var e=0,f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l+24|0;e=l+16|0;f=l+8|0;g=l;h[e>>3]=a;h[f>>3]=b;h[g>>3]=d;if(!(+h[e>>3]==+h[f>>3])?!(+h[f>>3]==+h[g>>3]):0){if(+h[e>>3]<+h[f>>3])e=+h[f>>3]<+h[g>>3];else e=+h[g>>3]<+h[f>>3];c[k>>2]=e?1:-1;g=c[k>>2]|0;i=l;return g|0}c[k>>2]=0;g=c[k>>2]|0;i=l;return g|0}function it(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();e=o+32|0;p=o+28|0;f=o+24|0;g=o+20|0;l=o+16|0;m=o+12|0;k=o+8|0;n=o;c[p>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(py(c[p>>2]|0,c[g>>2]|0)|0)){c[e>>2]=0;p=c[e>>2]|0;i=o;return p|0}c[k>>2]=qK(c[g>>2]<<3)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;h[(c[k>>2]|0)+(c[m>>2]<<3)>>3]=0.0;c[m>>2]=(c[m>>2]|0)+1}h[(c[k>>2]|0)+(c[l>>2]<<3)>>3]=1.0;qy(c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0,c[k>>2]|0,c[g>>2]|0);c[l>>2]=(c[l>>2]|0)+1}B1(c[k>>2]|0);c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[l>>2]|0))break;h[n>>3]=+h[(c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3];h[(c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]=+h[(c[(c[f>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[l>>2]<<3)>>3];h[(c[(c[f>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[l>>2]<<3)>>3]=+h[n>>3];c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}c[e>>2]=1;p=c[e>>2]|0;i=o;return p|0}function jt(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 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.0;D=i;i=i+96|0;if((i|0)>=(j|0))ba();k=D+92|0;l=D+88|0;m=D+84|0;n=D+80|0;o=D+76|0;p=D+72|0;u=D+68|0;w=D+64|0;B=D+60|0;z=D+56|0;t=D+52|0;A=D+32|0;s=D+24|0;r=D+16|0;v=D+48|0;y=D+44|0;x=D+8|0;q=D+40|0;C=D;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[B>>2]=rK(c[l>>2]<<3)|0;c[z>>2]=rK(c[l>>2]<<3)|0;c[v>>2]=0;c[q>>2]=(c[l>>2]|0)*30;h[C>>3]=1.0-+h[4210];if((c[m>>2]|0)>=(c[l>>2]|0))c[m>>2]=c[l>>2];c[u>>2]=0;a:while(1){if((c[u>>2]|0)>=(c[m>>2]|0))break;c[t>>2]=c[(c[n>>2]|0)+(c[u>>2]<<2)>>2];do{b:do if(c[p>>2]|0){c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[l>>2]|0))break b;E=+((M2()|0)%100|0|0);h[(c[t>>2]|0)+(c[w>>2]<<3)>>3]=E;c[w>>2]=(c[w>>2]|0)+1}}while(0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[u>>2]|0))break;h[r>>3]=-+kt(c[(c[n>>2]|0)+(c[w>>2]<<2)>>2]|0,0,(c[l>>2]|0)-1|0,c[t>>2]|0);lt(c[t>>2]|0,0,(c[l>>2]|0)-1|0,+h[r>>3],c[(c[n>>2]|0)+(c[w>>2]<<2)>>2]|0);c[w>>2]=(c[w>>2]|0)+1}h[A>>3]=+mt(c[t>>2]|0,0,(c[l>>2]|0)-1|0)}while(+h[A>>3]<1.0e-10);nt(c[t>>2]|0,0,(c[l>>2]|0)-1|0,1.0/+h[A>>3],c[t>>2]|0);c[v>>2]=0;do{c[v>>2]=(c[v>>2]|0)+1;ot(c[z>>2]|0,0,(c[l>>2]|0)-1|0,c[t>>2]|0);pt(c[k>>2]|0,c[l>>2]|0,c[l>>2]|0,c[t>>2]|0,c[B>>2]|0);ot(c[t>>2]|0,0,(c[l>>2]|0)-1|0,c[B>>2]|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[u>>2]|0))break;h[r>>3]=-+kt(c[(c[n>>2]|0)+(c[w>>2]<<2)>>2]|0,0,(c[l>>2]|0)-1|0,c[t>>2]|0);lt(c[t>>2]|0,0,(c[l>>2]|0)-1|0,+h[r>>3],c[(c[n>>2]|0)+(c[w>>2]<<2)>>2]|0);c[w>>2]=(c[w>>2]|0)+1}h[A>>3]=+mt(c[t>>2]|0,0,(c[l>>2]|0)-1|0);if(+h[A>>3]<1.0e-10)break a;if((c[v>>2]|0)>(c[q>>2]|0))break a;nt(c[t>>2]|0,0,(c[l>>2]|0)-1|0,1.0/+h[A>>3],c[t>>2]|0);h[s>>3]=+kt(c[t>>2]|0,0,(c[l>>2]|0)-1|0,c[z>>2]|0);E=+N(+(+h[s>>3]))}while(E<+h[C>>3]);h[(c[o>>2]|0)+(c[u>>2]<<3)>>3]=+h[s>>3]*+h[A>>3];c[u>>2]=(c[u>>2]|0)+1}while(1){if((c[u>>2]|0)>=(c[m>>2]|0))break;c[t>>2]=c[(c[n>>2]|0)+(c[u>>2]<<2)>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[l>>2]|0))break;E=+((M2()|0)%100|0|0);h[(c[t>>2]|0)+(c[w>>2]<<3)>>3]=E;c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[u>>2]|0))break;h[r>>3]=-+kt(c[(c[n>>2]|0)+(c[w>>2]<<2)>>2]|0,0,(c[l>>2]|0)-1|0,c[t>>2]|0);lt(c[t>>2]|0,0,(c[l>>2]|0)-1|0,+h[r>>3],c[(c[n>>2]|0)+(c[w>>2]<<2)>>2]|0);c[w>>2]=(c[w>>2]|0)+1}h[A>>3]=+mt(c[t>>2]|0,0,(c[l>>2]|0)-1|0);nt(c[t>>2]|0,0,(c[l>>2]|0)-1|0,1.0/+h[A>>3],c[t>>2]|0);h[(c[o>>2]|0)+(c[u>>2]<<3)>>3]=0.0;c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[m>>2]|0)-1|0))break;c[y>>2]=c[u>>2];h[x>>3]=+h[(c[o>>2]|0)+(c[y>>2]<<3)>>3];c[w>>2]=(c[u>>2]|0)+1;while(1){if((c[w>>2]|0)>=(c[m>>2]|0))break;if(+h[x>>3]<+h[(c[o>>2]|0)+(c[w>>2]<<3)>>3]){c[y>>2]=c[w>>2];h[x>>3]=+h[(c[o>>2]|0)+(c[y>>2]<<3)>>3]}c[w>>2]=(c[w>>2]|0)+1}if((c[y>>2]|0)!=(c[u>>2]|0)){ot(c[B>>2]|0,0,(c[l>>2]|0)-1|0,c[(c[n>>2]|0)+(c[u>>2]<<2)>>2]|0);ot(c[(c[n>>2]|0)+(c[u>>2]<<2)>>2]|0,0,(c[l>>2]|0)-1|0,c[(c[n>>2]|0)+(c[y>>2]<<2)>>2]|0);ot(c[(c[n>>2]|0)+(c[y>>2]<<2)>>2]|0,0,(c[l>>2]|0)-1|0,c[B>>2]|0);h[(c[o>>2]|0)+(c[y>>2]<<3)>>3]=+h[(c[o>>2]|0)+(c[u>>2]<<3)>>3];h[(c[o>>2]|0)+(c[u>>2]<<3)>>3]=+h[x>>3]}c[u>>2]=(c[u>>2]|0)+1}B1(c[B>>2]|0);B1(c[z>>2]|0);i=D;return (c[v>>2]|0)<=(c[q>>2]|0)|0}function kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+24|0;n=m+20|0;o=m+16|0;g=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[n>>2]=b;c[o>>2]=d;c[g>>2]=e;h[l>>3]=0.0;c[f>>2]=(c[f>>2]|0)+(c[n>>2]<<3);c[g>>2]=(c[g>>2]|0)+(c[n>>2]<<3);c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0)+1;while(1){if(!(c[k>>2]|0))break;o=c[f>>2]|0;c[f>>2]=o+8;p=+h[o>>3];o=c[g>>2]|0;c[g>>2]=o+8;h[l>>3]=+h[l>>3]+p*+h[o>>3];c[k>>2]=(c[k>>2]|0)+-1}i=m;return +(+h[l>>3])}function lt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();g=n+24|0;o=n+20|0;p=n+16|0;k=n;l=n+12|0;m=n+8|0;c[g>>2]=a;c[o>>2]=b;c[p>>2]=d;h[k>>3]=e;c[l>>2]=f;c[g>>2]=(c[g>>2]|0)+(c[o>>2]<<3);c[l>>2]=(c[l>>2]|0)+(c[o>>2]<<3);c[m>>2]=(c[p>>2]|0)-(c[o>>2]|0)+1;while(1){if(!(c[m>>2]|0))break;e=+h[k>>3];o=c[l>>2]|0;c[l>>2]=o+8;e=e*+h[o>>3];o=c[g>>2]|0;c[g>>2]=o+8;h[o>>3]=+h[o>>3]+e;c[m>>2]=(c[m>>2]|0)+-1}i=n;return}function mt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;k=e+4|0;h=e;c[g>>2]=a;c[k>>2]=b;c[h>>2]=d;f=+O(+(+kt(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)));i=e;return +f}function nt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();g=n+24|0;o=n+20|0;p=n+16|0;k=n;l=n+12|0;m=n+8|0;c[g>>2]=a;c[o>>2]=b;c[p>>2]=d;h[k>>3]=e;c[l>>2]=f;c[g>>2]=(c[g>>2]|0)+(c[o>>2]<<3);c[l>>2]=(c[l>>2]|0)+(c[o>>2]<<3);c[m>>2]=(c[p>>2]|0)-(c[o>>2]|0)+1;while(1){if(!(c[m>>2]|0))break;e=+h[k>>3];o=c[l>>2]|0;c[l>>2]=o+8;e=e*+h[o>>3];o=c[g>>2]|0;c[g>>2]=o+8;h[o>>3]=e;c[m>>2]=(c[m>>2]|0)+-1}i=n;return}function ot(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0.0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+16|0;m=l+12|0;n=l+8|0;g=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[n>>2]=d;c[g>>2]=e;c[f>>2]=(c[f>>2]|0)+(c[m>>2]<<3);c[g>>2]=(c[g>>2]|0)+(c[m>>2]<<3);c[k>>2]=(c[n>>2]|0)-(c[m>>2]|0)+1;while(1){if(!(c[k>>2]|0))break;n=c[g>>2]|0;c[g>>2]=n+8;o=+h[n>>3];n=c[f>>2]|0;c[f>>2]=n+8;h[n>>3]=o;c[k>>2]=(c[k>>2]|0)+-1}i=l;return}function pt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();g=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;q=r;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;h[q>>3]=0.0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[l>>2]|0))break;h[q>>3]=+h[q>>3]+ +h[(c[(c[g>>2]|0)+(c[o>>2]<<2)>>2]|0)+(c[p>>2]<<3)>>3]*+h[(c[m>>2]|0)+(c[p>>2]<<3)>>3];c[p>>2]=(c[p>>2]|0)+1}h[(c[n>>2]|0)+(c[o>>2]<<3)>>3]=+h[q>>3];c[o>>2]=(c[o>>2]|0)+1}i=r;return}function qt(a,b,d,e,f,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|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;x=i;i=i+64|0;if((i|0)>=(j|0))ba();l=x+48|0;m=x+44|0;n=x+40|0;o=x+36|0;p=x+32|0;q=x+28|0;w=x;s=x+24|0;t=x+20|0;u=x+16|0;v=x+12|0;r=x+8|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=k;c[r>>2]=c[c[q>>2]>>2];if(c[r>>2]|0){c[v>>2]=D1(c[c[r>>2]>>2]|0,(_(c[n>>2]|0,c[p>>2]|0)|0)<<2)|0;f=D1(c[r>>2]|0,c[n>>2]<<2)|0;c[r>>2]=f;c[c[q>>2]>>2]=f}else{c[v>>2]=A1((_(c[n>>2]|0,c[p>>2]|0)|0)<<2)|0;f=A1(c[n>>2]<<2)|0;c[r>>2]=f;c[c[q>>2]>>2]=f}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[v>>2];c[v>>2]=(c[v>>2]|0)+(c[p>>2]<<2);c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[p>>2]|0))break;h[w>>3]=0.0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[o>>2]|0))break;h[w>>3]=+h[w>>3]+ +h[(c[(c[l>>2]|0)+(c[s>>2]<<2)>>2]|0)+(c[u>>2]<<3)>>3]*+g[(c[(c[m>>2]|0)+(c[u>>2]<<2)>>2]|0)+(c[t>>2]<<2)>>2];c[u>>2]=(c[u>>2]|0)+1}g[(c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]|0)+(c[t>>2]<<2)>>2]=+h[w>>3];c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}i=x;return}function rt(a,b,d,e,f,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|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;x=i;i=i+64|0;if((i|0)>=(j|0))ba();l=x+48|0;m=x+44|0;n=x+40|0;o=x+36|0;p=x+32|0;q=x+28|0;r=x+24|0;v=x+20|0;s=x+16|0;t=x+12|0;u=x+8|0;w=x;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=k;c[r>>2]=c[c[q>>2]>>2];if(c[r>>2]|0){c[v>>2]=D1(c[c[r>>2]>>2]|0,(_(c[n>>2]|0,c[p>>2]|0)|0)<<3)|0;f=D1(c[r>>2]|0,c[n>>2]<<2)|0;c[r>>2]=f;c[c[q>>2]>>2]=f}else{c[v>>2]=A1((_(c[n>>2]|0,c[p>>2]|0)|0)<<3)|0;f=A1(c[n>>2]<<2)|0;c[r>>2]=f;c[c[q>>2]>>2]=f}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[v>>2];c[v>>2]=(c[v>>2]|0)+(c[p>>2]<<3);c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[p>>2]|0))break;h[w>>3]=0.0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[o>>2]|0))break;h[w>>3]=+h[w>>3]+ +h[(c[(c[l>>2]|0)+(c[s>>2]<<2)>>2]|0)+(c[u>>2]<<3)>>3]*+g[(c[(c[m>>2]|0)+(c[u>>2]<<2)>>2]|0)+(c[t>>2]<<2)>>2];c[u>>2]=(c[u>>2]|0)+1}h[(c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]|0)+(c[t>>2]<<3)>>3]=+h[w>>3];c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}i=x;return}function st(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|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,w=0,x=0,y=0;y=i;i=i+64|0;if((i|0)>=(j|0))ba();k=y+56|0;l=y+52|0;m=y+48|0;n=y+44|0;o=y+40|0;w=y+36|0;s=y+32|0;t=y+28|0;u=y+24|0;x=y;r=y+20|0;q=y+16|0;v=y+12|0;p=y+8|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=c[c[o>>2]>>2];if(c[p>>2]|0){c[w>>2]=D1(c[c[p>>2]>>2]|0,(_(c[m>>2]|0,c[n>>2]|0)|0)*20|0)|0;e=D1(c[p>>2]|0,c[m>>2]<<2)|0;c[p>>2]=e;c[c[o>>2]>>2]=e}else{c[w>>2]=A1((_(c[m>>2]|0,c[n>>2]|0)|0)*20|0)|0;e=A1(c[m>>2]<<2)|0;c[p>>2]=e;c[c[o>>2]>>2]=e}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=c[w>>2];c[w>>2]=(c[w>>2]|0)+(c[n>>2]<<2);c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;c[q>>2]=c[(c[k>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];c[r>>2]=c[(c[k>>2]|0)+((c[s>>2]|0)*20|0)+8>>2];c[v>>2]=c[(c[k>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[n>>2]|0))break;h[x>>3]=0.0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;h[x>>3]=+h[x>>3]+ +g[(c[r>>2]|0)+(c[u>>2]<<2)>>2]*+h[(c[(c[l>>2]|0)+(c[t>>2]<<2)>>2]|0)+(c[(c[q>>2]|0)+(c[u>>2]<<2)>>2]<<3)>>3];c[u>>2]=(c[u>>2]|0)+1}g[(c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0)+(c[t>>2]<<2)>>2]=+h[x>>3];c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}i=y;return}function tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0.0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;k=l;c[d>>2]=a;c[e>>2]=b;h[k>>3]=0.0;c[g>>2]=c[e>>2];c[f>>2]=c[d>>2];while(1){if(!(c[f>>2]|0))break;b=c[g>>2]|0;c[g>>2]=b+8;h[k>>3]=+h[k>>3]+ +h[b>>3];c[f>>2]=(c[f>>2]|0)+-1}h[k>>3]=+h[k>>3]/+(c[d>>2]|0);c[g>>2]=c[e>>2];c[f>>2]=c[d>>2];while(1){if(!(c[f>>2]|0))break;m=+h[k>>3];b=c[g>>2]|0;c[g>>2]=b+8;h[b>>3]=+h[b>>3]-m;c[f>>2]=(c[f>>2]|0)+-1}i=l;return}function ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0.0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[d>>2]|0))break;k=+((M2()|0)%500|0|0);h[(c[e>>2]|0)+(c[f>>2]<<3)>>3]=k;c[f>>2]=(c[f>>2]|0)+1}tt(c[d>>2]|0,c[e>>2]|0);i=g;return}function vt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();f=q+28|0;k=q+24|0;l=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q;c[f>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;h[p>>3]=0.0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0))break;h[p>>3]=+h[p>>3]+ +g[(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)+(c[o>>2]<<2)>>2]*+h[(c[l>>2]|0)+(c[(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0)+(c[o>>2]<<2)>>2]<<3)>>3];c[o>>2]=(c[o>>2]|0)+1}h[(c[m>>2]|0)+(c[n>>2]<<3)>>3]=+h[p>>3];c[n>>2]=(c[n>>2]|0)+1}i=q;return}function wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();f=q+28|0;k=q+24|0;l=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q;c[f>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;h[p>>3]=0.0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;h[p>>3]=+h[p>>3]+ +g[(c[(c[f>>2]|0)+(c[n>>2]<<2)>>2]|0)+(c[o>>2]<<2)>>2]*+h[(c[l>>2]|0)+(c[o>>2]<<3)>>3];c[o>>2]=(c[o>>2]|0)+1}h[(c[m>>2]|0)+(c[n>>2]<<3)>>3]=+h[p>>3];c[n>>2]=(c[n>>2]|0)+1}i=q;return}function xt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+16|0;g=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;h[(c[l>>2]|0)+(c[m>>2]<<3)>>3]=+h[(c[g>>2]|0)+(c[m>>2]<<3)>>3]-+h[(c[k>>2]|0)+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}i=n;return}function yt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+16|0;g=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;h[(c[l>>2]|0)+(c[m>>2]<<3)>>3]=+h[(c[g>>2]|0)+(c[m>>2]<<3)>>3]+ +h[(c[k>>2]|0)+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}i=n;return}function zt(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+20|0;g=n+16|0;k=n;l=n+12|0;m=n+8|0;c[f>>2]=a;c[g>>2]=b;h[k>>3]=d;c[l>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;h[(c[l>>2]|0)+(c[m>>2]<<3)>>3]=+h[(c[g>>2]|0)+(c[m>>2]<<3)>>3]*+h[k>>3];c[m>>2]=(c[m>>2]|0)+1}i=n;return}function At(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();e=l+12|0;f=l+8|0;g=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;h[(c[g>>2]|0)+(c[k>>2]<<3)>>3]=+h[(c[f>>2]|0)+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}i=l;return}function Bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;h[l>>3]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;h[l>>3]=+h[l>>3]+ +h[(c[f>>2]|0)+(c[k>>2]<<3)>>3]*+h[(c[g>>2]|0)+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}i=m;return +(+h[l>>3])}function Ct(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0.0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;g=k;f=k+8|0;c[d>>2]=a;c[e>>2]=b;h[g>>3]=-1.e+50;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[d>>2]|0))break;l=+N(+(+h[(c[e>>2]|0)+(c[f>>2]<<3)>>3]));if(l>+h[g>>3])h[g>>3]=+N(+(+h[(c[e>>2]|0)+(c[f>>2]<<3)>>3]));c[f>>2]=(c[f>>2]|0)+1}i=k;return +(+h[g>>3])}function Dt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();g=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;q=r;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;h[q>>3]=0.0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[l>>2]|0))break;h[q>>3]=+h[q>>3]+ +h[(c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[o>>2]<<3)>>3]*+h[(c[m>>2]|0)+(c[p>>2]<<3)>>3];c[p>>2]=(c[p>>2]|0)+1}h[(c[n>>2]|0)+(c[o>>2]<<3)>>3]=+h[q>>3];c[o>>2]=(c[o>>2]|0)+1}i=r;return}function Et(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,k=0,l=0,m=0.0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+16|0;e=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;g[k>>2]=0.0;c[h>>2]=c[e>>2];c[f>>2]=c[d>>2];while(1){if(!(c[f>>2]|0))break;b=c[h>>2]|0;c[h>>2]=b+4;g[k>>2]=+g[k>>2]+ +g[b>>2];c[f>>2]=(c[f>>2]|0)+-1}g[k>>2]=+g[k>>2]/+(c[d>>2]|0);c[h>>2]=c[e>>2];c[f>>2]=c[d>>2];while(1){if(!(c[f>>2]|0))break;m=+g[k>>2];b=c[h>>2]|0;c[h>>2]=b+4;g[b>>2]=+g[b>>2]-m;c[f>>2]=(c[f>>2]|0)+-1}i=l;return}function Ft(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();f=r+32|0;h=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;o=r+12|0;n=r+8|0;q=r+4|0;p=r;c[f>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;g[(c[l>>2]|0)+(c[m>>2]<<2)>>2]=0.0;c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;g[p>>2]=0.0;g[q>>2]=+g[(c[k>>2]|0)+(c[m>>2]<<2)>>2];d=c[n>>2]|0;c[n>>2]=d+1;g[p>>2]=+g[p>>2]+ +g[(c[f>>2]|0)+(d<<2)>>2]*+g[q>>2];c[o>>2]=(c[m>>2]|0)+1;while(1){if((c[o>>2]|0)>=(c[h>>2]|0))break;g[p>>2]=+g[p>>2]+ +g[(c[f>>2]|0)+(c[n>>2]<<2)>>2]*+g[(c[k>>2]|0)+(c[o>>2]<<2)>>2];d=(c[l>>2]|0)+(c[o>>2]<<2)|0;g[d>>2]=+g[d>>2]+ +g[(c[f>>2]|0)+(c[n>>2]<<2)>>2]*+g[q>>2];c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1}d=(c[l>>2]|0)+(c[m>>2]<<2)|0;g[d>>2]=+g[d>>2]+ +g[p>>2];c[m>>2]=(c[m>>2]|0)+1}i=r;return}function Gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;g[(c[l>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[h>>2]|0)+(c[m>>2]<<2)>>2]-+g[(c[k>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}i=n;return}function Ht(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;g[(c[l>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[h>>2]|0)+(c[m>>2]<<2)>>2]+ +g[(c[k>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}i=n;return}function It(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[h>>2]=b;g[k>>2]=d;c[l>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;g[(c[h>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[h>>2]|0)+(c[m>>2]<<2)>>2]+ +g[k>>2]*+g[(c[l>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}i=n;return}function Jt(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[h>>2]=b;g[k>>2]=d;c[l>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;g[(c[l>>2]|0)+(c[m>>2]<<2)>>2]=+g[(c[h>>2]|0)+(c[m>>2]<<2)>>2]*+g[k>>2];c[m>>2]=(c[m>>2]|0)+1}i=n;return}function Kt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();e=l+12|0;f=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;g[(c[h>>2]|0)+(c[k>>2]<<2)>>2]=+g[(c[f>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}i=l;return}function Lt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+20|0;f=n+16|0;k=n+12|0;l=n+8|0;m=n;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;h[m>>3]=0.0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[e>>2]|0))break;h[m>>3]=+h[m>>3]+ +g[(c[f>>2]|0)+(c[l>>2]<<2)>>2]*+g[(c[k>>2]|0)+(c[l>>2]<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}i=n;return +(+h[m>>3])}function Mt(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l;g=l+12|0;k=l+8|0;c[e>>2]=a;h[f>>3]=b;c[g>>2]=d;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;h[(c[g>>2]|0)+(c[k>>2]<<3)>>3]=+h[f>>3];c[k>>2]=(c[k>>2]|0)+1}i=l;return}function Nt(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();e=l+12|0;f=l+8|0;h=l+4|0;k=l;c[e>>2]=a;g[f>>2]=b;c[h>>2]=d;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;g[(c[h>>2]|0)+(c[k>>2]<<2)>>2]=+g[f>>2];c[k>>2]=(c[k>>2]|0)+1}i=l;return}function Ot(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,k=0,l=0.0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();d=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[e>>2]=b;g[h>>2]=-1000000015047466219876688.0e6;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[d>>2]|0))break;l=+N(+(+g[(c[e>>2]|0)+(c[f>>2]<<2)>>2]));if(l>+g[h>>2])g[h>>2]=+N(+(+g[(c[e>>2]|0)+(c[f>>2]<<2)>>2]));c[f>>2]=(c[f>>2]|0)+1}i=k;return +(+g[h>>2])}function Pt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[d>>2]|0))break;b=(c[e>>2]|0)+(c[f>>2]<<2)|0;g[b>>2]=+g[b>>2]*+g[(c[e>>2]|0)+(c[f>>2]<<2)>>2];c[f>>2]=(c[f>>2]|0)+1}i=h;return}function Qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,k=0,l=0.0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();d=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[d>>2]|0))break;l=+g[(c[e>>2]|0)+(c[f>>2]<<2)>>2];g[h>>2]=l;if(l!=0.0)g[(c[e>>2]|0)+(c[f>>2]<<2)>>2]=1.0/+g[h>>2];c[f>>2]=(c[f>>2]|0)+1}i=k;return}function Rt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,k=0,l=0,m=0,n=0,o=0,p=0.0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();e=o+24|0;f=o+20|0;k=o+16|0;m=o+12|0;l=o;n=o+8|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[e>>2]|0))break;p=+g[(c[f>>2]|0)+(c[m>>2]<<2)>>2];g[n>>2]=p;if(p>=0.0){h[l>>3]=+O(+(+g[n>>2]));g[(c[k>>2]|0)+(c[m>>2]<<2)>>2]=+h[l>>3]}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function St(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();d=m+20|0;e=m+16|0;k=m+12|0;f=m;l=m+8|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[d>>2]|0))break;n=+g[(c[e>>2]|0)+(c[k>>2]<<2)>>2];g[l>>2]=n;if(n>0.0){h[f>>3]=1.0/+O(+(+g[l>>2]));g[(c[e>>2]|0)+(c[k>>2]<<2)>>2]=+h[f>>3]}c[k>>2]=(c[k>>2]|0)+1}i=m;return}function Tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+12|0;d=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[d>>2]=b;c[c[e>>2]>>2]=0;a=c[d>>2]|0;if(((c[d>>2]|0)>>>0)%4|0)if(!(4%(a>>>0)|0))a=4;else{a=c[d>>2]|0;a=_(a,4/((Wt(c[d>>2]|0,4)|0)>>>0)|0)|0}c[(c[e>>2]|0)+8>>2]=a;if(!(c[(c[e>>2]|0)+4>>2]|0)){g=c[e>>2]|0;g=g+4|0;c[g>>2]=0;i=h;return}c[f>>2]=c[(c[e>>2]|0)+4>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[c[f>>2]>>2];B1(c[(c[f>>2]|0)+4>>2]|0);B1(c[f>>2]|0);c[f>>2]=c[g>>2]}g=c[e>>2]|0;g=g+4|0;c[g>>2]=0;i=h;return}function Ut(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();b=k+20|0;e=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;d=k;c[b>>2]=a;if(c[c[b>>2]>>2]|0){f=c[b>>2]|0;f=c[f>>2]|0;c[h>>2]=f;f=c[h>>2]|0;f=c[f>>2]|0;g=c[b>>2]|0;c[g>>2]=f;h=c[h>>2]|0;i=k;return h|0}c[g>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=rK(8)|0;a=rK(_(c[12876]|0,c[g>>2]|0)|0)|0;c[(c[f>>2]|0)+4>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[12876]|0))break;a=(c[d>>2]|0)+(_(c[e>>2]|0,c[g>>2]|0)|0)|0;Vt(a,c[b>>2]|0);c[e>>2]=(c[e>>2]|0)+1}c[c[f>>2]>>2]=c[(c[b>>2]|0)+4>>2];c[(c[b>>2]|0)+4>>2]=c[f>>2];f=c[b>>2]|0;f=c[f>>2]|0;c[h>>2]=f;f=c[h>>2]|0;f=c[f>>2]|0;g=c[b>>2]|0;c[g>>2]=f;h=c[h>>2]|0;i=k;return h|0}function Vt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[f>>2]>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[f>>2];i=d;return}function Wt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;while(1){if((c[e>>2]|0)==(c[d>>2]|0))break;if((c[d>>2]|0)<(c[e>>2]|0)){c[e>>2]=(c[e>>2]|0)-(c[d>>2]|0);continue}else{c[d>>2]=(c[d>>2]|0)-(c[e>>2]|0);continue}}i=f;return c[e>>2]|0}function Xt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=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;v=i;i=i+64|0;if((i|0)>=(j|0))ba();f=v+48|0;k=v+44|0;l=v+40|0;m=v+36|0;o=v+32|0;p=v+28|0;s=v+24|0;n=v+20|0;t=v;q=v+16|0;u=v+12|0;r=v+8|0;c[f>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[s>>2]=0;c[n>>2]=qK(c[k>>2]<<3)|0;h[t>>3]=.001;c[q>>2]=0;c[r>>2]=c[(c[f>>2]|0)+8>>2];Yt(c[f>>2]|0,c[k>>2]|0,c[n>>2]|0);ut(c[k>>2]|0,c[l>>2]|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;c[q>>2]=(c[q>>2]|0)+(c[(c[f>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0);c[o>>2]=(c[o>>2]|0)+1}c[u>>2]=rK(c[q>>2]<<2)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;c[(c[f>>2]|0)+((c[o>>2]|0)*20|0)+8>>2]=c[u>>2];g[c[u>>2]>>2]=+(0-((c[(c[f>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)-1)|0);c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[f>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0))break;g[(c[u>>2]|0)+(c[p>>2]<<2)>>2]=1.0;c[p>>2]=(c[p>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+(c[(c[f>>2]|0)+((c[o>>2]|0)*20|0)>>2]<<2);c[o>>2]=(c[o>>2]|0)+1}if((ir(c[f>>2]|0,c[l>>2]|0,c[n>>2]|0,c[k>>2]|0,+h[t>>3],c[m>>2]|0)|0)<0)c[s>>2]=1;B1(c[(c[f>>2]|0)+8>>2]|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;c[(c[f>>2]|0)+((c[o>>2]|0)*20|0)+8>>2]=c[r>>2];c[r>>2]=(c[r>>2]|0)+(c[(c[f>>2]|0)+((c[o>>2]|0)*20|0)>>2]<<2);c[o>>2]=(c[o>>2]|0)+1}B1(c[n>>2]|0);i=v;return c[s>>2]|0}function Yt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();e=o+24|0;f=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;l=o;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;h[l>>3]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;h[l>>3]=0.0;if(c[(c[e>>2]|0)+16>>2]|0){c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[(c[e>>2]|0)+((c[m>>2]|0)*20|0)>>2]|0))break;h[l>>3]=+h[l>>3]+ +g[(c[(c[e>>2]|0)+((c[m>>2]|0)*20|0)+8>>2]|0)+(c[n>>2]<<2)>>2]*+g[(c[(c[e>>2]|0)+((c[m>>2]|0)*20|0)+16>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}h[(c[k>>2]|0)+(c[m>>2]<<3)>>3]=+h[l>>3]}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function Zt(a,b,d,e,f,g,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=+k;l=l|0;m=m|0;var n=0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();c[n+40>>2]=a;c[n+36>>2]=b;c[n+32>>2]=d;c[n+28>>2]=e;c[n+24>>2]=f;c[n+20>>2]=g;h[n>>3]=k;c[n+16>>2]=l;c[n+12>>2]=m;if(c[12934]|0){i=n;return}c[12934]=1;pA(1,131207,n+8|0)|0;i=n;return}function _t(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=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.0;w=i;i=i+64|0;if((i|0)>=(j|0))ba();g=w+52|0;k=w+48|0;l=w+44|0;m=w+40|0;n=w+36|0;o=w+32|0;v=w;r=w+28|0;s=w+24|0;t=w+20|0;p=w+16|0;q=w+12|0;u=w+8|0;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[p>>2]=rK(c[n>>2]<<2)|0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;f=rK(c[k>>2]<<3)|0;c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]=f;c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=rK(c[n>>2]<<3)|0;c[o>>2]=rK(c[k>>2]<<2)|0;c[u>>2]=rK((_(c[k>>2]|0,c[k>>2]|0)|0)<<3)|0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[k>>2]|0))break;c[(c[o>>2]|0)+(c[r>>2]<<2)>>2]=c[u>>2];c[u>>2]=(c[u>>2]|0)+(c[k>>2]<<3);c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[k>>2]|0))break;c[s>>2]=0;while(1){if((c[s>>2]|0)>(c[r>>2]|0))break;h[v>>3]=0.0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[l>>2]|0))break;x=+(_(c[(c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0)+(c[t>>2]<<2)>>2]|0,c[(c[(c[g>>2]|0)+(c[s>>2]<<2)>>2]|0)+(c[t>>2]<<2)>>2]|0)|0);h[v>>3]=+h[v>>3]+x;c[t>>2]=(c[t>>2]|0)+1}x=+h[v>>3];h[(c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]|0)+(c[r>>2]<<3)>>3]=x;h[(c[(c[o>>2]|0)+(c[r>>2]<<2)>>2]|0)+(c[s>>2]<<3)>>3]=x;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}jt(c[o>>2]|0,c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;c[s>>2]=0;while(1){u=(c[s>>2]|0)<(c[n>>2]|0);c[r>>2]=0;if(!u)break;while(1){if((c[r>>2]|0)>=(c[l>>2]|0))break;h[v>>3]=0.0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[k>>2]|0))break;h[v>>3]=+h[v>>3]+ +(c[(c[(c[g>>2]|0)+(c[t>>2]<<2)>>2]|0)+(c[r>>2]<<2)>>2]|0)*+h[(c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0)+(c[t>>2]<<3)>>3];c[t>>2]=(c[t>>2]|0)+1}h[(c[(c[m>>2]|0)+(c[s>>2]<<2)>>2]|0)+(c[r>>2]<<3)>>3]=+h[v>>3];c[r>>2]=(c[r>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;B1(c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0);c[r>>2]=(c[r>>2]|0)+1}B1(c[p>>2]|0);B1(c[q>>2]|0);B1(c[c[o>>2]>>2]|0);B1(c[o>>2]|0);i=w;return}function $t(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+48|0;if((i|0)>=(j|0))ba();n=f+32|0;h=f+28|0;m=f+24|0;g=f+20|0;o=f+16|0;l=f+12|0;k=f+8|0;c[n>>2]=a;c[h>>2]=b;c[m>>2]=d;c[g>>2]=e;c[l>>2]=0;c[k>>2]=0;dy(c[c[n>>2]>>2]|0,c[m>>2]|0,_(c[12935]|0,c[m>>2]|0)|0,o);st(c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,l);rt(c[n>>2]|0,c[l>>2]|0,c[h>>2]|0,c[m>>2]|0,c[h>>2]|0,k);B1(c[c[l>>2]>>2]|0);B1(c[l>>2]|0);e=(jt(c[k>>2]|0,c[h>>2]|0,1,g,f,1)|0)&255;i=f;return e|0}function au(){c[12936]=0;B1(c[12937]|0);B1(c[12938]|0);B1(c[12939]|0);c[12937]=0;c[12938]=0;c[12939]=0;return}function bu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[(c[d>>2]|0)+36>>2]|0);i=b;return}function cu(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;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,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+160|0;if((i|0)>=(j|0))ba();z=C+120|0;k=C+156|0;l=C+152|0;m=C+148|0;n=C+144|0;o=C+140|0;w=C+136|0;y=C+132|0;A=C+128|0;x=C+124|0;t=C+88|0;u=C+72|0;v=C+64|0;p=C+48|0;q=C+32|0;r=C+16|0;s=C;c[l>>2]=b;c[m>>2]=d;g[n>>2]=e;g[o>>2]=f;a:do if(c[(c[(c[m>>2]|0)+8>>2]|0)+212>>2]|0){c[y>>2]=4;h[u>>3]=+h[(c[(c[m>>2]|0)+8>>2]|0)+32>>3]/2.0+ +g[n>>2];h[u+8>>3]=+h[(c[(c[m>>2]|0)+8>>2]|0)+40>>3]/2.0+ +g[o>>2];c[(c[l>>2]|0)+40>>2]=1;c[A>>2]=rK(c[y>>2]<<4)|0;h[c[A>>2]>>3]=+h[u>>3];h[(c[A>>2]|0)+8>>3]=+h[u+8>>3];h[(c[A>>2]|0)+16>>3]=-+h[u>>3];h[(c[A>>2]|0)+16+8>>3]=+h[u+8>>3];h[(c[A>>2]|0)+32>>3]=-+h[u>>3];h[(c[A>>2]|0)+32+8>>3]=-+h[u+8>>3];h[(c[A>>2]|0)+48>>3]=+h[u>>3];h[(c[A>>2]|0)+48+8>>3]=-+h[u+8>>3]}else switch(sM(c[m>>2]|0)|0){case 1:{c[x>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+12>>2];c[y>>2]=c[(c[x>>2]|0)+8>>2];if((a[c[c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]>>2]>>0]|0)==(a[147748]|0)?(a4(c[c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]>>2]|0,147748)|0)==0:0)c[(c[l>>2]|0)+40>>2]=1;else B=7;do if((B|0)==7){if(((a[c[c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]>>2]>>0]|0)==(a[143242]|0)?(a4(c[c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]>>2]|0,143242)|0)==0:0)?(fu(c[(c[x>>2]|0)+44>>2]|0,c[y>>2]|0)|0)!=0:0){c[(c[l>>2]|0)+40>>2]=1;break}if((c[(c[x>>2]|0)+8>>2]|0)<3?(c[c[x>>2]>>2]|0)!=0:0){c[(c[l>>2]|0)+40>>2]=2;break}c[(c[l>>2]|0)+40>>2]=0}while(0);if((c[y>>2]|0)<3){c[A>>2]=gu(c[m>>2]|0,y,+g[n>>2],+g[o>>2])|0;break a}c[A>>2]=rK(c[y>>2]<<4)|0;if((c[(c[l>>2]|0)+40>>2]|0)==1){h[c[A>>2]>>3]=+h[c[(c[x>>2]|0)+44>>2]>>3]/72.0+ +g[n>>2];h[(c[A>>2]|0)+8>>3]=+h[(c[(c[x>>2]|0)+44>>2]|0)+8>>3]/72.0+ +g[o>>2];h[(c[A>>2]|0)+16>>3]=+h[(c[(c[x>>2]|0)+44>>2]|0)+16>>3]/72.0-+g[n>>2];h[(c[A>>2]|0)+16+8>>3]=+h[(c[(c[x>>2]|0)+44>>2]|0)+16+8>>3]/72.0+ +g[o>>2];h[(c[A>>2]|0)+32>>3]=+h[(c[(c[x>>2]|0)+44>>2]|0)+32>>3]/72.0-+g[n>>2];h[(c[A>>2]|0)+32+8>>3]=+h[(c[(c[x>>2]|0)+44>>2]|0)+32+8>>3]/72.0-+g[o>>2];h[(c[A>>2]|0)+48>>3]=+h[(c[(c[x>>2]|0)+44>>2]|0)+48>>3]/72.0+ +g[n>>2];h[(c[A>>2]|0)+48+8>>3]=+h[(c[(c[x>>2]|0)+44>>2]|0)+48+8>>3]/72.0-+g[o>>2];break a}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[y>>2]|0))break a;h[v>>3]=+O(+(+h[(c[(c[x>>2]|0)+44>>2]|0)+(c[w>>2]<<4)>>3]*+h[(c[(c[x>>2]|0)+44>>2]|0)+(c[w>>2]<<4)>>3]+ +h[(c[(c[x>>2]|0)+44>>2]|0)+(c[w>>2]<<4)+8>>3]*+h[(c[(c[x>>2]|0)+44>>2]|0)+(c[w>>2]<<4)+8>>3]));h[(c[A>>2]|0)+(c[w>>2]<<4)>>3]=+h[(c[(c[x>>2]|0)+44>>2]|0)+(c[w>>2]<<4)>>3]*(+g[n>>2]/+h[v>>3]+1.0);h[(c[A>>2]|0)+(c[w>>2]<<4)+8>>3]=+h[(c[(c[x>>2]|0)+44>>2]|0)+(c[w>>2]<<4)+8>>3]*(+g[o>>2]/+h[v>>3]+1.0);h[(c[A>>2]|0)+(c[w>>2]<<4)>>3]=+h[(c[A>>2]|0)+(c[w>>2]<<4)>>3]/72.0;h[(c[A>>2]|0)+(c[w>>2]<<4)+8>>3]=+h[(c[A>>2]|0)+(c[w>>2]<<4)+8>>3]/72.0;c[w>>2]=(c[w>>2]|0)+1}}case 2:{c[y>>2]=4;c[A>>2]=rK(c[y>>2]<<4)|0;B=(c[(c[(c[m>>2]|0)+8>>2]|0)+12>>2]|0)+16|0;c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[t+16>>2]=c[B+16>>2];c[t+20>>2]=c[B+20>>2];c[t+24>>2]=c[B+24>>2];c[t+28>>2]=c[B+28>>2];B=c[A>>2]|0;hu(p,~~+h[t>>3],~~+h[t+8>>3],-+g[n>>2],-+g[o>>2]);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];B=(c[A>>2]|0)+16|0;hu(q,~~+h[t+16>>3],~~+h[t+8>>3],+g[n>>2],-+g[o>>2]);c[B>>2]=c[q>>2];c[B+4>>2]=c[q+4>>2];c[B+8>>2]=c[q+8>>2];c[B+12>>2]=c[q+12>>2];B=(c[A>>2]|0)+32|0;hu(r,~~+h[t+16>>3],~~+h[t+16+8>>3],+g[n>>2],+g[o>>2]);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];B=(c[A>>2]|0)+48|0;hu(s,~~+h[t>>3],~~+h[t+16+8>>3],-+g[n>>2],+g[o>>2]);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];c[(c[l>>2]|0)+40>>2]=1;break a}case 3:{c[(c[l>>2]|0)+40>>2]=2;c[A>>2]=gu(c[m>>2]|0,y,+g[n>>2],+g[o>>2])|0;break a}default:{c[z>>2]=c[c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]>>2];pA(1,131270,z)|0;c[k>>2]=1;B=c[k>>2]|0;i=C;return B|0}}while(0);c[(c[l>>2]|0)+36>>2]=c[A>>2];c[(c[l>>2]|0)+32>>2]=c[y>>2];iu(c[A>>2]|0,c[y>>2]|0,c[l>>2]|0,(c[l>>2]|0)+16|0);if((c[y>>2]|0)>(c[12936]|0))c[12936]=c[y>>2];c[k>>2]=0;B=c[k>>2]|0;i=C;return B|0}function du(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;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,w=0,x=0,y=0,z=0,A=0;A=i;i=i+160|0;if((i|0)>=(j|0))ba();y=A+112|0;k=A+148|0;l=A+144|0;m=A+140|0;n=A+136|0;o=A+132|0;v=A+128|0;x=A+124|0;z=A+120|0;w=A+116|0;t=A+80|0;u=A+64|0;p=A+48|0;q=A+32|0;r=A+16|0;s=A;c[l>>2]=b;c[m>>2]=d;g[n>>2]=e;g[o>>2]=f;a:do if(c[(c[(c[m>>2]|0)+8>>2]|0)+212>>2]|0){c[x>>2]=4;h[u>>3]=+h[(c[(c[m>>2]|0)+8>>2]|0)+32>>3]/2.0;h[u+8>>3]=+h[(c[(c[m>>2]|0)+8>>2]|0)+40>>3]/2.0;c[(c[l>>2]|0)+40>>2]=1;c[z>>2]=rK(c[x>>2]<<4)|0;h[c[z>>2]>>3]=+h[u>>3];h[(c[z>>2]|0)+8>>3]=+h[u+8>>3];h[(c[z>>2]|0)+16>>3]=-+h[u>>3];h[(c[z>>2]|0)+16+8>>3]=+h[u+8>>3];h[(c[z>>2]|0)+32>>3]=-+h[u>>3];h[(c[z>>2]|0)+32+8>>3]=-+h[u+8>>3];h[(c[z>>2]|0)+48>>3]=+h[u>>3];h[(c[z>>2]|0)+48+8>>3]=-+h[u+8>>3]}else switch(sM(c[m>>2]|0)|0){case 1:{c[w>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+12>>2];c[x>>2]=c[(c[w>>2]|0)+8>>2];b:do if((c[x>>2]|0)>=3){c[z>>2]=rK(c[x>>2]<<4)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break b;h[(c[z>>2]|0)+(c[v>>2]<<4)>>3]=+h[(c[(c[w>>2]|0)+44>>2]|0)+(c[v>>2]<<4)>>3]/72.0;h[(c[z>>2]|0)+(c[v>>2]<<4)+8>>3]=+h[(c[(c[w>>2]|0)+44>>2]|0)+(c[v>>2]<<4)+8>>3]/72.0;c[v>>2]=(c[v>>2]|0)+1}}else c[z>>2]=gu(c[m>>2]|0,x,0.0,0.0)|0;while(0);if((a[c[c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]>>2]>>0]|0)==(a[147748]|0)?(a4(c[c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]>>2]|0,147748)|0)==0:0){c[(c[l>>2]|0)+40>>2]=1;break a}if(((a[c[c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]>>2]>>0]|0)==(a[143242]|0)?(a4(c[c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]>>2]|0,143242)|0)==0:0)?(fu(c[z>>2]|0,c[x>>2]|0)|0)!=0:0){c[(c[l>>2]|0)+40>>2]=1;break a}if((c[(c[w>>2]|0)+8>>2]|0)<3?(c[c[w>>2]>>2]|0)!=0:0){c[(c[l>>2]|0)+40>>2]=2;break a}c[(c[l>>2]|0)+40>>2]=0;break a}case 2:{c[x>>2]=4;c[z>>2]=rK(c[x>>2]<<4)|0;y=(c[(c[(c[m>>2]|0)+8>>2]|0)+12>>2]|0)+16|0;c[t>>2]=c[y>>2];c[t+4>>2]=c[y+4>>2];c[t+8>>2]=c[y+8>>2];c[t+12>>2]=c[y+12>>2];c[t+16>>2]=c[y+16>>2];c[t+20>>2]=c[y+20>>2];c[t+24>>2]=c[y+24>>2];c[t+28>>2]=c[y+28>>2];y=c[z>>2]|0;ju(p,+h[t>>3],+h[t+8>>3]);c[y>>2]=c[p>>2];c[y+4>>2]=c[p+4>>2];c[y+8>>2]=c[p+8>>2];c[y+12>>2]=c[p+12>>2];y=(c[z>>2]|0)+16|0;ju(q,+h[t+16>>3],+h[t+8>>3]);c[y>>2]=c[q>>2];c[y+4>>2]=c[q+4>>2];c[y+8>>2]=c[q+8>>2];c[y+12>>2]=c[q+12>>2];y=(c[z>>2]|0)+32|0;ju(r,+h[t+16>>3],+h[t+16+8>>3]);c[y>>2]=c[r>>2];c[y+4>>2]=c[r+4>>2];c[y+8>>2]=c[r+8>>2];c[y+12>>2]=c[r+12>>2];y=(c[z>>2]|0)+48|0;ju(s,+h[t>>3],+h[t+16+8>>3]);c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];c[(c[l>>2]|0)+40>>2]=1;break a}case 3:{c[(c[l>>2]|0)+40>>2]=2;c[z>>2]=gu(c[m>>2]|0,x,0.0,0.0)|0;break a}default:{c[y>>2]=c[c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]>>2];pA(1,131306,y)|0;c[k>>2]=1;z=c[k>>2]|0;i=A;return z|0}}while(0);if(!(!(+g[n>>2]!=1.0)?!(+g[o>>2]!=1.0):0))ku(c[z>>2]|0,c[x>>2]|0,+g[n>>2],+g[o>>2]);c[(c[l>>2]|0)+36>>2]=c[z>>2];c[(c[l>>2]|0)+32>>2]=c[x>>2];iu(c[z>>2]|0,c[x>>2]|0,c[l>>2]|0,(c[l>>2]|0)+16|0);if((c[x>>2]|0)>(c[12936]|0))c[12936]=c[x>>2];c[k>>2]=0;z=c[k>>2]|0;i=A;return z|0}function eu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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=i;i=i+176|0;if((i|0)>=(j|0))ba();g=v+136|0;s=v+120|0;f=v+104|0;w=v;u=v+160|0;k=v+156|0;l=v+152|0;r=v+88|0;m=v+72|0;t=v+56|0;n=v+40|0;o=v+32|0;p=v+24|0;q=v+16|0;c[k>>2]=b;c[l>>2]=e;e=c[k>>2]|0;c[s>>2]=c[a>>2];c[s+4>>2]=c[a+4>>2];c[s+8>>2]=c[a+8>>2];c[s+12>>2]=c[a+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];is(r,s,g);e=(c[k>>2]|0)+16|0;c[s>>2]=c[a>>2];c[s+4>>2]=c[a+4>>2];c[s+8>>2]=c[a+8>>2];c[s+12>>2]=c[a+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];is(m,s,g);e=c[l>>2]|0;c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+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];is(t,s,g);e=(c[l>>2]|0)+16|0;c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+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];is(n,s,g);c[w>>2]=c[r>>2];c[w+4>>2]=c[r+4>>2];c[w+8>>2]=c[r+8>>2];c[w+12>>2]=c[r+12>>2];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[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];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(!(lu(w,f,s,g)|0)){c[u>>2]=0;w=c[u>>2]|0;i=v;return w|0}if((c[(c[k>>2]|0)+40>>2]&1|0)!=0?(c[(c[l>>2]|0)+40>>2]&1|0)!=0:0){c[u>>2]=1;w=c[u>>2]|0;i=v;return w|0}if((c[(c[k>>2]|0)+40>>2]&2|0)!=0?(c[(c[l>>2]|0)+40>>2]&2|0)!=0:0){h[o>>3]=+h[(c[k>>2]|0)+16>>3]-+h[c[k>>2]>>3]+ +h[(c[l>>2]|0)+16>>3]-+h[c[l>>2]>>3];h[p>>3]=+h[a>>3]-+h[d>>3];h[q>>3]=+h[a+8>>3]-+h[d+8>>3];if(+h[p>>3]*+h[p>>3]+ +h[q>>3]*+h[q>>3]>+h[o>>3]*+h[o>>3]/4.0){c[u>>2]=0;w=c[u>>2]|0;i=v;return w|0}else{c[u>>2]=1;w=c[u>>2]|0;i=v;return w|0}}if(!(c[12937]|0)){c[12937]=rK(c[12936]<<4)|0;c[12938]=rK(c[12936]<<4)|0}w=c[(c[k>>2]|0)+36>>2]|0;e=c[(c[k>>2]|0)+32>>2]|0;b=c[12937]|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];mu(w,e,g,b);b=c[(c[l>>2]|0)+36>>2]|0;e=c[(c[l>>2]|0)+32>>2]|0;w=c[12938]|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];mu(b,e,g,w);do if(!(nu(c[12937]|0,c[12938]|0,c[(c[k>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+32>>2]|0)|0)){w=c[12937]|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[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];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((ou(f,s,g)|0)!=0?(e=c[12938]|0,w=c[(c[l>>2]|0)+32>>2]|0,d=c[12937]|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],(pu(e,w,g)|0)!=0):0){f=1;break}w=c[12938]|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[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[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(ou(f,s,g)|0){w=c[12937]|0;f=c[(c[k>>2]|0)+32>>2]|0;e=c[12938]|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];f=(pu(w,f,g)|0)!=0}else f=0}else f=1;while(0);c[u>>2]=f&1;w=c[u>>2]|0;i=v;return w|0}function fu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+8|0;d=f+4|0;g=f;c[d>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=4){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}b=c[d>>2]|0;if(+h[(c[d>>2]|0)+8>>3]==+h[(c[d>>2]|0)+16+8>>3]){if(+h[b+32+8>>3]==+h[(c[d>>2]|0)+48+8>>3]?+h[c[d>>2]>>3]==+h[(c[d>>2]|0)+48>>3]:0)b=+h[(c[d>>2]|0)+16>>3]==+h[(c[d>>2]|0)+32>>3];else b=0;c[e>>2]=b&1;g=c[e>>2]|0;i=f;return g|0}if((+h[b>>3]==+h[(c[d>>2]|0)+16>>3]?+h[(c[d>>2]|0)+32>>3]==+h[(c[d>>2]|0)+48>>3]:0)?+h[(c[d>>2]|0)+8>>3]==+h[(c[d>>2]|0)+48+8>>3]:0)b=+h[(c[d>>2]|0)+16+8>>3]==+h[(c[d>>2]|0)+32+8>>3];else b=0;c[e>>2]=b&1;g=c[e>>2]|0;i=f;return g|0}function gu(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;if((i|0)>=(j|0))ba();f=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;p=r+12|0;q=r+8|0;o=r+4|0;n=r;c[f>>2]=a;c[k>>2]=b;g[l>>2]=d;g[m>>2]=e;c[p>>2]=0;c[o>>2]=OA(c[f>>2]|0,140413)|0;if(c[o>>2]|0)c[p>>2]=N3(c[o>>2]|0)|0;if((c[p>>2]|0)<3)c[p>>2]=20;c[q>>2]=rK(c[p>>2]<<4)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[p>>2]|0))break;e=(+h[(c[(c[f>>2]|0)+8>>2]|0)+32>>3]/2.0+ +g[l>>2])*+Q(+(+(c[n>>2]|0)/+(c[p>>2]|0)*3.141592653589793*2.0));h[(c[q>>2]|0)+(c[n>>2]<<4)>>3]=e;e=(+h[(c[(c[f>>2]|0)+8>>2]|0)+40>>3]/2.0+ +g[m>>2])*+R(+(+(c[n>>2]|0)/+(c[p>>2]|0)*3.141592653589793*2.0));h[(c[q>>2]|0)+(c[n>>2]<<4)+8>>3]=e;c[n>>2]=(c[n>>2]|0)+1}c[c[k>>2]>>2]=c[p>>2];i=r;return c[q>>2]|0}function hu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=+f;var k=0,l=0,m=0,n=0,o=0,p=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();p=k+28|0;n=k+24|0;o=k+20|0;m=k+16|0;l=k;c[p>>2]=b;c[n>>2]=d;g[o>>2]=e;g[m>>2]=f;h[l>>3]=+(c[p>>2]|0)/72.0+ +g[o>>2];h[l+8>>3]=+(c[n>>2]|0)/72.0+ +g[m>>2];c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];i=k;return}function iu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();f=r+48|0;g=r+44|0;k=r+40|0;l=r+36|0;o=r+24|0;q=r+16|0;n=r+8|0;p=r;m=r+32|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;s=+h[c[f>>2]>>3];h[n>>3]=s;h[o>>3]=s;s=+h[(c[f>>2]|0)+8>>3];h[p>>3]=s;h[q>>3]=s;c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;c[f>>2]=(c[f>>2]|0)+16;if(+h[c[f>>2]>>3]<+h[o>>3])h[o>>3]=+h[c[f>>2]>>3];if(+h[(c[f>>2]|0)+8>>3]<+h[q>>3])h[q>>3]=+h[(c[f>>2]|0)+8>>3];if(+h[c[f>>2]>>3]>+h[n>>3])h[n>>3]=+h[c[f>>2]>>3];if(+h[(c[f>>2]|0)+8>>3]>+h[p>>3])h[p>>3]=+h[(c[f>>2]|0)+8>>3];c[m>>2]=(c[m>>2]|0)+1}h[c[k>>2]>>3]=+h[o>>3];h[(c[k>>2]|0)+8>>3]=+h[q>>3];h[c[l>>2]>>3]=+h[n>>3];h[(c[l>>2]|0)+8>>3]=+h[p>>3];i=r;return}function ju(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();k=e+24|0;g=e+16|0;f=e;h[k>>3]=b;h[g>>3]=d;h[f>>3]=+h[k>>3]/72.0;h[f+8>>3]=+h[g>>3]/72.0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function ku(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();p=o+20|0;f=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[p>>2]=a;c[f>>2]=b;g[k>>2]=d;g[l>>2]=e;c[m>>2]=c[p>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[f>>2]|0))break;p=c[m>>2]|0;h[p>>3]=+h[p>>3]*+g[k>>2];p=(c[m>>2]|0)+8|0;h[p>>3]=+h[p>>3]*+g[l>>2];c[m>>2]=(c[m>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+1}i=o;return}function lu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((+h[a>>3]<=+h[d>>3]?+h[c>>3]<=+h[b>>3]:0)?+h[a+8>>3]<=+h[d+8>>3]:0)b=+h[c+8>>3]<=+h[b+8>>3];else b=0;return b&1|0}function mu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0;m=i;i=i+16|0;if((i|0)>=(j|0))ba();f=m+12|0;g=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[k>>2]=e;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;h[c[k>>2]>>3]=+h[c[f>>2]>>3]+ +h[d>>3];h[(c[k>>2]|0)+8>>3]=+h[(c[f>>2]|0)+8>>3]+ +h[d+8>>3];c[f>>2]=(c[f>>2]|0)+16;c[k>>2]=(c[k>>2]|0)+16;c[l>>2]=(c[l>>2]|0)+1}i=m;return}function nu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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;E=i;i=i+176|0;if((i|0)>=(j|0))ba();l=E+104|0;k=E+88|0;g=E+72|0;f=E+56|0;D=E+172|0;m=E+168|0;n=E+164|0;o=E+160|0;p=E+156|0;s=E+152|0;w=E+148|0;v=E+144|0;z=E+140|0;t=E+136|0;x=E+132|0;q=E+40|0;r=E+24|0;A=E+16|0;y=E+128|0;u=E+124|0;C=E;B=E+120|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[s>>2]=0;c[w>>2]=0;c[v>>2]=0;c[z>>2]=0;c[B>>2]=0;while(1){c[t>>2]=((c[s>>2]|0)+(c[o>>2]|0)-1|0)%(c[o>>2]|0)|0;c[x>>2]=((c[w>>2]|0)+(c[p>>2]|0)-1|0)%(c[p>>2]|0)|0;a=(c[m>>2]|0)+(c[s>>2]<<4)|0;b=(c[m>>2]|0)+(c[t>>2]<<4)|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];hs(q,k,l);b=(c[n>>2]|0)+(c[w>>2]<<4)|0;a=(c[n>>2]|0)+(c[x>>2]<<4)|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];c[l>>2]=c[a>>2];c[l+4>>2]=c[a+4>>2];c[l+8>>2]=c[a+8>>2];c[l+12>>2]=c[a+12>>2];hs(r,k,l);c[g>>2]=c[8404];c[g+4>>2]=c[8405];c[g+8>>2]=c[8406];c[g+12>>2]=c[8407];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[l>>2]=c[r>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[l+12>>2]=c[r+12>>2];h[A>>3]=+js(g,k,l);a=(c[m>>2]|0)+(c[t>>2]<<4)|0;b=(c[m>>2]|0)+(c[s>>2]<<4)|0;e=(c[n>>2]|0)+(c[w>>2]<<4)|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];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];c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[l+12>>2]=c[e+12>>2];c[y>>2]=ks(g,k,l)|0;e=(c[n>>2]|0)+(c[x>>2]<<4)|0;b=(c[n>>2]|0)+(c[w>>2]<<4)|0;a=(c[m>>2]|0)+(c[s>>2]<<4)|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[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];c[l>>2]=c[a>>2];c[l+4>>2]=c[a+4>>2];c[l+8>>2]=c[a+8>>2];c[l+12>>2]=c[a+12>>2];c[u>>2]=ks(g,k,l)|0;a=(c[m>>2]|0)+(c[t>>2]<<4)|0;b=(c[m>>2]|0)+(c[s>>2]<<4)|0;e=(c[n>>2]|0)+(c[x>>2]<<4)|0;d=(c[n>>2]|0)+(c[w>>2]<<4)|0;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];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[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[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];if(ls(f,g,k,l,C)|0){f=3;break}do if(+h[A>>3]!=0.0|(c[y>>2]|0)!=0|(c[u>>2]|0)!=0)if(+h[A>>3]>=0.0)if(c[y>>2]|0){c[v>>2]=(c[v>>2]|0)+1;c[s>>2]=((c[s>>2]|0)+1|0)%(c[o>>2]|0)|0;break}else{c[z>>2]=(c[z>>2]|0)+1;c[w>>2]=((c[w>>2]|0)+1|0)%(c[p>>2]|0)|0;break}else if(c[u>>2]|0){c[z>>2]=(c[z>>2]|0)+1;c[w>>2]=((c[w>>2]|0)+1|0)%(c[p>>2]|0)|0;break}else{c[v>>2]=(c[v>>2]|0)+1;c[s>>2]=((c[s>>2]|0)+1|0)%(c[o>>2]|0)|0;break}else if((c[B>>2]|0)==1){c[z>>2]=(c[z>>2]|0)+1;c[w>>2]=((c[w>>2]|0)+1|0)%(c[p>>2]|0)|0;break}else{c[v>>2]=(c[v>>2]|0)+1;c[s>>2]=((c[s>>2]|0)+1|0)%(c[o>>2]|0)|0;break}while(0);if((c[v>>2]|0)>=(c[o>>2]|0)?(c[z>>2]|0)>=(c[p>>2]|0):0){f=19;break}if((c[v>>2]|0)>=(c[o>>2]<<1|0)){f=19;break}if((c[z>>2]|0)>=(c[p>>2]<<1|0)){f=19;break}}if((f|0)==3){c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}else if((f|0)==19){c[D>>2]=0;D=c[D>>2]|0;i=E;return D|0}return 0}function ou(a,b,c){a=a|0;b=b|0;c=c|0;if((+h[a>>3]<=+h[c>>3]?+h[a>>3]>=+h[b>>3]:0)?+h[a+8>>3]<=+h[c+8>>3]:0)c=+h[a+8>>3]>=+h[b+8>>3];else c=0;return c&1|0}function pu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();e=p+32|0;f=p+28|0;g=p+24|0;l=p+20|0;m=p+16|0;n=p+8|0;k=p;c[f>>2]=a;c[g>>2]=b;h[k>>3]=0.0;if(!(c[12939]|0))c[12939]=rK(c[12936]<<4)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;h[(c[12939]|0)+(c[l>>2]<<4)>>3]=+h[(c[f>>2]|0)+(c[l>>2]<<4)>>3]-+h[d>>3];h[(c[12939]|0)+(c[l>>2]<<4)+8>>3]=+h[(c[f>>2]|0)+(c[l>>2]<<4)+8>>3]-+h[d+8>>3];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;a:while(1){if((c[l>>2]|0)>=(c[g>>2]|0)){o=24;break}c[m>>2]=((c[l>>2]|0)+(c[g>>2]|0)-1|0)%(c[g>>2]|0)|0;if(+h[(c[12939]|0)+(c[l>>2]<<4)+8>>3]==0.0?+h[(c[12939]|0)+(c[m>>2]<<4)+8>>3]==0.0:0){if(+h[(c[12939]|0)+(c[l>>2]<<4)>>3]*+h[(c[12939]|0)+(c[m>>2]<<4)>>3]<0.0){o=11;break}}else o=12;do if((o|0)==12){o=0;if(!(+h[(c[12939]|0)+(c[l>>2]<<4)+8>>3]>=0.0?+h[(c[12939]|0)+(c[m>>2]<<4)+8>>3]<=0.0:0)){if(!(+h[(c[12939]|0)+(c[m>>2]<<4)+8>>3]>=0.0))break;if(!(+h[(c[12939]|0)+(c[l>>2]<<4)+8>>3]<=0.0))break}h[n>>3]=(+h[(c[12939]|0)+(c[l>>2]<<4)>>3]*+h[(c[12939]|0)+(c[m>>2]<<4)+8>>3]-+h[(c[12939]|0)+(c[m>>2]<<4)>>3]*+h[(c[12939]|0)+(c[l>>2]<<4)+8>>3])/(+h[(c[12939]|0)+(c[m>>2]<<4)+8>>3]-+h[(c[12939]|0)+(c[l>>2]<<4)+8>>3]);if(+h[n>>3]==0.0){o=17;break a}if(+h[n>>3]>0.0){if(!(+h[(c[12939]|0)+(c[l>>2]<<4)+8>>3]==0.0)?!(+h[(c[12939]|0)+(c[m>>2]<<4)+8>>3]==0.0):0){h[k>>3]=+h[k>>3]+1.0;break}h[k>>3]=+h[k>>3]+.5}}while(0);c[l>>2]=(c[l>>2]|0)+1}if((o|0)==11){c[e>>2]=1;o=c[e>>2]|0;i=p;return o|0}else if((o|0)==17){c[e>>2]=1;o=c[e>>2]|0;i=p;return o|0}else if((o|0)==24)if(((~~+h[k>>3]|0)%2|0|0)==1){c[e>>2]=1;o=c[e>>2]|0;i=p;return o|0}else{c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}return 0}function qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();d=m+20|0;e=m+16|0;l=m+12|0;f=m+8|0;h=m+4|0;k=m;c[d>>2]=a;c[e>>2]=b;c[l>>2]=rK(c[e>>2]<<2)|0;a=rK((_(c[e>>2]|0,c[e>>2]|0)|0)<<2)|0;c[c[l>>2]>>2]=a;a=_(c[e>>2]|0,c[e>>2]|0)|0;Nt(a,0.0,c[c[l>>2]>>2]|0);c[f>>2]=1;while(1){if((c[f>>2]|0)>=(c[e>>2]|0))break;a=(c[c[l>>2]>>2]|0)+((_(c[f>>2]|0,c[e>>2]|0)|0)<<2)|0;c[(c[l>>2]|0)+(c[f>>2]<<2)>>2]=a;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;c[k>>2]=0;while(1){if((c[f>>2]|0)>=(c[e>>2]|0))break;c[h>>2]=c[f>>2];while(1){if((c[h>>2]|0)>=(c[e>>2]|0))break;n=+g[(c[d>>2]|0)+(c[k>>2]<<2)>>2];g[(c[(c[l>>2]|0)+(c[f>>2]<<2)>>2]|0)+(c[h>>2]<<2)>>2]=n;g[(c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]|0)+(c[f>>2]<<2)>>2]=n;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function ru(b,e,f,k,l,m,n,o){b=b|0;e=e|0;f=f|0;k=k|0;l=l|0;m=m|0;n=n|0;o=+o;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,M=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,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ha=i;i=i+208|0;if((i|0)>=(j|0))ba();r=ha+188|0;p=ha+184|0;s=ha+180|0;ja=ha+176|0;ia=ha+168|0;t=ha+164|0;u=ha+160|0;v=ha+156|0;Y=ha+152|0;H=ha+148|0;I=ha+144|0;T=ha+140|0;J=ha+136|0;X=ha+132|0;P=ha+128|0;W=ha+124|0;U=ha+120|0;A=ha+192|0;ga=ha+116|0;Q=ha+112|0;V=ha+108|0;L=ha+104|0;$=ha+100|0;C=ha+96|0;D=ha+92|0;y=ha+88|0;ea=ha+84|0;K=ha+80|0;E=ha+76|0;_=ha+72|0;ca=ha+68|0;x=ha+64|0;z=ha+60|0;F=ha+56|0;M=ha+52|0;O=ha+48|0;q=ha+44|0;B=ha+40|0;G=ha+36|0;fa=ha+32|0;da=ha+28|0;w=ha+24|0;R=ha+8|0;S=ha;Z=ha+20|0;aa=ha+16|0;c[p>>2]=b;c[s>>2]=e;c[ja>>2]=f;c[ha+172>>2]=k;c[ia>>2]=l;c[t>>2]=m;c[u>>2]=n;g[v>>2]=o;c[Y>>2]=c[(c[ja>>2]|0)+(c[ia>>2]<<2)>>2];c[T>>2]=c[(c[p>>2]|0)+4>>2];c[J>>2]=c[c[p>>2]>>2];c[X>>2]=c[(c[p>>2]|0)+48>>2];c[P>>2]=c[(c[p>>2]|0)+52>>2];c[W>>2]=c[(c[p>>2]|0)+56>>2];a[A>>0]=0;c[O>>2]=-1;c[q>>2]=0;if((c[t>>2]|0)<=0){c[r>>2]=0;ja=c[r>>2]|0;i=ha;return ja|0}vu(c[Y>>2]|0,c[T>>2]|0,c[X>>2]|0,c[P>>2]|0,c[W>>2]|0,+g[v>>2]);c[E>>2]=c[(c[p>>2]|0)+28>>2];c[_>>2]=c[(c[p>>2]|0)+32>>2];c[ca>>2]=c[(c[p>>2]|0)+36>>2];c[x>>2]=c[(c[p>>2]|0)+12>>2];c[M>>2]=c[(c[p>>2]|0)+16>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[T>>2]|0))break;do if((c[H>>2]|0)>=(c[q>>2]|0)){c[O>>2]=(c[O>>2]|0)+1;if((c[O>>2]|0)==(c[W>>2]|0)){c[q>>2]=c[T>>2];break}else{c[q>>2]=c[(c[P>>2]|0)+(c[O>>2]<<2)>>2];break}}while(0);c[V>>2]=c[(c[X>>2]|0)+(c[H>>2]<<2)>>2];c[(c[M>>2]|0)+(c[V>>2]<<2)>>2]=c[O>>2];c[H>>2]=(c[H>>2]|0)+1}c[G>>2]=c[(c[p>>2]|0)+40>>2];c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[t>>2]|0))break;if(!((a[A>>0]|0)!=0^1))break;a[A>>0]=1;g[Q>>2]=-1.0e9;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[T>>2]|0))break;g[C>>2]=+g[(c[Y>>2]|0)+(c[(c[X>>2]|0)+(c[L>>2]<<2)>>2]<<2)>>2];g[fa>>2]=0.0;g[da>>2]=+g[C>>2];g[(c[G>>2]|0)+(c[(c[X>>2]|0)+(c[L>>2]<<2)>>2]<<2)>>2]=0.0;c[$>>2]=(c[L>>2]|0)+1;while(1){if((c[$>>2]|0)>=(c[T>>2]|0))break;if((c[(c[M>>2]|0)+(c[$>>2]<<2)>>2]|0)>(c[(c[M>>2]|0)+((c[$>>2]|0)-1<<2)>>2]|0)){g[da>>2]=+g[da>>2]+ +g[v>>2];g[fa>>2]=+g[fa>>2]+ +g[v>>2]}c[V>>2]=c[(c[X>>2]|0)+(c[$>>2]<<2)>>2];if(+N(+(+g[(c[Y>>2]|0)+(c[V>>2]<<2)>>2]-+g[da>>2]))>1.0e-09)break;g[(c[G>>2]|0)+(c[V>>2]<<2)>>2]=+g[(c[Y>>2]|0)+(c[V>>2]<<2)>>2]-+g[C>>2];c[$>>2]=(c[$>>2]|0)+1}c[H>>2]=c[L>>2];while(1){if((c[H>>2]|0)>=(c[$>>2]|0))break;c[V>>2]=c[(c[X>>2]|0)+(c[H>>2]<<2)>>2];g[U>>2]=-+g[(c[s>>2]|0)+(c[V>>2]<<2)>>2];c[K>>2]=c[(c[J>>2]|0)+(c[V>>2]<<2)>>2];c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[T>>2]|0))break;if((c[I>>2]|0)!=(c[V>>2]|0))g[U>>2]=+g[U>>2]+ +g[(c[K>>2]|0)+(c[I>>2]<<2)>>2]*+g[(c[Y>>2]|0)+(c[I>>2]<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}g[(c[E>>2]|0)+(c[V>>2]<<2)>>2]=+g[U>>2]/-+g[(c[K>>2]|0)+(c[V>>2]<<2)>>2]-+g[(c[G>>2]|0)+(c[V>>2]<<2)>>2];c[H>>2]=(c[H>>2]|0)+1}c[z>>2]=0;c[F>>2]=0;c[H>>2]=c[L>>2];while(1){if((c[H>>2]|0)>=(c[$>>2]|0))break;c[O>>2]=c[(c[M>>2]|0)+(c[(c[X>>2]|0)+(c[H>>2]<<2)>>2]<<2)>>2];p=c[$>>2]|0;if((c[O>>2]|0)==(c[W>>2]|0))c[F>>2]=p;else{if((p|0)<(c[(c[P>>2]|0)+(c[O>>2]<<2)>>2]|0))p=c[$>>2]|0;else p=c[(c[P>>2]|0)+(c[O>>2]<<2)>>2]|0;c[F>>2]=p}c[I>>2]=c[H>>2];while(1){if((c[I>>2]|0)>=(c[F>>2]|0))break;c[V>>2]=c[(c[X>>2]|0)+(c[I>>2]<<2)>>2];if(+g[(c[E>>2]|0)+(c[V>>2]<<2)>>2]<+g[C>>2]){ia=c[V>>2]|0;ja=c[z>>2]|0;c[z>>2]=ja+1;c[(c[x>>2]|0)+(ja<<2)>>2]=ia}c[I>>2]=(c[I>>2]|0)+1}c[I>>2]=c[H>>2];while(1){if((c[I>>2]|0)>=(c[F>>2]|0))break;c[V>>2]=c[(c[X>>2]|0)+(c[I>>2]<<2)>>2];if(+g[(c[E>>2]|0)+(c[V>>2]<<2)>>2]==+g[C>>2]){ia=c[V>>2]|0;ja=c[z>>2]|0;c[z>>2]=ja+1;c[(c[x>>2]|0)+(ja<<2)>>2]=ia}c[I>>2]=(c[I>>2]|0)+1}c[I>>2]=c[H>>2];while(1){if((c[I>>2]|0)>=(c[F>>2]|0))break;c[V>>2]=c[(c[X>>2]|0)+(c[I>>2]<<2)>>2];if(+g[(c[E>>2]|0)+(c[V>>2]<<2)>>2]>+g[C>>2]){ia=c[V>>2]|0;ja=c[z>>2]|0;c[z>>2]=ja+1;c[(c[x>>2]|0)+(ja<<2)>>2]=ia}c[I>>2]=(c[I>>2]|0)+1}c[H>>2]=c[F>>2]}g[D>>2]=0.0;g[y>>2]=0.0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[z>>2]|0))break;c[V>>2]=c[(c[x>>2]|0)+(c[H>>2]<<2)>>2];g[ea>>2]=0.0;c[K>>2]=c[(c[J>>2]|0)+(c[V>>2]<<2)>>2];c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[H>>2]|0))break;g[ea>>2]=+g[ea>>2]-+g[(c[K>>2]|0)+(c[(c[x>>2]|0)+(c[I>>2]<<2)>>2]<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}g[ea>>2]=+g[ea>>2]*2.0;g[D>>2]=(+g[y>>2]*+g[D>>2]+-+g[(c[K>>2]|0)+(c[V>>2]<<2)>>2]*+g[(c[E>>2]|0)+(c[V>>2]<<2)>>2]+ +g[ea>>2]*+g[C>>2])/(+g[y>>2]-+g[(c[K>>2]|0)+(c[V>>2]<<2)>>2]+ +g[ea>>2]);g[(c[_>>2]|0)+(c[H>>2]<<2)>>2]=+g[D>>2];g[y>>2]=+g[y>>2]+(+g[ea>>2]-+g[(c[K>>2]|0)+(c[V>>2]<<2)>>2]);c[H>>2]=(c[H>>2]|0)+1}if((c[z>>2]|0)==(c[T>>2]|0))g[(c[_>>2]|0)+((c[T>>2]|0)-1<<2)>>2]=+g[C>>2];g[D>>2]=0.0;g[y>>2]=0.0;c[H>>2]=(c[z>>2]|0)-1;while(1){if((c[H>>2]|0)<0)break;c[V>>2]=c[(c[x>>2]|0)+(c[H>>2]<<2)>>2];g[ea>>2]=0.0;c[K>>2]=c[(c[J>>2]|0)+(c[V>>2]<<2)>>2];c[I>>2]=(c[H>>2]|0)+1;while(1){if((c[I>>2]|0)>=(c[z>>2]|0))break;g[ea>>2]=+g[ea>>2]-+g[(c[K>>2]|0)+(c[(c[x>>2]|0)+(c[I>>2]<<2)>>2]<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}g[ea>>2]=+g[ea>>2]*2.0;g[D>>2]=(+g[y>>2]*+g[D>>2]+-+g[(c[K>>2]|0)+(c[V>>2]<<2)>>2]*+g[(c[E>>2]|0)+(c[V>>2]<<2)>>2]+ +g[ea>>2]*+g[C>>2])/(+g[y>>2]-+g[(c[K>>2]|0)+(c[V>>2]<<2)>>2]+ +g[ea>>2]);g[(c[ca>>2]|0)+(c[H>>2]<<2)>>2]=+g[D>>2];g[y>>2]=+g[y>>2]+(+g[ea>>2]-+g[(c[K>>2]|0)+(c[V>>2]<<2)>>2]);c[H>>2]=(c[H>>2]|0)+-1}if((c[z>>2]|0)==(c[T>>2]|0))g[c[ca>>2]>>2]=+g[C>>2];c[w>>2]=-1;h[R>>3]=0.0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[z>>2]|0))break;g[aa>>2]=+g[(c[ca>>2]|0)+(c[H>>2]<<2)>>2];if((c[H>>2]|0)>0)o=+g[(c[_>>2]|0)+((c[H>>2]|0)-1<<2)>>2];else o=+g[aa>>2];g[Z>>2]=o;do if(+g[aa>>2]<+g[Z>>2]){p=+g[Z>>2]>+g[C>>2];if(!(+g[aa>>2]<+g[C>>2])){if(!p)break;g[Z>>2]=+g[aa>>2];break}if(p)g[Z>>2]=+g[C>>2];g[aa>>2]=+g[Z>>2]}while(0);o=+((c[z>>2]|0)-(c[H>>2]|0)|0)*+N(+(+g[aa>>2]-+g[C>>2]));h[S>>3]=o+ +(c[H>>2]|0)*+N(+(+g[Z>>2]-+g[C>>2]));if(+h[S>>3]>+h[R>>3]){h[R>>3]=+h[S>>3];c[w>>2]=c[H>>2]}c[H>>2]=(c[H>>2]|0)+1}do if((c[w>>2]|0)>=0){g[aa>>2]=+g[(c[ca>>2]|0)+(c[w>>2]<<2)>>2];if((c[w>>2]|0)>0)o=+g[(c[_>>2]|0)+((c[w>>2]|0)-1<<2)>>2];else o=+g[aa>>2];g[Z>>2]=o;do if((c[$>>2]|0)<(c[T>>2]|0)){o=+g[(c[Y>>2]|0)+(c[(c[X>>2]|0)+(c[$>>2]<<2)>>2]<<2)>>2];if((c[(c[M>>2]|0)+(c[(c[X>>2]|0)+(c[$>>2]<<2)>>2]<<2)>>2]|0)>(c[(c[M>>2]|0)+(c[(c[X>>2]|0)+((c[$>>2]|0)-1<<2)>>2]<<2)>>2]|0)){g[ga>>2]=o-+g[v>>2]-+g[(c[G>>2]|0)+(c[(c[x>>2]|0)+((c[z>>2]|0)-1<<2)>>2]<<2)>>2];break}else{g[ga>>2]=o-+g[(c[G>>2]|0)+(c[(c[x>>2]|0)+((c[z>>2]|0)-1<<2)>>2]<<2)>>2];break}}else g[ga>>2]=1.0e9;while(0);g[aa>>2]=+g[aa>>2]<+g[ga>>2]?+g[aa>>2]:+g[ga>>2];g[Z>>2]=+g[Z>>2]>+g[Q>>2]?+g[Z>>2]:+g[Q>>2];do if(+g[aa>>2]<+g[Z>>2]){p=+g[Z>>2]>+g[C>>2];if(!(+g[aa>>2]<+g[C>>2])){if(!p)break;g[Z>>2]=+g[aa>>2];break}if(p)g[Z>>2]=+g[C>>2];g[aa>>2]=+g[Z>>2]}while(0);c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[w>>2]|0))break;g[(c[Y>>2]|0)+(c[(c[x>>2]|0)+(c[H>>2]<<2)>>2]<<2)>>2]=+g[Z>>2]+ +g[(c[G>>2]|0)+(c[(c[x>>2]|0)+(c[H>>2]<<2)>>2]<<2)>>2];c[H>>2]=(c[H>>2]|0)+1}c[H>>2]=c[w>>2];while(1){if((c[H>>2]|0)>=(c[z>>2]|0))break;g[(c[Y>>2]|0)+(c[(c[x>>2]|0)+(c[H>>2]<<2)>>2]<<2)>>2]=+g[aa>>2]+ +g[(c[G>>2]|0)+(c[(c[x>>2]|0)+(c[H>>2]<<2)>>2]<<2)>>2];c[H>>2]=(c[H>>2]|0)+1}if((c[$>>2]|0)<(c[T>>2]|0)?(c[(c[M>>2]|0)+(c[(c[X>>2]|0)+(c[$>>2]<<2)>>2]<<2)>>2]|0)>(c[(c[M>>2]|0)+(c[(c[X>>2]|0)+((c[$>>2]|0)-1<<2)>>2]<<2)>>2]|0):0)g[Q>>2]=+g[(c[Y>>2]|0)+(c[(c[x>>2]|0)+((c[z>>2]|0)-1<<2)>>2]<<2)>>2]+ +g[v>>2];else g[Q>>2]=+g[(c[Y>>2]|0)+(c[(c[x>>2]|0)+((c[z>>2]|0)-1<<2)>>2]<<2)>>2];c[H>>2]=c[L>>2];while(1){if((c[H>>2]|0)>=(c[$>>2]|0))break;c[(c[X>>2]|0)+(c[H>>2]<<2)>>2]=c[(c[x>>2]|0)+((c[H>>2]|0)-(c[L>>2]|0)<<2)>>2];c[H>>2]=(c[H>>2]|0)+1}if((d[A>>0]|0)!=0?+N(+(+g[Z>>2]-+g[C>>2]))<.01:0)p=+N(+(+g[aa>>2]-+g[C>>2]))<.01;else p=0;a[A>>0]=p&1}else{if((c[$>>2]|0)<(c[T>>2]|0)?(c[(c[M>>2]|0)+(c[(c[X>>2]|0)+(c[$>>2]<<2)>>2]<<2)>>2]|0)>(c[(c[M>>2]|0)+(c[(c[X>>2]|0)+((c[$>>2]|0)-1<<2)>>2]<<2)>>2]|0):0){g[Q>>2]=+g[(c[Y>>2]|0)+(c[(c[x>>2]|0)+((c[z>>2]|0)-1<<2)>>2]<<2)>>2]+ +g[v>>2];break}g[Q>>2]=+g[(c[Y>>2]|0)+(c[(c[x>>2]|0)+((c[z>>2]|0)-1<<2)>>2]<<2)>>2]}while(0);c[L>>2]=c[$>>2]}Et(c[T>>2]|0,c[Y>>2]|0);uu(c[Y>>2]|0,c[T>>2]|0,c[X>>2]|0,c[P>>2]|0,c[W>>2]|0,c[u>>2]|0);c[B>>2]=(c[B>>2]|0)+1}c[r>>2]=c[B>>2];ja=c[r>>2]|0;i=ha;return ja|0}function su(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[c[c[d>>2]>>2]>>2]|0);B1(c[c[d>>2]>>2]|0);B1(c[(c[d>>2]|0)+8>>2]|0);B1(c[(c[d>>2]|0)+28>>2]|0);B1(c[(c[d>>2]|0)+32>>2]|0);B1(c[(c[d>>2]|0)+36>>2]|0);B1(c[(c[d>>2]|0)+40>>2]|0);B1(c[(c[d>>2]|0)+12>>2]|0);B1(c[(c[d>>2]|0)+16>>2]|0);B1(c[(c[d>>2]|0)+20>>2]|0);B1(c[(c[d>>2]|0)+24>>2]|0);B1(c[d>>2]|0);i=b;return}function tu(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();r=q+32|0;g=q+28|0;h=q+24|0;k=q+20|0;l=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;m=q;c[r>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=-1;c[p>>2]=0;c[m>>2]=rK(60)|0;c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=c[g>>2];c[(c[m>>2]|0)+48>>2]=c[h>>2];c[(c[m>>2]|0)+52>>2]=c[k>>2];c[(c[m>>2]|0)+56>>2]=c[l>>2];a=qu(c[r>>2]|0,c[g>>2]|0)|0;c[c[m>>2]>>2]=a;a=rK(c[g>>2]<<2)|0;c[(c[m>>2]|0)+8>>2]=a;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[m>>2]|0)+4>>2]|0))break;if((c[n>>2]|0)>=(c[p>>2]|0)){c[o>>2]=(c[o>>2]|0)+1;if((c[o>>2]|0)==(c[l>>2]|0))e=c[(c[m>>2]|0)+4>>2]|0;else e=c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0;c[p>>2]=e}c[(c[(c[m>>2]|0)+8>>2]|0)+(c[(c[h>>2]|0)+(c[n>>2]<<2)>>2]<<2)>>2]=c[o>>2];c[n>>2]=(c[n>>2]|0)+1}r=rK(c[g>>2]<<2)|0;c[(c[m>>2]|0)+28>>2]=r;r=rK(c[g>>2]<<2)|0;c[(c[m>>2]|0)+32>>2]=r;r=rK(c[g>>2]<<2)|0;c[(c[m>>2]|0)+36>>2]=r;r=rK(c[g>>2]<<2)|0;c[(c[m>>2]|0)+40>>2]=r;r=rK(c[g>>2]<<2)|0;c[(c[m>>2]|0)+12>>2]=r;r=rK(c[g>>2]<<2)|0;c[(c[m>>2]|0)+16>>2]=r;r=rK(c[g>>2]<<2)|0;c[(c[m>>2]|0)+20>>2]=r;r=rK(c[g>>2]<<2)|0;c[(c[m>>2]|0)+24>>2]=r;i=q;return c[m>>2]|0}function uu(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 k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();k=q+24|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=a;c[q+20>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=h;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[n>>2]|0))break;g[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=+g[(c[k>>2]|0)+(c[(c[l>>2]|0)+((c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]|0)-1<<2)>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}i=q;return}function vu(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;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;v=i;i=i+48|0;if((i|0)>=(j|0))ba();k=v+40|0;l=v+36|0;m=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;u=v+12|0;r=v+8|0;t=v+4|0;s=v;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;g[p>>2]=h;g[s>>2]=-1.0e9;c[r>>2]=-1;c[t>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;if((c[q>>2]|0)>=(c[t>>2]|0)){c[r>>2]=(c[r>>2]|0)+1;if((c[r>>2]|0)==(c[o>>2]|0))c[t>>2]=c[l>>2];else c[t>>2]=c[(c[n>>2]|0)+(c[r>>2]<<2)>>2];if((c[q>>2]|0)>0)h=+g[(c[k>>2]|0)+(c[(c[m>>2]|0)+((c[q>>2]|0)-1<<2)>>2]<<2)>>2]+ +g[p>>2];else h=-1.0e9;g[s>>2]=h;Ss(c[k>>2]|0,c[m>>2]|0,c[q>>2]|0,(c[t>>2]|0)-1|0)}c[u>>2]=c[(c[m>>2]|0)+(c[q>>2]<<2)>>2];if(+g[(c[k>>2]|0)+(c[u>>2]<<2)>>2]<+g[s>>2])g[(c[k>>2]|0)+(c[u>>2]<<2)>>2]=+g[s>>2];c[q>>2]=(c[q>>2]|0)+1}i=v;return}function wu(){Tt(51764,24);c[12944]=0;return}function xu(){return Ut(51764)|0}function yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();l=d+28|0;k=d+24|0;e=d+16|0;g=d+8|0;f=d;c[l>>2]=a;c[k>>2]=b;h[g>>3]=+h[c[l>>2]>>3]-+h[c[k>>2]>>3];h[f>>3]=+h[(c[l>>2]|0)+8>>3]-+h[(c[k>>2]|0)+8>>3];h[e>>3]=+O(+(+h[g>>3]*+h[g>>3]+ +h[f>>3]*+h[f>>3]));i=d;return +(+h[e>>3])}function zu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[(c[d>>2]|0)+16>>2]=c[12944];c[12944]=(c[12944]|0)+1;i=b;return}function Au(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;a=(c[b>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)-1;if(c[(c[b>>2]|0)+20>>2]|0){i=d;return}Vt(c[b>>2]|0,51764);i=d;return}function Bu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=(c[d>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function Cu(b,d,e,f,k){b=b|0;d=d|0;e=e|0;f=f|0;k=+k;var l=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,L=0;J=i;i=i+128|0;if((i|0)>=(j|0))ba();l=J+116|0;s=J+112|0;L=J+108|0;K=J+104|0;t=J+48|0;z=J+100|0;y=J+96|0;A=J+92|0;E=J+88|0;u=J+84|0;o=J+80|0;G=J+76|0;F=J+40|0;C=J+72|0;H=J+68|0;B=J+64|0;n=J+60|0;D=J+32|0;w=J+56|0;v=J+24|0;x=J+120|0;p=J+16|0;q=J+8|0;r=J;c[l>>2]=b;c[s>>2]=d;c[L>>2]=e;c[K>>2]=f;h[t>>3]=k;c[E>>2]=0;c[o>>2]=0;c[G>>2]=c[L>>2];c[C>>2]=0;c[H>>2]=c[K>>2];c[B>>2]=rK(c[s>>2]<<2)|0;c[w>>2]=rK(c[s>>2]<<3)|0;c[u>>2]=Ns(c[l>>2]|0,c[s>>2]|0)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[s>>2]|0))break;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[s>>2]|0))break;L=(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)|0;c[L>>2]=c[L>>2]<<8;c[A>>2]=(c[A>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}if(!(c[G>>2]|0))db(131339,131347,283,131361);c[C>>2]=rK(c[s>>2]<<3)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[s>>2]|0))break;h[(c[C>>2]|0)+(c[y>>2]<<3)>>3]=+h[(c[G>>2]|0)+(c[y>>2]<<3)>>3];c[y>>2]=(c[y>>2]|0)+1}Du(c[C>>2]|0,c[s>>2]|0);h[q>>3]=0.0;h[p>>3]=0.0;c[y>>2]=1;while(1){if((c[y>>2]|0)>=(c[s>>2]|0))break;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[y>>2]|0))break;k=1.0/+(c[(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2]|0)*+N(+(+h[(c[G>>2]|0)+(c[y>>2]<<3)>>3]-+h[(c[G>>2]|0)+(c[A>>2]<<3)>>3]));h[p>>3]=+h[p>>3]+k;k=1.0/+(_(c[(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2]|0,c[(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2]|0)|0);k=k*+N(+(+h[(c[G>>2]|0)+(c[y>>2]<<3)>>3]-+h[(c[G>>2]|0)+(c[A>>2]<<3)>>3]));k=k*+N(+(+h[(c[G>>2]|0)+(c[y>>2]<<3)>>3]-+h[(c[G>>2]|0)+(c[A>>2]<<3)>>3]));h[q>>3]=+h[q>>3]+k;c[A>>2]=(c[A>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}h[F>>3]=+h[p>>3]/+h[q>>3];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[s>>2]|0))break;L=(c[G>>2]|0)+(c[y>>2]<<3)|0;h[L>>3]=+h[L>>3]*+h[F>>3];c[y>>2]=(c[y>>2]|0)+1}Eu(c[l>>2]|0,c[s>>2]|0,1,H,+h[t>>3],c[G>>2]|0,c[u>>2]|0);c[o>>2]=rK((_(c[s>>2]|0,c[s>>2]|0)|0)<<2)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[s>>2]|0))break;L=(c[o>>2]|0)+((_(c[y>>2]|0,c[s>>2]|0)|0)<<2)|0;c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]=L;g[n>>2]=0.0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[s>>2]|0))break;if((c[A>>2]|0)!=(c[y>>2]|0)){k=-1.0/(+(c[(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2]|0)*+(c[(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2]|0));g[(c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2]=k;g[n>>2]=+g[n>>2]-k}c[A>>2]=(c[A>>2]|0)+1}g[(c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[y>>2]<<2)>>2]=+g[n>>2];c[y>>2]=(c[y>>2]|0)+1}c[y>>2]=1;while(1){if((c[y>>2]|0)>=(c[s>>2]|0))break;h[D>>3]=+h[(c[G>>2]|0)+(c[y>>2]<<3)>>3];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[y>>2]|0))break;h[r>>3]=+(c[(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2]|0)*+(c[(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2]|0)-(+h[D>>3]-+h[(c[G>>2]|0)+(c[A>>2]<<3)>>3])*(+h[D>>3]-+h[(c[G>>2]|0)+(c[A>>2]<<3)>>3]);if(+h[r>>3]>0.0)l=~~+O(+(+h[r>>3]));else l=0;c[(c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0)+(c[y>>2]<<2)>>2]=l;c[(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2]=l;c[A>>2]=(c[A>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[s>>2]|0))break;h[D>>3]=+h[(c[H>>2]|0)+(c[y>>2]<<3)>>3];h[(c[w>>2]|0)+(c[y>>2]<<3)>>3]=0.0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[s>>2]|0))break;do if((c[A>>2]|0)!=(c[y>>2]|0)){k=+(c[(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2]|0)*-+g[(c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2];l=(c[w>>2]|0)+(c[y>>2]<<3)|0;m=+h[l>>3];if(+h[D>>3]>=+h[(c[H>>2]|0)+(c[A>>2]<<3)>>3]){h[l>>3]=m+k;break}else{h[l>>3]=m-k;break}}while(0);c[A>>2]=(c[A>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a[x>>0]=0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=200)break;if(!((a[x>>0]|0)!=0^1))break;if((jr(c[B>>2]|0,c[H>>2]|0,c[w>>2]|0,c[s>>2]|0,+h[t>>3],c[s>>2]|0,1)|0)<0){I=51;break}a[x>>0]=1;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[s>>2]|0))break;h[D>>3]=+h[(c[H>>2]|0)+(c[y>>2]<<3)>>3];h[v>>3]=0.0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[s>>2]|0))break;do if((c[A>>2]|0)!=(c[y>>2]|0)){m=+(c[(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2]|0)*-+g[(c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]|0)+(c[A>>2]<<2)>>2];k=+h[v>>3];if(+h[D>>3]>=+h[(c[H>>2]|0)+(c[A>>2]<<3)>>3]){h[v>>3]=k+m;break}else{h[v>>3]=k-m;break}}while(0);c[A>>2]=(c[A>>2]|0)+1}if(+h[v>>3]!=+h[(c[w>>2]|0)+(c[y>>2]<<3)>>3]?+N(+(1.0-+h[v>>3]/+h[(c[w>>2]|0)+(c[y>>2]<<3)>>3]))>1.0e-05:0){a[x>>0]=0;h[(c[w>>2]|0)+(c[y>>2]<<3)>>3]=+h[v>>3]}c[y>>2]=(c[y>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}if((I|0)==51){c[E>>2]=1;L=c[u>>2]|0;L=c[L>>2]|0;B1(L);L=c[u>>2]|0;B1(L);L=c[B>>2]|0;L=c[L>>2]|0;B1(L);L=c[B>>2]|0;B1(L);L=c[C>>2]|0;B1(L);L=c[w>>2]|0;B1(L);L=c[E>>2]|0;i=J;return L|0}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[s>>2]|0))break;L=(c[G>>2]|0)+(c[y>>2]<<3)|0;h[L>>3]=+h[L>>3]/+h[F>>3];L=(c[H>>2]|0)+(c[y>>2]<<3)|0;h[L>>3]=+h[L>>3]/+h[F>>3];c[y>>2]=(c[y>>2]|0)+1}L=c[u>>2]|0;L=c[L>>2]|0;B1(L);L=c[u>>2]|0;B1(L);L=c[B>>2]|0;L=c[L>>2]|0;B1(L);L=c[B>>2]|0;B1(L);L=c[C>>2]|0;B1(L);L=c[w>>2]|0;B1(L);L=c[E>>2]|0;i=J;return L|0}function Du(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+24|0;e=l+20|0;k=l+8|0;f=l;g=l+16|0;c[d>>2]=a;c[e>>2]=b;h[f>>3]=0.0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[e>>2]|0))break;h[f>>3]=+h[f>>3]+ +h[(c[d>>2]|0)+(c[g>>2]<<3)>>3];c[g>>2]=(c[g>>2]|0)+1}h[f>>3]=+h[f>>3]/+(c[e>>2]|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[e>>2]|0))break;a=(c[d>>2]|0)+(c[g>>2]<<3)|0;h[a>>3]=+h[a>>3]-+h[f>>3];c[g>>2]=(c[g>>2]|0)+1}h[k>>3]=+mt(c[d>>2]|0,0,(c[e>>2]|0)-1|0);nt(c[d>>2]|0,0,(c[e>>2]|0)-1|0,1.0/+h[k>>3],c[d>>2]|0);i=l;return}function Eu(a,b,d,e,f,g,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|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;v=i;i=i+64|0;if((i|0)>=(j|0))ba();n=v+44|0;o=v+40|0;p=v+36|0;l=v;m=v+32|0;w=v+28|0;s=v+24|0;t=v+20|0;q=v+16|0;r=v+12|0;u=v+8|0;c[v+48>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;h[l>>3]=f;c[m>>2]=g;c[w>>2]=k;c[q>>2]=Fu(c[w>>2]|0,c[n>>2]|0)|0;c[r>>2]=rK(c[o>>2]<<3)|0;c[u>>2]=0;if(c[m>>2]|0){c[u>>2]=rK(c[n>>2]<<3)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;h[(c[u>>2]|0)+(c[s>>2]<<3)>>3]=+h[(c[m>>2]|0)+(c[s>>2]<<3)>>3];c[s>>2]=(c[s>>2]|0)+1}Du(c[u>>2]|0,c[n>>2]|0)}Gu(c[q>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[r>>2]|0,c[u>>2]|0,+h[l>>3]);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[o>>2]|0))break;c[t>>2]=0;while(1){l=c[s>>2]|0;if((c[t>>2]|0)>=(c[n>>2]|0))break;f=+O(+(+N(+(+h[(c[r>>2]|0)+(l<<3)>>3]))));w=(c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]|0)+(c[t>>2]<<3)|0;h[w>>3]=+h[w>>3]*f;c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=l+1}B1(c[c[q>>2]>>2]|0);B1(c[q>>2]|0);B1(c[r>>2]|0);B1(c[u>>2]|0);i=v;return}function Fu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();d=o+28|0;e=o+24|0;k=o+20|0;l=o+16|0;n=o+12|0;f=o+8|0;m=o+4|0;h=o;c[d>>2]=a;c[e>>2]=b;c[n>>2]=rK((_(c[e>>2]|0,c[e>>2]|0)|0)<<2)|0;c[f>>2]=rK(c[e>>2]<<2)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;b=(c[n>>2]|0)+((_(c[k>>2]|0,c[e>>2]|0)|0)<<2)|0;c[(c[f>>2]|0)+(c[k>>2]<<2)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=Iu(c[d>>2]|0,c[e>>2]|0,h)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;c[l>>2]=0;while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;g[(c[(c[f>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[l>>2]<<2)>>2]=-+(c[(c[(c[d>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[l>>2]<<2)>>2]|0)*+(c[(c[(c[d>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[l>>2]<<2)>>2]|0)+ +g[(c[m>>2]|0)+(c[k>>2]<<2)>>2]+ +g[(c[m>>2]|0)+(c[l>>2]<<2)>>2]-+g[h>>2];g[(c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[k>>2]<<2)>>2]=+g[(c[(c[f>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[l>>2]<<2)>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}B1(c[m>>2]|0);i=o;return c[f>>2]|0}function Gu(a,b,d,e,f,g,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=+k;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;D=i;i=i+112|0;if((i|0)>=(j|0))ba();l=D+96|0;m=D+92|0;n=D+88|0;o=D+84|0;p=D+80|0;q=D+76|0;E=D+40|0;u=D+72|0;w=D+68|0;B=D+64|0;z=D+60|0;t=D+56|0;A=D+32|0;s=D+24|0;r=D+16|0;v=D+52|0;y=D+48|0;x=D+8|0;C=D;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;h[E>>3]=k;c[B>>2]=rK(c[m>>2]<<3)|0;c[z>>2]=rK(c[m>>2]<<3)|0;h[C>>3]=1.0-+h[E>>3];if((c[n>>2]|0)>=(c[m>>2]|0))c[n>>2]=c[m>>2];c[u>>2]=0;a:while(1){if((c[u>>2]|0)>=(c[n>>2]|0))break;c[t>>2]=c[(c[o>>2]|0)+(c[u>>2]<<2)>>2];do{c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[m>>2]|0))break;k=+((M2()|0)%100|0|0);h[(c[t>>2]|0)+(c[w>>2]<<3)>>3]=k;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0){h[r>>3]=-+kt(c[q>>2]|0,0,(c[m>>2]|0)-1|0,c[t>>2]|0);lt(c[t>>2]|0,0,(c[m>>2]|0)-1|0,+h[r>>3],c[q>>2]|0)}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[u>>2]|0))break;h[r>>3]=-+kt(c[(c[o>>2]|0)+(c[w>>2]<<2)>>2]|0,0,(c[m>>2]|0)-1|0,c[t>>2]|0);lt(c[t>>2]|0,0,(c[m>>2]|0)-1|0,+h[r>>3],c[(c[o>>2]|0)+(c[w>>2]<<2)>>2]|0);c[w>>2]=(c[w>>2]|0)+1}h[A>>3]=+mt(c[t>>2]|0,0,(c[m>>2]|0)-1|0)}while(+h[A>>3]<1.0e-10);nt(c[t>>2]|0,0,(c[m>>2]|0)-1|0,1.0/+h[A>>3],c[t>>2]|0);c[v>>2]=0;do{c[v>>2]=(c[v>>2]|0)+1;ot(c[z>>2]|0,0,(c[m>>2]|0)-1|0,c[t>>2]|0);Hu(c[l>>2]|0,c[m>>2]|0,c[m>>2]|0,c[t>>2]|0,c[B>>2]|0,c[q>>2]|0);ot(c[t>>2]|0,0,(c[m>>2]|0)-1|0,c[B>>2]|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[u>>2]|0))break;h[r>>3]=-+kt(c[(c[o>>2]|0)+(c[w>>2]<<2)>>2]|0,0,(c[m>>2]|0)-1|0,c[t>>2]|0);lt(c[t>>2]|0,0,(c[m>>2]|0)-1|0,+h[r>>3],c[(c[o>>2]|0)+(c[w>>2]<<2)>>2]|0);c[w>>2]=(c[w>>2]|0)+1}h[A>>3]=+mt(c[t>>2]|0,0,(c[m>>2]|0)-1|0);if(+h[A>>3]<1.0e-10)break a;nt(c[t>>2]|0,0,(c[m>>2]|0)-1|0,1.0/+h[A>>3],c[t>>2]|0);h[s>>3]=+kt(c[t>>2]|0,0,(c[m>>2]|0)-1|0,c[z>>2]|0);k=+N(+(+h[s>>3]))}while(k<+h[C>>3]);h[(c[p>>2]|0)+(c[u>>2]<<3)>>3]=+h[s>>3]*+h[A>>3];c[u>>2]=(c[u>>2]|0)+1}while(1){if((c[u>>2]|0)>=(c[n>>2]|0))break;c[t>>2]=c[(c[o>>2]|0)+(c[u>>2]<<2)>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[m>>2]|0))break;k=+((M2()|0)%100|0|0);h[(c[t>>2]|0)+(c[w>>2]<<3)>>3]=k;c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[u>>2]|0))break;h[r>>3]=-+kt(c[(c[o>>2]|0)+(c[w>>2]<<2)>>2]|0,0,(c[m>>2]|0)-1|0,c[t>>2]|0);lt(c[t>>2]|0,0,(c[m>>2]|0)-1|0,+h[r>>3],c[(c[o>>2]|0)+(c[w>>2]<<2)>>2]|0);c[w>>2]=(c[w>>2]|0)+1}h[A>>3]=+mt(c[t>>2]|0,0,(c[m>>2]|0)-1|0);nt(c[t>>2]|0,0,(c[m>>2]|0)-1|0,1.0/+h[A>>3],c[t>>2]|0);h[(c[p>>2]|0)+(c[u>>2]<<3)>>3]=0.0;c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;while(1){if((c[u>>2]|0)>=((c[n>>2]|0)-1|0))break;c[y>>2]=c[u>>2];h[x>>3]=+h[(c[p>>2]|0)+(c[y>>2]<<3)>>3];c[w>>2]=(c[u>>2]|0)+1;while(1){if((c[w>>2]|0)>=(c[n>>2]|0))break;if(+h[x>>3]<+h[(c[p>>2]|0)+(c[w>>2]<<3)>>3]){c[y>>2]=c[w>>2];h[x>>3]=+h[(c[p>>2]|0)+(c[y>>2]<<3)>>3]}c[w>>2]=(c[w>>2]|0)+1}if((c[y>>2]|0)!=(c[u>>2]|0)){ot(c[B>>2]|0,0,(c[m>>2]|0)-1|0,c[(c[o>>2]|0)+(c[u>>2]<<2)>>2]|0);ot(c[(c[o>>2]|0)+(c[u>>2]<<2)>>2]|0,0,(c[m>>2]|0)-1|0,c[(c[o>>2]|0)+(c[y>>2]<<2)>>2]|0);ot(c[(c[o>>2]|0)+(c[y>>2]<<2)>>2]|0,0,(c[m>>2]|0)-1|0,c[B>>2]|0);h[(c[p>>2]|0)+(c[y>>2]<<3)>>3]=+h[(c[p>>2]|0)+(c[u>>2]<<3)>>3];h[(c[p>>2]|0)+(c[u>>2]<<3)>>3]=+h[x>>3]}c[u>>2]=(c[u>>2]|0)+1}B1(c[B>>2]|0);B1(c[z>>2]|0);i=D;return}function Hu(a,b,d,e,f,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|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;v=i;i=i+48|0;if((i|0)>=(j|0))ba();l=v+44|0;m=v+40|0;n=v+36|0;o=v+32|0;p=v+28|0;q=v+24|0;s=v+20|0;t=v+16|0;u=v+8|0;r=v;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=k;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;h[u>>3]=0.0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[n>>2]|0))break;h[u>>3]=+h[u>>3]+ +g[(c[(c[l>>2]|0)+(c[s>>2]<<2)>>2]|0)+(c[t>>2]<<2)>>2]*+h[(c[o>>2]|0)+(c[t>>2]<<3)>>3];c[t>>2]=(c[t>>2]|0)+1}h[(c[p>>2]|0)+(c[s>>2]<<3)>>3]=+h[u>>3];c[s>>2]=(c[s>>2]|0)+1}if(!(c[q>>2]|0)){i=v;return}h[r>>3]=-+kt(c[p>>2]|0,0,(c[m>>2]|0)-1|0,c[q>>2]|0);lt(c[p>>2]|0,0,(c[m>>2]|0)-1|0,+h[r>>3],c[q>>2]|0);i=v;return}function Iu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();e=q+36|0;f=q+32|0;k=q+28|0;n=q+24|0;l=q+20|0;m=q+16|0;o=q+8|0;p=q;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[n>>2]=rK(c[f>>2]<<2)|0;h[o>>3]=0.0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[f>>2]|0))break;h[p>>3]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;h[o>>3]=+h[o>>3]+ +(c[(c[(c[e>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<2)>>2]|0)*+(c[(c[(c[e>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<2)>>2]|0);h[p>>3]=+h[p>>3]+ +(c[(c[(c[e>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<2)>>2]|0)*+(c[(c[(c[e>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}g[(c[n>>2]|0)+(c[l>>2]<<2)>>2]=+h[p>>3]/+(c[f>>2]|0);c[l>>2]=(c[l>>2]|0)+1}r=+h[o>>3]/+(_(c[f>>2]|0,c[f>>2]|0)|0);g[c[k>>2]>>2]=r;i=q;return c[n>>2]|0}function Ju(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=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;F=i;i=i+96|0;if((i|0)>=(j|0))ba();q=F+24|0;s=F+92|0;t=F+88|0;u=F+84|0;v=F+80|0;w=F+76|0;x=F+72|0;g=F+16|0;k=F+8|0;o=F;y=F+68|0;l=F+64|0;z=F+60|0;A=F+56|0;B=F+52|0;C=F+48|0;n=F+44|0;m=F+40|0;D=F+36|0;E=F+32|0;p=F+28|0;c[s>>2]=a;c[t>>2]=b;c[u>>2]=d;c[v>>2]=e;c[n>>2]=0;c[E>>2]=_(c[v>>2]|0,c[v>>2]|0)|0;c[w>>2]=rK(c[E>>2]<<3)|0;c[x>>2]=rK(c[v>>2]<<3)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[v>>2]|0))break;h[(c[x>>2]|0)+(c[y>>2]<<3)>>3]=+h[(c[u>>2]|0)+(c[y>>2]<<3)>>3];c[y>>2]=(c[y>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[E>>2]|0))break;h[(c[w>>2]|0)+(c[y>>2]<<3)>>3]=+h[(c[s>>2]|0)+(c[y>>2]<<3)>>3];c[y>>2]=(c[y>>2]|0)+1}c[D>>2]=(c[v>>2]|0)-1;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0)){r=25;break}h[g>>3]=0.0;c[l>>2]=c[y>>2];while(1){if((c[l>>2]|0)>=(c[v>>2]|0))break;e=_(c[l>>2]|0,c[v>>2]|0)|0;h[k>>3]=+N(+(+h[(c[s>>2]|0)+(e+(c[y>>2]|0)<<3)>>3]));if(!(+h[k>>3]<+h[g>>3])){c[n>>2]=c[l>>2];h[g>>3]=+h[k>>3]}c[l>>2]=(c[l>>2]|0)+1}if(+h[g>>3]<1.0e-10)break;c[z>>2]=c[y>>2];while(1){a=c[n>>2]|0;if((c[z>>2]|0)>=(c[v>>2]|0))break;e=_(a,c[v>>2]|0)|0;c[p>>2]=e+(c[z>>2]|0);h[k>>3]=+h[(c[s>>2]|0)+(c[p>>2]<<3)>>3];e=_(c[y>>2]|0,c[v>>2]|0)|0;h[(c[s>>2]|0)+(c[p>>2]<<3)>>3]=+h[(c[s>>2]|0)+(e+(c[z>>2]|0)<<3)>>3];e=_(c[y>>2]|0,c[v>>2]|0)|0;h[(c[s>>2]|0)+(e+(c[z>>2]|0)<<3)>>3]=+h[k>>3];c[z>>2]=(c[z>>2]|0)+1}h[k>>3]=+h[(c[u>>2]|0)+(a<<3)>>3];h[(c[u>>2]|0)+(c[n>>2]<<3)>>3]=+h[(c[u>>2]|0)+(c[y>>2]<<3)>>3];h[(c[u>>2]|0)+(c[y>>2]<<3)>>3]=+h[k>>3];c[m>>2]=(c[y>>2]|0)+1;c[l>>2]=c[m>>2];while(1){if((c[l>>2]|0)>=(c[v>>2]|0))break;d=_(c[l>>2]|0,c[v>>2]|0)|0;e=_(c[y>>2]|0,c[v>>2]|0)|0;h[o>>3]=+h[(c[s>>2]|0)+(d+(c[y>>2]|0)<<3)>>3]/+h[(c[s>>2]|0)+(e+(c[y>>2]|0)<<3)>>3];h[(c[u>>2]|0)+(c[l>>2]<<3)>>3]=+h[(c[u>>2]|0)+(c[l>>2]<<3)>>3]-+h[o>>3]*+h[(c[u>>2]|0)+(c[y>>2]<<3)>>3];c[z>>2]=0;while(1){a=c[l>>2]|0;if((c[z>>2]|0)>=(c[v>>2]|0))break;b=_(a,c[v>>2]|0)|0;d=_(c[y>>2]|0,c[v>>2]|0)|0;e=_(c[l>>2]|0,c[v>>2]|0)|0;h[(c[s>>2]|0)+(e+(c[z>>2]|0)<<3)>>3]=+h[(c[s>>2]|0)+(b+(c[z>>2]|0)<<3)>>3]-+h[o>>3]*+h[(c[s>>2]|0)+(d+(c[z>>2]|0)<<3)>>3];c[z>>2]=(c[z>>2]|0)+1}c[l>>2]=a+1}c[y>>2]=(c[y>>2]|0)+1}if((r|0)==25?(r=(_(c[v>>2]|0,c[v>>2]|0)|0)-1|0,!(+N(+(+h[(c[s>>2]|0)+(r<<3)>>3]))<1.0e-10)):0){r=(_(c[v>>2]|0,c[v>>2]|0)|0)-1|0;h[(c[t>>2]|0)+((c[v>>2]|0)-1<<3)>>3]=+h[(c[u>>2]|0)+((c[v>>2]|0)-1<<3)>>3]/+h[(c[s>>2]|0)+(r<<3)>>3];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[D>>2]|0))break;c[B>>2]=(c[v>>2]|0)-(c[A>>2]|0)-2;h[(c[t>>2]|0)+(c[B>>2]<<3)>>3]=+h[(c[u>>2]|0)+(c[B>>2]<<3)>>3];c[C>>2]=(c[B>>2]|0)+1;c[z>>2]=c[C>>2];while(1){f=+h[(c[t>>2]|0)+(c[B>>2]<<3)>>3];a=_(c[B>>2]|0,c[v>>2]|0)|0;if((c[z>>2]|0)>=(c[v>>2]|0))break;h[(c[t>>2]|0)+(c[B>>2]<<3)>>3]=f-+h[(c[s>>2]|0)+(a+(c[z>>2]|0)<<3)>>3]*+h[(c[t>>2]|0)+(c[z>>2]<<3)>>3];c[z>>2]=(c[z>>2]|0)+1}h[(c[t>>2]|0)+(c[B>>2]<<3)>>3]=f/+h[(c[s>>2]|0)+(a+(c[B>>2]|0)<<3)>>3];c[A>>2]=(c[A>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[v>>2]|0))break;h[(c[u>>2]|0)+(c[y>>2]<<3)>>3]=+h[(c[x>>2]|0)+(c[y>>2]<<3)>>3];c[y>>2]=(c[y>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[E>>2]|0))break;h[(c[s>>2]|0)+(c[y>>2]<<3)>>3]=+h[(c[w>>2]|0)+(c[y>>2]<<3)>>3];c[y>>2]=(c[y>>2]|0)+1}B1(c[w>>2]|0);B1(c[x>>2]|0);i=F;return}B3(131376,q)|0;B1(c[w>>2]|0);B1(c[x>>2]|0);i=F;return}function Ku(b,d){b=b|0;d=d|0;var e=0,f=0,g=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=i;i=i+96|0;if((i|0)>=(j|0))ba();e=x+80|0;p=x+76|0;k=x+72|0;v=x+68|0;u=x+64|0;q=x+60|0;w=x+56|0;o=x+16|0;r=x+88|0;m=x+52|0;s=x+48|0;n=x+44|0;t=x+40|0;g=x+36|0;l=x+32|0;f=x;c[x+84>>2]=b;c[e>>2]=d;_r();wu();ss();c[12940]=ic[c[e>>2]&7]()|0;vs();c[p>>2]=ic[c[e>>2]&7]()|0;a:while(1){if(!(os()|0)){ps(f);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]}do if(c[p>>2]|0){if((os()|0)==0?!(+h[(c[p>>2]|0)+8>>3]<+h[o+8>>3]):0){if(!(+h[(c[p>>2]|0)+8>>3]==+h[o+8>>3]))break;if(!(+h[c[p>>2]>>3]<+h[o>>3]))break}c[m>>2]=As(c[p>>2]|0)|0;c[s>>2]=Cs(c[m>>2]|0)|0;c[k>>2]=Fs(c[m>>2]|0)|0;c[l>>2]=$r(c[k>>2]|0,c[p>>2]|0)|0;c[g>>2]=ws(c[l>>2]|0,0)|0;zs(c[m>>2]|0,c[g>>2]|0);b=xs(c[m>>2]|0,c[g>>2]|0)|0;c[q>>2]=b;if(b){ns(c[m>>2]|0);d=c[m>>2]|0;b=c[q>>2]|0;ms(d,b,+yu(c[q>>2]|0,c[p>>2]|0))}c[m>>2]=c[g>>2];c[g>>2]=ws(c[l>>2]|0,1)|0;zs(c[m>>2]|0,c[g>>2]|0);b=xs(c[g>>2]|0,c[s>>2]|0)|0;c[q>>2]=b;if(b){d=c[g>>2]|0;b=c[q>>2]|0;ms(d,b,+yu(c[q>>2]|0,c[p>>2]|0))}c[p>>2]=ic[c[e>>2]&7]()|0;continue a}while(0);if(os()|0)break;c[m>>2]=qs()|0;c[n>>2]=Ds(c[m>>2]|0)|0;c[s>>2]=Cs(c[m>>2]|0)|0;c[t>>2]=Cs(c[s>>2]|0)|0;c[k>>2]=Es(c[m>>2]|0)|0;c[v>>2]=Fs(c[s>>2]|0)|0;c[w>>2]=c[(c[m>>2]|0)+20>>2];zu(c[w>>2]|0);bs(c[(c[m>>2]|0)+8>>2]|0,a[(c[m>>2]|0)+16>>0]|0,c[w>>2]|0);bs(c[(c[s>>2]|0)+8>>2]|0,a[(c[s>>2]|0)+16>>0]|0,c[w>>2]|0);Bs(c[m>>2]|0);ns(c[s>>2]|0);Bs(c[s>>2]|0);a[r>>0]=0;if(+h[(c[k>>2]|0)+8>>3]>+h[(c[v>>2]|0)+8>>3]){c[u>>2]=c[k>>2];c[k>>2]=c[v>>2];c[v>>2]=c[u>>2];a[r>>0]=1}c[l>>2]=$r(c[k>>2]|0,c[v>>2]|0)|0;c[g>>2]=ws(c[l>>2]|0,a[r>>0]|0)|0;zs(c[n>>2]|0,c[g>>2]|0);bs(c[l>>2]|0,1-(a[r>>0]|0)|0,c[w>>2]|0);Au(c[w>>2]|0);b=xs(c[n>>2]|0,c[g>>2]|0)|0;c[q>>2]=b;if(b){ns(c[n>>2]|0);d=c[n>>2]|0;b=c[q>>2]|0;ms(d,b,+yu(c[q>>2]|0,c[k>>2]|0))}b=xs(c[g>>2]|0,c[t>>2]|0)|0;c[q>>2]=b;if(!b)continue;d=c[g>>2]|0;b=c[q>>2]|0;ms(d,b,+yu(c[q>>2]|0,c[k>>2]|0))}c[m>>2]=Cs(c[12881]|0)|0;while(1){if((c[m>>2]|0)==(c[12882]|0))break;c[l>>2]=c[(c[m>>2]|0)+8>>2];as(c[l>>2]|0);c[m>>2]=Cs(c[m>>2]|0)|0}i=x;return}function Lu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;l=n+12|0;c[f>>2]=b;c[g>>2]=d;b=(AB(c[f>>2]|0)|0)==1;d=c[f>>2]|0;if(b){c[l>>2]=pC(d)|0;h[c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]>>3]=0.0;h[(c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=0.0;c[e>>2]=c[g>>2];m=c[e>>2]|0;i=n;return m|0}Mu(d);if(!(c[g>>2]|0))c[g>>2]=Nu(c[f>>2]|0)|0;if(a[139078]|0){l=c[24742]|0;c[m>>2]=MB(c[g>>2]|0)|0;p3(l,133850,m)|0}c[k>>2]=Ou(c[f>>2]|0,c[g>>2]|0)|0;if((c[k>>2]|0)<0){pA(1,131393,n+8|0)|0;c[e>>2]=c[g>>2];m=c[e>>2]|0;i=n;return m|0}else{Pu(c[f>>2]|0);Qu(c[f>>2]|0,c[g>>2]|0);Ru(c[f>>2]|0,c[g>>2]|0);Su(c[f>>2]|0,c[k>>2]|0);c[e>>2]=c[g>>2];m=c[e>>2]|0;i=n;return m|0}return 0}function Mu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+12|0;e=f+8|0;g=f+4|0;d=f;c[b>>2]=a;c[g>>2]=AB(c[b>>2]|0)|0;c[d>>2]=_(c[g>>2]|0,c[g>>2]|0)|0;c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]=c[d>>2];h[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+32>>3]=10.0;if(_u(c[b>>2]|0,c[e>>2]|0)|0)c[c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]>>2]=0;else c[c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]>>2]=c[d>>2];c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}i=f;return}function Nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();b=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=0;c[f>>2]=0;k=(AB(c[d>>2]|0)|0)<=2;a=pC(c[d>>2]|0)|0;if(k){c[b>>2]=a;k=c[b>>2]|0;i=h;return k|0}c[g>>2]=a;while(1){if(!(c[g>>2]|0))break;if(!(c[c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]>>2]|0))Zu(c[d>>2]|0,c[g>>2]|0,0);c[g>>2]=qC(c[d>>2]|0,c[g>>2]|0)|0}c[g>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;if((c[c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]>>2]|0)>>>0>(c[f>>2]|0)>>>0){c[f>>2]=c[c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]>>2];c[e>>2]=c[g>>2]}c[g>>2]=qC(c[d>>2]|0,c[g>>2]|0)|0}c[b>>2]=c[e>>2];k=c[b>>2]|0;i=h;return k|0}function Ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();g=k+20|0;d=k+16|0;l=k+12|0;e=k+8|0;h=k+4|0;f=k;c[d>>2]=a;c[l>>2]=b;c[h>>2]=0;c[f>>2]=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2];c[(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]=0;c[(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]=0;Wu(c[d>>2]|0,c[l>>2]|0);c[e>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[e>>2]|0)){d=8;break}if((c[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]|0)==(c[f>>2]|0)){d=4;break}if((c[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]|0)>>>0>(c[h>>2]|0)>>>0)c[h>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2];c[e>>2]=qC(c[d>>2]|0,c[e>>2]|0)|0}if((d|0)==4){c[g>>2]=-1;l=c[g>>2]|0;i=k;return l|0}else if((d|0)==8){c[g>>2]=c[h>>2];l=c[g>>2]|0;i=k;return l|0}return 0}function Pu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;a:do if((c[(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]|0)>>>0<=0){a=(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;c[e>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2];while(1){if(!(c[e>>2]|0))break a;a=(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;c[e>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]}}while(0);c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}i=f;return}function Qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;h[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+24>>3]=6.283185307179586;Vu(c[f>>2]|0,c[e>>2]|0);i=d;return}function Ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;h[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+32>>3]=0.0;Uu(c[f>>2]|0,c[e>>2]|0);i=d;return}function Su(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();n=o+8|0;e=o+32|0;f=o+28|0;l=o+24|0;g=o;m=o+20|0;k=o+16|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=Tu(c[e>>2]|0,c[f>>2]|0)|0;if(a[139078]|0){r3(131449,c[24742]|0)|0;c[k>>2]=0;while(1){b=c[24742]|0;if((c[k>>2]|0)>(c[f>>2]|0))break;h[n>>3]=+h[(c[m>>2]|0)+(c[k>>2]<<3)>>3];p3(b,131468,n)|0;c[k>>2]=(c[k>>2]|0)+1}r3(193472,b)|0}c[l>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;h[g>>3]=+h[(c[m>>2]|0)+(c[(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]<<3)>>3];p=+h[g>>3]*+Q(+(+h[(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+32>>3]));h[c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]>>3]=p;p=+h[g>>3]*+R(+(+h[(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+32>>3]));h[(c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=p;c[l>>2]=qC(c[e>>2]|0,c[l>>2]|0)|0}B1(c[m>>2]|0);i=o;return}function Tu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();s=r+48|0;e=r+44|0;n=r+40|0;l=r+36|0;f=r+52|0;m=r+32|0;p=r+28|0;o=r+24|0;q=r+16|0;k=r+8|0;g=r;c[s>>2]=b;c[e>>2]=d;c[p>>2]=1;c[o>>2]=qK((c[e>>2]|0)+1<<3)|0;h[q>>3]=0.0;d=c[s>>2]|0;d=wO(d,GA(c[(c[s>>2]|0)+48>>2]|0,0,139160,0)|0,0)|0;c[n>>2]=d;a:do if(d)b:while(1){if((c[p>>2]|0)>(c[e>>2]|0))break a;t=+Q3(c[n>>2]|0,l);h[g>>3]=t;if(!(t>0.0))break a;h[k>>3]=+h[g>>3]>.02?+h[g>>3]:.02;h[q>>3]=+h[q>>3]+ +h[k>>3];t=+h[q>>3];s=c[p>>2]|0;c[p>>2]=s+1;h[(c[o>>2]|0)+(s<<3)>>3]=t;c[n>>2]=c[l>>2];while(1){s=a[c[n>>2]>>0]|0;a[f>>0]=s;if(!(s<<24>>24))continue b;if((K1(a[f>>0]|0)|0)==0?(a[f>>0]|0)!=58:0)continue b;c[n>>2]=(c[n>>2]|0)+1}}else h[k>>3]=1.0;while(0);c[m>>2]=c[p>>2];while(1){if((c[m>>2]|0)>(c[e>>2]|0))break;h[q>>3]=+h[q>>3]+ +h[k>>3];h[(c[o>>2]|0)+(c[m>>2]<<3)>>3]=+h[q>>3];c[m>>2]=(c[m>>2]|0)+1}i=r;return c[o>>2]|0}function Uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+20|0;e=l+16|0;g=l+12|0;f=l+8|0;k=l;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]|0))h[k>>3]=0.0;else h[k>>3]=+h[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+32>>3]-+h[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+24>>3]/2.0;c[f>>2]=hB(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;a=c[f>>2]|0;a=c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0;c[g>>2]=a;if((a|0)==(c[e>>2]|0)){a=c[f>>2]|0;c[g>>2]=c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]}if(((c[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]|0)==(c[e>>2]|0)?!(+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+32>>3]!=10.0):0)?(h[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+32>>3]=+h[k>>3]+ +h[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+24>>3]/2.0,h[k>>3]=+h[k>>3]+ +h[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+24>>3],(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]|0)>>>0>0):0)Uu(c[d>>2]|0,c[g>>2]|0);c[f>>2]=iB(c[d>>2]|0,c[f>>2]|0,c[e>>2]|0)|0}i=l;return}function Vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;k=l;c[d>>2]=a;c[e>>2]=b;h[k>>3]=+h[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+24>>3]/+((c[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+4>>2]|0)>>>0);c[f>>2]=hB(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;b=c[f>>2]|0;b=c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0;c[g>>2]=b;if((b|0)==(c[e>>2]|0)){b=c[f>>2]|0;c[g>>2]=c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]}if(((c[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]|0)==(c[e>>2]|0)?!(+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+24>>3]!=0.0):0)?(h[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+24>>3]=+h[k>>3]*+((c[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+4>>2]|0)>>>0),(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]|0)>>>0>0):0)Vu(c[d>>2]|0,c[g>>2]|0);c[f>>2]=iB(c[d>>2]|0,c[f>>2]|0,c[e>>2]|0)|0}i=l;return}function Wu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();e=n+32|0;f=n+28|0;h=n+24|0;g=n+20|0;m=n+16|0;o=n+8|0;l=n+4|0;k=n;c[e>>2]=b;c[f>>2]=d;c[m>>2]=GA(c[e>>2]|0,2,139413,0)|0;c[l>>2]=o;c[o+4>>2]=0;c[o>>2]=0;Xu(c[l>>2]|0,c[f>>2]|0);a:while(1){o=Yu(c[l>>2]|0)|0;c[f>>2]=o;if(!o)break;c[k>>2]=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]|0)+1;c[g>>2]=hB(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[g>>2]|0))continue a;if(!(((c[m>>2]|0)!=0?(o=a[(PA(c[g>>2]|0,c[m>>2]|0)|0)>>0]|0,(o|0)==(a[176179]|0)):0)?(a4(PA(c[g>>2]|0,c[m>>2]|0)|0,176179)|0)==0:0)){o=c[g>>2]|0;o=c[((c[c[g>>2]>>2]&3|0)==3?o:o+32|0)+28>>2]|0;c[h>>2]=o;if((o|0)==(c[f>>2]|0)){o=c[g>>2]|0;c[h>>2]=c[((c[c[g>>2]>>2]&3|0)==2?o:o+-32|0)+28>>2]}if((c[k>>2]|0)>>>0<(c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]|0)>>>0){c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]=c[k>>2];c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]=c[f>>2];o=(c[(c[(c[f>>2]|0)+8>>2]|0)+112>>2]|0)+8|0;c[o>>2]=(c[o>>2]|0)+1;Xu(c[l>>2]|0,c[h>>2]|0)}}c[g>>2]=iB(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0)|0}}i=n;return}function Xu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=qK(8)|0;c[c[e>>2]>>2]=c[g>>2];b=c[e>>2]|0;a=c[d>>2]|0;if(c[(c[d>>2]|0)+4>>2]|0){c[(c[a+4>>2]|0)+4>>2]=b;c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}else{c[a>>2]=b;c[(c[d>>2]|0)+4>>2]=b;i=f;return}}function Yu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;a=c[c[d>>2]>>2]|0;c[e>>2]=a;if(!a){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[c[e>>2]>>2];c[c[d>>2]>>2]=c[(c[e>>2]|0)+4>>2];B1(c[e>>2]|0);if(!(c[c[d>>2]>>2]|0))c[(c[d>>2]|0)+4>>2]=0;c[b>>2]=c[f>>2];a=c[b>>2]|0;i=g;return a|0}function Zu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=(c[c[(c[(c[f>>2]|0)+8>>2]|0)+112>>2]>>2]|0)+1;c[h>>2]=hB(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;d=c[h>>2]|0;d=c[((c[c[h>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0;c[k>>2]=d;if((d|0)==(c[f>>2]|0)){d=c[h>>2]|0;c[k>>2]=c[((c[c[h>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]}if((c[g>>2]|0)!=(c[k>>2]|0)?(c[l>>2]|0)>>>0<(c[c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]>>2]|0)>>>0:0){c[c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]>>2]=c[l>>2];Zu(c[e>>2]|0,c[k>>2]|0,c[f>>2]|0)}c[h>>2]=iB(c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0}i=m;return}function _u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l+20|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;c[f>>2]=hB(c[d>>2]|0,c[e>>2]|0)|0;a:while(1){if(!(c[f>>2]|0)){d=11;break}b=c[f>>2]|0;b=c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0;c[h>>2]=b;if((b|0)==(c[e>>2]|0)){b=c[f>>2]|0;c[h>>2]=c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]}do if((c[e>>2]|0)!=(c[h>>2]|0))if(c[g>>2]|0)if((c[g>>2]|0)!=(c[h>>2]|0)){d=8;break a}else break;else{c[g>>2]=c[h>>2];break}while(0);c[f>>2]=iB(c[d>>2]|0,c[f>>2]|0,c[e>>2]|0)|0}if((d|0)==8){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((d|0)==11){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function $u(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,k=0,l=0,m=0,n=0;b=i;i=i+64|0;if((i|0)>=(j|0))ba();n=b+56|0;d=b+52|0;l=b+48|0;m=b+44|0;k=b+40|0;f=b+32|0;e=b;c[n>>2]=a;c[l>>2]=GA(c[n>>2]|0,1,131476,0)|0;c[m>>2]=GA(c[n>>2]|0,0,131476,0)|0;c[k>>2]=GA(c[n>>2]|0,0,131481,0)|0;c[d>>2]=av(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;h[f>>3]=+h[c[d>>2]>>3];a=(c[d>>2]|0)+16|0;g=+O(+(+h[f>>3]+.1));kv(e,0.0,0.0,g,+O(+(+h[f>>3]+.1)));c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];c[a+28>>2]=c[e+28>>2];bv(c[d>>2]|0);cv(c[d>>2]|0);dv(c[d>>2]|0);i=b;return}function av(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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.0;v=i;i=i+64|0;if((i|0)>=(j|0))ba();f=v+52|0;g=v+48|0;k=v+44|0;l=v+40|0;s=v+36|0;u=v+32|0;q=v+28|0;n=v+24|0;o=v+20|0;t=v+16|0;p=v+12|0;r=v+8|0;m=v;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[s>>2]=qK(72)|0;c[o>>2]=0;c[t>>2]=0;c[r>>2]=0;h[m>>3]=0.0;c[(c[s>>2]|0)+60>>2]=0;c[(c[s>>2]|0)+56>>2]=c[f>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0))break;c[u>>2]=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]|0)+(c[p>>2]<<2)>>2];c[n>>2]=av(c[u>>2]|0,c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+1;h[m>>3]=+h[m>>3]+ +h[c[n>>2]>>3];if(!(c[o>>2]|0))c[o>>2]=c[n>>2];if(c[t>>2]|0)c[(c[t>>2]|0)+52>>2]=c[n>>2];c[t>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+1}c[q>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[q>>2]|0))break;if(!(c[c[(c[(c[q>>2]|0)+8>>2]|0)+112>>2]>>2]|0)){c[n>>2]=gv(c[q>>2]|0,c[k>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+1;h[m>>3]=+h[m>>3]+ +h[c[n>>2]>>3];if(!(c[o>>2]|0))c[o>>2]=c[n>>2];if(c[t>>2]|0)c[(c[t>>2]|0)+52>>2]=c[n>>2];c[t>>2]=c[n>>2];c[c[(c[(c[q>>2]|0)+8>>2]|0)+112>>2]>>2]=c[f>>2]}c[q>>2]=qC(c[f>>2]|0,c[q>>2]|0)|0}c[(c[s>>2]|0)+64>>2]=c[r>>2];if(c[r>>2]|0){h[(c[s>>2]|0)+8>>3]=+h[m>>3];w=+hv(c[s>>2]|0,c[l>>2]|0);h[c[s>>2]>>3]=w;t=c[o>>2]|0;u=c[s>>2]|0;u=u+48|0;c[u>>2]=t;u=c[s>>2]|0;i=v;return u|0}else{w=+iv(c[f>>2]|0,c[g>>2]|0);h[c[s>>2]>>3]=w;t=c[o>>2]|0;u=c[s>>2]|0;u=u+48|0;c[u>>2]=t;u=c[s>>2]|0;i=v;return u|0}return 0}function bv(b){b=b|0;var d=0,e=0,f=0,g=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.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;w=i;i=i+256|0;if((i|0)>=(j|0))ba();k=w+184|0;u=w+104|0;t=w+72|0;d=w+240|0;s=w+236|0;r=w+232|0;e=w+228|0;o=w+224|0;q=w+220|0;f=w+216|0;g=w+40|0;m=w+32|0;l=w+24|0;p=w+16|0;n=w+8|0;v=w;c[d>>2]=b;if(!(c[(c[d>>2]|0)+64>>2]|0)){i=w;return}c[q>>2]=c[(c[d>>2]|0)+64>>2];c[r>>2]=qK(c[q>>2]<<2)|0;c[f>>2]=c[(c[d>>2]|0)+48>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;c[(c[r>>2]|0)+(c[o>>2]<<2)>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+52>>2];c[o>>2]=(c[o>>2]|0)+1}P3(c[r>>2]|0,c[q>>2]|0,4,79);c[e>>2]=qK(c[q>>2]<<3)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;h[(c[e>>2]|0)+(c[o>>2]<<3)>>3]=+h[c[(c[r>>2]|0)+(c[o>>2]<<2)>>2]>>3];c[o>>2]=(c[o>>2]|0)+1}if(+h[c[d>>2]>>3]==+h[(c[d>>2]|0)+8>>3]){b=c[q>>2]|0;v=c[e>>2]|0;p=(c[d>>2]|0)+16|0;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];c[k+24>>2]=c[p+24>>2];c[k+28>>2]=c[p+28>>2];c[s>>2]=jv(b,v,k)|0}else{h[n>>3]=+h[(c[d>>2]|0)+16+16+8>>3];h[v>>3]=+h[(c[d>>2]|0)+16+16>>3];h[g>>3]=+h[(c[d>>2]|0)+16>>3];h[g+8>>3]=+h[(c[d>>2]|0)+16+8>>3];h[l>>3]=+h[n>>3]-+h[v>>3];h[m>>3]=+O(+(+h[l>>3]*+h[l>>3]+ +h[(c[d>>2]|0)+8>>3]*4.0));h[p>>3]=(+h[n>>3]+ +h[v>>3]-+h[m>>3])/2.0;h[g+16>>3]=+h[v>>3]-+h[p>>3];h[g+16+8>>3]=+h[n>>3]-+h[p>>3];b=c[q>>2]|0;v=c[e>>2]|0;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[k+16>>2]=c[g+16>>2];c[k+20>>2]=c[g+20>>2];c[k+24>>2]=c[g+24>>2];c[k+28>>2]=c[g+28>>2];c[s>>2]=jv(b,v,k)|0}if(a[139078]|0){v=c[24742]|0;z=+h[(c[d>>2]|0)+16+8>>3];y=+h[(c[d>>2]|0)+16+16>>3];x=+h[(c[d>>2]|0)+16+16+8>>3];h[t>>3]=+h[(c[d>>2]|0)+16>>3];h[t+8>>3]=z;h[t+16>>3]=y;h[t+24>>3]=x;p3(v,131528,t)|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;v=(c[(c[r>>2]|0)+(c[o>>2]<<2)>>2]|0)+16|0;t=(c[s>>2]|0)+(c[o>>2]<<5)|0;c[v>>2]=c[t>>2];c[v+4>>2]=c[t+4>>2];c[v+8>>2]=c[t+8>>2];c[v+12>>2]=c[t+12>>2];c[v+16>>2]=c[t+16>>2];c[v+20>>2]=c[t+20>>2];c[v+24>>2]=c[t+24>>2];c[v+28>>2]=c[t+28>>2];if(a[139078]|0){v=c[24742]|0;F=+h[(c[s>>2]|0)+(c[o>>2]<<5)>>3]-+h[(c[s>>2]|0)+(c[o>>2]<<5)+16>>3]*.5;E=+h[(c[s>>2]|0)+(c[o>>2]<<5)+8>>3]-+h[(c[s>>2]|0)+(c[o>>2]<<5)+16+8>>3]*.5;D=+h[(c[s>>2]|0)+(c[o>>2]<<5)>>3]+ +h[(c[s>>2]|0)+(c[o>>2]<<5)+16>>3]*.5;C=+h[(c[s>>2]|0)+(c[o>>2]<<5)+8>>3]+ +h[(c[s>>2]|0)+(c[o>>2]<<5)+16+8>>3]*.5;B=+h[(c[s>>2]|0)+(c[o>>2]<<5)+16>>3]*+h[(c[s>>2]|0)+(c[o>>2]<<5)+16+8>>3];A=+h[(c[s>>2]|0)+(c[o>>2]<<5)>>3];x=+h[(c[s>>2]|0)+(c[o>>2]<<5)+8>>3];y=+h[(c[s>>2]|0)+(c[o>>2]<<5)+16>>3];z=+h[(c[s>>2]|0)+(c[o>>2]<<5)+16+8>>3];h[u>>3]=+h[(c[e>>2]|0)+(c[o>>2]<<3)>>3];h[u+8>>3]=F;h[u+16>>3]=E;h[u+24>>3]=D;h[u+32>>3]=C;h[u+40>>3]=B;h[u+48>>3]=A;h[u+56>>3]=x;h[u+64>>3]=y;h[u+72>>3]=z;p3(v,131545,u)|0}c[o>>2]=(c[o>>2]|0)+1}B1(c[r>>2]|0);B1(c[e>>2]|0);B1(c[s>>2]|0);c[f>>2]=c[(c[d>>2]|0)+48>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[q>>2]|0))break;if(!(c[(c[f>>2]|0)+60>>2]|0))bv(c[f>>2]|0);c[f>>2]=c[(c[f>>2]|0)+52>>2];c[o>>2]=(c[o>>2]|0)+1}i=w;return}function cv(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=i;i=i+176|0;if((i|0)>=(j|0))ba();n=r+112|0;d=r+160|0;k=r+156|0;g=r+152|0;e=r+96|0;m=r+64|0;l=r+32|0;p=r+24|0;q=r+16|0;o=r+8|0;f=r;c[d>>2]=b;b=c[d>>2]|0;if(c[(c[d>>2]|0)+60>>2]|0){q=b+16|0;c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[m+16>>2]=c[q+16>>2];c[m+20>>2]=c[q+20>>2];c[m+24>>2]=c[q+24>>2];c[m+28>>2]=c[q+28>>2];h[e>>3]=+h[m>>3];h[e+8>>3]=+h[m+8>>3];c[g>>2]=c[(c[d>>2]|0)+56>>2];q=(c[(c[g>>2]|0)+8>>2]|0)+16|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];h[(c[(c[g>>2]|0)+8>>2]|0)+32>>3]=+h[m+16>>3]/72.0;h[(c[(c[g>>2]|0)+8>>2]|0)+40>>3]=+h[m+16+8>>3]/72.0;q=c[g>>2]|0;iP(q,c[(c[(GC(c[g>>2]|0)|0)+8>>2]|0)+116>>2]&1);ev(c[g>>2]|0);if(!(a[139078]|0)){i=r;return}q=c[24742]|0;p=MB(c[g>>2]|0)|0;v=+h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3];u=+h[(c[(c[g>>2]|0)+8>>2]|0)+16+8>>3];t=+h[(c[(c[g>>2]|0)+8>>2]|0)+80>>3];s=+h[(c[(c[g>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[g>>2]|0)+8>>2]|0)+96>>3];c[n>>2]=p;h[n+8>>3]=v;h[n+16>>3]=u;h[n+24>>3]=t;h[n+32>>3]=s;p3(q,131487,n)|0;i=r;return}c[k>>2]=c[b+48>>2];while(1){if(!(c[k>>2]|0))break;cv(c[k>>2]|0);c[k>>2]=c[(c[k>>2]|0)+52>>2]}h[p>>3]=+h[(c[d>>2]|0)+16>>3];h[q>>3]=+h[(c[d>>2]|0)+16+8>>3];h[o>>3]=+h[(c[d>>2]|0)+16+16>>3];h[f>>3]=+h[(c[d>>2]|0)+16+16+8>>3];h[l>>3]=+h[p>>3]-+h[o>>3]/2.0;h[l+8>>3]=+h[q>>3]-+h[f>>3]/2.0;h[l+16>>3]=+h[l>>3]+ +h[o>>3];h[l+16+8>>3]=+h[l+8>>3]+ +h[f>>3];q=(c[(c[(c[d>>2]|0)+56>>2]|0)+8>>2]|0)+16|0;c[q>>2]=c[l>>2];c[q+4>>2]=c[l+4>>2];c[q+8>>2]=c[l+8>>2];c[q+12>>2]=c[l+12>>2];c[q+16>>2]=c[l+16>>2];c[q+20>>2]=c[l+20>>2];c[q+24>>2]=c[l+24>>2];c[q+28>>2]=c[l+28>>2];i=r;return}function dv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+48>>2];c[f>>2]=c[(c[b>>2]|0)+64>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;dv(c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+52>>2];c[e>>2]=(c[e>>2]|0)+1}B1(c[b>>2]|0);i=g;return}function ev(b){b=b|0;var d=0,e=0,f=0,g=0,k=0;k=i;i=i+64|0;if((i|0)>=(j|0))ba();g=k;d=k+12|0;e=k+16|0;f=k+8|0;c[d>>2]=b;if((c[13827]|0)!=0?(c[f>>2]=PA(c[d>>2]|0,c[13827]|0)|0,(a[c[f>>2]>>0]|0)==0):0){h[g>>3]=+h[(c[(c[d>>2]|0)+8>>2]|0)+80>>3]*.7;D3(e,131522,g)|0;RA(c[d>>2]|0,c[13827]|0,e)|0}MO(c[d>>2]|0);i=k;return}function fv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();d=f+16|0;k=f+12|0;g=f+8|0;e=f;c[k>>2]=a;c[g>>2]=b;h[e>>3]=+h[c[c[k>>2]>>2]>>3]-+h[c[c[g>>2]>>2]>>3];do if(!(+h[e>>3]<0.0))if(+h[e>>3]>0.0){c[d>>2]=-1;break}else{c[d>>2]=0;break}else c[d>>2]=1;while(0);i=f;return c[d>>2]|0}function gv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,k=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+8|0;k=d+4|0;e=d;c[f>>2]=a;c[k>>2]=b;c[e>>2]=qK(72)|0;g=+iv(c[f>>2]|0,c[k>>2]|0);h[c[e>>2]>>3]=g;c[(c[e>>2]|0)+60>>2]=1;c[(c[e>>2]|0)+56>>2]=c[f>>2];i=d;return c[e>>2]|0}function hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0.0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+28|0;l=k+24|0;f=k+8|0;g=k;c[e>>2]=a;c[l>>2]=b;h[f>>3]=+uO(c[(c[e>>2]|0)+56>>2]|0,c[l>>2]|0,0.0,0.0);if(+h[f>>3]==0.0){h[d>>3]=+h[(c[e>>2]|0)+8>>3];m=+h[d>>3];i=k;return +m}else{h[g>>3]=+h[f>>3]*2.0+ +O(+(+h[(c[e>>2]|0)+8>>3]));h[d>>3]=+h[g>>3]*+h[g>>3];m=+h[d>>3];i=k;return +m}return 0.0}function iv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+12|0;f=e+8|0;d=e;c[g>>2]=a;c[f>>2]=b;h[d>>3]=+uO(c[g>>2]|0,c[f>>2]|0,1.0,0.0);if(+h[d>>3]==0.0)h[d>>3]=1.0;h[d>>3]=+h[d>>3]*1.0e3;i=e;return +(+h[d>>3])}function jv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0;t=i;i=i+96|0;if((i|0)>=(j|0))ba();l=t+40|0;e=t+92|0;f=t+88|0;g=t+84|0;q=t+80|0;m=t+76|0;r=t+32|0;o=t+24|0;n=t+16|0;k=t+8|0;s=t;p=t+72|0;c[f>>2]=a;c[g>>2]=b;h[r>>3]=0.0;h[o>>3]=1.0;h[n>>3]=0.0;h[k>>3]=1.0;h[s>>3]=0.0;c[p>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;h[r>>3]=+h[r>>3]+ +h[(c[g>>2]|0)+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}if(+h[r>>3]>+h[d+16>>3]*+h[d+16+8>>3]+.001){c[e>>2]=0;s=c[e>>2]|0;i=t;return s|0}else{c[q>>2]=qK(c[f>>2]<<5)|0;b=c[f>>2]|0;m=c[g>>2]|0;a=c[q>>2]|0;r=c[p>>2]|0;x=+h[n>>3];w=+h[o>>3];v=+h[s>>3];u=+h[k>>3];c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[l+16>>2]=c[d+16>>2];c[l+20>>2]=c[d+20>>2];c[l+24>>2]=c[d+24>>2];c[l+28>>2]=c[d+28>>2];lv(b,m,a,r,x,w,v,u,l);c[e>>2]=c[q>>2];s=c[e>>2]|0;i=t;return s|0}return 0}function kv(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+64|0;if((i|0)>=(j|0))ba();o=g+56|0;n=g+48|0;m=g+40|0;l=g+32|0;k=g;h[o>>3]=b;h[n>>3]=d;h[m>>3]=e;h[l>>3]=f;h[k>>3]=+h[o>>3];h[k+8>>3]=+h[n>>3];h[k+16>>3]=+h[m>>3];h[k+16+8>>3]=+h[l>>3];c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];c[a+16>>2]=c[k+16>>2];c[a+20>>2]=c[k+20>>2];c[a+24>>2]=c[k+24>>2];c[a+28>>2]=c[k+28>>2];i=g;return}function lv(b,d,e,f,g,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;k=+k;l=+l;m=+m;n=n|0;var 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;i=i+256|0;if((i|0)>=(j|0))ba();M=N+200|0;z=N+168|0;p=N+160|0;o=N+128|0;I=N+248|0;J=N+244|0;K=N+240|0;L=N+236|0;q=N+120|0;r=N+112|0;A=N+104|0;B=N+96|0;C=N+88|0;G=N+232|0;w=N+80|0;x=N+72|0;y=N+64|0;s=N+56|0;t=N+48|0;u=N+40|0;v=N+32|0;F=N+24|0;H=N+16|0;D=N+8|0;E=N;c[I>>2]=b;c[J>>2]=d;c[K>>2]=e;c[L>>2]=f;h[q>>3]=g;h[r>>3]=k;h[A>>3]=l;h[B>>3]=m;f=n+16|0;h[C>>3]=+h[n+16>>3]<+h[n+16+8>>3]?+h[f>>3]:+h[f+8>>3];if((c[I>>2]|0)<=0){i=N;return}if(a[139078]|0){f=c[24742]|0;g=+h[n+16>>3];l=+h[n+8>>3];k=+h[n+16+8>>3];h[o>>3]=+h[n>>3];h[o+8>>3]=g;h[o+16>>3]=l;h[o+24>>3]=k;p3(f,131582,o)|0;o=c[24742]|0;c[p>>2]=c[L>>2];p3(o,131628,p)|0}if(!(c[L>>2]|0)){c[L>>2]=1;k=+h[c[J>>2]>>3];h[r>>3]=k;h[q>>3]=k;if(+h[c[J>>2]>>3]/(+h[C>>3]*+h[C>>3])>+h[C>>3]*+h[C>>3]/+h[c[J>>2]>>3])m=+h[c[J>>2]>>3]/(+h[C>>3]*+h[C>>3]);else m=+h[C>>3]*+h[C>>3]/+h[c[J>>2]>>3];h[B>>3]=m;h[A>>3]=+h[c[J>>2]>>3];I=c[I>>2]|0;J=c[J>>2]|0;K=c[K>>2]|0;L=c[L>>2]|0;m=+h[q>>3];g=+h[r>>3];l=+h[A>>3];k=+h[B>>3];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];c[M+16>>2]=c[n+16>>2];c[M+20>>2]=c[n+20>>2];c[M+24>>2]=c[n+24>>2];c[M+28>>2]=c[n+28>>2];lv(I,J,K,L,m,g,l,k,M);i=N;return}if((c[L>>2]|0)<(c[I>>2]|0)){if(+h[q>>3]>+h[(c[J>>2]|0)+(c[L>>2]<<3)>>3])m=+h[q>>3];else m=+h[(c[J>>2]|0)+(c[L>>2]<<3)>>3];h[w>>3]=m;if(+h[r>>3]<+h[(c[J>>2]|0)+(c[L>>2]<<3)>>3])m=+h[r>>3];else m=+h[(c[J>>2]|0)+(c[L>>2]<<3)>>3];h[x>>3]=m;h[y>>3]=+h[A>>3]+ +h[(c[J>>2]|0)+(c[L>>2]<<3)>>3];h[s>>3]=+h[y>>3]/+h[C>>3];h[t>>3]=+h[w>>3]/+h[s>>3];h[u>>3]=+h[x>>3]/+h[s>>3];if(+h[s>>3]/+h[u>>3]>+h[t>>3]/+h[s>>3])m=+h[s>>3]/+h[u>>3];else m=+h[t>>3]/+h[s>>3];h[v>>3]=m}if((c[L>>2]|0)<(c[I>>2]|0)?+h[v>>3]<=+h[B>>3]:0){H=c[I>>2]|0;I=c[J>>2]|0;J=c[K>>2]|0;K=(c[L>>2]|0)+1|0;c[L>>2]=K;m=+h[w>>3];g=+h[x>>3];l=+h[y>>3];k=+h[v>>3];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];c[M+16>>2]=c[n+16>>2];c[M+20>>2]=c[n+20>>2];c[M+24>>2]=c[n+24>>2];c[M+28>>2]=c[n+28>>2];lv(H,I,J,K,m,g,l,k,M);i=N;return}if(a[139078]|0){B=c[24742]|0;g=+h[A>>3];l=+h[C>>3];k=+h[A>>3]/+h[C>>3];c[z>>2]=c[L>>2];h[z+8>>3]=g;h[z+16>>3]=l;h[z+24>>3]=k;p3(B,131653,z)|0}m=+h[A>>3]/+h[C>>3];if(+h[C>>3]==+h[n+16>>3]){h[F>>3]=m;h[D>>3]=+h[n>>3]-+h[n+16>>3]/2.0;c[G>>2]=0;while(1){m=+h[F>>3];if((c[G>>2]|0)>=(c[L>>2]|0))break;h[(c[K>>2]|0)+(c[G>>2]<<5)+16+8>>3]=m;h[H>>3]=+h[(c[J>>2]|0)+(c[G>>2]<<3)>>3]/+h[F>>3];h[(c[K>>2]|0)+(c[G>>2]<<5)+16>>3]=+h[H>>3];h[(c[K>>2]|0)+(c[G>>2]<<5)+8>>3]=+h[n+8>>3]+ +h[n+16+8>>3]*.5-+h[F>>3]/2.0;h[(c[K>>2]|0)+(c[G>>2]<<5)>>3]=+h[D>>3]+ +h[H>>3]/2.0;h[D>>3]=+h[D>>3]+ +h[H>>3];c[G>>2]=(c[G>>2]|0)+1}H=n+8|0;h[H>>3]=+h[H>>3]-m/2.0;H=n+16+8|0;h[H>>3]=+h[H>>3]-+h[F>>3]}else{h[H>>3]=m;h[E>>3]=+h[n+8>>3]+ +h[n+16+8>>3]/2.0;c[G>>2]=0;while(1){m=+h[H>>3];if((c[G>>2]|0)>=(c[L>>2]|0))break;h[(c[K>>2]|0)+(c[G>>2]<<5)+16>>3]=m;h[F>>3]=+h[(c[J>>2]|0)+(c[G>>2]<<3)>>3]/+h[H>>3];h[(c[K>>2]|0)+(c[G>>2]<<5)+16+8>>3]=+h[F>>3];h[(c[K>>2]|0)+(c[G>>2]<<5)>>3]=+h[n>>3]-+h[n+16>>3]*.5+ +h[H>>3]/2.0;h[(c[K>>2]|0)+(c[G>>2]<<5)+8>>3]=+h[E>>3]-+h[F>>3]/2.0;h[E>>3]=+h[E>>3]-+h[F>>3];c[G>>2]=(c[G>>2]|0)+1}h[n>>3]=+h[n>>3]+m/2.0;G=n+16|0;h[G>>3]=+h[G>>3]-+h[H>>3]}I=(c[I>>2]|0)-(c[L>>2]|0)|0;J=(c[J>>2]|0)+(c[L>>2]<<3)|0;L=(c[K>>2]|0)+(c[L>>2]<<5)|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];c[M+16>>2]=c[n+16>>2];c[M+20>>2]=c[n+20>>2];c[M+24>>2]=c[n+24>>2];c[M+28>>2]=c[n+28>>2];lv(I,J,L,0,0.0,0.0,0.0,1.0,M);i=N;return}function mv(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=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;w=i;i=i+80|0;if((i|0)>=(j|0))ba();t=w+8|0;s=w;g=w+64|0;h=w+60|0;p=w+52|0;o=w+48|0;m=w+44|0;n=w+40|0;q=w+36|0;l=w+32|0;u=w+28|0;r=w+24|0;k=w+16|0;c[g>>2]=d;c[h>>2]=e;c[w+56>>2]=f;c[q>>2]=0;c[l>>2]=0;c[r>>2]=0;c[p>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;c[m>>2]=cB(c[g>>2]|0,c[p>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;e=c[m>>2]|0;c[o>>2]=c[((c[c[m>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2];if((c[p>>2]|0)==(c[o>>2]|0)?(b[(c[(c[m>>2]|0)+8>>2]|0)+168>>1]|0)!=0:0){if(!(c[l>>2]|0)){c[l>>2]=qK(96)|0;e=qK((AB(c[g>>2]|0)|0)+360<<5)|0;c[(c[l>>2]|0)+84>>2]=e}rm(c[l>>2]|0,c[m>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+248>>2]|0)}else v=10;do if((v|0)==10?(v=0,(b[(c[(c[m>>2]|0)+8>>2]|0)+168>>1]|0)!=0):0){c[q>>2]=nv(c[m>>2]|0,c[h>>2]|0)|0;if(!(Zs(c[(c[q>>2]|0)+8>>2]|0,c[c[q>>2]>>2]|0)|0)){if(a[139078]|0)p3(c[24742]|0,131790,t)|0;c[r>>2]=1;break}c[u>>2]=BX(c[(c[q>>2]|0)+8>>2]|0,c[c[q>>2]>>2]|0)|0;if(!(c[u>>2]|0)){pA(0,131706,s)|0;c[r>>2]=1;break}c[n>>2]=c[m>>2];while(1){if(!(c[n>>2]|0))break;e=(c[(c[n>>2]|0)+8>>2]|0)+144|0;tm(k,c[n>>2]|0,c[u>>2]|0,0,c[(c[q>>2]|0)+8>>2]|0,c[c[q>>2]>>2]|0);c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];um(c[g>>2]|0,c[n>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[c[q>>2]>>2]|0,0);c[n>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+172>>2]}ov(c[q>>2]|0)}while(0);c[m>>2]=eB(c[g>>2]|0,c[m>>2]|0)|0}c[p>>2]=qC(c[g>>2]|0,c[p>>2]|0)|0}pv(c[q>>2]|0);if(!(c[l>>2]|0)){v=c[r>>2]|0;i=w;return v|0}B1(c[(c[l>>2]|0)+84>>2]|0);B1(c[l>>2]|0);v=c[r>>2]|0;i=w;return v|0}function nv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();r=q+40|0;k=q+36|0;e=q+32|0;g=q+28|0;m=q+24|0;p=q+20|0;f=q+16|0;h=q+12|0;l=q+8|0;o=q+4|0;n=q;c[r>>2]=b;c[k>>2]=d;d=c[r>>2]|0;c[e>>2]=c[((c[c[r>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2];d=c[r>>2]|0;c[g>>2]=c[((c[c[r>>2]>>2]&3|0)==3?d:d+32|0)+28>>2];c[m>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+212>>2];c[p>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+212>>2];c[n>>2]=qK(12)|0;if(a[(c[(c[e>>2]|0)+8>>2]|0)+118>>0]|0){c[l>>2]=c[m>>2];c[m>>2]=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+140>>2]|0)+48>>2]}else c[l>>2]=c[e>>2];if(a[(c[(c[g>>2]|0)+8>>2]|0)+118>>0]|0){c[o>>2]=c[p>>2];c[p>>2]=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+140>>2]|0)+48>>2]}else c[o>>2]=c[g>>2];c[f>>2]=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+140>>2]|0)+44>>2];c[h>>2]=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+140>>2]|0)+44>>2];if((c[f>>2]|0)<=(c[h>>2]|0)){if((c[h>>2]|0)>(c[f>>2]|0)){qv(c[n>>2]|0,c[h>>2]|0,c[o>>2]|0,c[f>>2]|0,p,c[k>>2]|0);c[o>>2]=c[p>>2];c[p>>2]=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+140>>2]|0)+48>>2]}}else{qv(c[n>>2]|0,c[f>>2]|0,c[l>>2]|0,c[h>>2]|0,m,c[k>>2]|0);c[l>>2]=c[m>>2];c[m>>2]=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+140>>2]|0)+48>>2]}while(1){b=c[n>>2]|0;if((c[m>>2]|0)==(c[p>>2]|0))break;rv(b,c[m>>2]|0,0,c[l>>2]|0,c[k>>2]|0);rv(c[n>>2]|0,c[p>>2]|0,c[o>>2]|0,0,c[k>>2]|0);c[l>>2]=c[m>>2];c[m>>2]=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+140>>2]|0)+48>>2];c[o>>2]=c[p>>2];c[p>>2]=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+140>>2]|0)+48>>2]}rv(b,c[p>>2]|0,c[o>>2]|0,c[l>>2]|0,c[k>>2]|0);i=q;return c[n>>2]|0}function ov(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[c[d>>2]>>2]=0;i=b;return}function pv(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}B1(c[(c[b>>2]|0)+8>>2]|0);B1(c[b>>2]|0);i=d;return}function qv(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();h=q+28|0;r=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[h>>2]=a;c[r>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[m>>2]>>2];c[p>>2]=c[r>>2];while(1){if((c[p>>2]|0)<=(c[l>>2]|0))break;rv(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0,0,c[n>>2]|0);c[k>>2]=c[o>>2];c[o>>2]=c[(c[(c[(c[o>>2]|0)+8>>2]|0)+140>>2]|0)+48>>2];c[p>>2]=(c[p>>2]|0)+-1}c[c[m>>2]>>2]=c[k>>2];i=q;return}function rv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;if((i|0)>=(j|0))ba();h=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;q=r+4|0;o=r;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=pC(c[k>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if((((c[(c[(c[p>>2]|0)+8>>2]|0)+212>>2]|0)==(c[k>>2]|0)?(c[p>>2]|0)!=(c[l>>2]|0):0)?(c[p>>2]|0)!=(c[m>>2]|0):0)?(a[(c[(c[p>>2]|0)+8>>2]|0)+118>>0]|0)==0:0){e=c[h>>2]|0;sv(e,sm(c[p>>2]|0,c[n>>2]|0,0)|0)}c[p>>2]=qC(c[k>>2]|0,c[p>>2]|0)|0}c[o>>2]=1;while(1){if((c[o>>2]|0)>(c[(c[(c[k>>2]|0)+8>>2]|0)+180>>2]|0))break;c[q>>2]=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+184>>2]|0)+(c[o>>2]<<2)>>2];if((c[q>>2]|0)!=(c[l>>2]|0)?(c[q>>2]|0)!=(c[m>>2]|0):0){e=c[h>>2]|0;sv(e,tv(c[q>>2]|0,c[n>>2]|0)|0)}c[o>>2]=(c[o>>2]|0)+1}i=r;return}function sv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;do if((c[(c[d>>2]|0)+4>>2]|0)==(c[c[d>>2]>>2]|0))if(c[(c[d>>2]|0)+8>>2]|0){b=(c[d>>2]|0)+4|0;c[b>>2]=c[b>>2]<<1;b=tK(c[(c[d>>2]|0)+8>>2]|0,c[(c[d>>2]|0)+4>>2]<<2)|0;c[(c[d>>2]|0)+8>>2]=b;break}else{b=rK(400)|0;c[(c[d>>2]|0)+8>>2]=b;c[(c[d>>2]|0)+4>>2]=100;break}while(0);a=c[e>>2]|0;e=c[d>>2]|0;b=c[e>>2]|0;c[e>>2]=b+1;c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<2)>>2]=a;i=f;return}function tv(b,d){b=b|0;d=d|0;var e=0,f=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+112|0;if((i|0)>=(j|0))ba();q=p+104|0;e=p+100|0;o=p+96|0;f=p+64|0;n=p+32|0;k=p+16|0;l=p+8|0;m=p;c[q>>2]=b;c[e>>2]=d;c[o>>2]=qK(8)|0;d=(c[(c[q>>2]|0)+8>>2]|0)+16|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];c[f+16>>2]=c[d+16>>2];c[f+20>>2]=c[d+20>>2];c[f+24>>2]=c[d+24>>2];c[f+28>>2]=c[d+28>>2];c[(c[o>>2]|0)+4>>2]=4;d=qK(64)|0;c[c[o>>2]>>2]=d;h[k>>3]=(+h[f+16>>3]+ +h[f>>3])/2.0;h[k+8>>3]=(+h[f+16+8>>3]+ +h[f+8>>3])/2.0;if(a[(c[e>>2]|0)+8>>0]|0){h[n+16>>3]=+h[f+16>>3]+ +g[c[e>>2]>>2];h[n+16+8>>3]=+h[f+16+8>>3]+ +g[(c[e>>2]|0)+4>>2];h[n>>3]=+h[f>>3]-+g[c[e>>2]>>2];h[n+8>>3]=+h[f+8>>3]-+g[(c[e>>2]|0)+4>>2]}else{h[l>>3]=+g[c[e>>2]>>2]-1.0;h[m>>3]=+g[(c[e>>2]|0)+4>>2]-1.0;h[n+16>>3]=+g[c[e>>2]>>2]*+h[f+16>>3]-+h[l>>3]*+h[k>>3];h[n+16+8>>3]=+g[(c[e>>2]|0)+4>>2]*+h[f+16+8>>3]-+h[m>>3]*+h[k+8>>3];h[n>>3]=+g[c[e>>2]>>2]*+h[f>>3]-+h[l>>3]*+h[k>>3];h[n+8>>3]=+g[(c[e>>2]|0)+4>>2]*+h[f+8>>3]-+h[m>>3]*+h[k+8>>3]}h[c[c[o>>2]>>2]>>3]=+h[n>>3];h[(c[c[o>>2]>>2]|0)+8>>3]=+h[n+8>>3];h[(c[c[o>>2]>>2]|0)+16>>3]=+h[n>>3];h[(c[c[o>>2]>>2]|0)+16+8>>3]=+h[n+16+8>>3];h[(c[c[o>>2]>>2]|0)+32>>3]=+h[n+16>>3];h[(c[c[o>>2]>>2]|0)+32+8>>3]=+h[n+16+8>>3];h[(c[c[o>>2]>>2]|0)+48>>3]=+h[n+16>>3];h[(c[c[o>>2]>>2]|0)+48+8>>3]=+h[n+8>>3];i=p;return c[o>>2]|0}function uv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=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=i;i=i+208|0;if((i|0)>=(j|0))ba();w=x+16|0;v=x+8|0;u=x;g=x+64|0;h=x+60|0;k=x+56|0;p=x+52|0;t=x+48|0;q=x+72|0;l=x+44|0;o=x+40|0;s=x+36|0;m=x+32|0;n=x+28|0;r=x+24|0;c[g>>2]=b;c[h>>2]=e;c[k>>2]=f;c[l>>2]=0;c[r>>2]=0;c[o>>2]=qK(AB(c[g>>2]|0)|0)|0;c[t>>2]=0;f=c[c[(c[(c[g>>2]|0)+8>>2]|0)+140>>2]>>2]|0;c[s>>2]=f;a:do if(f){b=MB(c[g>>2]|0)|0;f=c[l>>2]|0;c[l>>2]=f+1;f=f+(c[12945]|0)|0;c[u>>2]=b;c[u+4>>2]=f;D3(q,131841,u)|0;c[t>>2]=uD(c[g>>2]|0,q,1)|0;aD(c[t>>2]|0,175129,280,1)|0;u=qK(56)|0;c[(c[(c[t>>2]|0)+8>>2]|0)+140>>2]=u;c[c[(c[(c[t>>2]|0)+8>>2]|0)+140>>2]>>2]=c[s>>2];c[(c[(c[(c[t>>2]|0)+8>>2]|0)+140>>2]|0)+4>>2]=c[(c[(c[(c[g>>2]|0)+8>>2]|0)+140>>2]|0)+4>>2];while(1){if(!(c[(c[s>>2]|0)+4>>2]|0))break a;if(!(a[(c[o>>2]|0)+(c[(c[(c[(c[s>>2]|0)+4>>2]|0)+8>>2]|0)+120>>2]|0)>>0]|0))vv(c[g>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[t>>2]|0,c[o>>2]|0);c[s>>2]=(c[s>>2]|0)+16}}while(0);c[p>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if((a[(c[o>>2]|0)+(c[(c[(c[p>>2]|0)+8>>2]|0)+120>>2]|0)>>0]|0)==0?(d[(c[(c[p>>2]|0)+8>>2]|0)+119>>0]|0)==3:0){if(!(c[t>>2]|0)){s=MB(c[g>>2]|0)|0;u=c[l>>2]|0;c[l>>2]=u+1;u=u+(c[12945]|0)|0;c[v>>2]=s;c[v+4>>2]=u;D3(q,131841,v)|0;c[t>>2]=uD(c[g>>2]|0,q,1)|0;aD(c[t>>2]|0,175129,280,1)|0;u=qK(56)|0;c[(c[(c[t>>2]|0)+8>>2]|0)+140>>2]=u}c[r>>2]=1;vv(c[g>>2]|0,c[p>>2]|0,c[t>>2]|0,c[o>>2]|0)}c[p>>2]=qC(c[g>>2]|0,c[p>>2]|0)|0}if(c[t>>2]|0)xG(c[t>>2]|0)|0;c[p>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!(a[(c[o>>2]|0)+(c[(c[(c[p>>2]|0)+8>>2]|0)+120>>2]|0)>>0]|0)){u=MB(c[g>>2]|0)|0;v=c[l>>2]|0;c[l>>2]=v+1;v=v+(c[12945]|0)|0;c[w>>2]=u;c[w+4>>2]=v;D3(q,131849,w)|0;c[t>>2]=uD(c[g>>2]|0,q,1)|0;aD(c[t>>2]|0,175129,280,1)|0;v=qK(56)|0;c[(c[(c[t>>2]|0)+8>>2]|0)+140>>2]=v;vv(c[g>>2]|0,c[p>>2]|0,c[t>>2]|0,c[o>>2]|0);xG(c[t>>2]|0)|0}c[p>>2]=qC(c[g>>2]|0,c[p>>2]|0)|0}B1(c[o>>2]|0);c[12945]=(c[12945]|0)+(c[l>>2]|0);if(c[h>>2]|0)c[c[h>>2]>>2]=c[l>>2];if(c[k>>2]|0)c[c[k>>2]>>2]=c[r>>2];w=qK((c[l>>2]|0)+1<<2)|0;c[n>>2]=w;c[m>>2]=w;c[t>>2]=vD(c[g>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;v=c[t>>2]|0;w=c[n>>2]|0;c[n>>2]=w+4;c[w>>2]=v;c[l>>2]=(c[l>>2]|0)+-1;c[t>>2]=wD(c[t>>2]|0)|0}if(!(c[l>>2]|0)){c[c[n>>2]>>2]=0;i=x;return c[m>>2]|0}else db(131857,131868,134,131875);return 0}function vv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;a[(c[l>>2]|0)+(c[(c[(c[h>>2]|0)+8>>2]|0)+120>>2]|0)>>0]=1;uC(c[k>>2]|0,c[h>>2]|0,1)|0;c[m>>2]=hB(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;e=c[m>>2]|0;e=c[((c[c[m>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0;c[n>>2]=e;if((e|0)==(c[h>>2]|0)){e=c[m>>2]|0;c[n>>2]=c[((c[c[m>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]}if(!(a[(c[l>>2]|0)+(c[(c[(c[n>>2]|0)+8>>2]|0)+120>>2]|0)>>0]|0))vv(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0);c[m>>2]=iB(c[g>>2]|0,c[m>>2]|0,c[h>>2]|0)|0}i=o;return}function wv(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=rK(24)|0;c[12946]=c[d>>2];a=eA(51788,c[12989]|0)|0;c[c[d>>2]>>2]=a;c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;a=Dv(c[e>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=a;i=b;return c[d>>2]|0}function xv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+8|0;d=g+4|0;f=g;c[e>>2]=a;c[d>>2]=b;if((c[d>>2]|0)<=(c[(c[e>>2]|0)+12>>2]|0)){i=g;return}if((c[d>>2]|0)>(c[(c[e>>2]|0)+12>>2]<<1|0))d=c[d>>2]|0;else d=c[(c[e>>2]|0)+12>>2]<<1;c[f>>2]=d;if(c[(c[e>>2]|0)+16>>2]|0)B1(c[(c[e>>2]|0)+16>>2]|0);b=rK(c[f>>2]<<3)|0;c[(c[e>>2]|0)+16>>2]=b;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=g;return}function yv(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;$b[c[c[c[d>>2]>>2]>>2]&63](c[c[d>>2]>>2]|0,0,64)|0;c[(c[d>>2]|0)+20>>2]=c[(c[d>>2]|0)+16>>2];c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];c[(c[(c[d>>2]|0)+8>>2]|0)+4>>2]=c[c[(c[d>>2]|0)+8>>2]>>2];i=b;return}function zv(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aA(c[c[d>>2]>>2]|0)|0;Ev(c[(c[d>>2]|0)+4>>2]|0);B1(c[(c[d>>2]|0)+16>>2]|0);B1(c[d>>2]|0);i=b;return}function Av(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;if((i|0)>=(j|0))ba();l=m;o=m+48|0;g=m+44|0;h=m+40|0;k=m+36|0;n=m+32|0;p=m+12|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=f;c[p>>2]=c[g>>2];c[p+4>>2]=c[h>>2];c[n>>2]=$b[c[c[c[o>>2]>>2]>>2]&63](c[c[o>>2]>>2]|0,p,1)|0;f=Fv(c[o>>2]|0,c[k>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=f;if((d[139078]|0|0)<3){i=m;return}p=c[24742]|0;f=c[g>>2]|0;n=c[h>>2]|0;o=MB(c[k>>2]|0)|0;c[l>>2]=f;c[l+4>>2]=n;c[l+8>>2]=o;p3(p,131885,l)|0;i=m;return}function Bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;lA(c[c[e>>2]>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;i=d;return}function Cv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();g=e+28|0;k=e+24|0;h=e+20|0;f=e;c[g>>2]=a;c[k>>2]=b;c[h>>2]=d;c[f>>2]=c[k>>2];c[f+4>>2]=c[h>>2];d=$b[c[c[c[g>>2]>>2]>>2]&63](c[c[g>>2]>>2]|0,f,4)|0;i=e;return d|0}function Dv(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=rK(16)|0;c[(c[d>>2]|0)+12>>2]=0;a=rK((c[e>>2]|0)*20|0)|0;c[c[d>>2]>>2]=a;c[(c[d>>2]|0)+8>>2]=(c[c[d>>2]>>2]|0)+((c[e>>2]|0)*20|0);c[(c[d>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return c[d>>2]|0}function Ev(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[(c[b>>2]|0)+12>>2];B1(c[c[b>>2]>>2]|0);B1(c[b>>2]|0);Ev(c[d>>2]|0);i=e;return}function Fv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();k=e+12|0;h=e+8|0;g=e+4|0;f=e;c[k>>2]=a;c[h>>2]=b;c[g>>2]=d;b=(c[k>>2]|0)+20|0;d=c[b>>2]|0;c[b>>2]=d+8;c[f>>2]=d;c[c[f>>2]>>2]=c[h>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2];i=e;return c[f>>2]|0}function Gv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();h=e+12|0;g=e+4|0;f=e;c[e+16>>2]=a;c[h>>2]=b;c[e+8>>2]=d;c[g>>2]=c[h>>2];c[f>>2]=Iv(c[12946]|0)|0;c[c[f>>2]>>2]=c[c[g>>2]>>2];c[(c[f>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[(c[f>>2]|0)+8>>2]=0;i=e;return c[f>>2]|0}function Hv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+20|0;g=l+12|0;h=l+8|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l+4>>2]=e;d=(c[c[g>>2]>>2]|0)-(c[c[h>>2]>>2]|0)|0;c[k>>2]=d;if(d){c[f>>2]=c[k>>2];d=c[f>>2]|0;i=l;return d|0}else{c[f>>2]=(c[(c[g>>2]|0)+4>>2]|0)-(c[(c[h>>2]|0)+4>>2]|0);d=c[f>>2]|0;i=l;return d|0}return 0}function Iv(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if((c[(c[d>>2]|0)+4>>2]|0)!=(c[(c[d>>2]|0)+8>>2]|0)){d=c[d>>2]|0;d=d+4|0;a=c[d>>2]|0;b=a+20|0;c[d>>2]=b;c[e>>2]=a;a=c[e>>2]|0;i=f;return a|0}if(!(c[(c[d>>2]|0)+12>>2]|0)){a=Dv((((c[(c[d>>2]|0)+8>>2]|0)-(c[c[d>>2]>>2]|0)|0)/20|0)<<1)|0;c[(c[d>>2]|0)+12>>2]=a}a=c[(c[d>>2]|0)+12>>2]|0;c[(c[b>>2]|0)+8>>2]=a;c[d>>2]=a;c[(c[d>>2]|0)+4>>2]=c[c[d>>2]>>2];d=c[d>>2]|0;d=d+4|0;a=c[d>>2]|0;b=a+20|0;c[d>>2]=b;c[e>>2]=a;a=c[e>>2]|0;i=f;return a|0}function Jv(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];B1(c[(c[d>>2]|0)+8>>2]|0);B1(c[d>>2]|0);i=b;return}function Kv(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];i=b;return +(+h[c[d>>2]>>3])}function Lv(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];i=b;return c[(c[d>>2]|0)+8>>2]|0}function Mv(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];i=b;return ~~+h[(c[d>>2]|0)+16>>3]|0}function Nv(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,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();h=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if((c[c[k>>2]>>2]|0)<(c[c[l>>2]>>2]|0)){i=p;return}if(10>0)e=10;else e=0;c[c[l>>2]>>2]=(c[c[k>>2]>>2]|0)+e;k=tK(c[c[m>>2]>>2]|0,_(c[c[l>>2]>>2]<<3,c[h>>2]|0)|0)|0;c[c[m>>2]>>2]=k;m=tK(c[c[n>>2]>>2]|0,c[c[l>>2]>>2]<<3)|0;c[c[n>>2]>>2]=m;n=tK(c[c[o>>2]>>2]|0,c[c[l>>2]>>2]<<3)|0;c[c[o>>2]>>2]=n;i=p;return}function Ov(a,b,d,e,f,g,k,l,m,n,o){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=g|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;F=i;i=i+80|0;if((i|0)>=(j|0))ba();p=F+68|0;q=F+8|0;s=F+64|0;t=F+60|0;u=F+56|0;v=F+52|0;w=F+48|0;x=F+44|0;y=F+40|0;z=F+36|0;r=F+32|0;E=F+28|0;A=F+24|0;C=F;B=F+20|0;D=F+16|0;c[p>>2]=a;h[q>>3]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[w>>2]=k;c[x>>2]=l;c[y>>2]=m;c[z>>2]=n;c[r>>2]=o;l=c[z>>2]|0;h[l>>3]=+h[l>>3]+1.0;if(!(c[p>>2]|0)){i=F;return}c[B>>2]=c[(c[p>>2]|0)+16>>2];c[E>>2]=c[(c[p>>2]|0)+40>>2];if((c[E>>2]|0)!=0&(c[E>>2]|0)!=0)do{Nv(c[B>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0);l=Mv(Ky(c[E>>2]|0)|0)|0;if((l|0)!=(c[t>>2]|0)){c[A>>2]=Lv(Ky(c[E>>2]|0)|0)|0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[B>>2]|0))break;l=_(c[B>>2]|0,c[c[u>>2]>>2]|0)|0;h[(c[c[w>>2]>>2]|0)+(l+(c[D>>2]|0)<<3)>>3]=+h[(c[A>>2]|0)+(c[D>>2]<<3)>>3];c[D>>2]=(c[D>>2]|0)+1}b=+Kv(Ky(c[E>>2]|0)|0);h[(c[c[x>>2]>>2]|0)+(c[c[u>>2]>>2]<<3)>>3]=b;b=+Tw(c[s>>2]|0,c[A>>2]|0,c[B>>2]|0);h[(c[c[y>>2]>>2]|0)+(c[c[u>>2]>>2]<<3)>>3]=b;l=c[u>>2]|0;c[l>>2]=(c[l>>2]|0)+1}c[E>>2]=Ly(c[E>>2]|0)|0}while((c[E>>2]|0)!=0);if(!(c[(c[p>>2]|0)+36>>2]|0)){i=F;return}h[C>>3]=+Tw(c[(c[p>>2]|0)+20>>2]|0,c[s>>2]|0,c[B>>2]|0);if(!(+h[(c[p>>2]|0)+24>>3]<+h[q>>3]*+h[C>>3])){c[D>>2]=0;while(1){if((c[D>>2]|0)>=(1<>2]|0))break;Ov(c[(c[(c[p>>2]|0)+36>>2]|0)+(c[D>>2]<<2)>>2]|0,+h[q>>3],c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0,c[r>>2]|0);c[D>>2]=(c[D>>2]|0)+1}i=F;return}Nv(c[B>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[B>>2]|0))break;l=_(c[B>>2]|0,c[c[u>>2]>>2]|0)|0;h[(c[c[w>>2]>>2]|0)+(l+(c[D>>2]|0)<<3)>>3]=+h[(c[(c[p>>2]|0)+32>>2]|0)+(c[D>>2]<<3)>>3];c[D>>2]=(c[D>>2]|0)+1}h[(c[c[x>>2]>>2]|0)+(c[c[u>>2]>>2]<<3)>>3]=+h[(c[p>>2]|0)+8>>3];b=+Tw(c[(c[p>>2]|0)+32>>2]|0,c[s>>2]|0,c[B>>2]|0);h[(c[c[y>>2]>>2]|0)+(c[c[u>>2]>>2]<<3)>>3]=b;l=c[u>>2]|0;c[l>>2]=(c[l>>2]|0)+1;i=F;return}function Pv(a,b,d,e,f,g,k,l,m,n,o){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=g|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;B=i;i=i+64|0;if((i|0)>=(j|0))ba();p=B+48|0;q=B;s=B+44|0;t=B+40|0;u=B+36|0;v=B+32|0;w=B+28|0;x=B+24|0;y=B+20|0;z=B+16|0;r=B+12|0;A=B+8|0;c[p>>2]=a;h[q>>3]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[w>>2]=k;c[x>>2]=l;c[y>>2]=m;c[z>>2]=n;c[r>>2]=o;c[A>>2]=c[(c[p>>2]|0)+16>>2];h[c[z>>2]>>3]=0.0;c[c[u>>2]>>2]=0;c[c[r>>2]>>2]=0;c[c[v>>2]>>2]=10;if(!(c[c[w>>2]>>2]|0)){l=rK(_(c[c[v>>2]>>2]<<3,c[A>>2]|0)|0)|0;c[c[w>>2]>>2]=l}if(!(c[c[x>>2]>>2]|0)){l=rK(c[c[v>>2]>>2]<<3)|0;c[c[x>>2]>>2]=l}if(!(c[c[y>>2]>>2]|0)){l=rK(c[c[v>>2]>>2]<<3)|0;c[c[y>>2]>>2]=l}Ov(c[p>>2]|0,+h[q>>3],c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0,c[r>>2]|0);i=B;return}function Qv(a,b,d,e,f,g,k,l){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=+g;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;x=i;i=i+64|0;if((i|0)>=(j|0))ba();m=x+52|0;n=x+48|0;o=x+44|0;p=x+16|0;q=x+8|0;r=x;s=x+40|0;t=x+36|0;w=x+32|0;u=x+28|0;v=x+24|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;h[p>>3]=e;h[q>>3]=f;h[r>>3]=g;c[s>>2]=k;c[t>>2]=l;c[w>>2]=c[c[m>>2]>>2];c[u>>2]=c[(c[m>>2]|0)+16>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=4)break;h[(c[s>>2]|0)+(c[v>>2]<<3)>>3]=0.0;c[v>>2]=(c[v>>2]|0)+1}c[c[t>>2]>>2]=0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(_(c[u>>2]|0,c[w>>2]|0)|0))break;h[(c[n>>2]|0)+(c[v>>2]<<3)>>3]=0.0;c[v>>2]=(c[v>>2]|0)+1}Wv(c[m>>2]|0,c[m>>2]|0,c[o>>2]|0,c[n>>2]|0,+h[p>>3],+h[q>>3],+h[r>>3],c[s>>2]|0);Xv(c[m>>2]|0,c[n>>2]|0,c[s>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=4)break;d=(c[s>>2]|0)+(c[v>>2]<<3)|0;h[d>>3]=+h[d>>3]/+(c[w>>2]|0);c[v>>2]=(c[v>>2]|0)+1}i=x;return}function Rv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=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;x=i;i=i+64|0;if((i|0)>=(j|0))ba();l=x+52|0;m=x+48|0;n=x+44|0;o=x+40|0;p=x+36|0;q=x+32|0;w=x+28|0;v=x+24|0;r=x+20|0;u=x;t=x+16|0;s=x+12|0;k=x+8|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[t>>2]=0;c[w>>2]=rK(c[m>>2]<<3)|0;c[v>>2]=rK(c[m>>2]<<3)|0;c[r>>2]=rK(c[m>>2]<<3)|0;if(!((c[w>>2]|0)!=0&(c[v>>2]|0)!=0&(c[r>>2]|0)!=0)){c[l>>2]=0;w=c[l>>2]|0;i=x;return w|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;h[(c[w>>2]|0)+(c[s>>2]<<3)>>3]=+h[(c[p>>2]|0)+(c[s>>2]<<3)>>3];c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;h[(c[v>>2]|0)+(c[s>>2]<<3)>>3]=+h[(c[p>>2]|0)+(c[s>>2]<<3)>>3];c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=1;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;f=_(c[s>>2]|0,c[m>>2]|0)|0;if(+h[(c[w>>2]|0)+(c[k>>2]<<3)>>3]<+h[(c[p>>2]|0)+(f+(c[k>>2]|0)<<3)>>3])g=+h[(c[w>>2]|0)+(c[k>>2]<<3)>>3];else{f=_(c[s>>2]|0,c[m>>2]|0)|0;g=+h[(c[p>>2]|0)+(f+(c[k>>2]|0)<<3)>>3]}h[(c[w>>2]|0)+(c[k>>2]<<3)>>3]=g;f=_(c[s>>2]|0,c[m>>2]|0)|0;if(+h[(c[v>>2]|0)+(c[k>>2]<<3)>>3]>+h[(c[p>>2]|0)+(f+(c[k>>2]|0)<<3)>>3])g=+h[(c[v>>2]|0)+(c[k>>2]<<3)>>3];else{f=_(c[s>>2]|0,c[m>>2]|0)|0;g=+h[(c[p>>2]|0)+(f+(c[k>>2]|0)<<3)>>3]}h[(c[v>>2]|0)+(c[k>>2]<<3)>>3]=g;c[k>>2]=(c[k>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}h[u>>3]=+h[c[v>>2]>>3]-+h[c[w>>2]>>3];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;h[(c[r>>2]|0)+(c[s>>2]<<3)>>3]=(+h[(c[w>>2]|0)+(c[s>>2]<<3)>>3]+ +h[(c[v>>2]|0)+(c[s>>2]<<3)>>3])*.5;if(+h[u>>3]>+h[(c[v>>2]|0)+(c[s>>2]<<3)>>3]-+h[(c[w>>2]|0)+(c[s>>2]<<3)>>3])g=+h[u>>3];else g=+h[(c[v>>2]|0)+(c[s>>2]<<3)>>3]-+h[(c[w>>2]|0)+(c[s>>2]<<3)>>3];h[u>>3]=g;c[s>>2]=(c[s>>2]|0)+1}if(+h[u>>3]==0.0)h[u>>3]=1.0e-05;h[u>>3]=+h[u>>3]*.52;c[t>>2]=Sv(c[m>>2]|0,c[r>>2]|0,+h[u>>3],c[o>>2]|0)|0;u=(c[q>>2]|0)!=0;c[s>>2]=0;a:do if(u)while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break a;u=_(c[s>>2]|0,c[m>>2]|0)|0;c[t>>2]=Tv(c[t>>2]|0,(c[p>>2]|0)+(u<<3)|0,+h[(c[q>>2]|0)+(c[s>>2]<<3)>>3],c[s>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+1}else while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break a;u=_(c[s>>2]|0,c[m>>2]|0)|0;c[t>>2]=Tv(c[t>>2]|0,(c[p>>2]|0)+(u<<3)|0,1.0,c[s>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+1}while(0);B1(c[w>>2]|0);B1(c[v>>2]|0);B1(c[r>>2]|0);c[l>>2]=c[t>>2];w=c[l>>2]|0;i=x;return w|0}function Sv(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o+20|0;k=o;l=o+16|0;n=o+12|0;m=o+8|0;c[f>>2]=a;c[g>>2]=b;h[k>>3]=d;c[l>>2]=e;c[n>>2]=rK(56)|0;c[(c[n>>2]|0)+16>>2]=c[f>>2];c[c[n>>2]>>2]=0;e=rK(c[f>>2]<<3)|0;c[(c[n>>2]|0)+20>>2]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;h[(c[(c[n>>2]|0)+20>>2]|0)+(c[m>>2]<<3)>>3]=+h[(c[g>>2]|0)+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}if(+h[k>>3]>0.0){h[(c[n>>2]|0)+24>>3]=+h[k>>3];h[(c[n>>2]|0)+8>>3]=0.0;c[(c[n>>2]|0)+32>>2]=0;c[(c[n>>2]|0)+36>>2]=0;c[(c[n>>2]|0)+40>>2]=0;c[(c[n>>2]|0)+44>>2]=c[l>>2];c[(c[n>>2]|0)+48>>2]=0;i=o;return c[n>>2]|0}else db(131902,131912,405,131923);return 0}function Tv(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+20|0;n=m+16|0;g=m+12|0;k=m;l=m+8|0;c[n>>2]=a;c[g>>2]=b;h[k>>3]=d;c[l>>2]=e;b=c[n>>2]|0;if(c[n>>2]|0){c[f>>2]=Yv(b,c[g>>2]|0,+h[k>>3],c[l>>2]|0,0)|0;n=c[f>>2]|0;i=m;return n|0}else{c[f>>2]=b;n=c[f>>2]|0;i=m;return n|0}return 0}function Uv(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=c[(c[b>>2]|0)+16>>2];B1(c[(c[b>>2]|0)+20>>2]|0);B1(c[(c[b>>2]|0)+32>>2]|0);if(c[(c[b>>2]|0)+48>>2]|0)B1(c[(c[b>>2]|0)+48>>2]|0);if(c[(c[b>>2]|0)+36>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(1<>2]|0))break;Uv(c[(c[(c[b>>2]|0)+36>>2]|0)+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}B1(c[(c[b>>2]|0)+36>>2]|0)}Iy(c[(c[b>>2]|0)+40>>2]|0,97);B1(c[b>>2]|0);i=f;return}function Vv(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();k=q+28|0;l=q+24|0;m=q;r=q+20|0;n=q+16|0;p=q+12|0;o=q+8|0;c[k>>2]=a;c[l>>2]=b;h[m>>3]=d;c[r>>2]=e;c[n>>2]=f;c[p>>2]=Sv(c[k>>2]|0,c[l>>2]|0,+h[m>>3],c[r>>2]|0)|0;c[l>>2]=c[(c[p>>2]|0)+20>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;g=+h[m>>3];b=(c[l>>2]|0)+(c[o>>2]<<3)|0;d=+h[b>>3];if(!((c[n>>2]|0)%2|0))h[b>>3]=d-g;else h[b>>3]=d+g;c[n>>2]=((c[n>>2]|0)-((c[n>>2]|0)%2|0)|0)/2|0;c[o>>2]=(c[o>>2]|0)+1}i=q;return c[p>>2]|0} +function nZ(b,e,f,g,h,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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,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,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+176|0;if((i|0)>=(j|0))ba();o=ha+160|0;p=ha+156|0;q=ha+152|0;r=ha+148|0;s=ha+144|0;t=ha+140|0;u=ha+136|0;v=ha+132|0;w=ha+168|0;A=ha+128|0;G=ha+124|0;F=ha+120|0;V=ha+116|0;aa=ha+112|0;J=ha+167|0;W=ha+108|0;X=ha+104|0;U=ha+100|0;da=ha+96|0;H=ha+166|0;C=ha+92|0;I=ha+165|0;E=ha+88|0;T=ha+84|0;x=ha+80|0;Z=ha+76|0;_=ha+72|0;N=ha+68|0;Q=ha+64|0;ea=ha+60|0;ca=ha+56|0;$=ha+52|0;fa=ha+48|0;ga=ha+44|0;L=ha+40|0;O=ha+36|0;D=ha+32|0;Y=ha+28|0;y=ha+164|0;z=ha+24|0;B=ha+20|0;P=ha+16|0;R=ha+12|0;S=ha+8|0;M=ha+4|0;K=ha;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=k;c[v>>2]=l;a[w>>0]=m;c[A>>2]=c[(c[p>>2]|0)+356>>2];e=c[p>>2]|0;if((c[q>>2]|0)==(c[(c[p>>2]|0)+144>>2]|0)){c[G>>2]=e+288;c[F>>2]=(c[p>>2]|0)+292}else{c[G>>2]=c[e+300>>2];c[F>>2]=(c[(c[p>>2]|0)+300>>2]|0)+4}a:while(1){a[J>>0]=1;c[c[G>>2]>>2]=c[r>>2];c[c[F>>2]>>2]=c[u>>2];b:do if((c[t>>2]|0)<=0){if((d[w>>0]|0)!=0&(c[t>>2]|0)!=0){n=6;break a}switch(c[t>>2]|0){case 0:{n=8;break a}case -1:{n=9;break a}case -2:{n=10;break a}case -4:{n=12;break a}case -15:{c[t>>2]=0-(c[t>>2]|0);break b}default:{c[t>>2]=0-(c[t>>2]|0);c[u>>2]=c[s>>2];break b}}}while(0);c[aa>>2]=_b[c[(c[p>>2]|0)+256>>2]&63]((c[p>>2]|0)+256|0,c[t>>2]|0,c[r>>2]|0,c[u>>2]|0,c[q>>2]|0)|0;c:do switch(c[aa>>2]|0){case 2:{n=74;break a}case -1:{n=231;break a}case 1:{c[W>>2]=oZ(c[p>>2]|0,0,c[r>>2]|0,c[u>>2]|0)|0;if(c[W>>2]|0){n=24;break a}c[q>>2]=c[(c[p>>2]|0)+144>>2];a[J>>0]=0;break}case 4:{if(c[(c[p>>2]|0)+84>>2]|0){h=pZ((c[p>>2]|0)+416|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0;c[(c[p>>2]|0)+320>>2]=h;if(!(c[(c[p>>2]|0)+320>>2]|0)){n=28;break a}c[(c[p>>2]|0)+416+16>>2]=c[(c[p>>2]|0)+416+12>>2];c[(c[p>>2]|0)+328>>2]=0;a[J>>0]=0}c[(c[p>>2]|0)+324>>2]=0;break}case 7:{if(c[(c[p>>2]|0)+84>>2]|0){Ub[c[(c[p>>2]|0)+84>>2]&31](c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+320>>2]|0,c[(c[p>>2]|0)+324>>2]|0,c[(c[p>>2]|0)+328>>2]|0,1);c[(c[p>>2]|0)+320>>2]=0;ZY((c[p>>2]|0)+416|0);a[J>>0]=0}break}case 57:{c[X>>2]=oZ(c[p>>2]|0,1,c[r>>2]|0,c[u>>2]|0)|0;if(c[X>>2]|0){n=34;break a}c[q>>2]=c[(c[p>>2]|0)+144>>2];a[J>>0]=0;break}case 6:{a[(c[p>>2]|0)+489>>0]=0;n=qZ(c[p>>2]|0,(c[A>>2]|0)+132|0,112568,36)|0;c[(c[p>>2]|0)+316>>2]=n;if(!(c[(c[p>>2]|0)+316>>2]|0)){n=37;break a}a[(c[A>>2]|0)+129>>0]=1;if(c[(c[p>>2]|0)+84>>2]|0){if(!(kc[c[(c[q>>2]|0)+56>>2]&127](c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[G>>2]|0)|0)){n=40;break a}c[U>>2]=pZ((c[p>>2]|0)+416|0,c[q>>2]|0,(c[r>>2]|0)+(c[(c[q>>2]|0)+68>>2]|0)|0,(c[u>>2]|0)+(0-(c[(c[q>>2]|0)+68>>2]|0))|0)|0;if(!(c[U>>2]|0)){n=42;break a}rZ(c[U>>2]|0);c[(c[p>>2]|0)+416+16>>2]=c[(c[p>>2]|0)+416+12>>2];c[(c[p>>2]|0)+328>>2]=c[U>>2];a[J>>0]=0;n=46}else n=44;break}case 14:{n=44;break}case 8:{if(c[(c[p>>2]|0)+320>>2]|0){Ub[c[(c[p>>2]|0)+84>>2]&31](c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+320>>2]|0,c[(c[p>>2]|0)+324>>2]|0,c[(c[p>>2]|0)+328>>2]|0,0);ZY((c[p>>2]|0)+416|0);a[J>>0]=0}if(!((c[(c[p>>2]|0)+324>>2]|0)==0?(d[(c[p>>2]|0)+489>>0]|0)==0:0)){a[H>>0]=a[(c[A>>2]|0)+129>>0]|0;a[(c[A>>2]|0)+129>>0]=1;do if((c[(c[p>>2]|0)+492>>2]|0)!=0?(c[(c[p>>2]|0)+112>>2]|0)!=0:0){c[C>>2]=qZ(c[p>>2]|0,(c[A>>2]|0)+132|0,112568,36)|0;if(!(c[C>>2]|0)){n=59;break a}if(a[(c[p>>2]|0)+489>>0]|0)c[(c[C>>2]|0)+20>>2]=c[(c[p>>2]|0)+360>>2];a[(c[A>>2]|0)+131>>0]=0;if(!(_b[c[(c[p>>2]|0)+112>>2]&63](c[(c[p>>2]|0)+116>>2]|0,0,c[(c[C>>2]|0)+20>>2]|0,c[(c[C>>2]|0)+16>>2]|0,c[(c[C>>2]|0)+24>>2]|0)|0)){n=63;break a}if(!(a[(c[A>>2]|0)+131>>0]|0)){if(c[(c[p>>2]|0)+324>>2]|0)break;a[(c[A>>2]|0)+129>>0]=a[H>>0]|0;break}if(((a[(c[A>>2]|0)+130>>0]|0)==0?(c[(c[p>>2]|0)+108>>2]|0)!=0:0)?(Zb[c[(c[p>>2]|0)+108>>2]&63](c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){n=68;break a}}while(0);a[(c[p>>2]|0)+489>>0]=0}if(c[(c[p>>2]|0)+88>>2]|0){Vb[c[(c[p>>2]|0)+88>>2]&127](c[(c[p>>2]|0)+4>>2]|0);a[J>>0]=0}break}case 34:{n=tZ(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0;c[(c[p>>2]|0)+344>>2]=n;if(c[(c[p>>2]|0)+344>>2]|0)n=101;else{n=89;break a}break}case 22:{n=uZ(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0;c[(c[p>>2]|0)+348>>2]=n;if(!(c[(c[p>>2]|0)+348>>2]|0)){n=91;break a}a[(c[p>>2]|0)+352>>0]=0;c[(c[p>>2]|0)+332>>2]=0;a[(c[p>>2]|0)+353>>0]=0;n=101;break}case 23:{a[(c[p>>2]|0)+352>>0]=1;c[(c[p>>2]|0)+332>>2]=181522;n=101;break}case 24:{a[(c[p>>2]|0)+353>>0]=1;c[(c[p>>2]|0)+332>>2]=181528;n=101;break}case 25:{c[(c[p>>2]|0)+332>>2]=181531;n=101;break}case 26:{c[(c[p>>2]|0)+332>>2]=181537;n=101;break}case 27:{c[(c[p>>2]|0)+332>>2]=181544;n=101;break}case 28:{c[(c[p>>2]|0)+332>>2]=181551;n=101;break}case 29:{c[(c[p>>2]|0)+332>>2]=181560;n=101;break}case 30:{c[(c[p>>2]|0)+332>>2]=181568;n=101;break}case 32:case 31:{if((d[(c[A>>2]|0)+128>>0]|0)!=0?(c[(c[p>>2]|0)+132>>2]|0)!=0:0){if(c[(c[p>>2]|0)+332>>2]|0)c[T>>2]=181577;else c[T>>2]=(c[aa>>2]|0)==32?181579:181589;if(!(vZ((c[p>>2]|0)+416|0,c[T>>2]|0)|0)){n=110;break a}if(!(wZ((c[p>>2]|0)+416|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0)){n=112;break a}c[(c[p>>2]|0)+332>>2]=c[(c[p>>2]|0)+416+16>>2];a[J>>0]=0}break}case 36:case 35:{if(a[(c[A>>2]|0)+128>>0]|0){if(!(xZ(c[(c[p>>2]|0)+344>>2]|0,c[(c[p>>2]|0)+348>>2]|0,a[(c[p>>2]|0)+352>>0]|0,a[(c[p>>2]|0)+353>>0]|0,0,c[p>>2]|0)|0)){n=116;break a}if((c[(c[p>>2]|0)+132>>2]|0)!=0?(c[(c[p>>2]|0)+332>>2]|0)!=0:0){if((a[c[(c[p>>2]|0)+332>>2]>>0]|0)!=40){if((a[c[(c[p>>2]|0)+332>>2]>>0]|0)==78?(a[(c[(c[p>>2]|0)+332>>2]|0)+1>>0]|0)==79:0)n=122}else n=122;if((n|0)==122){n=0;if((c[(c[p>>2]|0)+416+12>>2]|0)==(c[(c[p>>2]|0)+416+8>>2]|0)?(yZ((c[p>>2]|0)+416|0)|0)<<24>>24==0:0){n=127;break a}f=(c[p>>2]|0)+416+12|0;h=c[f>>2]|0;c[f>>2]=h+1;a[h>>0]=41;if((c[(c[p>>2]|0)+416+12>>2]|0)==(c[(c[p>>2]|0)+416+8>>2]|0)?(yZ((c[p>>2]|0)+416|0)|0)<<24>>24==0:0){n=127;break a}f=(c[p>>2]|0)+416+12|0;h=c[f>>2]|0;c[f>>2]=h+1;a[h>>0]=0;c[(c[p>>2]|0)+332>>2]=c[(c[p>>2]|0)+416+16>>2];c[(c[p>>2]|0)+416+16>>2]=c[(c[p>>2]|0)+416+12>>2]}c[c[F>>2]>>2]=c[r>>2];ac[c[(c[p>>2]|0)+132>>2]&15](c[(c[p>>2]|0)+4>>2]|0,c[c[(c[p>>2]|0)+344>>2]>>2]|0,c[c[(c[p>>2]|0)+348>>2]>>2]|0,c[(c[p>>2]|0)+332>>2]|0,0,(c[aa>>2]|0)==36&1);ZY((c[p>>2]|0)+416|0);a[J>>0]=0}}break}case 38:case 37:{if(a[(c[A>>2]|0)+128>>0]|0){c[Z>>2]=zZ(c[p>>2]|0,c[q>>2]|0,a[(c[p>>2]|0)+352>>0]|0,(c[r>>2]|0)+(c[(c[q>>2]|0)+68>>2]|0)|0,(c[u>>2]|0)+(0-(c[(c[q>>2]|0)+68>>2]|0))|0,(c[A>>2]|0)+80|0)|0;if(c[Z>>2]|0){n=131;break a}c[x>>2]=c[(c[A>>2]|0)+80+16>>2];c[(c[A>>2]|0)+80+16>>2]=c[(c[A>>2]|0)+80+12>>2];if(!(xZ(c[(c[p>>2]|0)+344>>2]|0,c[(c[p>>2]|0)+348>>2]|0,a[(c[p>>2]|0)+352>>0]|0,0,c[x>>2]|0,c[p>>2]|0)|0)){n=133;break a}if((c[(c[p>>2]|0)+132>>2]|0)!=0?(c[(c[p>>2]|0)+332>>2]|0)!=0:0){if((a[c[(c[p>>2]|0)+332>>2]>>0]|0)!=40){if((a[c[(c[p>>2]|0)+332>>2]>>0]|0)==78?(a[(c[(c[p>>2]|0)+332>>2]|0)+1>>0]|0)==79:0)n=139}else n=139;if((n|0)==139){n=0;if((c[(c[p>>2]|0)+416+12>>2]|0)==(c[(c[p>>2]|0)+416+8>>2]|0)?(yZ((c[p>>2]|0)+416|0)|0)<<24>>24==0:0){n=144;break a}f=(c[p>>2]|0)+416+12|0;h=c[f>>2]|0;c[f>>2]=h+1;a[h>>0]=41;if((c[(c[p>>2]|0)+416+12>>2]|0)==(c[(c[p>>2]|0)+416+8>>2]|0)?(yZ((c[p>>2]|0)+416|0)|0)<<24>>24==0:0){n=144;break a}f=(c[p>>2]|0)+416+12|0;h=c[f>>2]|0;c[f>>2]=h+1;a[h>>0]=0;c[(c[p>>2]|0)+332>>2]=c[(c[p>>2]|0)+416+16>>2];c[(c[p>>2]|0)+416+16>>2]=c[(c[p>>2]|0)+416+12>>2]}c[c[F>>2]>>2]=c[r>>2];ac[c[(c[p>>2]|0)+132>>2]&15](c[(c[p>>2]|0)+4>>2]|0,c[c[(c[p>>2]|0)+344>>2]>>2]|0,c[c[(c[p>>2]|0)+348>>2]>>2]|0,c[(c[p>>2]|0)+332>>2]|0,c[x>>2]|0,(c[aa>>2]|0)==38&1);ZY((c[p>>2]|0)+416|0);a[J>>0]=0}}break}case 12:{if(a[(c[A>>2]|0)+128>>0]|0){c[_>>2]=AZ(c[p>>2]|0,c[q>>2]|0,(c[r>>2]|0)+(c[(c[q>>2]|0)+68>>2]|0)|0,(c[u>>2]|0)+(0-(c[(c[q>>2]|0)+68>>2]|0))|0)|0;e=c[(c[A>>2]|0)+104+16>>2]|0;if(c[(c[p>>2]|0)+316>>2]|0){c[(c[(c[p>>2]|0)+316>>2]|0)+4>>2]=e;c[(c[(c[p>>2]|0)+316>>2]|0)+8>>2]=(c[(c[A>>2]|0)+104+12>>2]|0)-(c[(c[A>>2]|0)+104+16>>2]|0);c[(c[A>>2]|0)+104+16>>2]=c[(c[A>>2]|0)+104+12>>2];if(c[(c[p>>2]|0)+136>>2]|0){c[c[F>>2]>>2]=c[r>>2];fc[c[(c[p>>2]|0)+136>>2]&0](c[(c[p>>2]|0)+4>>2]|0,c[c[(c[p>>2]|0)+316>>2]>>2]|0,d[(c[(c[p>>2]|0)+316>>2]|0)+33>>0]|0,c[(c[(c[p>>2]|0)+316>>2]|0)+4>>2]|0,c[(c[(c[p>>2]|0)+316>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+360>>2]|0,0,0,0);a[J>>0]=0}}else c[(c[A>>2]|0)+104+12>>2]=e;if(c[_>>2]|0){n=152;break a}}break}case 5:{a[(c[p>>2]|0)+489>>0]=0;a[(c[A>>2]|0)+129>>0]=1;e=c[p>>2]|0;if(c[(c[p>>2]|0)+84>>2]|0){n=pZ(e+416|0,c[q>>2]|0,(c[r>>2]|0)+(c[(c[q>>2]|0)+68>>2]|0)|0,(c[u>>2]|0)+(0-(c[(c[q>>2]|0)+68>>2]|0))|0)|0;c[(c[p>>2]|0)+324>>2]=n;if(!(c[(c[p>>2]|0)+324>>2]|0)){n=155;break a}c[(c[p>>2]|0)+416+16>>2]=c[(c[p>>2]|0)+416+12>>2];a[J>>0]=0}else c[e+324>>2]=112568;if((((a[(c[A>>2]|0)+130>>0]|0)==0?(c[(c[p>>2]|0)+492>>2]|0)==0:0)?(c[(c[p>>2]|0)+108>>2]|0)!=0:0)?(Zb[c[(c[p>>2]|0)+108>>2]&63](c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){n=162;break a}if(c[(c[p>>2]|0)+316>>2]|0)n=167;else{n=qZ(c[p>>2]|0,(c[A>>2]|0)+132|0,112568,36)|0;c[(c[p>>2]|0)+316>>2]=n;if(!(c[(c[p>>2]|0)+316>>2]|0)){n=165;break a}c[(c[(c[p>>2]|0)+316>>2]|0)+24>>2]=0;n=167}break}case 13:{n=167;break}case 15:{if(((d[(c[A>>2]|0)+128>>0]|0)!=0?(c[(c[p>>2]|0)+316>>2]|0)!=0:0)?(c[(c[p>>2]|0)+136>>2]|0)!=0:0){c[c[F>>2]>>2]=c[r>>2];fc[c[(c[p>>2]|0)+136>>2]&0](c[(c[p>>2]|0)+4>>2]|0,c[c[(c[p>>2]|0)+316>>2]>>2]|0,d[(c[(c[p>>2]|0)+316>>2]|0)+33>>0]|0,0,0,c[(c[(c[p>>2]|0)+316>>2]|0)+20>>2]|0,c[(c[(c[p>>2]|0)+316>>2]|0)+16>>2]|0,c[(c[(c[p>>2]|0)+316>>2]|0)+24>>2]|0,0);a[J>>0]=0}break}case 16:{if((d[(c[A>>2]|0)+128>>0]|0)!=0?(c[(c[p>>2]|0)+316>>2]|0)!=0:0){h=pZ((c[A>>2]|0)+80|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0;c[(c[(c[p>>2]|0)+316>>2]|0)+28>>2]=h;if(!(c[(c[(c[p>>2]|0)+316>>2]|0)+28>>2]|0)){n=180;break a}c[(c[A>>2]|0)+80+16>>2]=c[(c[A>>2]|0)+80+12>>2];if(c[(c[p>>2]|0)+92>>2]|0){c[c[F>>2]>>2]=c[r>>2];ac[c[(c[p>>2]|0)+92>>2]&15](c[(c[p>>2]|0)+4>>2]|0,c[c[(c[p>>2]|0)+316>>2]>>2]|0,c[(c[(c[p>>2]|0)+316>>2]|0)+20>>2]|0,c[(c[(c[p>>2]|0)+316>>2]|0)+16>>2]|0,c[(c[(c[p>>2]|0)+316>>2]|0)+24>>2]|0,c[(c[(c[p>>2]|0)+316>>2]|0)+28>>2]|0);a[J>>0]=0;break c}if(c[(c[p>>2]|0)+136>>2]|0){c[c[F>>2]>>2]=c[r>>2];fc[c[(c[p>>2]|0)+136>>2]&0](c[(c[p>>2]|0)+4>>2]|0,c[c[(c[p>>2]|0)+316>>2]>>2]|0,0,0,0,c[(c[(c[p>>2]|0)+316>>2]|0)+20>>2]|0,c[(c[(c[p>>2]|0)+316>>2]|0)+16>>2]|0,c[(c[(c[p>>2]|0)+316>>2]|0)+24>>2]|0,c[(c[(c[p>>2]|0)+316>>2]|0)+28>>2]|0);a[J>>0]=0}}break}case 9:{if($b[c[(c[q>>2]|0)+48>>2]&63](c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0){c[(c[p>>2]|0)+316>>2]=0;break c}e=(c[A>>2]|0)+80|0;if(!(a[(c[A>>2]|0)+128>>0]|0)){c[(c[A>>2]|0)+80+12>>2]=c[e+16>>2];c[(c[p>>2]|0)+316>>2]=0;break c}c[N>>2]=pZ(e,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0;if(!(c[N>>2]|0)){n=189;break a}h=qZ(c[p>>2]|0,c[A>>2]|0,c[N>>2]|0,36)|0;c[(c[p>>2]|0)+316>>2]=h;if(!(c[(c[p>>2]|0)+316>>2]|0)){n=191;break a}e=(c[A>>2]|0)+80|0;if((c[c[(c[p>>2]|0)+316>>2]>>2]|0)!=(c[N>>2]|0)){c[(c[A>>2]|0)+80+12>>2]=c[e+16>>2];c[(c[p>>2]|0)+316>>2]=0;break c}c[(c[A>>2]|0)+80+16>>2]=c[e+12>>2];c[(c[(c[p>>2]|0)+316>>2]|0)+24>>2]=0;a[(c[(c[p>>2]|0)+316>>2]|0)+33>>0]=0;if(c[(c[p>>2]|0)+476>>2]|0)e=1;else e=(c[(c[p>>2]|0)+300>>2]|0)!=0;a[(c[(c[p>>2]|0)+316>>2]|0)+34>>0]=(e^1)&1;if(c[(c[p>>2]|0)+136>>2]|0)a[J>>0]=0;break}case 10:{e=(c[A>>2]|0)+80|0;if(!(a[(c[A>>2]|0)+128>>0]|0)){c[(c[A>>2]|0)+80+12>>2]=c[e+16>>2];c[(c[p>>2]|0)+316>>2]=0;break c}c[Q>>2]=pZ(e,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0;if(!(c[Q>>2]|0)){n=201;break a}h=qZ(c[p>>2]|0,(c[A>>2]|0)+132|0,c[Q>>2]|0,36)|0;c[(c[p>>2]|0)+316>>2]=h;if(!(c[(c[p>>2]|0)+316>>2]|0)){n=203;break a}e=(c[A>>2]|0)+80|0;if((c[c[(c[p>>2]|0)+316>>2]>>2]|0)!=(c[Q>>2]|0)){c[(c[A>>2]|0)+80+12>>2]=c[e+16>>2];c[(c[p>>2]|0)+316>>2]=0;break c}c[(c[A>>2]|0)+80+16>>2]=c[e+12>>2];c[(c[(c[p>>2]|0)+316>>2]|0)+24>>2]=0;a[(c[(c[p>>2]|0)+316>>2]|0)+33>>0]=1;if(c[(c[p>>2]|0)+476>>2]|0)e=1;else e=(c[(c[p>>2]|0)+300>>2]|0)!=0;a[(c[(c[p>>2]|0)+316>>2]|0)+34>>0]=(e^1)&1;if(c[(c[p>>2]|0)+136>>2]|0)a[J>>0]=0;break}case 18:{c[(c[p>>2]|0)+340>>2]=0;c[(c[p>>2]|0)+336>>2]=0;if(c[(c[p>>2]|0)+96>>2]|0){h=pZ((c[p>>2]|0)+416|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0;c[(c[p>>2]|0)+336>>2]=h;if(!(c[(c[p>>2]|0)+336>>2]|0)){n=213;break a}c[(c[p>>2]|0)+416+16>>2]=c[(c[p>>2]|0)+416+12>>2];a[J>>0]=0}break}case 21:{if(!(kc[c[(c[q>>2]|0)+56>>2]&127](c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[G>>2]|0)|0)){n=216;break a}if(c[(c[p>>2]|0)+336>>2]|0){c[ea>>2]=pZ((c[p>>2]|0)+416|0,c[q>>2]|0,(c[r>>2]|0)+(c[(c[q>>2]|0)+68>>2]|0)|0,(c[u>>2]|0)+(0-(c[(c[q>>2]|0)+68>>2]|0))|0)|0;if(!(c[ea>>2]|0)){n=219;break a}rZ(c[ea>>2]|0);c[(c[p>>2]|0)+340>>2]=c[ea>>2];c[(c[p>>2]|0)+416+16>>2]=c[(c[p>>2]|0)+416+12>>2];a[J>>0]=0}break}case 19:{if((c[(c[p>>2]|0)+336>>2]|0)!=0?(c[(c[p>>2]|0)+96>>2]|0)!=0:0){c[ca>>2]=pZ((c[p>>2]|0)+416|0,c[q>>2]|0,(c[r>>2]|0)+(c[(c[q>>2]|0)+68>>2]|0)|0,(c[u>>2]|0)+(0-(c[(c[q>>2]|0)+68>>2]|0))|0)|0;if(!(c[ca>>2]|0)){n=224;break a}c[c[F>>2]>>2]=c[r>>2];Ub[c[(c[p>>2]|0)+96>>2]&31](c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+336>>2]|0,c[(c[p>>2]|0)+360>>2]|0,c[ca>>2]|0,c[(c[p>>2]|0)+340>>2]|0);a[J>>0]=0}ZY((c[p>>2]|0)+416|0);break}case 20:{if((c[(c[p>>2]|0)+340>>2]|0)!=0?(c[(c[p>>2]|0)+96>>2]|0)!=0:0){c[c[F>>2]>>2]=c[r>>2];Ub[c[(c[p>>2]|0)+96>>2]&31](c[(c[p>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+336>>2]|0,c[(c[p>>2]|0)+360>>2]|0,0,c[(c[p>>2]|0)+340>>2]|0);a[J>>0]=0}ZY((c[p>>2]|0)+416|0);break}case 58:{if(c[(c[p>>2]|0)+80>>2]|0)gZ(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0);a[J>>0]=0;c[$>>2]=BZ(c[p>>2]|0,c[q>>2]|0,u,c[s>>2]|0,c[v>>2]|0,a[w>>0]|0)|0;if(c[$>>2]|0){n=238;break a}if(!(c[u>>2]|0)){n=240;break a}break}case 44:{do if((c[(c[p>>2]|0)+256+4>>2]|0)>>>0>=(c[(c[p>>2]|0)+468>>2]|0)>>>0){e=(c[p>>2]|0)+12|0;if(!(c[(c[p>>2]|0)+468>>2]|0)){h=c[e>>2]|0;c[(c[p>>2]|0)+468>>2]=32;h=Zb[h&63](32)|0;c[(c[p>>2]|0)+464>>2]=h;if(c[(c[p>>2]|0)+464>>2]|0)break;else{n=250;break a}}b=c[e+4>>2]|0;f=c[(c[p>>2]|0)+464>>2]|0;l=(c[p>>2]|0)+468|0;h=c[l>>2]<<1;c[l>>2]=h;c[fa>>2]=gc[b&127](f,h)|0;if(!(c[fa>>2]|0)){n=244;break a}c[(c[p>>2]|0)+464>>2]=c[fa>>2];if(c[(c[A>>2]|0)+184>>2]|0){c[ga>>2]=gc[c[(c[p>>2]|0)+12+4>>2]&127](c[(c[A>>2]|0)+184>>2]|0,c[(c[p>>2]|0)+468>>2]<<2)|0;if(!(c[ga>>2]|0)){n=247;break a}c[(c[A>>2]|0)+184>>2]=c[ga>>2]}}while(0);a[(c[(c[p>>2]|0)+464>>2]|0)+(c[(c[p>>2]|0)+256+4>>2]|0)>>0]=0;if(a[(c[A>>2]|0)+160>>0]|0){c[L>>2]=DZ(c[p>>2]|0)|0;if((c[L>>2]|0)<0){n=253;break a}c[(c[(c[A>>2]|0)+184>>2]|0)+(c[(c[A>>2]|0)+180>>2]<<2)>>2]=c[L>>2];h=(c[A>>2]|0)+180|0;c[h>>2]=(c[h>>2]|0)+1;c[(c[(c[A>>2]|0)+164>>2]|0)+((c[L>>2]|0)*28|0)>>2]=6;if(c[(c[p>>2]|0)+128>>2]|0)a[J>>0]=0}break}case 50:{if((a[(c[(c[p>>2]|0)+464>>2]|0)+(c[(c[p>>2]|0)+256+4>>2]|0)>>0]|0)==124){n=257;break a}a[(c[(c[p>>2]|0)+464>>2]|0)+(c[(c[p>>2]|0)+256+4>>2]|0)>>0]=44;if((d[(c[A>>2]|0)+160>>0]|0)!=0?(c[(c[p>>2]|0)+128>>2]|0)!=0:0)a[J>>0]=0;break}case 49:{if((a[(c[(c[p>>2]|0)+464>>2]|0)+(c[(c[p>>2]|0)+256+4>>2]|0)>>0]|0)==44){n=262;break a}if((((d[(c[A>>2]|0)+160>>0]|0)!=0?(a[(c[(c[p>>2]|0)+464>>2]|0)+(c[(c[p>>2]|0)+256+4>>2]|0)>>0]|0)==0:0)?(c[(c[(c[A>>2]|0)+164>>2]|0)+((c[(c[(c[A>>2]|0)+184>>2]|0)+((c[(c[A>>2]|0)+180>>2]|0)-1<<2)>>2]|0)*28|0)>>2]|0)!=3:0)?(c[(c[(c[A>>2]|0)+164>>2]|0)+((c[(c[(c[A>>2]|0)+184>>2]|0)+((c[(c[A>>2]|0)+180>>2]|0)-1<<2)>>2]|0)*28|0)>>2]=5,(c[(c[p>>2]|0)+128>>2]|0)!=0):0)a[J>>0]=0;a[(c[(c[p>>2]|0)+464>>2]|0)+(c[(c[p>>2]|0)+256+4>>2]|0)>>0]=124;break}case 59:case 60:{a[(c[A>>2]|0)+129>>0]=1;e=c[A>>2]|0;if(c[(c[p>>2]|0)+492>>2]|0){c[O>>2]=pZ(e+80|0,c[q>>2]|0,(c[r>>2]|0)+(c[(c[q>>2]|0)+68>>2]|0)|0,(c[u>>2]|0)+(0-(c[(c[q>>2]|0)+68>>2]|0))|0)|0;if(!(c[O>>2]|0)){n=272;break a}c[D>>2]=qZ(c[p>>2]|0,(c[A>>2]|0)+132|0,c[O>>2]|0,0)|0;c[(c[A>>2]|0)+80+12>>2]=c[(c[A>>2]|0)+80+16>>2];do if(c[(c[p>>2]|0)+256+16>>2]|0){if(d[(c[A>>2]|0)+130>>0]|0){if(c[(c[p>>2]|0)+300>>2]|0){n=281;break}}else if(a[(c[A>>2]|0)+129>>0]|0){n=281;break}if(!(c[D>>2]|0)){n=278;break a}if(!(a[(c[D>>2]|0)+34>>0]|0)){n=280;break a}}else n=281;while(0);if((n|0)==281?(n=0,(c[D>>2]|0)==0):0){a[(c[A>>2]|0)+128>>0]=a[(c[A>>2]|0)+130>>0]|0;if((c[aa>>2]|0)!=60)break c;if(!(c[(c[p>>2]|0)+120>>2]|0))break c;lc[c[(c[p>>2]|0)+120>>2]&127](c[(c[p>>2]|0)+4>>2]|0,c[O>>2]|0,1);a[J>>0]=0;break c}if(a[(c[D>>2]|0)+32>>0]|0){n=286;break a}if(c[(c[D>>2]|0)+4>>2]|0){a[y>>0]=(c[aa>>2]|0)==60?1:0;c[Y>>2]=EZ(c[p>>2]|0,c[D>>2]|0,a[y>>0]|0)|0;if(c[Y>>2]|0){n=289;break a}a[J>>0]=0;break c}e=c[A>>2]|0;if(!(c[(c[p>>2]|0)+112>>2]|0)){a[(c[A>>2]|0)+128>>0]=a[e+130>>0]|0;break c}a[e+131>>0]=0;a[(c[D>>2]|0)+32>>0]=1;h=(_b[c[(c[p>>2]|0)+112>>2]&63](c[(c[p>>2]|0)+116>>2]|0,0,c[(c[D>>2]|0)+20>>2]|0,c[(c[D>>2]|0)+16>>2]|0,c[(c[D>>2]|0)+24>>2]|0)|0)!=0;a[(c[D>>2]|0)+32>>0]=0;if(!h){n=293;break a}a[J>>0]=0;if(!(a[(c[A>>2]|0)+131>>0]|0)){a[(c[A>>2]|0)+128>>0]=a[(c[A>>2]|0)+130>>0]|0;break c}}else a[(c[A>>2]|0)+128>>0]=a[e+130>>0]|0;if(((a[(c[A>>2]|0)+130>>0]|0)==0?(c[(c[p>>2]|0)+108>>2]|0)!=0:0)?(Zb[c[(c[p>>2]|0)+108>>2]&63](c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){n=300;break a}break}case 40:{if(c[(c[p>>2]|0)+128>>2]|0){h=tZ(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0;c[(c[p>>2]|0)+344>>2]=h;if(!(c[(c[p>>2]|0)+344>>2]|0)){n=303;break a}c[(c[A>>2]|0)+180>>2]=0;c[(c[A>>2]|0)+176>>2]=0;a[(c[A>>2]|0)+160>>0]=1;a[J>>0]=0}break}case 42:case 41:{if(a[(c[A>>2]|0)+160>>0]|0){if(c[(c[p>>2]|0)+128>>2]|0){c[z>>2]=Zb[c[(c[p>>2]|0)+12>>2]&63](20)|0;if(!(c[z>>2]|0)){n=308;break a}c[(c[z>>2]|0)+4>>2]=0;c[(c[z>>2]|0)+8>>2]=0;c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=0;c[c[z>>2]>>2]=(c[aa>>2]|0)==41?2:1;c[c[F>>2]>>2]=c[r>>2];lc[c[(c[p>>2]|0)+128>>2]&127](c[(c[p>>2]|0)+4>>2]|0,c[c[(c[p>>2]|0)+344>>2]>>2]|0,c[z>>2]|0);a[J>>0]=0}a[(c[A>>2]|0)+160>>0]=0}break}case 43:{if((a[(c[A>>2]|0)+160>>0]|0)!=0?(c[(c[(c[A>>2]|0)+164>>2]|0)+((c[(c[(c[A>>2]|0)+184>>2]|0)+((c[(c[A>>2]|0)+180>>2]|0)-1<<2)>>2]|0)*28|0)>>2]=3,(c[(c[p>>2]|0)+128>>2]|0)!=0):0)a[J>>0]=0;break}case 51:{c[V>>2]=0;n=318;break}case 53:{c[V>>2]=1;n=318;break}case 52:{c[V>>2]=2;n=318;break}case 54:{c[V>>2]=3;n=318;break}case 45:{c[V>>2]=0;n=333;break}case 47:{c[V>>2]=1;n=333;break}case 46:{c[V>>2]=2;n=333;break}case 48:{c[V>>2]=3;n=333;break}case 55:{if(!(GZ(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0)){n=343;break a}a[J>>0]=0;break}case 56:{if(!(HZ(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0)){n=346;break a}a[J>>0]=0;break}case 0:{if((c[t>>2]|0)==14)a[J>>0]=0;break}case 3:{if(c[(c[p>>2]|0)+84>>2]|0)a[J>>0]=0;break}case 11:{if((d[(c[A>>2]|0)+128>>0]|0)!=0?(c[(c[p>>2]|0)+136>>2]|0)!=0:0)a[J>>0]=0;break}case 17:{if(c[(c[p>>2]|0)+96>>2]|0)a[J>>0]=0;break}case 33:{if((d[(c[A>>2]|0)+128>>0]|0)!=0?(c[(c[p>>2]|0)+132>>2]|0)!=0:0)a[J>>0]=0;break}case 39:{if(c[(c[p>>2]|0)+128>>2]|0)a[J>>0]=0;break}default:{}}while(0);if((n|0)==44)if(kc[c[(c[q>>2]|0)+56>>2]&127](c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[G>>2]|0)|0)n=46;else{n=45;break}else if((n|0)==101){n=0;if((d[(c[A>>2]|0)+128>>0]|0)!=0?(c[(c[p>>2]|0)+132>>2]|0)!=0:0)a[J>>0]=0}else if((n|0)==167){n=0;if((d[(c[A>>2]|0)+128>>0]|0)!=0?(c[(c[p>>2]|0)+316>>2]|0)!=0:0){h=pZ((c[A>>2]|0)+80|0,c[q>>2]|0,(c[r>>2]|0)+(c[(c[q>>2]|0)+68>>2]|0)|0,(c[u>>2]|0)+(0-(c[(c[q>>2]|0)+68>>2]|0))|0)|0;c[(c[(c[p>>2]|0)+316>>2]|0)+16>>2]=h;if(!(c[(c[(c[p>>2]|0)+316>>2]|0)+16>>2]|0)){n=170;break}c[(c[(c[p>>2]|0)+316>>2]|0)+20>>2]=c[(c[p>>2]|0)+360>>2];c[(c[A>>2]|0)+80+16>>2]=c[(c[A>>2]|0)+80+12>>2];if(c[(c[p>>2]|0)+136>>2]|0)a[J>>0]=0}}else if((n|0)==318){n=0;if(a[(c[A>>2]|0)+160>>0]|0){e=c[u>>2]|0;if(c[V>>2]|0)e=e+(0-(c[(c[q>>2]|0)+68>>2]|0))|0;c[S>>2]=e;c[M>>2]=DZ(c[p>>2]|0)|0;if((c[M>>2]|0)<0){n=322;break}c[(c[(c[A>>2]|0)+164>>2]|0)+((c[M>>2]|0)*28|0)>>2]=4;c[(c[(c[A>>2]|0)+164>>2]|0)+((c[M>>2]|0)*28|0)+4>>2]=c[V>>2];c[B>>2]=tZ(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[S>>2]|0)|0;if(!(c[B>>2]|0)){n=324;break}c[P>>2]=c[c[B>>2]>>2];c[(c[(c[A>>2]|0)+164>>2]|0)+((c[M>>2]|0)*28|0)+8>>2]=c[P>>2];c[R>>2]=0;do{h=c[R>>2]|0;c[R>>2]=h+1}while((a[(c[P>>2]|0)+h>>0]|0)!=0);h=(c[A>>2]|0)+168|0;c[h>>2]=(c[h>>2]|0)+(c[R>>2]|0);if(c[(c[p>>2]|0)+128>>2]|0)a[J>>0]=0}}else if((n|0)==333?(n=0,(a[(c[A>>2]|0)+160>>0]|0)!=0):0){if(c[(c[p>>2]|0)+128>>2]|0)a[J>>0]=0;h=(c[A>>2]|0)+180|0;c[h>>2]=(c[h>>2]|0)+-1;c[(c[(c[A>>2]|0)+164>>2]|0)+((c[(c[(c[A>>2]|0)+184>>2]|0)+(c[(c[A>>2]|0)+180>>2]<<2)>>2]|0)*28|0)+4>>2]=c[V>>2];if(!(c[(c[A>>2]|0)+180>>2]|0)){if(!(a[J>>0]|0)){c[K>>2]=FZ(c[p>>2]|0)|0;if(!(c[K>>2]|0)){n=339;break}c[c[F>>2]>>2]=c[r>>2];lc[c[(c[p>>2]|0)+128>>2]&127](c[(c[p>>2]|0)+4>>2]|0,c[c[(c[p>>2]|0)+344>>2]>>2]|0,c[K>>2]|0)}a[(c[A>>2]|0)+160>>0]=0;c[(c[A>>2]|0)+168>>2]=0}}if(((n|0)==46?(n=0,(d[(c[A>>2]|0)+128>>0]|0)!=0):0)?(c[(c[p>>2]|0)+316>>2]|0)!=0:0){c[da>>2]=pZ((c[A>>2]|0)+80|0,c[q>>2]|0,(c[r>>2]|0)+(c[(c[q>>2]|0)+68>>2]|0)|0,(c[u>>2]|0)+(0-(c[(c[q>>2]|0)+68>>2]|0))|0)|0;if(!(c[da>>2]|0)){n=49;break}rZ(c[da>>2]|0);c[(c[(c[p>>2]|0)+316>>2]|0)+24>>2]=c[da>>2];c[(c[A>>2]|0)+80+16>>2]=c[(c[A>>2]|0)+80+12>>2];if(c[(c[p>>2]|0)+136>>2]|0)a[J>>0]=0}if((d[J>>0]|0)!=0?(c[(c[p>>2]|0)+80>>2]|0)!=0:0)gZ(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0);switch(c[(c[p>>2]|0)+480>>2]|0){case 3:{n=366;break a}case 2:{n=367;break a}default:{}}c[r>>2]=c[u>>2];c[t>>2]=kc[c[c[q>>2]>>2]&127](c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,u)|0}switch(n|0){case 6:{c[c[v>>2]>>2]=c[r>>2];c[o>>2]=0;ga=c[o>>2]|0;i=ha;return ga|0}case 8:{c[c[G>>2]>>2]=c[u>>2];c[o>>2]=4;ga=c[o>>2]|0;i=ha;return ga|0}case 9:{c[o>>2]=5;ga=c[o>>2]|0;i=ha;return ga|0}case 10:{c[o>>2]=6;ga=c[o>>2]|0;i=ha;return ga|0}case 12:{if((c[q>>2]|0)!=(c[(c[p>>2]|0)+144>>2]|0)?(a[(c[(c[p>>2]|0)+300>>2]|0)+20>>0]|0)==0:0){c[c[v>>2]>>2]=c[r>>2];c[o>>2]=0;ga=c[o>>2]|0;i=ha;return ga|0}if((d[(c[p>>2]|0)+488>>0]|0)==0?(c[q>>2]|0)==(c[(c[p>>2]|0)+144>>2]|0):0){c[o>>2]=3;ga=c[o>>2]|0;i=ha;return ga|0}if((_b[c[(c[p>>2]|0)+256>>2]&63]((c[p>>2]|0)+256|0,-4,c[s>>2]|0,c[s>>2]|0,c[q>>2]|0)|0)==-1){c[o>>2]=29;ga=c[o>>2]|0;i=ha;return ga|0}else{c[c[v>>2]>>2]=c[r>>2];c[o>>2]=0;ga=c[o>>2]|0;i=ha;return ga|0}}case 24:{c[o>>2]=c[W>>2];ga=c[o>>2]|0;i=ha;return ga|0}case 28:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 34:{c[o>>2]=c[X>>2];ga=c[o>>2]|0;i=ha;return ga|0}case 37:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 40:{c[o>>2]=32;ga=c[o>>2]|0;i=ha;return ga|0}case 42:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 45:{c[o>>2]=32;ga=c[o>>2]|0;i=ha;return ga|0}case 49:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 59:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 63:{c[o>>2]=21;ga=c[o>>2]|0;i=ha;return ga|0}case 68:{c[o>>2]=22;ga=c[o>>2]|0;i=ha;return ga|0}case 74:{do if(((a[(c[p>>2]|0)+489>>0]|0)!=0?(a[I>>0]=a[(c[A>>2]|0)+129>>0]|0,a[(c[A>>2]|0)+129>>0]=1,(c[(c[p>>2]|0)+492>>2]|0)!=0):0)?(c[(c[p>>2]|0)+112>>2]|0)!=0:0){c[E>>2]=qZ(c[p>>2]|0,(c[A>>2]|0)+132|0,112568,36)|0;if(!(c[E>>2]|0)){c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}c[(c[E>>2]|0)+20>>2]=c[(c[p>>2]|0)+360>>2];a[(c[A>>2]|0)+131>>0]=0;if(!(_b[c[(c[p>>2]|0)+112>>2]&63](c[(c[p>>2]|0)+116>>2]|0,0,c[(c[E>>2]|0)+20>>2]|0,c[(c[E>>2]|0)+16>>2]|0,c[(c[E>>2]|0)+24>>2]|0)|0)){c[o>>2]=21;ga=c[o>>2]|0;i=ha;return ga|0}if(!(a[(c[A>>2]|0)+131>>0]|0)){a[(c[A>>2]|0)+129>>0]=a[I>>0]|0;break}if(((a[(c[A>>2]|0)+130>>0]|0)==0?(c[(c[p>>2]|0)+108>>2]|0)!=0:0)?(Zb[c[(c[p>>2]|0)+108>>2]&63](c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){c[o>>2]=22;ga=c[o>>2]|0;i=ha;return ga|0}}while(0);c[(c[p>>2]|0)+280>>2]=58;c[o>>2]=sZ(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[v>>2]|0)|0;ga=c[o>>2]|0;i=ha;return ga|0}case 89:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 91:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 110:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 112:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 116:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 127:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 131:{c[o>>2]=c[Z>>2];ga=c[o>>2]|0;i=ha;return ga|0}case 133:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 144:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 152:{c[o>>2]=c[_>>2];ga=c[o>>2]|0;i=ha;return ga|0}case 155:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 162:{c[o>>2]=22;ga=c[o>>2]|0;i=ha;return ga|0}case 165:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 170:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 180:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 189:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 191:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 201:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 203:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 213:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 216:{c[o>>2]=32;ga=c[o>>2]|0;i=ha;return ga|0}case 219:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 224:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 231:switch(c[t>>2]|0){case 28:{c[o>>2]=10;ga=c[o>>2]|0;i=ha;return ga|0}case 12:{c[o>>2]=17;ga=c[o>>2]|0;i=ha;return ga|0}default:{c[o>>2]=2;ga=c[o>>2]|0;i=ha;return ga|0}}case 238:{c[o>>2]=c[$>>2];ga=c[o>>2]|0;i=ha;return ga|0}case 240:{c[(c[p>>2]|0)+280>>2]=59;c[o>>2]=c[$>>2];ga=c[o>>2]|0;i=ha;return ga|0}case 244:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 247:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 250:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 253:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 257:{c[o>>2]=2;ga=c[o>>2]|0;i=ha;return ga|0}case 262:{c[o>>2]=2;ga=c[o>>2]|0;i=ha;return ga|0}case 272:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 278:{c[o>>2]=11;ga=c[o>>2]|0;i=ha;return ga|0}case 280:{c[o>>2]=24;ga=c[o>>2]|0;i=ha;return ga|0}case 286:{c[o>>2]=12;ga=c[o>>2]|0;i=ha;return ga|0}case 289:{c[o>>2]=c[Y>>2];ga=c[o>>2]|0;i=ha;return ga|0}case 293:{c[o>>2]=21;ga=c[o>>2]|0;i=ha;return ga|0}case 300:{c[o>>2]=22;ga=c[o>>2]|0;i=ha;return ga|0}case 303:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 308:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 322:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 324:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 339:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 343:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 346:{c[o>>2]=1;ga=c[o>>2]|0;i=ha;return ga|0}case 366:{c[c[v>>2]>>2]=c[u>>2];c[o>>2]=0;ga=c[o>>2]|0;i=ha;return ga|0}case 367:{c[o>>2]=35;ga=c[o>>2]|0;i=ha;return ga|0}}return 0}function oZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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=i;i=i+64|0;if((i|0)>=(j|0))ba();g=u+48|0;h=u+44|0;v=u+40|0;k=u+36|0;l=u+32|0;m=u+28|0;q=u+24|0;n=u+20|0;s=u+16|0;t=u+12|0;r=u+8|0;p=u+4|0;o=u;c[h>>2]=b;c[v>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[q>>2]=0;c[n>>2]=0;c[s>>2]=0;c[r>>2]=0;c[p>>2]=-1;e=(Yb[((a[(c[h>>2]|0)+236>>0]&255|0)!=0?1:2)&3](c[v>>2]|0,c[(c[h>>2]|0)+144>>2]|0,c[k>>2]|0,c[l>>2]|0,(c[h>>2]|0)+288|0,s,t,m,n,p)|0)!=0;d=(c[v>>2]|0)!=0;if(!e)if(d){c[g>>2]=31;v=c[g>>2]|0;i=u;return v|0}else{c[g>>2]=30;v=c[g>>2]|0;i=u;return v|0}if((d^1)&(c[p>>2]|0)==1?(a[(c[(c[h>>2]|0)+356>>2]|0)+130>>0]=1,(c[(c[h>>2]|0)+492>>2]|0)==1):0)c[(c[h>>2]|0)+492>>2]=0;if(!(c[(c[h>>2]|0)+140>>2]|0)){if(c[(c[h>>2]|0)+80>>2]|0)gZ(c[h>>2]|0,c[(c[h>>2]|0)+144>>2]|0,c[k>>2]|0,c[l>>2]|0)}else{do if(c[m>>2]|0){e=(c[h>>2]|0)+440|0;k=c[(c[h>>2]|0)+144>>2]|0;l=c[m>>2]|0;v=c[m>>2]|0;c[q>>2]=pZ(e,k,l,v+(gc[c[(c[(c[h>>2]|0)+144>>2]|0)+32>>2]&127](c[(c[h>>2]|0)+144>>2]|0,c[m>>2]|0)|0)|0)|0;if(c[q>>2]|0){c[(c[h>>2]|0)+440+16>>2]=c[(c[h>>2]|0)+440+12>>2];break}c[g>>2]=1;v=c[g>>2]|0;i=u;return v|0}while(0);if((c[s>>2]|0)!=0?(c[r>>2]=pZ((c[h>>2]|0)+440|0,c[(c[h>>2]|0)+144>>2]|0,c[s>>2]|0,(c[t>>2]|0)+(0-(c[(c[(c[h>>2]|0)+144>>2]|0)+68>>2]|0))|0)|0,(c[r>>2]|0)==0):0){c[g>>2]=1;v=c[g>>2]|0;i=u;return v|0}nc[c[(c[h>>2]|0)+140>>2]&31](c[(c[h>>2]|0)+4>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0)}do if(!(c[(c[h>>2]|0)+232>>2]|0)){if(c[n>>2]|0){if((c[(c[n>>2]|0)+68>>2]|0)==(c[(c[(c[h>>2]|0)+144>>2]|0)+68>>2]|0)){c[(c[h>>2]|0)+144>>2]=c[n>>2];break}c[(c[h>>2]|0)+288>>2]=c[m>>2];c[g>>2]=19;v=c[g>>2]|0;i=u;return v|0}if(c[m>>2]|0){if((c[q>>2]|0)==0?(r=(c[h>>2]|0)+440|0,s=c[(c[h>>2]|0)+144>>2]|0,t=c[m>>2]|0,v=c[m>>2]|0,c[q>>2]=pZ(r,s,t,v+(gc[c[(c[(c[h>>2]|0)+144>>2]|0)+32>>2]&127](c[(c[h>>2]|0)+144>>2]|0,c[m>>2]|0)|0)|0)|0,(c[q>>2]|0)==0):0){c[g>>2]=1;v=c[g>>2]|0;i=u;return v|0}c[o>>2]=YZ(c[h>>2]|0,c[q>>2]|0)|0;ZY((c[h>>2]|0)+440|0);if((c[o>>2]|0)==18)c[(c[h>>2]|0)+288>>2]=c[m>>2];c[g>>2]=c[o>>2];v=c[g>>2]|0;i=u;return v|0}}while(0);if((c[q>>2]|0)!=0|(c[r>>2]|0)!=0)ZY((c[h>>2]|0)+440|0);c[g>>2]=0;v=c[g>>2]|0;i=u;return v|0}function pZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();g=k+16|0;h=k+12|0;n=k+8|0;m=k+4|0;l=k;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;c[l>>2]=f;if(!(wZ(c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0)|0)){c[g>>2]=0;n=c[g>>2]|0;i=k;return n|0}if((c[(c[h>>2]|0)+12>>2]|0)==(c[(c[h>>2]|0)+8>>2]|0)?(yZ(c[h>>2]|0)|0)<<24>>24==0:0){c[g>>2]=0;n=c[g>>2]|0;i=k;return n|0}m=(c[h>>2]|0)+12|0;n=c[m>>2]|0;c[m>>2]=n+1;a[n>>0]=0;c[g>>2]=c[(c[h>>2]|0)+16>>2];n=c[g>>2]|0;i=k;return n|0}function qZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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=i;i=i+64|0;if((i|0)>=(j|0))ba();u=B+56|0;v=B+52|0;w=B+48|0;x=B+44|0;y=B+40|0;z=B+36|0;A=B+32|0;h=B+28|0;l=B+24|0;r=B+61|0;o=B+60|0;p=B+20|0;n=B+16|0;s=B+12|0;q=B+8|0;m=B+4|0;k=B;c[v>>2]=b;c[w>>2]=e;c[x>>2]=f;c[y>>2]=g;a:do if(c[(c[w>>2]|0)+8>>2]|0){c[h>>2]=WZ(c[v>>2]|0,c[x>>2]|0)|0;c[l>>2]=(c[(c[w>>2]|0)+8>>2]|0)-1;a[r>>0]=0;c[z>>2]=c[h>>2]&c[l>>2];while(1){if(!(c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2]|0))break;if((XZ(c[x>>2]|0,c[c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2]>>2]|0)|0)<<24>>24){t=10;break}if(!(a[r>>0]|0))a[r>>0]=(c[h>>2]&~c[l>>2])>>>((d[(c[w>>2]|0)+4>>0]|0)-1|0)&(c[l>>2]|0)>>>2|1;if((c[z>>2]|0)>>>0<(d[r>>0]|0)>>>0){c[z>>2]=(c[z>>2]|0)+((c[(c[w>>2]|0)+8>>2]|0)-(d[r>>0]|0));continue}else{c[z>>2]=(c[z>>2]|0)-(d[r>>0]|0);continue}}if((t|0)==10){c[u>>2]=c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2];A=c[u>>2]|0;i=B;return A|0}if(!(c[y>>2]|0)){c[u>>2]=0;A=c[u>>2]|0;i=B;return A|0}if((c[(c[w>>2]|0)+12>>2]|0)>>>((d[(c[w>>2]|0)+4>>0]|0)-1|0)){a[o>>0]=(d[(c[w>>2]|0)+4>>0]|0)+1;c[p>>2]=1<>0];c[n>>2]=(c[p>>2]|0)-1;c[s>>2]=c[p>>2]<<2;c[q>>2]=Zb[c[c[(c[w>>2]|0)+16>>2]>>2]&63](c[s>>2]|0)|0;if(!(c[q>>2]|0)){c[u>>2]=0;A=c[u>>2]|0;i=B;return A|0}p5(c[q>>2]|0,0,c[s>>2]|0)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>>>0>=(c[(c[w>>2]|0)+8>>2]|0)>>>0)break;if(c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2]|0){c[m>>2]=WZ(c[v>>2]|0,c[c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2]>>2]|0)|0;c[k>>2]=c[m>>2]&c[n>>2];a[r>>0]=0;while(1){if(!(c[(c[q>>2]|0)+(c[k>>2]<<2)>>2]|0))break;if(!(a[r>>0]|0))a[r>>0]=(c[m>>2]&~c[n>>2])>>>((d[o>>0]|0)-1|0)&(c[n>>2]|0)>>>2|1;if((c[k>>2]|0)>>>0<(d[r>>0]|0)>>>0){c[k>>2]=(c[k>>2]|0)+((c[p>>2]|0)-(d[r>>0]|0));continue}else{c[k>>2]=(c[k>>2]|0)-(d[r>>0]|0);continue}}c[(c[q>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2]}c[z>>2]=(c[z>>2]|0)+1}Vb[c[(c[(c[w>>2]|0)+16>>2]|0)+8>>2]&127](c[c[w>>2]>>2]|0);c[c[w>>2]>>2]=c[q>>2];a[(c[w>>2]|0)+4>>0]=a[o>>0]|0;c[(c[w>>2]|0)+8>>2]=c[p>>2];c[z>>2]=c[h>>2]&c[n>>2];a[r>>0]=0;while(1){if(!(c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2]|0))break a;if(!(a[r>>0]|0))a[r>>0]=(c[h>>2]&~c[n>>2])>>>((d[o>>0]|0)-1|0)&(c[n>>2]|0)>>>2|1;if((c[z>>2]|0)>>>0<(d[r>>0]|0)>>>0){c[z>>2]=(c[z>>2]|0)+((c[p>>2]|0)-(d[r>>0]|0));continue}else{c[z>>2]=(c[z>>2]|0)-(d[r>>0]|0);continue}}}}else{if(!(c[y>>2]|0)){c[u>>2]=0;A=c[u>>2]|0;i=B;return A|0}a[(c[w>>2]|0)+4>>0]=6;c[(c[w>>2]|0)+8>>2]=64;c[A>>2]=c[(c[w>>2]|0)+8>>2]<<2;g=Zb[c[c[(c[w>>2]|0)+16>>2]>>2]&63](c[A>>2]|0)|0;c[c[w>>2]>>2]=g;g=c[w>>2]|0;if(c[c[w>>2]>>2]|0){p5(c[g>>2]|0,0,c[A>>2]|0)|0;A=WZ(c[v>>2]|0,c[x>>2]|0)|0;c[z>>2]=A&(c[(c[w>>2]|0)+8>>2]|0)-1;break}c[g+8>>2]=0;c[u>>2]=0;A=c[u>>2]|0;i=B;return A|0}while(0);A=Zb[c[c[(c[w>>2]|0)+16>>2]>>2]&63](c[y>>2]|0)|0;c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2]=A;if(c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2]|0){p5(c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2]|0,0,c[y>>2]|0)|0;c[c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2]>>2]=c[x>>2];A=(c[w>>2]|0)+12|0;c[A>>2]=(c[A>>2]|0)+1;c[u>>2]=c[(c[c[w>>2]>>2]|0)+(c[z>>2]<<2)>>2];A=c[u>>2]|0;i=B;return A|0}else{c[u>>2]=0;A=c[u>>2]|0;i=B;return A|0}return 0}function rZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[d>>2];c[f>>2]=c[d>>2];while(1){if(!(a[c[f>>2]>>0]|0))break;switch(a[c[f>>2]>>0]|0){case 10:case 13:case 32:{if((c[e>>2]|0)!=(c[d>>2]|0)?(a[(c[e>>2]|0)+-1>>0]|0)!=32:0){b=c[e>>2]|0;c[e>>2]=b+1;a[b>>0]=32}break}default:{h=a[c[f>>2]>>0]|0;b=c[e>>2]|0;c[e>>2]=b+1;a[b>>0]=h}}c[f>>2]=(c[f>>2]|0)+1}if((c[e>>2]|0)==(c[d>>2]|0)){h=c[e>>2]|0;a[h>>0]=0;i=g;return}if((a[(c[e>>2]|0)+-1>>0]|0)!=32){h=c[e>>2]|0;a[h>>0]=0;i=g;return}c[e>>2]=(c[e>>2]|0)+-1;h=c[e>>2]|0;a[h>>0]=0;i=g;return}function sZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;o=l+12|0;n=l+8|0;m=l+4|0;k=l;c[h>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=KZ(c[h>>2]|0,0,c[(c[h>>2]|0)+144>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,((a[(c[h>>2]|0)+480+4>>0]|0)!=0^1)&1)|0;if((c[k>>2]|0)==0?(SZ(c[h>>2]|0)|0)<<24>>24==0:0){c[g>>2]=1;o=c[g>>2]|0;i=l;return o|0}c[g>>2]=c[k>>2];o=c[g>>2]|0;i=l;return o|0}function tZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+28|0;g=m+24|0;p=m+20|0;o=m+16|0;n=m+12|0;h=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[h>>2]=c[(c[g>>2]|0)+356>>2];c[k>>2]=pZ((c[h>>2]|0)+80|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;p=c[f>>2]|0;i=m;return p|0}c[l>>2]=qZ(c[g>>2]|0,(c[h>>2]|0)+20|0,c[k>>2]|0,24)|0;if(!(c[l>>2]|0)){c[f>>2]=0;p=c[f>>2]|0;i=m;return p|0}b=(c[h>>2]|0)+80|0;if((c[c[l>>2]>>2]|0)==(c[k>>2]|0)){c[(c[h>>2]|0)+80+16>>2]=c[b+12>>2];if(!(TZ(c[g>>2]|0,c[l>>2]|0)|0)){c[f>>2]=0;p=c[f>>2]|0;i=m;return p|0}}else c[(c[h>>2]|0)+80+12>>2]=c[b+16>>2];c[f>>2]=c[l>>2];p=c[f>>2]|0;i=m;return p|0}function uZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();q=t+36|0;l=t+32|0;g=t+28|0;h=t+24|0;k=t+20|0;r=t+16|0;s=t+12|0;o=t+8|0;m=t+4|0;n=t;c[l>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[r>>2]=c[(c[l>>2]|0)+356>>2];if((c[(c[r>>2]|0)+80+12>>2]|0)==(c[(c[r>>2]|0)+80+8>>2]|0)?(yZ((c[r>>2]|0)+80|0)|0)<<24>>24==0:0){c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}b=(c[r>>2]|0)+80+12|0;e=c[b>>2]|0;c[b>>2]=e+1;a[e>>0]=0;c[o>>2]=pZ((c[r>>2]|0)+80|0,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;if(!(c[o>>2]|0)){c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}c[o>>2]=(c[o>>2]|0)+1;c[s>>2]=qZ(c[l>>2]|0,(c[r>>2]|0)+40|0,c[o>>2]|0,12)|0;if(!(c[s>>2]|0)){c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}g=(c[r>>2]|0)+80|0;a:do if((c[c[s>>2]>>2]|0)==(c[o>>2]|0)){c[(c[r>>2]|0)+80+16>>2]=c[g+12>>2];if(a[(c[l>>2]|0)+236>>0]|0){do if(((((a[c[o>>2]>>0]|0)==120?(a[(c[o>>2]|0)+1>>0]|0)==109:0)?(a[(c[o>>2]|0)+2>>0]|0)==108:0)?(a[(c[o>>2]|0)+3>>0]|0)==110:0)?(a[(c[o>>2]|0)+4>>0]|0)==115:0){if((a[(c[o>>2]|0)+5>>0]|0)!=0?(a[(c[o>>2]|0)+5>>0]|0)!=58:0)break;if(!(a[(c[o>>2]|0)+5>>0]|0))c[(c[s>>2]|0)+4>>2]=(c[r>>2]|0)+152;else{r=qZ(c[l>>2]|0,(c[r>>2]|0)+60|0,(c[o>>2]|0)+6|0,8)|0;c[(c[s>>2]|0)+4>>2]=r}a[(c[s>>2]|0)+9>>0]=1;break a}while(0);c[m>>2]=0;while(1){if(!(a[(c[o>>2]|0)+(c[m>>2]|0)>>0]|0))break a;if((a[(c[o>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=0;while(1){g=(c[(c[r>>2]|0)+80+12>>2]|0)==(c[(c[r>>2]|0)+80+8>>2]|0);if((c[n>>2]|0)>=(c[m>>2]|0))break;if(g?(yZ((c[r>>2]|0)+80|0)|0)<<24>>24==0:0){p=30;break}b=a[(c[o>>2]|0)+(c[n>>2]|0)>>0]|0;f=(c[r>>2]|0)+80+12|0;e=c[f>>2]|0;c[f>>2]=e+1;a[e>>0]=b;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==30){c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}if(g?(yZ((c[r>>2]|0)+80|0)|0)<<24>>24==0:0){c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}p=(c[r>>2]|0)+80+12|0;g=c[p>>2]|0;c[p>>2]=g+1;a[g>>0]=0;g=qZ(c[l>>2]|0,(c[r>>2]|0)+60|0,c[(c[r>>2]|0)+80+16>>2]|0,8)|0;c[(c[s>>2]|0)+4>>2]=g;g=(c[r>>2]|0)+80|0;if((c[c[(c[s>>2]|0)+4>>2]>>2]|0)==(c[(c[r>>2]|0)+80+16>>2]|0)){c[(c[r>>2]|0)+80+16>>2]=c[g+12>>2];break}else{c[(c[r>>2]|0)+80+12>>2]=c[g+16>>2];break}}}else c[(c[r>>2]|0)+80+12>>2]=c[g+16>>2];while(0);c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}function vZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=d;while(1){b=c[e>>2]|0;if(!(a[c[f>>2]>>0]|0)){d=7;break}if((c[b+12>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)?(yZ(c[e>>2]|0)|0)<<24>>24==0:0){d=6;break}d=a[c[f>>2]>>0]|0;k=(c[e>>2]|0)+12|0;b=c[k>>2]|0;c[k>>2]=b+1;a[b>>0]=d;c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}else if((d|0)==7){c[g>>2]=c[b+16>>2];k=c[g>>2]|0;i=h;return k|0}return 0}function wZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if((c[(c[f>>2]|0)+12>>2]|0)==0?(yZ(c[f>>2]|0)|0)<<24>>24==0:0){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}while(1){Ub[c[(c[g>>2]|0)+60>>2]&31](c[g>>2]|0,h,c[k>>2]|0,(c[f>>2]|0)+12|0,c[(c[f>>2]|0)+8>>2]|0);b=c[f>>2]|0;if((c[h>>2]|0)==(c[k>>2]|0)){e=7;break}if(!((yZ(b)|0)<<24>>24)){e=6;break}}if((e|0)==6){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}else if((e|0)==7){c[l>>2]=c[b+16>>2];l=c[l>>2]|0;i=m;return l|0}return 0}function xZ(b,e,f,g,h,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;x=i;i=i+48|0;if((i|0)>=(j|0))ba();o=x+32|0;p=x+28|0;q=x+24|0;r=x+37|0;l=x+36|0;s=x+20|0;t=x+16|0;u=x+12|0;m=x+8|0;w=x+4|0;v=x;c[p>>2]=b;c[q>>2]=e;a[r>>0]=f;a[l>>0]=g;c[s>>2]=h;c[t>>2]=k;if(!((c[s>>2]|0)==0?(d[l>>0]|0)==0:0)){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[p>>2]|0)+12>>2]|0))break;if((c[q>>2]|0)==(c[(c[(c[p>>2]|0)+20>>2]|0)+((c[m>>2]|0)*12|0)>>2]|0)){n=6;break}c[m>>2]=(c[m>>2]|0)+1}if((n|0)==6){c[o>>2]=1;w=c[o>>2]|0;i=x;return w|0}if(((d[l>>0]|0)!=0?(c[(c[p>>2]|0)+8>>2]|0)==0:0)?(a[(c[q>>2]|0)+9>>0]|0)==0:0)c[(c[p>>2]|0)+8>>2]=c[q>>2]}do if((c[(c[p>>2]|0)+12>>2]|0)==(c[(c[p>>2]|0)+16>>2]|0)){l=(c[p>>2]|0)+16|0;if(!(c[(c[p>>2]|0)+16>>2]|0)){c[l>>2]=8;w=Zb[c[(c[t>>2]|0)+12>>2]&63]((c[(c[p>>2]|0)+16>>2]|0)*12|0)|0;c[(c[p>>2]|0)+20>>2]=w;if(c[(c[p>>2]|0)+20>>2]|0)break;c[o>>2]=0;w=c[o>>2]|0;i=x;return w|0}c[v>>2]=c[l>>2]<<1;c[w>>2]=gc[c[(c[t>>2]|0)+12+4>>2]&127](c[(c[p>>2]|0)+20>>2]|0,(c[v>>2]|0)*12|0)|0;if(c[w>>2]|0){c[(c[p>>2]|0)+16>>2]=c[v>>2];c[(c[p>>2]|0)+20>>2]=c[w>>2];break}c[o>>2]=0;w=c[o>>2]|0;i=x;return w|0}while(0);c[u>>2]=(c[(c[p>>2]|0)+20>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*12|0);c[c[u>>2]>>2]=c[q>>2];c[(c[u>>2]|0)+8>>2]=c[s>>2];a[(c[u>>2]|0)+4>>0]=a[r>>0]|0;if(!(a[r>>0]|0))a[(c[q>>2]|0)+8>>0]=1;w=(c[p>>2]|0)+12|0;c[w>>2]=(c[w>>2]|0)+1;c[o>>2]=1;w=c[o>>2]|0;i=x;return w|0}function yZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();d=n+24|0;e=n+20|0;h=n+16|0;f=n+12|0;l=n+8|0;k=n+4|0;g=n;c[e>>2]=b;if(c[(c[e>>2]|0)+4>>2]|0){b=c[e>>2]|0;if(!(c[(c[e>>2]|0)+16>>2]|0)){c[c[e>>2]>>2]=c[b+4>>2];c[(c[e>>2]|0)+4>>2]=c[c[(c[e>>2]|0)+4>>2]>>2];c[c[c[e>>2]>>2]>>2]=0;c[(c[e>>2]|0)+16>>2]=(c[c[e>>2]>>2]|0)+8;c[(c[e>>2]|0)+8>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[(c[c[e>>2]>>2]|0)+4>>2]|0);c[(c[e>>2]|0)+12>>2]=c[(c[e>>2]|0)+16>>2];a[d>>0]=1;m=a[d>>0]|0;i=n;return m|0}if(((c[b+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0)<(c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]|0)){c[h>>2]=c[c[(c[e>>2]|0)+4>>2]>>2];c[c[(c[e>>2]|0)+4>>2]>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[h>>2];n5((c[c[e>>2]>>2]|0)+8|0,c[(c[e>>2]|0)+16>>2]|0,(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0)|0;c[(c[e>>2]|0)+12>>2]=(c[c[e>>2]>>2]|0)+8+((c[(c[e>>2]|0)+12>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0));c[(c[e>>2]|0)+16>>2]=(c[c[e>>2]>>2]|0)+8;c[(c[e>>2]|0)+8>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[(c[c[e>>2]>>2]|0)+4>>2]|0);a[d>>0]=1;m=a[d>>0]|0;i=n;return m|0}}do if((c[c[e>>2]>>2]|0)!=0?(c[(c[e>>2]|0)+16>>2]|0)==((c[c[e>>2]>>2]|0)+8|0):0){c[f>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)<<1;c[l>>2]=gc[c[(c[(c[e>>2]|0)+20>>2]|0)+4>>2]&127](c[c[e>>2]>>2]|0,8+(c[f>>2]|0)|0)|0;if(c[l>>2]|0){c[c[e>>2]>>2]=c[l>>2];c[(c[c[e>>2]>>2]|0)+4>>2]=c[f>>2];c[(c[e>>2]|0)+12>>2]=(c[c[e>>2]>>2]|0)+8+((c[(c[e>>2]|0)+12>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0));c[(c[e>>2]|0)+16>>2]=(c[c[e>>2]>>2]|0)+8;c[(c[e>>2]|0)+8>>2]=(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]|0);break}a[d>>0]=0;m=a[d>>0]|0;i=n;return m|0}else m=11;while(0);if((m|0)==11){c[g>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);if((c[g>>2]|0)<1024)c[g>>2]=1024;else c[g>>2]=c[g>>2]<<1;c[k>>2]=Zb[c[c[(c[e>>2]|0)+20>>2]>>2]&63](8+(c[g>>2]|0)|0)|0;if(!(c[k>>2]|0)){a[d>>0]=0;m=a[d>>0]|0;i=n;return m|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];c[c[k>>2]>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[k>>2];if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[e>>2]|0)+16>>2]|0))n5((c[k>>2]|0)+8|0,c[(c[e>>2]|0)+16>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0)|0;c[(c[e>>2]|0)+12>>2]=(c[k>>2]|0)+8+((c[(c[e>>2]|0)+12>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0));c[(c[e>>2]|0)+16>>2]=(c[k>>2]|0)+8;c[(c[e>>2]|0)+8>>2]=(c[k>>2]|0)+8+(c[g>>2]|0)}a[d>>0]=1;m=a[d>>0]|0;i=n;return m|0}function zZ(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 k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+24|0;s=o+20|0;r=o+16|0;l=o+28|0;q=o+12|0;p=o+8|0;m=o+4|0;n=o;c[s>>2]=b;c[r>>2]=d;a[l>>0]=e;c[q>>2]=f;c[p>>2]=g;c[m>>2]=h;c[n>>2]=VZ(c[s>>2]|0,c[r>>2]|0,a[l>>0]|0,c[q>>2]|0,c[p>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){c[k>>2]=c[n>>2];s=c[k>>2]|0;i=o;return s|0}if(((a[l>>0]|0)==0?((c[(c[m>>2]|0)+12>>2]|0)-(c[(c[m>>2]|0)+16>>2]|0)|0)!=0:0)?(a[(c[(c[m>>2]|0)+12>>2]|0)+-1>>0]|0)==32:0){s=(c[m>>2]|0)+12|0;c[s>>2]=(c[s>>2]|0)+-1}if((c[(c[m>>2]|0)+12>>2]|0)==(c[(c[m>>2]|0)+8>>2]|0)?(yZ(c[m>>2]|0)|0)<<24>>24==0:0){c[k>>2]=1;s=c[k>>2]|0;i=o;return s|0}r=(c[m>>2]|0)+12|0;s=c[r>>2]|0;c[r>>2]=s+1;a[s>>0]=0;c[k>>2]=0;s=c[k>>2]|0;i=o;return s|0}function AZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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;A=i;i=i+64|0;if((i|0)>=(j|0))ba();h=A+56|0;k=A+52|0;l=A+48|0;m=A+44|0;n=A+40|0;p=A+36|0;w=A+32|0;x=A+28|0;v=A+24|0;u=A+20|0;y=A+16|0;t=A+12|0;q=A+8|0;o=A+60|0;r=A+4|0;s=A;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=c[(c[k>>2]|0)+356>>2];c[w>>2]=(c[p>>2]|0)+104;c[x>>2]=0;c[v>>2]=c[(c[k>>2]|0)+256+20>>2];c[(c[k>>2]|0)+256+20>>2]=1;if((c[c[w>>2]>>2]|0)==0?(yZ(c[w>>2]|0)|0)<<24>>24==0:0){c[h>>2]=1;z=c[h>>2]|0;i=A;return z|0}a:while(1){c[y>>2]=kc[c[(c[l>>2]|0)+16+4>>2]&127](c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,u)|0;b:do switch(c[y>>2]|0){case -4:{z=24;break a}case -1:{z=46;break a}case 0:{z=49;break a}case 28:{if((d[(c[k>>2]|0)+488>>0]|0)==0?(c[l>>2]|0)==(c[(c[k>>2]|0)+144>>2]|0):0){z=23;break a}c[t>>2]=pZ((c[k>>2]|0)+416|0,c[l>>2]|0,(c[m>>2]|0)+(c[(c[l>>2]|0)+68>>2]|0)|0,(c[u>>2]|0)+(0-(c[(c[l>>2]|0)+68>>2]|0))|0)|0;if(!(c[t>>2]|0)){z=8;break a}c[q>>2]=qZ(c[k>>2]|0,(c[p>>2]|0)+132|0,c[t>>2]|0,0)|0;c[(c[k>>2]|0)+416+12>>2]=c[(c[k>>2]|0)+416+16>>2];if(!(c[q>>2]|0)){z=10;break a}if(a[(c[q>>2]|0)+32>>0]|0){z=12;break a}if(!(c[(c[q>>2]|0)+16>>2]|0)){a[(c[q>>2]|0)+32>>0]=1;c[x>>2]=AZ(c[k>>2]|0,c[(c[k>>2]|0)+228>>2]|0,c[(c[q>>2]|0)+4>>2]|0,(c[(c[q>>2]|0)+4>>2]|0)+(c[(c[q>>2]|0)+8>>2]|0)|0)|0;a[(c[q>>2]|0)+32>>0]=0;if(c[x>>2]|0)break a;else break b}e=c[p>>2]|0;if(!(c[(c[k>>2]|0)+112>>2]|0)){a[(c[p>>2]|0)+128>>0]=a[e+130>>0]|0;break b}a[e+131>>0]=0;a[(c[q>>2]|0)+32>>0]=1;b=(_b[c[(c[k>>2]|0)+112>>2]&63](c[(c[k>>2]|0)+116>>2]|0,0,c[(c[q>>2]|0)+20>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[(c[q>>2]|0)+24>>2]|0)|0)!=0;a[(c[q>>2]|0)+32>>0]=0;if(!b){z=18;break a}if(!(a[(c[p>>2]|0)+131>>0]|0))a[(c[p>>2]|0)+128>>0]=a[(c[p>>2]|0)+130>>0]|0;break}case 6:case 9:{if(!(wZ(c[w>>2]|0,c[l>>2]|0,c[m>>2]|0,c[u>>2]|0)|0)){z=26;break a}break}case -3:{c[u>>2]=(c[m>>2]|0)+(c[(c[l>>2]|0)+68>>2]|0);z=28;break}case 7:{z=28;break}case 10:{c[s>>2]=gc[c[(c[l>>2]|0)+44>>2]&127](c[l>>2]|0,c[m>>2]|0)|0;if((c[s>>2]|0)<0){z=33;break a}c[s>>2]=b_(c[s>>2]|0,o)|0;if(!(c[s>>2]|0)){z=37;break a}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[s>>2]|0))break b;if((c[(c[w>>2]|0)+8>>2]|0)==(c[(c[w>>2]|0)+12>>2]|0)?(yZ(c[w>>2]|0)|0)<<24>>24==0:0){z=44;break a}f=a[o+(c[r>>2]|0)>>0]|0;g=(c[w>>2]|0)+12|0;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=f;c[r>>2]=(c[r>>2]|0)+1}}default:{z=52;break a}}while(0);if((z|0)==28){z=0;if((c[(c[w>>2]|0)+8>>2]|0)==(c[(c[w>>2]|0)+12>>2]|0)?(yZ(c[w>>2]|0)|0)<<24>>24==0:0){z=30;break}f=(c[w>>2]|0)+12|0;b=c[f>>2]|0;c[f>>2]=b+1;a[b>>0]=10}c[m>>2]=c[u>>2]}switch(z|0){case 8:{c[x>>2]=1;break}case 10:{a[(c[p>>2]|0)+128>>0]=a[(c[p>>2]|0)+130>>0]|0;break}case 12:{if((c[l>>2]|0)==(c[(c[k>>2]|0)+144>>2]|0))c[(c[k>>2]|0)+288>>2]=c[m>>2];c[x>>2]=12;break}case 18:{c[x>>2]=21;break}case 23:{c[(c[k>>2]|0)+288>>2]=c[m>>2];c[x>>2]=10;break}case 24:{c[x>>2]=0;break}case 26:{c[x>>2]=1;break}case 30:{c[x>>2]=1;break}case 33:{if((c[l>>2]|0)==(c[(c[k>>2]|0)+144>>2]|0))c[(c[k>>2]|0)+288>>2]=c[m>>2];c[x>>2]=14;break}case 37:{if((c[l>>2]|0)==(c[(c[k>>2]|0)+144>>2]|0))c[(c[k>>2]|0)+288>>2]=c[m>>2];c[x>>2]=14;break}case 44:{c[x>>2]=1;break}case 46:{if((c[l>>2]|0)==(c[(c[k>>2]|0)+144>>2]|0))c[(c[k>>2]|0)+288>>2]=c[m>>2];c[x>>2]=4;break}case 49:{if((c[l>>2]|0)==(c[(c[k>>2]|0)+144>>2]|0))c[(c[k>>2]|0)+288>>2]=c[u>>2];c[x>>2]=4;break}case 52:{if((c[l>>2]|0)==(c[(c[k>>2]|0)+144>>2]|0))c[(c[k>>2]|0)+288>>2]=c[m>>2];c[x>>2]=23;break}}c[(c[k>>2]|0)+256+20>>2]=c[v>>2];c[h>>2]=c[x>>2];z=c[h>>2]|0;i=A;return z|0}function BZ(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 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;w=i;i=i+48|0;if((i|0)>=(j|0))ba();k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;q=w+44|0;t=w+16|0;v=w+12|0;u=w+8|0;s=w+4|0;r=w;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[u>>2]=c[c[n>>2]>>2];d=c[l>>2]|0;if((c[m>>2]|0)==(c[(c[l>>2]|0)+144>>2]|0)){c[s>>2]=d+288;c[c[s>>2]>>2]=c[u>>2];c[r>>2]=(c[l>>2]|0)+292}else{c[s>>2]=c[d+300>>2];c[r>>2]=(c[(c[l>>2]|0)+300>>2]|0)+4}c[c[s>>2]>>2]=c[u>>2];c[c[n>>2]>>2]=0;c[v>>2]=kc[c[(c[m>>2]|0)+12>>2]&127](c[m>>2]|0,c[u>>2]|0,c[o>>2]|0,t)|0;c[c[r>>2]>>2]=c[t>>2];switch(c[v>>2]|0){case 42:{if(c[(c[l>>2]|0)+80>>2]|0)gZ(c[l>>2]|0,c[m>>2]|0,c[u>>2]|0,c[t>>2]|0);c[c[n>>2]>>2]=c[t>>2];c[c[p>>2]>>2]=c[t>>2];if((c[(c[l>>2]|0)+480>>2]|0)==2){c[k>>2]=35;v=c[k>>2]|0;i=w;return v|0}else{c[k>>2]=0;v=c[k>>2]|0;i=w;return v|0}}case 0:{c[c[s>>2]>>2]=c[t>>2];c[k>>2]=4;v=c[k>>2]|0;i=w;return v|0}case -2:if(a[q>>0]|0){c[c[p>>2]>>2]=c[u>>2];c[k>>2]=0;v=c[k>>2]|0;i=w;return v|0}else{c[k>>2]=6;v=c[k>>2]|0;i=w;return v|0}case -4:case -1:if(a[q>>0]|0){c[c[p>>2]>>2]=c[u>>2];c[k>>2]=0;v=c[k>>2]|0;i=w;return v|0}else{c[k>>2]=2;v=c[k>>2]|0;i=w;return v|0}default:{c[c[s>>2]>>2]=c[t>>2];c[k>>2]=23;v=c[k>>2]|0;i=w;return v|0}}return 0}function CZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=BZ(c[h>>2]|0,c[(c[h>>2]|0)+144>>2]|0,k,c[l>>2]|0,c[m>>2]|0,((a[(c[h>>2]|0)+480+4>>0]|0)!=0^1)&1)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];d=c[g>>2]|0;i=o;return d|0}if(c[k>>2]|0){c[(c[h>>2]|0)+280>>2]=60;c[g>>2]=mZ(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;d=c[g>>2]|0;i=o;return d|0}else{c[g>>2]=c[n>>2];d=c[g>>2]|0;i=o;return d|0}return 0}function DZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+24|0;b=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;k=l+4|0;h=l;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+356>>2];do if(!(c[(c[e>>2]|0)+184>>2]|0)){a=Zb[c[(c[b>>2]|0)+12>>2]&63](c[(c[b>>2]|0)+468>>2]<<2)|0;c[(c[e>>2]|0)+184>>2]=a;if(c[(c[e>>2]|0)+184>>2]|0){c[c[(c[e>>2]|0)+184>>2]>>2]=0;break}c[d>>2]=-1;k=c[d>>2]|0;i=l;return k|0}while(0);if((c[(c[e>>2]|0)+176>>2]|0)>>>0>=(c[(c[e>>2]|0)+172>>2]|0)>>>0){b=(c[b>>2]|0)+12|0;do if(c[(c[e>>2]|0)+164>>2]|0){c[k>>2]=gc[c[b+4>>2]&127](c[(c[e>>2]|0)+164>>2]|0,(c[(c[e>>2]|0)+172>>2]<<1)*28|0)|0;if(c[k>>2]|0){a=(c[e>>2]|0)+172|0;c[a>>2]=c[a>>2]<<1;break}c[d>>2]=-1;k=c[d>>2]|0;i=l;return k|0}else{c[k>>2]=Zb[c[b>>2]&63](896)|0;if(c[k>>2]|0){c[(c[e>>2]|0)+172>>2]=32;break}c[d>>2]=-1;k=c[d>>2]|0;i=l;return k|0}while(0);c[(c[e>>2]|0)+164>>2]=c[k>>2]}a=(c[e>>2]|0)+176|0;k=c[a>>2]|0;c[a>>2]=k+1;c[g>>2]=k;c[f>>2]=(c[(c[e>>2]|0)+164>>2]|0)+((c[g>>2]|0)*28|0);if(c[(c[e>>2]|0)+180>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+164>>2]|0)+((c[(c[(c[e>>2]|0)+184>>2]|0)+((c[(c[e>>2]|0)+180>>2]|0)-1<<2)>>2]|0)*28|0);if(c[(c[h>>2]|0)+16>>2]|0)c[(c[(c[e>>2]|0)+164>>2]|0)+((c[(c[h>>2]|0)+16>>2]|0)*28|0)+24>>2]=c[g>>2];if(!(c[(c[h>>2]|0)+20>>2]|0))c[(c[h>>2]|0)+12>>2]=c[g>>2];c[(c[h>>2]|0)+16>>2]=c[g>>2];k=(c[h>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+1}c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[d>>2]=c[g>>2];k=c[d>>2]|0;i=l;return k|0}function EZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();g=r+32|0;h=r+28|0;k=r+24|0;f=r+36|0;p=r+20|0;o=r+16|0;l=r+12|0;n=r+8|0;m=r+4|0;q=r;c[h>>2]=b;c[k>>2]=d;a[f>>0]=e;e=c[h>>2]|0;if(!(c[(c[h>>2]|0)+304>>2]|0)){c[m>>2]=Zb[c[e+12>>2]&63](24)|0;if(!(c[m>>2]|0)){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}}else{c[m>>2]=c[e+304>>2];c[(c[h>>2]|0)+304>>2]=c[(c[m>>2]|0)+8>>2]}a[(c[k>>2]|0)+32>>0]=1;c[(c[k>>2]|0)+12>>2]=0;c[(c[m>>2]|0)+8>>2]=c[(c[h>>2]|0)+300>>2];c[(c[h>>2]|0)+300>>2]=c[m>>2];c[(c[m>>2]|0)+12>>2]=c[k>>2];c[(c[m>>2]|0)+16>>2]=c[(c[h>>2]|0)+312>>2];a[(c[m>>2]|0)+20>>0]=a[f>>0]|0;c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=0;c[p>>2]=c[(c[k>>2]|0)+4>>2];c[o>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0);e=c[h>>2]|0;if(a[(c[k>>2]|0)+33>>0]|0){c[q>>2]=kc[c[c[e+228>>2]>>2]&127](c[(c[h>>2]|0)+228>>2]|0,c[p>>2]|0,c[o>>2]|0,l)|0;c[n>>2]=nZ(c[h>>2]|0,c[(c[h>>2]|0)+228>>2]|0,c[p>>2]|0,c[o>>2]|0,c[q>>2]|0,c[l>>2]|0,l,0)|0}else c[n>>2]=KZ(e,c[(c[h>>2]|0)+312>>2]|0,c[(c[h>>2]|0)+228>>2]|0,c[p>>2]|0,c[o>>2]|0,l,0)|0;do if(!(c[n>>2]|0)){if((c[o>>2]|0)!=(c[l>>2]|0)?(c[(c[h>>2]|0)+480>>2]|0)==3:0){c[(c[k>>2]|0)+12>>2]=(c[l>>2]|0)-(c[p>>2]|0);c[(c[h>>2]|0)+280>>2]=61;break}a[(c[k>>2]|0)+32>>0]=0;c[(c[h>>2]|0)+300>>2]=c[(c[m>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=c[(c[h>>2]|0)+304>>2];c[(c[h>>2]|0)+304>>2]=c[m>>2]}while(0);c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function FZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();b=k+24|0;d=k+20|0;f=k+16|0;g=k+12|0;e=k+8|0;h=k+4|0;l=k;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+356>>2];c[l>>2]=((c[(c[f>>2]|0)+176>>2]|0)*20|0)+(c[(c[f>>2]|0)+168>>2]|0);c[g>>2]=Zb[c[(c[d>>2]|0)+12>>2]&63](c[l>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=(c[g>>2]|0)+((c[(c[f>>2]|0)+176>>2]|0)*20|0);c[e>>2]=(c[g>>2]|0)+20;JZ(c[d>>2]|0,0,c[g>>2]|0,e,h);c[b>>2]=c[g>>2];l=c[b>>2]|0;i=k;return l|0}else{c[b>>2]=0;l=c[b>>2]|0;i=k;return l|0}return 0}function GZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;o=p;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[(c[g>>2]|0)+64>>2]|0)){if(c[(c[g>>2]|0)+80>>2]|0)gZ(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}c[k>>2]=(c[k>>2]|0)+(c[(c[h>>2]|0)+68>>2]<<1);d=c[k>>2]|0;c[o>>2]=d+(gc[c[(c[h>>2]|0)+32>>2]&127](c[h>>2]|0,c[k>>2]|0)|0);c[n>>2]=pZ((c[g>>2]|0)+416|0,c[h>>2]|0,c[k>>2]|0,c[o>>2]|0)|0;if(!(c[n>>2]|0)){c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}c[(c[g>>2]|0)+416+16>>2]=c[(c[g>>2]|0)+416+12>>2];a=(c[g>>2]|0)+416|0;d=c[h>>2]|0;o=gc[c[(c[h>>2]|0)+36>>2]&127](c[h>>2]|0,c[o>>2]|0)|0;c[m>>2]=pZ(a,d,o,(c[l>>2]|0)+(0-(c[(c[h>>2]|0)+68>>2]<<1))|0)|0;if(c[m>>2]|0){IZ(c[m>>2]|0);lc[c[(c[g>>2]|0)+64>>2]&127](c[(c[g>>2]|0)+4>>2]|0,c[n>>2]|0,c[m>>2]|0);ZY((c[g>>2]|0)+416|0);c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}else{c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}return 0}function HZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;b=c[g>>2]|0;if(!(c[(c[g>>2]|0)+68>>2]|0)){if(c[b+80>>2]|0)gZ(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[m>>2]=pZ(b+416|0,c[h>>2]|0,(c[k>>2]|0)+(c[(c[h>>2]|0)+68>>2]<<2)|0,(c[l>>2]|0)+(0-((c[(c[h>>2]|0)+68>>2]|0)*3|0))|0)|0;if(c[m>>2]|0){IZ(c[m>>2]|0);Xb[c[(c[g>>2]|0)+68>>2]&31](c[(c[g>>2]|0)+4>>2]|0,c[m>>2]|0);ZY((c[g>>2]|0)+416|0);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}else{c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function IZ(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+4|0;e=g;c[d>>2]=b;while(1){if(!(a[c[d>>2]>>0]|0)){f=12;break}b=c[d>>2]|0;if((a[c[d>>2]>>0]|0)==13)break;c[d>>2]=b+1}if((f|0)==12){i=g;return}c[e>>2]=b;do if((a[c[d>>2]>>0]|0)==13){f=c[e>>2]|0;c[e>>2]=f+1;a[f>>0]=10;f=(c[d>>2]|0)+1|0;c[d>>2]=f;if((a[f>>0]|0)==10)c[d>>2]=(c[d>>2]|0)+1}else{b=c[d>>2]|0;c[d>>2]=b+1;b=a[b>>0]|0;f=c[e>>2]|0;c[e>>2]=f+1;a[f>>0]=b}while((a[c[d>>2]>>0]|0)!=0);a[c[e>>2]>>0]=0;i=g;return}function JZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();h=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;p=s+12|0;r=s+8|0;q=s+4|0;o=s;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=c[(c[h>>2]|0)+356>>2];c[c[l>>2]>>2]=c[(c[(c[p>>2]|0)+164>>2]|0)+((c[k>>2]|0)*28|0)>>2];c[(c[l>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+164>>2]|0)+((c[k>>2]|0)*28|0)+4>>2];if((c[c[l>>2]>>2]|0)==4){c[(c[l>>2]|0)+8>>2]=c[c[n>>2]>>2];c[r>>2]=c[(c[(c[p>>2]|0)+164>>2]|0)+((c[k>>2]|0)*28|0)+8>>2];while(1){d=a[c[r>>2]>>0]|0;b=c[n>>2]|0;g=c[b>>2]|0;c[b>>2]=g+1;a[g>>0]=d;if(!(a[c[r>>2]>>0]|0))break;c[r>>2]=(c[r>>2]|0)+1}c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;i=s;return}else{c[(c[l>>2]|0)+12>>2]=c[(c[(c[p>>2]|0)+164>>2]|0)+((c[k>>2]|0)*28|0)+20>>2];c[(c[l>>2]|0)+16>>2]=c[c[m>>2]>>2];g=c[m>>2]|0;c[g>>2]=(c[g>>2]|0)+((c[(c[l>>2]|0)+12>>2]|0)*20|0);c[q>>2]=0;c[o>>2]=c[(c[(c[p>>2]|0)+164>>2]|0)+((c[k>>2]|0)*28|0)+12>>2];while(1){if((c[q>>2]|0)>>>0>=(c[(c[l>>2]|0)+12>>2]|0)>>>0)break;JZ(c[h>>2]|0,c[o>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+((c[q>>2]|0)*20|0)|0,c[m>>2]|0,c[n>>2]|0);c[q>>2]=(c[q>>2]|0)+1;c[o>>2]=c[(c[(c[p>>2]|0)+164>>2]|0)+((c[o>>2]|0)*28|0)+24>>2]}c[(c[l>>2]|0)+8>>2]=0;i=s;return}}function KZ(b,e,f,g,h,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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=0,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,ca=0,da=0,ea=0,fa=0,ga=0;ga=i;i=i+208|0;if((i|0)>=(j|0))ba();aa=ga+184|0;ca=ga+180|0;da=ga+176|0;Y=ga+172|0;Z=ga+168|0;_=ga+164|0;ea=ga+160|0;O=ga+199|0;x=ga+156|0;fa=ga+152|0;Q=ga+148|0;R=ga+144|0;M=ga+140|0;P=ga+198|0;D=ga+136|0;y=ga+132|0;s=ga+197|0;T=ga+128|0;u=ga+124|0;X=ga+120|0;U=ga+116|0;L=ga+112|0;I=ga+108|0;z=ga+104|0;q=ga+100|0;v=ga+96|0;K=ga+92|0;H=ga+88|0;V=ga+84|0;o=ga+80|0;F=ga+196|0;E=ga+56|0;m=ga+48|0;A=ga+44|0;S=ga+40|0;J=ga+36|0;B=ga+32|0;G=ga+28|0;N=ga+24|0;n=ga+20|0;C=ga+16|0;p=ga+192|0;r=ga+188|0;W=ga+12|0;$=ga+8|0;t=ga+4|0;w=ga;c[ca>>2]=b;c[da>>2]=e;c[Y>>2]=f;c[Z>>2]=g;c[_>>2]=h;c[ea>>2]=k;a[O>>0]=l;c[x>>2]=c[(c[ca>>2]|0)+356>>2];h=c[ca>>2]|0;if((c[Y>>2]|0)==(c[(c[ca>>2]|0)+144>>2]|0)){c[fa>>2]=h+288;c[Q>>2]=(c[ca>>2]|0)+292}else{c[fa>>2]=c[h+300>>2];c[Q>>2]=(c[(c[ca>>2]|0)+300>>2]|0)+4}c[c[fa>>2]>>2]=c[Z>>2];a:while(1){c[R>>2]=c[Z>>2];c[M>>2]=kc[c[(c[Y>>2]|0)+4>>2]&127](c[Y>>2]|0,c[Z>>2]|0,c[_>>2]|0,R)|0;c[c[Q>>2]>>2]=c[R>>2];b:do switch(c[M>>2]|0){case -3:{h=6;break a}case -4:{h=17;break a}case 0:{h=24;break a}case -1:{h=25;break a}case -2:{h=28;break a}case 12:{h=138;break a}case -5:{h=151;break a}case 9:{a[s>>0]=$b[c[(c[Y>>2]|0)+48>>2]&63](c[Y>>2]|0,(c[Z>>2]|0)+(c[(c[Y>>2]|0)+68>>2]|0)|0,(c[R>>2]|0)+(0-(c[(c[Y>>2]|0)+68>>2]|0))|0)|0;if(a[s>>0]|0){h=c[ca>>2]|0;if(c[(c[ca>>2]|0)+60>>2]|0){lc[c[h+60>>2]&127](c[(c[ca>>2]|0)+4>>2]|0,s,1);break b}if(!(c[h+80>>2]|0))break b;gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0);break b}c[D>>2]=pZ((c[x>>2]|0)+80|0,c[Y>>2]|0,(c[Z>>2]|0)+(c[(c[Y>>2]|0)+68>>2]|0)|0,(c[R>>2]|0)+(0-(c[(c[Y>>2]|0)+68>>2]|0))|0)|0;if(!(c[D>>2]|0)){h=37;break a}c[y>>2]=qZ(c[ca>>2]|0,c[x>>2]|0,c[D>>2]|0,0)|0;c[(c[x>>2]|0)+80+12>>2]=c[(c[x>>2]|0)+80+16>>2];if((a[(c[x>>2]|0)+129>>0]|0)!=0?(d[(c[x>>2]|0)+130>>0]|0)==0:0){if(!(c[y>>2]|0)){h=c[ca>>2]|0;if(c[(c[ca>>2]|0)+120>>2]|0){lc[c[h+120>>2]&127](c[(c[ca>>2]|0)+4>>2]|0,c[D>>2]|0,0);break b}if(!(c[h+80>>2]|0))break b;gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0);break b}}else{if(!(c[y>>2]|0)){h=41;break a}if(!(a[(c[y>>2]|0)+34>>0]|0)){h=43;break a}}if(a[(c[y>>2]|0)+32>>0]|0){h=50;break a}if(c[(c[y>>2]|0)+28>>2]|0){h=52;break a}h=c[ca>>2]|0;if(c[(c[y>>2]|0)+4>>2]|0){f=c[ca>>2]|0;if(a[h+308>>0]|0){c[T>>2]=EZ(f,c[y>>2]|0,0)|0;if(c[T>>2]|0){h=60;break a}else break b}h=c[ca>>2]|0;if(c[f+120>>2]|0){lc[c[h+120>>2]&127](c[(c[ca>>2]|0)+4>>2]|0,c[c[y>>2]>>2]|0,0);break b}if(!(c[h+80>>2]|0))break b;gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0);break b}else{if(!(c[h+112>>2]|0)){if(!(c[(c[ca>>2]|0)+80>>2]|0))break b;gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0);break b}a[(c[y>>2]|0)+32>>0]=1;c[u>>2]=MZ(c[ca>>2]|0)|0;a[(c[y>>2]|0)+32>>0]=0;if(!(c[u>>2]|0)){h=63;break a}if(!(_b[c[(c[ca>>2]|0)+112>>2]&63](c[(c[ca>>2]|0)+116>>2]|0,c[u>>2]|0,c[(c[y>>2]|0)+20>>2]|0,c[(c[y>>2]|0)+16>>2]|0,c[(c[y>>2]|0)+24>>2]|0)|0)){h=65;break a}c[(c[ca>>2]|0)+416+12>>2]=c[(c[ca>>2]|0)+416+16>>2];break b}}case 1:case 2:{h=c[ca>>2]|0;if(c[(c[ca>>2]|0)+368>>2]|0){c[X>>2]=c[h+368>>2];c[(c[ca>>2]|0)+368>>2]=c[c[(c[ca>>2]|0)+368>>2]>>2]}else{c[X>>2]=Zb[c[h+12>>2]&63](48)|0;if(!(c[X>>2]|0)){h=72;break a}e=Zb[c[(c[ca>>2]|0)+12>>2]&63](32)|0;c[(c[X>>2]|0)+36>>2]=e;if(!(c[(c[X>>2]|0)+36>>2]|0)){h=74;break a}c[(c[X>>2]|0)+40>>2]=(c[(c[X>>2]|0)+36>>2]|0)+32}c[(c[X>>2]|0)+44>>2]=0;c[c[X>>2]>>2]=c[(c[ca>>2]|0)+364>>2];c[(c[ca>>2]|0)+364>>2]=c[X>>2];c[(c[X>>2]|0)+12+4>>2]=0;c[(c[X>>2]|0)+12+8>>2]=0;c[(c[X>>2]|0)+4>>2]=(c[Z>>2]|0)+(c[(c[Y>>2]|0)+68>>2]|0);e=gc[c[(c[Y>>2]|0)+32>>2]&127](c[Y>>2]|0,c[(c[X>>2]|0)+4>>2]|0)|0;c[(c[X>>2]|0)+8>>2]=e;e=(c[ca>>2]|0)+312|0;c[e>>2]=(c[e>>2]|0)+1;c[I>>2]=(c[(c[X>>2]|0)+4>>2]|0)+(c[(c[X>>2]|0)+8>>2]|0);c[z>>2]=c[(c[X>>2]|0)+4>>2];c[L>>2]=c[(c[X>>2]|0)+36>>2];while(1){Ub[c[(c[Y>>2]|0)+60>>2]&31](c[Y>>2]|0,z,c[I>>2]|0,L,(c[(c[X>>2]|0)+40>>2]|0)+-1|0);c[v>>2]=(c[L>>2]|0)-(c[(c[X>>2]|0)+36>>2]|0);if((c[z>>2]|0)==(c[I>>2]|0))break;c[q>>2]=(c[(c[X>>2]|0)+40>>2]|0)-(c[(c[X>>2]|0)+36>>2]|0)<<1;c[K>>2]=gc[c[(c[ca>>2]|0)+12+4>>2]&127](c[(c[X>>2]|0)+36>>2]|0,c[q>>2]|0)|0;if(!(c[K>>2]|0)){h=80;break a}c[(c[X>>2]|0)+36>>2]=c[K>>2];c[(c[X>>2]|0)+40>>2]=(c[K>>2]|0)+(c[q>>2]|0);c[L>>2]=(c[K>>2]|0)+(c[v>>2]|0)}c[(c[X>>2]|0)+12+12>>2]=c[v>>2];c[(c[X>>2]|0)+12>>2]=c[(c[X>>2]|0)+36>>2];a[c[L>>2]>>0]=0;c[U>>2]=NZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,(c[X>>2]|0)+12|0,(c[X>>2]|0)+44|0)|0;if(c[U>>2]|0){h=82;break a}h=c[ca>>2]|0;if(!(c[(c[ca>>2]|0)+52>>2]|0)){if(c[h+80>>2]|0)gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0)}else lc[c[h+52>>2]&127](c[(c[ca>>2]|0)+4>>2]|0,c[(c[X>>2]|0)+12>>2]|0,c[(c[ca>>2]|0)+392>>2]|0);ZY((c[ca>>2]|0)+416|0);break}case 3:case 4:{c[H>>2]=(c[Z>>2]|0)+(c[(c[Y>>2]|0)+68>>2]|0);c[o>>2]=0;a[F>>0]=1;k=(c[ca>>2]|0)+416|0;b=c[Y>>2]|0;g=c[H>>2]|0;e=c[H>>2]|0;c[E>>2]=pZ(k,b,g,e+(gc[c[(c[Y>>2]|0)+32>>2]&127](c[Y>>2]|0,c[H>>2]|0)|0)|0)|0;if(!(c[E>>2]|0)){h=89;break a}c[(c[ca>>2]|0)+416+16>>2]=c[(c[ca>>2]|0)+416+12>>2];c[V>>2]=NZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,E,o)|0;if(c[V>>2]|0){h=91;break a}c[(c[ca>>2]|0)+416+16>>2]=c[(c[ca>>2]|0)+416+12>>2];if(c[(c[ca>>2]|0)+52>>2]|0){lc[c[(c[ca>>2]|0)+52>>2]&127](c[(c[ca>>2]|0)+4>>2]|0,c[E>>2]|0,c[(c[ca>>2]|0)+392>>2]|0);a[F>>0]=0}if(c[(c[ca>>2]|0)+56>>2]|0){if(c[(c[ca>>2]|0)+52>>2]|0)c[c[fa>>2]>>2]=c[c[Q>>2]>>2];Xb[c[(c[ca>>2]|0)+56>>2]&31](c[(c[ca>>2]|0)+4>>2]|0,c[E>>2]|0);a[F>>0]=0}if((d[F>>0]|0)!=0?(c[(c[ca>>2]|0)+80>>2]|0)!=0:0)gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0);ZY((c[ca>>2]|0)+416|0);while(1){if(!(c[o>>2]|0))break;c[m>>2]=c[o>>2];if(c[(c[ca>>2]|0)+104>>2]|0)Xb[c[(c[ca>>2]|0)+104>>2]&31](c[(c[ca>>2]|0)+4>>2]|0,c[c[c[m>>2]>>2]>>2]|0);c[o>>2]=c[(c[o>>2]|0)+4>>2];c[(c[m>>2]|0)+4>>2]=c[(c[ca>>2]|0)+376>>2];c[(c[ca>>2]|0)+376>>2]=c[m>>2];c[(c[c[m>>2]>>2]|0)+4>>2]=c[(c[m>>2]|0)+8>>2]}if(!(c[(c[ca>>2]|0)+312>>2]|0)){h=107;break a}break}case 5:{if((c[(c[ca>>2]|0)+312>>2]|0)==(c[da>>2]|0)){h=109;break a}c[J>>2]=c[(c[ca>>2]|0)+364>>2];c[(c[ca>>2]|0)+364>>2]=c[c[J>>2]>>2];c[c[J>>2]>>2]=c[(c[ca>>2]|0)+368>>2];c[(c[ca>>2]|0)+368>>2]=c[J>>2];c[S>>2]=(c[Z>>2]|0)+(c[(c[Y>>2]|0)+68>>2]<<1);c[A>>2]=gc[c[(c[Y>>2]|0)+32>>2]&127](c[Y>>2]|0,c[S>>2]|0)|0;if((c[A>>2]|0)!=(c[(c[J>>2]|0)+8>>2]|0)){h=112;break a}if(U3(c[(c[J>>2]|0)+4>>2]|0,c[S>>2]|0,c[A>>2]|0)|0){h=112;break a}e=(c[ca>>2]|0)+312|0;c[e>>2]=(c[e>>2]|0)+-1;if(!(c[(c[ca>>2]|0)+56>>2]|0)){if(c[(c[ca>>2]|0)+80>>2]|0)gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0)}else{c[B>>2]=c[(c[J>>2]|0)+12+4>>2];if((c[B>>2]|0)!=0?(d[(c[ca>>2]|0)+236>>0]|0)!=0:0){c[N>>2]=(c[(c[J>>2]|0)+12>>2]|0)+(c[(c[J>>2]|0)+12+16>>2]|0);while(1){if(!(a[c[B>>2]>>0]|0))break;g=c[B>>2]|0;c[B>>2]=g+1;g=a[g>>0]|0;e=c[N>>2]|0;c[N>>2]=e+1;a[e>>0]=g}c[G>>2]=c[(c[J>>2]|0)+12+8>>2];c:do if((c[G>>2]|0)!=0?(d[(c[ca>>2]|0)+237>>0]|0)!=0:0){g=a[(c[ca>>2]|0)+472>>0]|0;e=c[N>>2]|0;c[N>>2]=e+1;a[e>>0]=g;while(1){if(!(a[c[G>>2]>>0]|0))break c;g=c[G>>2]|0;c[G>>2]=g+1;g=a[g>>0]|0;e=c[N>>2]|0;c[N>>2]=e+1;a[e>>0]=g}}while(0);a[c[N>>2]>>0]=0}Xb[c[(c[ca>>2]|0)+56>>2]&31](c[(c[ca>>2]|0)+4>>2]|0,c[(c[J>>2]|0)+12>>2]|0)}while(1){if(!(c[(c[J>>2]|0)+44>>2]|0))break;c[n>>2]=c[(c[J>>2]|0)+44>>2];if(c[(c[ca>>2]|0)+104>>2]|0)Xb[c[(c[ca>>2]|0)+104>>2]&31](c[(c[ca>>2]|0)+4>>2]|0,c[c[c[n>>2]>>2]>>2]|0);c[(c[J>>2]|0)+44>>2]=c[(c[(c[J>>2]|0)+44>>2]|0)+4>>2];c[(c[n>>2]|0)+4>>2]=c[(c[ca>>2]|0)+376>>2];c[(c[ca>>2]|0)+376>>2]=c[n>>2];c[(c[c[n>>2]>>2]|0)+4>>2]=c[(c[n>>2]|0)+8>>2]}if(!(c[(c[ca>>2]|0)+312>>2]|0)){h=131;break a}break}case 10:{c[C>>2]=gc[c[(c[Y>>2]|0)+44>>2]&127](c[Y>>2]|0,c[Z>>2]|0)|0;if((c[C>>2]|0)<0){h=133;break a}h=c[ca>>2]|0;if(c[(c[ca>>2]|0)+60>>2]|0){b=c[h+60>>2]|0;g=c[(c[ca>>2]|0)+4>>2]|0;e=b_(c[C>>2]|0,p)|0;lc[b&127](g,p,e);break b}if(c[h+80>>2]|0)gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0);break}case 7:{if(c[(c[ca>>2]|0)+60>>2]|0){a[r>>0]=10;lc[c[(c[ca>>2]|0)+60>>2]&127](c[(c[ca>>2]|0)+4>>2]|0,r,1);break b}if(c[(c[ca>>2]|0)+80>>2]|0)gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0);break}case 8:{h=c[ca>>2]|0;if(!(c[(c[ca>>2]|0)+72>>2]|0)){if(c[h+80>>2]|0)gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0)}else Vb[c[h+72>>2]&127](c[(c[ca>>2]|0)+4>>2]|0);c[W>>2]=PZ(c[ca>>2]|0,c[Y>>2]|0,R,c[_>>2]|0,c[ea>>2]|0,a[O>>0]|0)|0;if(c[W>>2]|0){h=148;break a}if(!(c[R>>2]|0)){h=150;break a}break}case 6:{c[t>>2]=c[(c[ca>>2]|0)+60>>2];if(!(c[t>>2]|0)){if(!(c[(c[ca>>2]|0)+80>>2]|0))break b;gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0);break b}if(a[(c[Y>>2]|0)+72>>0]|0){lc[c[t>>2]&127](c[(c[ca>>2]|0)+4>>2]|0,c[Z>>2]|0,(c[R>>2]|0)-(c[Z>>2]|0)|0);break b}while(1){c[w>>2]=c[(c[ca>>2]|0)+44>>2];Ub[c[(c[Y>>2]|0)+60>>2]&31](c[Y>>2]|0,Z,c[R>>2]|0,w,c[(c[ca>>2]|0)+48>>2]|0);c[c[Q>>2]>>2]=c[Z>>2];lc[c[t>>2]&127](c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+44>>2]|0,(c[w>>2]|0)-(c[(c[ca>>2]|0)+44>>2]|0)|0);if((c[Z>>2]|0)==(c[R>>2]|0))break b;c[c[fa>>2]>>2]=c[Z>>2]}}case 11:{if(!(GZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0)|0)){h=172;break a}break}case 13:{if(!(HZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0)|0)){h=174;break a}break}default:if(c[(c[ca>>2]|0)+80>>2]|0)gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[R>>2]|0)}while(0);e=c[R>>2]|0;c[Z>>2]=e;c[c[fa>>2]>>2]=e;switch(c[(c[ca>>2]|0)+480>>2]|0){case 3:{h=178;break a}case 2:{h=179;break a}default:{}}}switch(h|0){case 6:{if(a[O>>0]|0){c[c[ea>>2]>>2]=c[Z>>2];c[aa>>2]=0;fa=c[aa>>2]|0;i=ga;return fa|0}c[c[Q>>2]>>2]=c[_>>2];if(!(c[(c[ca>>2]|0)+60>>2]|0)){if(c[(c[ca>>2]|0)+80>>2]|0)gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[_>>2]|0)}else{a[P>>0]=10;lc[c[(c[ca>>2]|0)+60>>2]&127](c[(c[ca>>2]|0)+4>>2]|0,P,1)}if(!(c[da>>2]|0)){c[aa>>2]=3;fa=c[aa>>2]|0;i=ga;return fa|0}if((c[(c[ca>>2]|0)+312>>2]|0)!=(c[da>>2]|0)){c[aa>>2]=13;fa=c[aa>>2]|0;i=ga;return fa|0}else{c[c[ea>>2]>>2]=c[_>>2];c[aa>>2]=0;fa=c[aa>>2]|0;i=ga;return fa|0}}case 17:{if(a[O>>0]|0){c[c[ea>>2]>>2]=c[Z>>2];c[aa>>2]=0;fa=c[aa>>2]|0;i=ga;return fa|0}if((c[da>>2]|0)<=0){c[aa>>2]=3;fa=c[aa>>2]|0;i=ga;return fa|0}if((c[(c[ca>>2]|0)+312>>2]|0)!=(c[da>>2]|0)){c[aa>>2]=13;fa=c[aa>>2]|0;i=ga;return fa|0}else{c[c[ea>>2]>>2]=c[Z>>2];c[aa>>2]=0;fa=c[aa>>2]|0;i=ga;return fa|0}}case 24:{c[c[fa>>2]>>2]=c[R>>2];c[aa>>2]=4;fa=c[aa>>2]|0;i=ga;return fa|0}case 25:if(a[O>>0]|0){c[c[ea>>2]>>2]=c[Z>>2];c[aa>>2]=0;fa=c[aa>>2]|0;i=ga;return fa|0}else{c[aa>>2]=5;fa=c[aa>>2]|0;i=ga;return fa|0}case 28:if(a[O>>0]|0){c[c[ea>>2]>>2]=c[Z>>2];c[aa>>2]=0;fa=c[aa>>2]|0;i=ga;return fa|0}else{c[aa>>2]=6;fa=c[aa>>2]|0;i=ga;return fa|0}case 37:{c[aa>>2]=1;fa=c[aa>>2]|0;i=ga;return fa|0}case 41:{c[aa>>2]=11;fa=c[aa>>2]|0;i=ga;return fa|0}case 43:{c[aa>>2]=24;fa=c[aa>>2]|0;i=ga;return fa|0}case 50:{c[aa>>2]=12;fa=c[aa>>2]|0;i=ga;return fa|0}case 52:{c[aa>>2]=15;fa=c[aa>>2]|0;i=ga;return fa|0}case 60:{c[aa>>2]=c[T>>2];fa=c[aa>>2]|0;i=ga;return fa|0}case 63:{c[aa>>2]=1;fa=c[aa>>2]|0;i=ga;return fa|0}case 65:{c[aa>>2]=21;fa=c[aa>>2]|0;i=ga;return fa|0}case 72:{c[aa>>2]=1;fa=c[aa>>2]|0;i=ga;return fa|0}case 74:{Vb[c[(c[ca>>2]|0)+12+8>>2]&127](c[X>>2]|0);c[aa>>2]=1;fa=c[aa>>2]|0;i=ga;return fa|0}case 80:{c[aa>>2]=1;fa=c[aa>>2]|0;i=ga;return fa|0}case 82:{c[aa>>2]=c[U>>2];fa=c[aa>>2]|0;i=ga;return fa|0}case 89:{c[aa>>2]=1;fa=c[aa>>2]|0;i=ga;return fa|0}case 91:{c[aa>>2]=c[V>>2];fa=c[aa>>2]|0;i=ga;return fa|0}case 107:{c[aa>>2]=OZ(c[ca>>2]|0,c[R>>2]|0,c[_>>2]|0,c[ea>>2]|0)|0;fa=c[aa>>2]|0;i=ga;return fa|0}case 109:{c[aa>>2]=13;fa=c[aa>>2]|0;i=ga;return fa|0}case 112:{c[c[fa>>2]>>2]=c[S>>2];c[aa>>2]=7;fa=c[aa>>2]|0;i=ga;return fa|0}case 131:{c[aa>>2]=OZ(c[ca>>2]|0,c[R>>2]|0,c[_>>2]|0,c[ea>>2]|0)|0;fa=c[aa>>2]|0;i=ga;return fa|0}case 133:{c[aa>>2]=14;fa=c[aa>>2]|0;i=ga;return fa|0}case 138:{c[aa>>2]=17;fa=c[aa>>2]|0;i=ga;return fa|0}case 148:{c[aa>>2]=c[W>>2];fa=c[aa>>2]|0;i=ga;return fa|0}case 150:{c[(c[ca>>2]|0)+280>>2]=62;c[aa>>2]=c[W>>2];fa=c[aa>>2]|0;i=ga;return fa|0}case 151:{if(a[O>>0]|0){c[c[ea>>2]>>2]=c[Z>>2];c[aa>>2]=0;fa=c[aa>>2]|0;i=ga;return fa|0}do if(c[(c[ca>>2]|0)+60>>2]|0){h=c[ca>>2]|0;if(a[(c[Y>>2]|0)+72>>0]|0){lc[c[h+60>>2]&127](c[(c[ca>>2]|0)+4>>2]|0,c[Z>>2]|0,(c[_>>2]|0)-(c[Z>>2]|0)|0);break}else{c[$>>2]=c[h+44>>2];Ub[c[(c[Y>>2]|0)+60>>2]&31](c[Y>>2]|0,Z,c[_>>2]|0,$,c[(c[ca>>2]|0)+48>>2]|0);lc[c[(c[ca>>2]|0)+60>>2]&127](c[(c[ca>>2]|0)+4>>2]|0,c[(c[ca>>2]|0)+44>>2]|0,(c[$>>2]|0)-(c[(c[ca>>2]|0)+44>>2]|0)|0);break}}else if(c[(c[ca>>2]|0)+80>>2]|0)gZ(c[ca>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[_>>2]|0);while(0);if(!(c[da>>2]|0)){c[c[fa>>2]>>2]=c[_>>2];c[aa>>2]=3;fa=c[aa>>2]|0;i=ga;return fa|0}h=c[_>>2]|0;if((c[(c[ca>>2]|0)+312>>2]|0)!=(c[da>>2]|0)){c[c[fa>>2]>>2]=h;c[aa>>2]=13;fa=c[aa>>2]|0;i=ga;return fa|0}else{c[c[ea>>2]>>2]=h;c[aa>>2]=0;fa=c[aa>>2]|0;i=ga;return fa|0}}case 172:{c[aa>>2]=1;fa=c[aa>>2]|0;i=ga;return fa|0}case 174:{c[aa>>2]=1;fa=c[aa>>2]|0;i=ga;return fa|0}case 178:{c[c[ea>>2]>>2]=c[R>>2];c[aa>>2]=0;fa=c[aa>>2]|0;i=ga;return fa|0}case 179:{c[aa>>2]=35;fa=c[aa>>2]|0;i=ga;return fa|0}}return 0}function LZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;v=i;i=i+64|0;if((i|0)>=(j|0))ba();n=v+48|0;o=v+44|0;p=v+40|0;q=v+36|0;r=v+32|0;s=v+28|0;l=v+24|0;k=v+20|0;t=v+16|0;h=v+12|0;g=v+8|0;m=v+4|0;u=v;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[g>>2]=c[(c[o>>2]|0)+300>>2];if(!(c[g>>2]|0)){c[n>>2]=23;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[g>>2]|0)+12>>2];c[l>>2]=(c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0);c[k>>2]=(c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+8>>2]|0);e=c[o>>2]|0;if(a[(c[s>>2]|0)+33>>0]|0){c[m>>2]=kc[c[c[e+228>>2]>>2]&127](c[(c[o>>2]|0)+228>>2]|0,c[l>>2]|0,c[k>>2]|0,t)|0;c[h>>2]=nZ(c[o>>2]|0,c[(c[o>>2]|0)+228>>2]|0,c[l>>2]|0,c[k>>2]|0,c[m>>2]|0,c[t>>2]|0,t,0)|0}else c[h>>2]=KZ(e,c[(c[g>>2]|0)+16>>2]|0,c[(c[o>>2]|0)+228>>2]|0,c[l>>2]|0,c[k>>2]|0,t,0)|0;if(c[h>>2]|0){c[n>>2]=c[h>>2];u=c[n>>2]|0;i=v;return u|0}if((c[k>>2]|0)!=(c[t>>2]|0)?(c[(c[o>>2]|0)+480>>2]|0)==3:0){c[(c[s>>2]|0)+12>>2]=(c[t>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0);c[n>>2]=c[h>>2];u=c[n>>2]|0;i=v;return u|0}a[(c[s>>2]|0)+32>>0]=0;c[(c[o>>2]|0)+300>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=c[(c[o>>2]|0)+304>>2];c[(c[o>>2]|0)+304>>2]=c[g>>2];e=(c[o>>2]|0)+280|0;if(a[(c[s>>2]|0)+33>>0]|0){c[e>>2]=60;c[u>>2]=kc[c[c[(c[o>>2]|0)+144>>2]>>2]&127](c[(c[o>>2]|0)+144>>2]|0,c[p>>2]|0,c[q>>2]|0,t)|0;c[n>>2]=nZ(c[o>>2]|0,c[(c[o>>2]|0)+144>>2]|0,c[p>>2]|0,c[q>>2]|0,c[u>>2]|0,c[t>>2]|0,c[r>>2]|0,((a[(c[o>>2]|0)+480+4>>0]|0)!=0^1)&1)|0;u=c[n>>2]|0;i=v;return u|0}else{c[e>>2]=58;c[n>>2]=KZ(c[o>>2]|0,(c[(c[o>>2]|0)+476>>2]|0)!=0?1:0,c[(c[o>>2]|0)+144>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,((a[(c[o>>2]|0)+480+4>>0]|0)!=0^1)&1)|0;u=c[n>>2]|0;i=v;return u|0}return 0}function MZ(b){b=b|0;var e=0,f=0,g=0,h=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=i;i=i+64|0;if((i|0)>=(j|0))ba();h=u+48|0;k=u+44|0;l=u+40|0;o=u+32|0;q=u+52|0;e=u+28|0;f=u+24|0;n=u+20|0;p=u+16|0;s=u+12|0;r=u+8|0;t=u+4|0;m=u;c[k>>2]=b;c[l>>2]=c[(c[k>>2]|0)+356>>2];a[q>>0]=0;do if(c[(c[l>>2]|0)+152+4>>2]|0){if((c[(c[k>>2]|0)+416+12>>2]|0)==(c[(c[k>>2]|0)+416+8>>2]|0)?(yZ((c[k>>2]|0)+416|0)|0)<<24>>24==0:0){c[h>>2]=0;t=c[h>>2]|0;i=u;return t|0}v=(c[k>>2]|0)+416+12|0;b=c[v>>2]|0;c[v>>2]=b+1;a[b>>0]=61;c[f>>2]=c[(c[(c[l>>2]|0)+152+4>>2]|0)+20>>2];if(a[(c[k>>2]|0)+472>>0]|0)c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0)){g=13;break}if((c[(c[k>>2]|0)+416+12>>2]|0)==(c[(c[k>>2]|0)+416+8>>2]|0)?(yZ((c[k>>2]|0)+416|0)|0)<<24>>24==0:0)break;b=a[(c[(c[(c[l>>2]|0)+152+4>>2]|0)+16>>2]|0)+(c[e>>2]|0)>>0]|0;w=(c[k>>2]|0)+416+12|0;v=c[w>>2]|0;c[w>>2]=v+1;a[v>>0]=b;c[e>>2]=(c[e>>2]|0)+1}if((g|0)==13){a[q>>0]=1;break}c[h>>2]=0;w=c[h>>2]|0;i=u;return w|0}while(0);iZ(o,(c[l>>2]|0)+60|0);a:while(1){c[r>>2]=jZ(o)|0;if(!(c[r>>2]|0)){g=40;break}if(!(c[(c[r>>2]|0)+4>>2]|0))continue;if(d[q>>0]|0){if((c[(c[k>>2]|0)+416+12>>2]|0)==(c[(c[k>>2]|0)+416+8>>2]|0)?(yZ((c[k>>2]|0)+416|0)|0)<<24>>24==0:0){g=21;break}v=(c[k>>2]|0)+416+12|0;w=c[v>>2]|0;c[v>>2]=w+1;a[w>>0]=12}c[s>>2]=c[c[r>>2]>>2];while(1){e=(c[(c[k>>2]|0)+416+12>>2]|0)==(c[(c[k>>2]|0)+416+8>>2]|0);if(!(a[c[s>>2]>>0]|0))break;if(e?(yZ((c[k>>2]|0)+416|0)|0)<<24>>24==0:0){g=27;break a}v=a[c[s>>2]>>0]|0;g=(c[k>>2]|0)+416+12|0;w=c[g>>2]|0;c[g>>2]=w+1;a[w>>0]=v;c[s>>2]=(c[s>>2]|0)+1}if(e?(yZ((c[k>>2]|0)+416|0)|0)<<24>>24==0:0){g=31;break}v=(c[k>>2]|0)+416+12|0;w=c[v>>2]|0;c[v>>2]=w+1;a[w>>0]=61;c[p>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+20>>2];if(a[(c[k>>2]|0)+472>>0]|0)c[p>>2]=(c[p>>2]|0)+-1;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[p>>2]|0))break;if((c[(c[k>>2]|0)+416+12>>2]|0)==(c[(c[k>>2]|0)+416+8>>2]|0)?(yZ((c[k>>2]|0)+416|0)|0)<<24>>24==0:0){g=38;break a}v=a[(c[(c[(c[r>>2]|0)+4>>2]|0)+16>>2]|0)+(c[n>>2]|0)>>0]|0;g=(c[k>>2]|0)+416+12|0;w=c[g>>2]|0;c[g>>2]=w+1;a[w>>0]=v;c[n>>2]=(c[n>>2]|0)+1}a[q>>0]=1}if((g|0)==21){c[h>>2]=0;w=c[h>>2]|0;i=u;return w|0}else if((g|0)==27){c[h>>2]=0;w=c[h>>2]|0;i=u;return w|0}else if((g|0)==31){c[h>>2]=0;w=c[h>>2]|0;i=u;return w|0}else if((g|0)==38){c[h>>2]=0;w=c[h>>2]|0;i=u;return w|0}else if((g|0)==40){iZ(o,c[l>>2]|0);b:while(1){c[m>>2]=jZ(o)|0;if(!(c[m>>2]|0)){g=55;break}if(!(a[(c[m>>2]|0)+32>>0]|0))continue;if(d[q>>0]|0){if((c[(c[k>>2]|0)+416+12>>2]|0)==(c[(c[k>>2]|0)+416+8>>2]|0)?(yZ((c[k>>2]|0)+416|0)|0)<<24>>24==0:0){g=47;break}v=(c[k>>2]|0)+416+12|0;w=c[v>>2]|0;c[v>>2]=w+1;a[w>>0]=12}c[t>>2]=c[c[m>>2]>>2];while(1){if(!(a[c[t>>2]>>0]|0))break;if((c[(c[k>>2]|0)+416+12>>2]|0)==(c[(c[k>>2]|0)+416+8>>2]|0)?(yZ((c[k>>2]|0)+416|0)|0)<<24>>24==0:0){g=53;break b}v=a[c[t>>2]>>0]|0;s=(c[k>>2]|0)+416+12|0;w=c[s>>2]|0;c[s>>2]=w+1;a[w>>0]=v;c[t>>2]=(c[t>>2]|0)+1}a[q>>0]=1}if((g|0)==47){c[h>>2]=0;w=c[h>>2]|0;i=u;return w|0}else if((g|0)==53){c[h>>2]=0;w=c[h>>2]|0;i=u;return w|0}else if((g|0)==55){if((c[(c[k>>2]|0)+416+12>>2]|0)==(c[(c[k>>2]|0)+416+8>>2]|0)?(yZ((c[k>>2]|0)+416|0)|0)<<24>>24==0:0){c[h>>2]=0;w=c[h>>2]|0;i=u;return w|0}v=(c[k>>2]|0)+416+12|0;w=c[v>>2]|0;c[v>>2]=w+1;a[w>>0]=0;c[h>>2]=c[(c[k>>2]|0)+416+16>>2];w=c[h>>2]|0;i=u;return w|0}}return 0}function NZ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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,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;aa=i;i=i+176|0;if((i|0)>=(j|0))ba();v=aa+156|0;w=aa+152|0;s=aa+148|0;k=aa+144|0;x=aa+140|0;y=aa+136|0;G=aa+132|0;H=aa+128|0;O=aa+124|0;z=aa+120|0;A=aa+116|0;S=aa+112|0;I=aa+108|0;N=aa+104|0;Z=aa+100|0;P=aa+96|0;C=aa+92|0;L=aa+88|0;l=aa+84|0;m=aa+80|0;n=aa+76|0;p=aa+72|0;o=aa+68|0;t=aa+64|0;q=aa+163|0;r=aa+60|0;u=aa+56|0;F=aa+52|0;T=aa+48|0;K=aa+44|0;$=aa+40|0;Q=aa+36|0;Y=aa+32|0;U=aa+28|0;J=aa+24|0;B=aa+20|0;_=aa+16|0;D=aa+162|0;E=aa+161|0;X=aa+160|0;M=aa+12|0;V=aa+8|0;W=aa+4|0;R=aa;c[w>>2]=b;c[s>>2]=e;c[k>>2]=f;c[x>>2]=g;c[y>>2]=h;c[G>>2]=c[(c[w>>2]|0)+356>>2];c[A>>2]=0;c[P>>2]=0;c[H>>2]=qZ(c[w>>2]|0,(c[G>>2]|0)+20|0,c[c[x>>2]>>2]|0,0)|0;if(!(c[H>>2]|0)){c[l>>2]=$Y((c[G>>2]|0)+80|0,c[c[x>>2]>>2]|0)|0;if(!(c[l>>2]|0)){c[v>>2]=1;$=c[v>>2]|0;i=aa;return $|0}c[H>>2]=qZ(c[w>>2]|0,(c[G>>2]|0)+20|0,c[l>>2]|0,24)|0;if(!(c[H>>2]|0)){c[v>>2]=1;$=c[v>>2]|0;i=aa;return $|0}if((d[(c[w>>2]|0)+236>>0]|0)!=0?(TZ(c[w>>2]|0,c[H>>2]|0)|0)==0:0){c[v>>2]=1;$=c[v>>2]|0;i=aa;return $|0}}c[O>>2]=c[(c[H>>2]|0)+12>>2];c[N>>2]=kc[c[(c[s>>2]|0)+40>>2]&127](c[s>>2]|0,c[k>>2]|0,c[(c[w>>2]|0)+380>>2]|0,c[(c[w>>2]|0)+392>>2]|0)|0;do if(((c[N>>2]|0)+(c[O>>2]|0)|0)>(c[(c[w>>2]|0)+380>>2]|0)){c[m>>2]=c[(c[w>>2]|0)+380>>2];c[(c[w>>2]|0)+380>>2]=(c[N>>2]|0)+(c[O>>2]|0)+16;c[n>>2]=gc[c[(c[w>>2]|0)+12+4>>2]&127](c[(c[w>>2]|0)+392>>2]|0,c[(c[w>>2]|0)+380>>2]<<4)|0;if(!(c[n>>2]|0)){c[v>>2]=1;$=c[v>>2]|0;i=aa;return $|0}else{c[(c[w>>2]|0)+392>>2]=c[n>>2];if((c[N>>2]|0)<=(c[m>>2]|0))break;kc[c[(c[s>>2]|0)+40>>2]&127](c[s>>2]|0,c[k>>2]|0,c[N>>2]|0,c[(c[w>>2]|0)+392>>2]|0)|0;break}}while(0);c[z>>2]=c[(c[w>>2]|0)+392>>2];c[I>>2]=0;a:while(1){if((c[I>>2]|0)>=(c[N>>2]|0)){k=43;break}c[p>>2]=(c[(c[w>>2]|0)+392>>2]|0)+(c[I>>2]<<4);m=c[w>>2]|0;b=c[s>>2]|0;g=c[c[p>>2]>>2]|0;n=c[c[p>>2]>>2]|0;c[o>>2]=uZ(m,b,g,n+(gc[c[(c[s>>2]|0)+32>>2]&127](c[s>>2]|0,c[c[p>>2]>>2]|0)|0)|0)|0;if(!(c[o>>2]|0)){k=17;break}if(a[(c[c[o>>2]>>2]|0)+-1>>0]|0){k=19;break}a[(c[c[o>>2]>>2]|0)+-1>>0]=1;g=c[c[o>>2]>>2]|0;n=c[A>>2]|0;c[A>>2]=n+1;c[(c[z>>2]|0)+(n<<2)>>2]=g;if(a[(c[(c[w>>2]|0)+392>>2]|0)+(c[I>>2]<<4)+12>>0]|0){n=pZ((c[w>>2]|0)+416|0,c[s>>2]|0,c[(c[(c[w>>2]|0)+392>>2]|0)+(c[I>>2]<<4)+4>>2]|0,c[(c[(c[w>>2]|0)+392>>2]|0)+(c[I>>2]<<4)+8>>2]|0)|0;c[(c[z>>2]|0)+(c[A>>2]<<2)>>2]=n;if(!(c[(c[z>>2]|0)+(c[A>>2]<<2)>>2]|0)){k=33;break}c[(c[w>>2]|0)+416+16>>2]=c[(c[w>>2]|0)+416+12>>2]}else{a[q>>0]=1;b:do if(a[(c[o>>2]|0)+8>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[O>>2]|0))break b;k=c[r>>2]|0;if((c[o>>2]|0)==(c[(c[(c[H>>2]|0)+20>>2]|0)+((c[r>>2]|0)*12|0)>>2]|0))break;c[r>>2]=k+1}a[q>>0]=a[(c[(c[H>>2]|0)+20>>2]|0)+(k*12|0)+4>>0]|0}while(0);c[t>>2]=zZ(c[w>>2]|0,c[s>>2]|0,a[q>>0]|0,c[(c[(c[w>>2]|0)+392>>2]|0)+(c[I>>2]<<4)+4>>2]|0,c[(c[(c[w>>2]|0)+392>>2]|0)+(c[I>>2]<<4)+8>>2]|0,(c[w>>2]|0)+416|0)|0;if(c[t>>2]|0){k=30;break}c[(c[z>>2]|0)+(c[A>>2]<<2)>>2]=c[(c[w>>2]|0)+416+16>>2];c[(c[w>>2]|0)+416+16>>2]=c[(c[w>>2]|0)+416+12>>2]}do if(c[(c[o>>2]|0)+4>>2]|0){if(!(a[(c[o>>2]|0)+9>>0]|0)){c[A>>2]=(c[A>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+1;a[(c[c[o>>2]>>2]|0)+-1>>0]=2;break}c[u>>2]=UZ(c[w>>2]|0,c[(c[o>>2]|0)+4>>2]|0,c[o>>2]|0,c[(c[z>>2]|0)+(c[A>>2]<<2)>>2]|0,c[y>>2]|0)|0;if(c[u>>2]|0){k=38;break a}c[A>>2]=(c[A>>2]|0)+-1}else c[A>>2]=(c[A>>2]|0)+1;while(0);c[I>>2]=(c[I>>2]|0)+1}if((k|0)==17){c[v>>2]=1;$=c[v>>2]|0;i=aa;return $|0}else if((k|0)==19){if((c[s>>2]|0)==(c[(c[w>>2]|0)+144>>2]|0))c[(c[w>>2]|0)+288>>2]=c[(c[(c[w>>2]|0)+392>>2]|0)+(c[I>>2]<<4)>>2];c[v>>2]=8;$=c[v>>2]|0;i=aa;return $|0}else if((k|0)==30){c[v>>2]=c[t>>2];$=c[v>>2]|0;i=aa;return $|0}else if((k|0)==33){c[v>>2]=1;$=c[v>>2]|0;i=aa;return $|0}else if((k|0)==38){c[v>>2]=c[u>>2];$=c[v>>2]|0;i=aa;return $|0}else if((k|0)==43){c[(c[w>>2]|0)+384>>2]=c[A>>2];c:do if((c[(c[H>>2]|0)+8>>2]|0)!=0?(a[(c[c[(c[H>>2]|0)+8>>2]>>2]|0)+-1>>0]|0)!=0:0){c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[A>>2]|0))break c;f=c[I>>2]|0;if((c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]|0)==(c[c[(c[H>>2]|0)+8>>2]>>2]|0))break;c[I>>2]=f+2}c[(c[w>>2]|0)+388>>2]=f}else k=50;while(0);if((k|0)==50)c[(c[w>>2]|0)+388>>2]=-1;c[I>>2]=0;d:while(1){if((c[I>>2]|0)>=(c[O>>2]|0))break;c[F>>2]=(c[(c[H>>2]|0)+20>>2]|0)+((c[I>>2]|0)*12|0);do if((a[(c[c[c[F>>2]>>2]>>2]|0)+-1>>0]|0)==0?(c[(c[F>>2]|0)+8>>2]|0)!=0:0){f=c[c[F>>2]>>2]|0;if(!(c[(c[c[F>>2]>>2]|0)+4>>2]|0)){a[(c[f>>2]|0)+-1>>0]=1;u=c[c[c[F>>2]>>2]>>2]|0;t=c[A>>2]|0;c[A>>2]=t+1;c[(c[z>>2]|0)+(t<<2)>>2]=u;t=c[(c[F>>2]|0)+8>>2]|0;u=c[A>>2]|0;c[A>>2]=u+1;c[(c[z>>2]|0)+(u<<2)>>2]=t;break}if(a[f+9>>0]|0){c[T>>2]=UZ(c[w>>2]|0,c[(c[c[F>>2]>>2]|0)+4>>2]|0,c[c[F>>2]>>2]|0,c[(c[F>>2]|0)+8>>2]|0,c[y>>2]|0)|0;if(c[T>>2]|0){k=58;break d}else break}else{a[(c[c[c[F>>2]>>2]>>2]|0)+-1>>0]=2;c[P>>2]=(c[P>>2]|0)+1;u=c[c[c[F>>2]>>2]>>2]|0;t=c[A>>2]|0;c[A>>2]=t+1;c[(c[z>>2]|0)+(t<<2)>>2]=u;t=c[(c[F>>2]|0)+8>>2]|0;u=c[A>>2]|0;c[A>>2]=u+1;c[(c[z>>2]|0)+(u<<2)>>2]=t;break}}while(0);c[I>>2]=(c[I>>2]|0)+1}if((k|0)==58){c[v>>2]=c[T>>2];$=c[v>>2]|0;i=aa;return $|0}c[(c[z>>2]|0)+(c[A>>2]<<2)>>2]=0;c[I>>2]=0;e:do if(c[P>>2]|0){c[$>>2]=c[(c[w>>2]|0)+400>>2];c[Q>>2]=1<>2]|0)+404>>0];do if(c[P>>2]<<1>>d[(c[w>>2]|0)+404>>0]){do{O=c[P>>2]|0;F=(c[w>>2]|0)+404|0;T=a[F>>0]|0;a[F>>0]=T+1<<24>>24}while((O>>(T&255)|0)!=0);if((d[(c[w>>2]|0)+404>>0]|0)<3)a[(c[w>>2]|0)+404>>0]=3;c[Q>>2]=1<>2]|0)+404>>0];c[Y>>2]=gc[c[(c[w>>2]|0)+12+4>>2]&127](c[(c[w>>2]|0)+396>>2]|0,(c[Q>>2]|0)*12|0)|0;if(c[Y>>2]|0){c[(c[w>>2]|0)+396>>2]=c[Y>>2];c[$>>2]=0;break}c[v>>2]=1;$=c[v>>2]|0;i=aa;return $|0}while(0);f:do if(!(c[$>>2]|0)){c[$>>2]=-1;c[K>>2]=c[Q>>2];while(1){if(!(c[K>>2]|0))break f;T=c[$>>2]|0;Y=(c[K>>2]|0)+-1|0;c[K>>2]=Y;c[(c[(c[w>>2]|0)+396>>2]|0)+(Y*12|0)>>2]=T}}while(0);Y=(c[$>>2]|0)+-1|0;c[$>>2]=Y;c[(c[w>>2]|0)+400>>2]=Y;g:while(1){if((c[I>>2]|0)>=(c[A>>2]|0))break e;c[U>>2]=c[(c[z>>2]|0)+(c[I>>2]<<2)>>2];if((a[(c[U>>2]|0)+-1>>0]|0)==2){c[_>>2]=c[(c[w>>2]|0)+496>>2];a[(c[U>>2]|0)+-1>>0]=0;c[J>>2]=qZ(c[w>>2]|0,(c[G>>2]|0)+40|0,c[U>>2]|0,0)|0;c[B>>2]=c[(c[(c[J>>2]|0)+4>>2]|0)+4>>2];if(!(c[B>>2]|0)){k=78;break}c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[(c[B>>2]|0)+20>>2]|0))break;a[D>>0]=a[(c[(c[B>>2]|0)+16>>2]|0)+(c[K>>2]|0)>>0]|0;if((c[(c[w>>2]|0)+416+12>>2]|0)==(c[(c[w>>2]|0)+416+8>>2]|0)?(yZ((c[w>>2]|0)+416|0)|0)<<24>>24==0:0){k=84;break g}T=a[D>>0]|0;O=(c[w>>2]|0)+416+12|0;Y=c[O>>2]|0;c[O>>2]=Y+1;a[Y>>0]=T;c[_>>2]=(c[_>>2]|0)*1000003^d[D>>0];c[K>>2]=(c[K>>2]|0)+1}do{Y=c[U>>2]|0;c[U>>2]=Y+1}while((a[Y>>0]|0)!=58);do{a[E>>0]=a[c[U>>2]>>0]|0;if((c[(c[w>>2]|0)+416+12>>2]|0)==(c[(c[w>>2]|0)+416+8>>2]|0)?(yZ((c[w>>2]|0)+416|0)|0)<<24>>24==0:0){k=89;break g}T=a[c[U>>2]>>0]|0;O=(c[w>>2]|0)+416+12|0;Y=c[O>>2]|0;c[O>>2]=Y+1;a[Y>>0]=T;c[_>>2]=(c[_>>2]|0)*1000003^d[E>>0];Y=c[U>>2]|0;c[U>>2]=Y+1}while((a[Y>>0]|0)!=0);a[X>>0]=0;c[M>>2]=(c[Q>>2]|0)-1;c[K>>2]=c[_>>2]&c[M>>2];while(1){if((c[(c[(c[w>>2]|0)+396>>2]|0)+((c[K>>2]|0)*12|0)>>2]|0)!=(c[$>>2]|0))break;if((c[_>>2]|0)==(c[(c[(c[w>>2]|0)+396>>2]|0)+((c[K>>2]|0)*12|0)+4>>2]|0)){c[V>>2]=c[(c[w>>2]|0)+416+16>>2];c[W>>2]=c[(c[(c[w>>2]|0)+396>>2]|0)+((c[K>>2]|0)*12|0)+8>>2];while(1){if((a[c[V>>2]>>0]|0)!=(a[c[W>>2]>>0]|0))break;if(!(a[c[V>>2]>>0]|0))break;c[V>>2]=(c[V>>2]|0)+1;c[W>>2]=(c[W>>2]|0)+1}if(!(a[c[V>>2]>>0]|0)){k=98;break g}}if(!(a[X>>0]|0))a[X>>0]=(c[_>>2]&~c[M>>2])>>>((d[(c[w>>2]|0)+404>>0]|0)-1|0)&(c[M>>2]|0)>>>2|1;if((c[K>>2]|0)<(d[X>>0]|0)){c[K>>2]=(c[K>>2]|0)+((c[Q>>2]|0)-(d[X>>0]|0));continue}else{c[K>>2]=(c[K>>2]|0)-(d[X>>0]|0);continue}}if(a[(c[w>>2]|0)+237>>0]|0){a[(c[(c[w>>2]|0)+416+12>>2]|0)+-1>>0]=a[(c[w>>2]|0)+472>>0]|0;c[U>>2]=c[c[c[B>>2]>>2]>>2];do{if((c[(c[w>>2]|0)+416+12>>2]|0)==(c[(c[w>>2]|0)+416+8>>2]|0)?(yZ((c[w>>2]|0)+416|0)|0)<<24>>24==0:0){k=109;break g}T=a[c[U>>2]>>0]|0;O=(c[w>>2]|0)+416+12|0;Y=c[O>>2]|0;c[O>>2]=Y+1;a[Y>>0]=T;Y=c[U>>2]|0;c[U>>2]=Y+1}while((a[Y>>0]|0)!=0)}c[U>>2]=c[(c[w>>2]|0)+416+16>>2];c[(c[w>>2]|0)+416+16>>2]=c[(c[w>>2]|0)+416+12>>2];c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]=c[U>>2];c[(c[(c[w>>2]|0)+396>>2]|0)+((c[K>>2]|0)*12|0)>>2]=c[$>>2];c[(c[(c[w>>2]|0)+396>>2]|0)+((c[K>>2]|0)*12|0)+4>>2]=c[_>>2];c[(c[(c[w>>2]|0)+396>>2]|0)+((c[K>>2]|0)*12|0)+8>>2]=c[U>>2];Y=(c[P>>2]|0)+-1|0;c[P>>2]=Y;if(!Y){k=111;break}}else a[(c[U>>2]|0)+-1>>0]=0;c[I>>2]=(c[I>>2]|0)+2}if((k|0)==78){c[v>>2]=27;$=c[v>>2]|0;i=aa;return $|0}else if((k|0)==84){c[v>>2]=1;$=c[v>>2]|0;i=aa;return $|0}else if((k|0)==89){c[v>>2]=1;$=c[v>>2]|0;i=aa;return $|0}else if((k|0)==98){c[v>>2]=8;$=c[v>>2]|0;i=aa;return $|0}else if((k|0)==109){c[v>>2]=1;$=c[v>>2]|0;i=aa;return $|0}else if((k|0)==111){c[I>>2]=(c[I>>2]|0)+2;break}}while(0);while(1){if((c[I>>2]|0)>=(c[A>>2]|0))break;a[(c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]|0)+-1>>0]=0;c[I>>2]=(c[I>>2]|0)+2}c[C>>2]=c[c[y>>2]>>2];while(1){if(!(c[C>>2]|0))break;a[(c[c[(c[C>>2]|0)+12>>2]>>2]|0)+-1>>0]=0;c[C>>2]=c[(c[C>>2]|0)+4>>2]}if(!(a[(c[w>>2]|0)+236>>0]|0)){c[v>>2]=0;$=c[v>>2]|0;i=aa;return $|0}do if(c[(c[H>>2]|0)+4>>2]|0){c[C>>2]=c[(c[(c[H>>2]|0)+4>>2]|0)+4>>2];if(c[C>>2]|0){c[L>>2]=c[c[x>>2]>>2];do{$=c[L>>2]|0;c[L>>2]=$+1}while((a[$>>0]|0)!=58)}else{c[v>>2]=27;$=c[v>>2]|0;i=aa;return $|0}}else{if(c[(c[G>>2]|0)+152+4>>2]|0){c[C>>2]=c[(c[G>>2]|0)+152+4>>2];c[L>>2]=c[c[x>>2]>>2];break}c[v>>2]=0;$=c[v>>2]|0;i=aa;return $|0}while(0);c[S>>2]=0;if((d[(c[w>>2]|0)+237>>0]|0)!=0?(c[c[c[C>>2]>>2]>>2]|0)!=0:0)do{$=c[S>>2]|0;c[S>>2]=$+1}while((a[(c[c[c[C>>2]>>2]>>2]|0)+$>>0]|0)!=0);c[(c[x>>2]|0)+4>>2]=c[L>>2];c[(c[x>>2]|0)+16>>2]=c[(c[C>>2]|0)+20>>2];c[(c[x>>2]|0)+8>>2]=c[c[c[C>>2]>>2]>>2];c[(c[x>>2]|0)+20>>2]=c[S>>2];c[I>>2]=0;do{$=c[I>>2]|0;c[I>>2]=$+1}while((a[(c[L>>2]|0)+$>>0]|0)!=0);c[N>>2]=(c[I>>2]|0)+(c[(c[C>>2]|0)+20>>2]|0)+(c[S>>2]|0);if((c[N>>2]|0)>(c[(c[C>>2]|0)+24>>2]|0)){c[Z>>2]=Zb[c[(c[w>>2]|0)+12>>2]&63]((c[N>>2]|0)+24|0)|0;if(!(c[Z>>2]|0)){c[v>>2]=1;$=c[v>>2]|0;i=aa;return $|0}c[(c[C>>2]|0)+24>>2]=(c[N>>2]|0)+24;n5(c[Z>>2]|0,c[(c[C>>2]|0)+16>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;c[R>>2]=c[(c[w>>2]|0)+364>>2];while(1){if(!(c[R>>2]|0))break;if((c[(c[R>>2]|0)+12>>2]|0)==(c[(c[C>>2]|0)+16>>2]|0))c[(c[R>>2]|0)+12>>2]=c[Z>>2];c[R>>2]=c[c[R>>2]>>2]}Vb[c[(c[w>>2]|0)+12+8>>2]&127](c[(c[C>>2]|0)+16>>2]|0);c[(c[C>>2]|0)+16>>2]=c[Z>>2]}c[Z>>2]=(c[(c[C>>2]|0)+16>>2]|0)+(c[(c[C>>2]|0)+20>>2]|0);n5(c[Z>>2]|0,c[L>>2]|0,c[I>>2]|0)|0;if(c[S>>2]|0){c[Z>>2]=(c[Z>>2]|0)+((c[I>>2]|0)-1);a[c[Z>>2]>>0]=a[(c[w>>2]|0)+472>>0]|0;n5((c[Z>>2]|0)+1|0,c[c[c[C>>2]>>2]>>2]|0,c[S>>2]|0)|0}c[c[x>>2]>>2]=c[(c[C>>2]|0)+16>>2];c[v>>2]=0;$=c[v>>2]|0;i=aa;return $|0}return 0}function OZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();k=p+24|0;l=p+20|0;m=p+16|0;g=p+12|0;n=p+8|0;o=p+4|0;h=p;c[l>>2]=b;c[m>>2]=d;c[g>>2]=e;c[n>>2]=f;c[(c[l>>2]|0)+280>>2]=63;c[(c[l>>2]|0)+288>>2]=c[m>>2];a:while(1){c[o>>2]=0;c[h>>2]=kc[c[c[(c[l>>2]|0)+144>>2]>>2]&127](c[(c[l>>2]|0)+144>>2]|0,c[m>>2]|0,c[g>>2]|0,o)|0;c[(c[l>>2]|0)+292>>2]=c[o>>2];switch(c[h>>2]|0){case -15:{g=3;break a}case -4:{g=7;break a}case 0:{g=14;break a}case -1:{g=15;break a}case -2:{g=18;break a}case 15:{if(c[(c[l>>2]|0)+80>>2]|0)gZ(c[l>>2]|0,c[(c[l>>2]|0)+144>>2]|0,c[m>>2]|0,c[o>>2]|0);break}case 11:{if(!(GZ(c[l>>2]|0,c[(c[l>>2]|0)+144>>2]|0,c[m>>2]|0,c[o>>2]|0)|0)){g=11;break a}break}case 13:{if(!(HZ(c[l>>2]|0,c[(c[l>>2]|0)+144>>2]|0,c[m>>2]|0,c[o>>2]|0)|0)){g=13;break a}break}default:{g=21;break a}}d=c[o>>2]|0;c[m>>2]=d;c[(c[l>>2]|0)+288>>2]=d;switch(c[(c[l>>2]|0)+480>>2]|0){case 3:{g=23;break a}case 2:{g=24;break a}default:{}}}switch(g|0){case 3:{if((c[(c[l>>2]|0)+80>>2]|0)!=0?(gZ(c[l>>2]|0,c[(c[l>>2]|0)+144>>2]|0,c[m>>2]|0,c[o>>2]|0),(c[(c[l>>2]|0)+480>>2]|0)==2):0){c[k>>2]=35;break}c[c[n>>2]>>2]=c[o>>2];c[k>>2]=0;break}case 7:{c[c[n>>2]>>2]=c[m>>2];c[k>>2]=0;break}case 11:{c[k>>2]=1;break}case 13:{c[k>>2]=1;break}case 14:{c[(c[l>>2]|0)+288>>2]=c[o>>2];c[k>>2]=4;break}case 15:if(a[(c[l>>2]|0)+480+4>>0]|0){c[k>>2]=5;break}else{c[c[n>>2]>>2]=c[m>>2];c[k>>2]=0;break}case 18:if(a[(c[l>>2]|0)+480+4>>0]|0){c[k>>2]=6;break}else{c[c[n>>2]>>2]=c[m>>2];c[k>>2]=0;break}case 21:{c[k>>2]=9;break}case 23:{c[c[n>>2]>>2]=c[o>>2];c[k>>2]=0;break}case 24:{c[k>>2]=35;break}}i=p;return c[k>>2]|0}function PZ(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 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=i;i=i+64|0;if((i|0)>=(j|0))ba();s=z+48|0;t=z+44|0;u=z+40|0;v=z+36|0;k=z+32|0;w=z+28|0;q=z+53|0;y=z+24|0;r=z+20|0;o=z+16|0;x=z+12|0;p=z+8|0;l=z+52|0;m=z+4|0;n=z;c[t>>2]=b;c[u>>2]=d;c[v>>2]=e;c[k>>2]=f;c[w>>2]=g;a[q>>0]=h;c[y>>2]=c[c[v>>2]>>2];d=c[t>>2]|0;if((c[u>>2]|0)==(c[(c[t>>2]|0)+144>>2]|0)){c[r>>2]=d+288;c[c[r>>2]>>2]=c[y>>2];c[o>>2]=(c[t>>2]|0)+292}else{c[r>>2]=c[d+300>>2];c[o>>2]=(c[(c[t>>2]|0)+300>>2]|0)+4}c[c[r>>2]>>2]=c[y>>2];c[c[v>>2]>>2]=0;a:while(1){c[p>>2]=kc[c[(c[u>>2]|0)+8>>2]&127](c[u>>2]|0,c[y>>2]|0,c[k>>2]|0,x)|0;c[c[o>>2]>>2]=c[x>>2];b:do switch(c[p>>2]|0){case 40:{d=6;break a}case 0:{d=24;break a}case -2:{d=25;break a}case -4:case -1:{d=28;break a}case 7:{if(c[(c[t>>2]|0)+60>>2]|0){a[l>>0]=10;lc[c[(c[t>>2]|0)+60>>2]&127](c[(c[t>>2]|0)+4>>2]|0,l,1);break b}if(c[(c[t>>2]|0)+80>>2]|0)gZ(c[t>>2]|0,c[u>>2]|0,c[y>>2]|0,c[x>>2]|0);break}case 6:{c[m>>2]=c[(c[t>>2]|0)+60>>2];if(!(c[m>>2]|0)){if(!(c[(c[t>>2]|0)+80>>2]|0))break b;gZ(c[t>>2]|0,c[u>>2]|0,c[y>>2]|0,c[x>>2]|0);break b}if(a[(c[u>>2]|0)+72>>0]|0){lc[c[m>>2]&127](c[(c[t>>2]|0)+4>>2]|0,c[y>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0);break b}while(1){c[n>>2]=c[(c[t>>2]|0)+44>>2];Ub[c[(c[u>>2]|0)+60>>2]&31](c[u>>2]|0,y,c[x>>2]|0,n,c[(c[t>>2]|0)+48>>2]|0);c[c[o>>2]>>2]=c[x>>2];lc[c[m>>2]&127](c[(c[t>>2]|0)+4>>2]|0,c[(c[t>>2]|0)+44>>2]|0,(c[n>>2]|0)-(c[(c[t>>2]|0)+44>>2]|0)|0);if((c[y>>2]|0)==(c[x>>2]|0))break b;c[c[r>>2]>>2]=c[y>>2]}}default:{d=31;break a}}while(0);e=c[x>>2]|0;c[y>>2]=e;c[c[r>>2]>>2]=e;switch(c[(c[t>>2]|0)+480>>2]|0){case 3:{d=33;break a}case 2:{d=34;break a}default:{}}}if((d|0)==6){d=c[t>>2]|0;if(!(c[(c[t>>2]|0)+76>>2]|0)){if(c[d+80>>2]|0)gZ(c[t>>2]|0,c[u>>2]|0,c[y>>2]|0,c[x>>2]|0)}else Vb[c[d+76>>2]&127](c[(c[t>>2]|0)+4>>2]|0);c[c[v>>2]>>2]=c[x>>2];c[c[w>>2]>>2]=c[x>>2];if((c[(c[t>>2]|0)+480>>2]|0)==2){c[s>>2]=35;y=c[s>>2]|0;i=z;return y|0}else{c[s>>2]=0;y=c[s>>2]|0;i=z;return y|0}}else if((d|0)==24){c[c[r>>2]>>2]=c[x>>2];c[s>>2]=4;y=c[s>>2]|0;i=z;return y|0}else if((d|0)==25)if(a[q>>0]|0){c[c[w>>2]>>2]=c[y>>2];c[s>>2]=0;y=c[s>>2]|0;i=z;return y|0}else{c[s>>2]=6;y=c[s>>2]|0;i=z;return y|0}else if((d|0)==28)if(a[q>>0]|0){c[c[w>>2]>>2]=c[y>>2];c[s>>2]=0;y=c[s>>2]|0;i=z;return y|0}else{c[s>>2]=20;y=c[s>>2]|0;i=z;return y|0}else if((d|0)==31){c[c[r>>2]>>2]=c[x>>2];c[s>>2]=23;y=c[s>>2]|0;i=z;return y|0}else if((d|0)==33){c[c[w>>2]>>2]=c[x>>2];c[s>>2]=0;y=c[s>>2]|0;i=z;return y|0}else if((d|0)==34){c[s>>2]=35;y=c[s>>2]|0;i=z;return y|0}return 0}function QZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;n=o+4|0;g=o;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[g>>2]=PZ(c[k>>2]|0,c[(c[k>>2]|0)+144>>2]|0,l,c[m>>2]|0,c[n>>2]|0,((a[(c[k>>2]|0)+480+4>>0]|0)!=0^1)&1)|0;if(c[g>>2]|0){c[h>>2]=c[g>>2];n=c[h>>2]|0;i=o;return n|0}if(!(c[l>>2]|0)){c[h>>2]=c[g>>2];n=c[h>>2]|0;i=o;return n|0}e=(c[k>>2]|0)+280|0;if(c[(c[k>>2]|0)+476>>2]|0){c[e>>2]=64;c[h>>2]=RZ(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;n=c[h>>2]|0;i=o;return n|0}else{c[e>>2]=58;c[h>>2]=sZ(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;n=c[h>>2]|0;i=o;return n|0}return 0}function RZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;o=l+12|0;n=l+8|0;m=l+4|0;k=l;c[h>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=KZ(c[h>>2]|0,1,c[(c[h>>2]|0)+144>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,((a[(c[h>>2]|0)+480+4>>0]|0)!=0^1)&1)|0;if((c[k>>2]|0)==0?(SZ(c[h>>2]|0)|0)<<24>>24==0:0){c[g>>2]=1;o=c[g>>2]|0;i=l;return o|0}c[g>>2]=c[k>>2];o=c[g>>2]|0;i=l;return o|0}function SZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m+24|0;d=m+20|0;h=m+16|0;e=m+12|0;f=m+8|0;g=m+4|0;k=m;c[d>>2]=b;c[h>>2]=c[(c[d>>2]|0)+364>>2];while(1){if(!(c[h>>2]|0)){d=13;break}c[f>>2]=(c[(c[h>>2]|0)+12+12>>2]|0)+1;c[g>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[f>>2]|0);if((c[(c[h>>2]|0)+4>>2]|0)==(c[g>>2]|0)){d=13;break}c[e>>2]=(c[f>>2]|0)+((c[(c[h>>2]|0)+8>>2]|0)+0);if((c[e>>2]|0)>((c[(c[h>>2]|0)+40>>2]|0)-(c[(c[h>>2]|0)+36>>2]|0)|0)){c[k>>2]=gc[c[(c[d>>2]|0)+12+4>>2]&127](c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0)|0;if(!(c[k>>2]|0)){d=6;break}if((c[(c[h>>2]|0)+12>>2]|0)==(c[(c[h>>2]|0)+36>>2]|0))c[(c[h>>2]|0)+12>>2]=c[k>>2];if(c[(c[h>>2]|0)+12+4>>2]|0)c[(c[h>>2]|0)+12+4>>2]=(c[k>>2]|0)+((c[(c[h>>2]|0)+12+4>>2]|0)-(c[(c[h>>2]|0)+36>>2]|0));c[(c[h>>2]|0)+36>>2]=c[k>>2];c[(c[h>>2]|0)+40>>2]=(c[k>>2]|0)+(c[e>>2]|0);c[g>>2]=(c[k>>2]|0)+(c[f>>2]|0)}n5(c[g>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+8>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=c[g>>2];c[h>>2]=c[c[h>>2]>>2]}if((d|0)==6){a[l>>0]=0;l=a[l>>0]|0;i=m;return l|0}else if((d|0)==13){a[l>>0]=1;l=a[l>>0]|0;i=m;return l|0}return 0}function TZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;k=n+4|0;l=n;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+356>>2];c[h>>2]=c[c[f>>2]>>2];a:while(1){if(!(a[c[h>>2]>>0]|0)){d=20;break}if((a[c[h>>2]>>0]|0)==58){c[l>>2]=c[c[f>>2]>>2];while(1){d=(c[(c[g>>2]|0)+80+12>>2]|0)==(c[(c[g>>2]|0)+80+8>>2]|0);if((c[l>>2]|0)==(c[h>>2]|0))break;if(d?(yZ((c[g>>2]|0)+80|0)|0)<<24>>24==0:0){d=9;break a}d=a[c[l>>2]>>0]|0;o=(c[g>>2]|0)+80+12|0;b=c[o>>2]|0;c[o>>2]=b+1;a[b>>0]=d;c[l>>2]=(c[l>>2]|0)+1}if(d?(yZ((c[g>>2]|0)+80|0)|0)<<24>>24==0:0){d=13;break}b=(c[g>>2]|0)+80+12|0;o=c[b>>2]|0;c[b>>2]=o+1;a[o>>0]=0;c[k>>2]=qZ(c[e>>2]|0,(c[g>>2]|0)+60|0,c[(c[g>>2]|0)+80+16>>2]|0,8)|0;if(!(c[k>>2]|0)){d=14;break}d=(c[g>>2]|0)+80|0;if((c[c[k>>2]>>2]|0)==(c[(c[g>>2]|0)+80+16>>2]|0))c[(c[g>>2]|0)+80+16>>2]=c[d+12>>2];else c[(c[g>>2]|0)+80+12>>2]=c[d+16>>2];c[(c[f>>2]|0)+4>>2]=c[k>>2]}c[h>>2]=(c[h>>2]|0)+1}if((d|0)==9){c[m>>2]=0;o=c[m>>2]|0;i=n;return o|0}else if((d|0)==13){c[m>>2]=0;o=c[m>>2]|0;i=n;return o|0}else if((d|0)==14){c[m>>2]=0;o=c[m>>2]|0;i=n;return o|0}else if((d|0)==20){c[m>>2]=1;o=c[m>>2]|0;i=n;return o|0}return 0}function UZ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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,w=0;w=i;i=i+48|0;if((i|0)>=(j|0))ba();n=w+32|0;o=w+28|0;p=w+24|0;q=w+20|0;r=w+16|0;s=w+12|0;m=w+38|0;k=w+37|0;l=w+36|0;t=w+8|0;u=w+4|0;v=w;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;a[m>>0]=0;a[k>>0]=1;a[l>>0]=1;if((a[c[r>>2]>>0]|0)==0?(c[c[p>>2]>>2]|0)!=0:0){c[n>>2]=28;v=c[n>>2]|0;i=w;return v|0}if((((c[c[p>>2]>>2]|0)!=0?(a[c[c[p>>2]>>2]>>0]|0)==120:0)?(a[(c[c[p>>2]>>2]|0)+1>>0]|0)==109:0)?(a[(c[c[p>>2]>>2]|0)+2>>0]|0)==108:0){if(((a[(c[c[p>>2]>>2]|0)+3>>0]|0)==110?(a[(c[c[p>>2]>>2]|0)+4>>0]|0)==115:0)?(a[(c[c[p>>2]>>2]|0)+5>>0]|0)==0:0){c[n>>2]=39;v=c[n>>2]|0;i=w;return v|0}if(!(a[(c[c[p>>2]>>2]|0)+3>>0]|0))a[m>>0]=1}c[u>>2]=0;while(1){f=(d[k>>0]|0)!=0;if(!(a[(c[r>>2]|0)+(c[u>>2]|0)>>0]|0))break;do if(f){if((c[u>>2]|0)<=36?(a[(c[r>>2]|0)+(c[u>>2]|0)>>0]|0)==(a[181591+(c[u>>2]|0)>>0]|0):0)break;a[k>>0]=0}while(0);do if((a[m>>0]|0)==0?(d[l>>0]|0)!=0:0){if((c[u>>2]|0)<=29?(a[(c[r>>2]|0)+(c[u>>2]|0)>>0]|0)==(a[181628+(c[u>>2]|0)>>0]|0):0)break;a[l>>0]=0}while(0);c[u>>2]=(c[u>>2]|0)+1}a[k>>0]=(f?(c[u>>2]|0)==36:0)&1;a[l>>0]=((d[l>>0]|0)!=0?(c[u>>2]|0)==29:0)&1;if((d[m>>0]|0)!=(d[k>>0]|0)){c[n>>2]=(d[m>>0]|0)!=0?38:40;v=c[n>>2]|0;i=w;return v|0}if(a[l>>0]|0){c[n>>2]=40;v=c[n>>2]|0;i=w;return v|0}if(a[(c[o>>2]|0)+472>>0]|0)c[u>>2]=(c[u>>2]|0)+1;f=c[o>>2]|0;do if(c[(c[o>>2]|0)+376>>2]|0){c[t>>2]=c[f+376>>2];do if((c[u>>2]|0)>(c[(c[t>>2]|0)+24>>2]|0)){c[v>>2]=gc[c[(c[o>>2]|0)+12+4>>2]&127](c[(c[t>>2]|0)+16>>2]|0,(c[u>>2]|0)+24|0)|0;if(c[v>>2]|0){c[(c[t>>2]|0)+16>>2]=c[v>>2];c[(c[t>>2]|0)+24>>2]=(c[u>>2]|0)+24;break}c[n>>2]=1;v=c[n>>2]|0;i=w;return v|0}while(0);c[(c[o>>2]|0)+376>>2]=c[(c[t>>2]|0)+4>>2]}else{c[t>>2]=Zb[c[f+12>>2]&63](28)|0;if(!(c[t>>2]|0)){c[n>>2]=1;v=c[n>>2]|0;i=w;return v|0}v=Zb[c[(c[o>>2]|0)+12>>2]&63]((c[u>>2]|0)+24|0)|0;c[(c[t>>2]|0)+16>>2]=v;if(c[(c[t>>2]|0)+16>>2]|0){c[(c[t>>2]|0)+24>>2]=(c[u>>2]|0)+24;break}Vb[c[(c[o>>2]|0)+12+8>>2]&127](c[t>>2]|0);c[n>>2]=1;v=c[n>>2]|0;i=w;return v|0}while(0);c[(c[t>>2]|0)+20>>2]=c[u>>2];n5(c[(c[t>>2]|0)+16>>2]|0,c[r>>2]|0,c[u>>2]|0)|0;if(a[(c[o>>2]|0)+472>>0]|0)a[(c[(c[t>>2]|0)+16>>2]|0)+((c[u>>2]|0)-1)>>0]=a[(c[o>>2]|0)+472>>0]|0;c[c[t>>2]>>2]=c[p>>2];c[(c[t>>2]|0)+12>>2]=c[q>>2];c[(c[t>>2]|0)+8>>2]=c[(c[p>>2]|0)+4>>2];if((a[c[r>>2]>>0]|0)==0?(c[p>>2]|0)==((c[(c[o>>2]|0)+356>>2]|0)+152|0):0)c[(c[p>>2]|0)+4>>2]=0;else c[(c[p>>2]|0)+4>>2]=c[t>>2];c[(c[t>>2]|0)+4>>2]=c[c[s>>2]>>2];c[c[s>>2]>>2]=c[t>>2];if((c[q>>2]|0)!=0?(c[(c[o>>2]|0)+100>>2]|0)!=0:0)lc[c[(c[o>>2]|0)+100>>2]&127](c[(c[o>>2]|0)+4>>2]|0,c[c[p>>2]>>2]|0,(c[(c[p>>2]|0)+4>>2]|0)!=0?c[r>>2]|0:0);c[n>>2]=0;v=c[n>>2]|0;i=w;return v|0}function VZ(b,e,f,g,h,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;F=i;i=i+80|0;if((i|0)>=(j|0))ba();l=F+56|0;m=F+52|0;n=F+48|0;o=F+68|0;p=F+44|0;q=F+40|0;r=F+36|0;v=F+32|0;A=F+28|0;D=F+24|0;s=F+64|0;x=F+20|0;y=F+16|0;z=F+12|0;w=F+8|0;u=F+61|0;t=F+60|0;B=F+4|0;C=F;c[m>>2]=b;c[n>>2]=e;a[o>>0]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=k;c[v>>2]=c[(c[m>>2]|0)+356>>2];a:while(1){c[D>>2]=kc[c[(c[n>>2]|0)+16>>2]&127](c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,A)|0;b:do switch(c[D>>2]|0){case -4:{E=3;break a}case 0:{E=4;break a}case -1:{E=7;break a}case 10:{c[y>>2]=gc[c[(c[n>>2]|0)+44>>2]&127](c[n>>2]|0,c[p>>2]|0)|0;if((c[y>>2]|0)<0){E=11;break a}if((a[o>>0]|0)==0&(c[y>>2]|0)==32){if(!((c[(c[r>>2]|0)+12>>2]|0)-(c[(c[r>>2]|0)+16>>2]|0)|0))break b;if((a[(c[(c[r>>2]|0)+12>>2]|0)+-1>>0]|0)==32)break b}c[y>>2]=b_(c[y>>2]|0,s)|0;if(!(c[y>>2]|0)){E=18;break a}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break b;if((c[(c[r>>2]|0)+12>>2]|0)==(c[(c[r>>2]|0)+8>>2]|0)?(yZ(c[r>>2]|0)|0)<<24>>24==0:0){E=26;break a}k=a[s+(c[x>>2]|0)>>0]|0;b=(c[r>>2]|0)+12|0;g=c[b>>2]|0;c[b>>2]=g+1;a[g>>0]=k;c[x>>2]=(c[x>>2]|0)+1}}case 6:{if(!(wZ(c[r>>2]|0,c[n>>2]|0,c[p>>2]|0,c[A>>2]|0)|0)){E=28;break a}break}case -3:{c[A>>2]=(c[p>>2]|0)+(c[(c[n>>2]|0)+68>>2]|0);E=30;break}case 7:case 39:{E=30;break}case 9:{a[t>>0]=$b[c[(c[n>>2]|0)+48>>2]&63](c[n>>2]|0,(c[p>>2]|0)+(c[(c[n>>2]|0)+68>>2]|0)|0,(c[A>>2]|0)+(0-(c[(c[n>>2]|0)+68>>2]|0))|0)|0;if(a[t>>0]|0){if((c[(c[r>>2]|0)+12>>2]|0)==(c[(c[r>>2]|0)+8>>2]|0)?(yZ(c[r>>2]|0)|0)<<24>>24==0:0){E=41;break a}k=a[t>>0]|0;b=(c[r>>2]|0)+12|0;g=c[b>>2]|0;c[b>>2]=g+1;a[g>>0]=k;break b}c[z>>2]=pZ((c[m>>2]|0)+440|0,c[n>>2]|0,(c[p>>2]|0)+(c[(c[n>>2]|0)+68>>2]|0)|0,(c[A>>2]|0)+(0-(c[(c[n>>2]|0)+68>>2]|0))|0)|0;if(!(c[z>>2]|0)){E=43;break a}c[w>>2]=qZ(c[m>>2]|0,c[v>>2]|0,c[z>>2]|0,0)|0;c[(c[m>>2]|0)+440+12>>2]=c[(c[m>>2]|0)+440+16>>2];if((c[r>>2]|0)==((c[v>>2]|0)+80|0)){if(c[(c[m>>2]|0)+256+16>>2]|0){if(d[(c[v>>2]|0)+130>>0]|0)e=(c[(c[m>>2]|0)+300>>2]|0)!=0;else e=(a[(c[v>>2]|0)+129>>0]|0)!=0;e=((e^1)&1|0)!=0}else e=0;a[u>>0]=e&1}else{if(a[(c[v>>2]|0)+129>>0]|0)e=(d[(c[v>>2]|0)+130>>0]|0)!=0;else e=1;a[u>>0]=e&1}e=(c[w>>2]|0)!=0;if(a[u>>0]|0){if(!e){E=56;break a}if(!(a[(c[w>>2]|0)+34>>0]|0)){E=58;break a}}else if(!e)break b;if(a[(c[w>>2]|0)+32>>0]|0){E=61;break a}if(c[(c[w>>2]|0)+28>>2]|0){E=65;break a}if(!(c[(c[w>>2]|0)+4>>2]|0)){E=69;break a}c[C>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[(c[w>>2]|0)+8>>2]|0);a[(c[w>>2]|0)+32>>0]=1;c[B>>2]=VZ(c[m>>2]|0,c[(c[m>>2]|0)+228>>2]|0,a[o>>0]|0,c[(c[w>>2]|0)+4>>2]|0,c[C>>2]|0,c[r>>2]|0)|0;a[(c[w>>2]|0)+32>>0]=0;if(c[B>>2]|0){E=73;break a}break}default:{E=74;break a}}while(0);do if((E|0)==30){E=0;if(!(a[o>>0]|0)){if(!((c[(c[r>>2]|0)+12>>2]|0)-(c[(c[r>>2]|0)+16>>2]|0)|0))break;if((a[(c[(c[r>>2]|0)+12>>2]|0)+-1>>0]|0)==32)break}if((c[(c[r>>2]|0)+12>>2]|0)==(c[(c[r>>2]|0)+8>>2]|0)?(yZ(c[r>>2]|0)|0)<<24>>24==0:0){E=36;break a}k=(c[r>>2]|0)+12|0;g=c[k>>2]|0;c[k>>2]=g+1;a[g>>0]=32}while(0);c[p>>2]=c[A>>2]}switch(E|0){case 3:{c[l>>2]=0;E=c[l>>2]|0;i=F;return E|0}case 4:{if((c[n>>2]|0)==(c[(c[m>>2]|0)+144>>2]|0))c[(c[m>>2]|0)+288>>2]=c[A>>2];c[l>>2]=4;E=c[l>>2]|0;i=F;return E|0}case 7:{if((c[n>>2]|0)==(c[(c[m>>2]|0)+144>>2]|0))c[(c[m>>2]|0)+288>>2]=c[p>>2];c[l>>2]=4;E=c[l>>2]|0;i=F;return E|0}case 11:{if((c[n>>2]|0)==(c[(c[m>>2]|0)+144>>2]|0))c[(c[m>>2]|0)+288>>2]=c[p>>2];c[l>>2]=14;E=c[l>>2]|0;i=F;return E|0}case 18:{if((c[n>>2]|0)==(c[(c[m>>2]|0)+144>>2]|0))c[(c[m>>2]|0)+288>>2]=c[p>>2];c[l>>2]=14;E=c[l>>2]|0;i=F;return E|0}case 26:{c[l>>2]=1;E=c[l>>2]|0;i=F;return E|0}case 28:{c[l>>2]=1;E=c[l>>2]|0;i=F;return E|0}case 36:{c[l>>2]=1;E=c[l>>2]|0;i=F;return E|0}case 41:{c[l>>2]=1;E=c[l>>2]|0;i=F;return E|0}case 43:{c[l>>2]=1;E=c[l>>2]|0;i=F;return E|0}case 56:{c[l>>2]=11;E=c[l>>2]|0;i=F;return E|0}case 58:{c[l>>2]=24;E=c[l>>2]|0;i=F;return E|0}case 61:{if((c[n>>2]|0)==(c[(c[m>>2]|0)+144>>2]|0))c[(c[m>>2]|0)+288>>2]=c[p>>2];c[l>>2]=12;E=c[l>>2]|0;i=F;return E|0}case 65:{if((c[n>>2]|0)==(c[(c[m>>2]|0)+144>>2]|0))c[(c[m>>2]|0)+288>>2]=c[p>>2];c[l>>2]=15;E=c[l>>2]|0;i=F;return E|0}case 69:{if((c[n>>2]|0)==(c[(c[m>>2]|0)+144>>2]|0))c[(c[m>>2]|0)+288>>2]=c[p>>2];c[l>>2]=16;E=c[l>>2]|0;i=F;return E|0}case 73:{c[l>>2]=c[B>>2];E=c[l>>2]|0;i=F;return E|0}case 74:{if((c[n>>2]|0)==(c[(c[m>>2]|0)+144>>2]|0))c[(c[m>>2]|0)+288>>2]=c[p>>2];c[l>>2]=23;E=c[l>>2]|0;i=F;return E|0}}return 0}function WZ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();k=h+8|0;f=h+4|0;g=h;c[k>>2]=b;c[f>>2]=e;c[g>>2]=c[(c[k>>2]|0)+496>>2];while(1){b=c[g>>2]|0;if(!(a[c[f>>2]>>0]|0))break;k=c[f>>2]|0;c[f>>2]=k+1;c[g>>2]=b*1000003^d[k>>0]}i=h;return b|0}function XZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=d;while(1){if((a[c[e>>2]>>0]|0)!=(a[c[f>>2]>>0]|0)){e=6;break}if(!(a[c[e>>2]>>0]|0)){e=4;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){a[g>>0]=1;g=a[g>>0]|0;i=h;return g|0}else if((e|0)==6){a[g>>0]=0;g=a[g>>0]|0;i=h;return g|0}return 0}function YZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+1056|0;if((i|0)>=(j|0))ba();e=m+1052|0;f=m+1048|0;g=m+1044|0;l=m+8|0;k=m+4|0;h=m;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+124>>2]|0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=256)break;c[l+(c[k>>2]<<2)>>2]=-1;c[k>>2]=(c[k>>2]|0)+1}c[l+1028>>2]=0;c[l+1024>>2]=0;c[l+1032>>2]=0;do if($b[c[(c[f>>2]|0)+124>>2]&63](c[(c[f>>2]|0)+248>>2]|0,c[g>>2]|0,l)|0){k=c[(c[f>>2]|0)+12>>2]|0;b=c_()|0;b=Zb[k&63](b)|0;c[(c[f>>2]|0)+240>>2]=b;if(c[(c[f>>2]|0)+240>>2]|0){c[h>>2]=kc[((a[(c[f>>2]|0)+236>>0]&255|0)!=0?65:66)&127](c[(c[f>>2]|0)+240>>2]|0,l,c[l+1028>>2]|0,c[l+1024>>2]|0)|0;if(!(c[h>>2]|0))break;c[(c[f>>2]|0)+244>>2]=c[l+1024>>2];c[(c[f>>2]|0)+252>>2]=c[l+1032>>2];c[(c[f>>2]|0)+144>>2]=c[h>>2];c[e>>2]=0;b=c[e>>2]|0;i=m;return b|0}if(c[l+1032>>2]|0)Vb[c[l+1032>>2]&127](c[l+1024>>2]|0);c[e>>2]=1;b=c[e>>2]|0;i=m;return b|0}while(0);if(c[l+1032>>2]|0)Vb[c[l+1032>>2]&127](c[l+1024>>2]|0)}c[e>>2]=18;b=c[e>>2]|0;i=m;return b|0}function ZZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=lZ(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];b=c[f>>2]|0;i=n;return b|0}else{c[(c[g>>2]|0)+280>>2]=60;c[f>>2]=mZ(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;b=c[f>>2]|0;i=n;return b|0}return 0}function _Z(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=Zb[c[c[e>>2]>>2]&63](188)|0;b=c[f>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=b;f=c[d>>2]|0;i=g;return f|0}else{$Z(b+80|0,c[e>>2]|0);$Z((c[f>>2]|0)+104|0,c[e>>2]|0);a_(c[f>>2]|0,c[e>>2]|0);a_((c[f>>2]|0)+20|0,c[e>>2]|0);a_((c[f>>2]|0)+40|0,c[e>>2]|0);a_((c[f>>2]|0)+60|0,c[e>>2]|0);a[(c[f>>2]|0)+131>>0]=0;a_((c[f>>2]|0)+132|0,c[e>>2]|0);c[(c[f>>2]|0)+152>>2]=0;c[(c[f>>2]|0)+152+4>>2]=0;a[(c[f>>2]|0)+160>>0]=0;c[(c[f>>2]|0)+184>>2]=0;c[(c[f>>2]|0)+164>>2]=0;c[(c[f>>2]|0)+180>>2]=0;c[(c[f>>2]|0)+172>>2]=0;c[(c[f>>2]|0)+176>>2]=0;c[(c[f>>2]|0)+168>>2]=0;a[(c[f>>2]|0)+128>>0]=1;a[(c[f>>2]|0)+129>>0]=0;a[(c[f>>2]|0)+130>>0]=0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}return 0}function $Z(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+20>>2]=c[f>>2];i=d;return}function a_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+4>>0]=0;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+16>>2]=c[g>>2];i=e;return}function b_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<0){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}d=c[f>>2]|0;if((c[f>>2]|0)<128){a[c[g>>2]>>0]=d;c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}b=c[f>>2]|0;if((d|0)<2048){a[c[g>>2]>>0]=b>>6|192;a[(c[g>>2]|0)+1>>0]=c[f>>2]&63|128;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}d=c[f>>2]|0;if((b|0)<65536){a[c[g>>2]>>0]=d>>12|224;a[(c[g>>2]|0)+1>>0]=c[f>>2]>>6&63|128;a[(c[g>>2]|0)+2>>0]=c[f>>2]&63|128;c[e>>2]=3;g=c[e>>2]|0;i=h;return g|0}if((d|0)<1114112){a[c[g>>2]>>0]=c[f>>2]>>18|240;a[(c[g>>2]|0)+1>>0]=c[f>>2]>>12&63|128;a[(c[g>>2]|0)+2>>0]=c[f>>2]>>6&63|128;a[(c[g>>2]|0)+3>>0]=c[f>>2]&63|128;c[e>>2]=4;g=c[e>>2]|0;i=h;return g|0}else{c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function c_(){return 1912}function d_(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+32|0;if((i|0)>=(j|0))ba();m=t+28|0;k=t+24|0;n=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[k>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[r>>2]=c[k>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=368)break;a[(c[k>>2]|0)+(c[s>>2]|0)>>0]=a[92912+(c[s>>2]|0)>>0]|0;c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=128)break;if(((d[92988+(c[s>>2]|0)>>0]|0|0)!=28?(d[92988+(c[s>>2]|0)>>0]|0|0)!=0:0)?(c[(c[n>>2]|0)+(c[s>>2]<<2)>>2]|0)!=(c[s>>2]|0):0){l=9;break}c[s>>2]=(c[s>>2]|0)+1}if((l|0)==9){c[m>>2]=0;s=c[m>>2]|0;i=t;return s|0}c[s>>2]=0;a:while(1){if((c[s>>2]|0)>=256){l=36;break}c[q>>2]=c[(c[n>>2]|0)+(c[s>>2]<<2)>>2];do if((c[q>>2]|0)==-1){a[(c[r>>2]|0)+76+(c[s>>2]|0)>>0]=1;b[(c[r>>2]|0)+376+(c[s>>2]<<1)>>1]=-1;a[(c[r>>2]|0)+888+(c[s>>2]<<2)>>0]=1;a[(c[r>>2]|0)+888+(c[s>>2]<<2)+1>>0]=0}else{g=c[q>>2]|0;if((c[q>>2]|0)<0){if((g|0)<-4){l=17;break a}a[(c[r>>2]|0)+76+(c[s>>2]|0)>>0]=5-((c[q>>2]|0)+2);a[(c[r>>2]|0)+888+(c[s>>2]<<2)>>0]=0;b[(c[r>>2]|0)+376+(c[s>>2]<<1)>>1]=0;break}k=c[q>>2]|0;if((g|0)<128){if(((d[92988+k>>0]|0|0)!=28?(d[92988+(c[q>>2]|0)>>0]|0|0)!=0:0)?(c[q>>2]|0)!=(c[s>>2]|0):0){l=23;break a}a[(c[r>>2]|0)+76+(c[s>>2]|0)>>0]=a[92988+(c[q>>2]|0)>>0]|0;a[(c[r>>2]|0)+888+(c[s>>2]<<2)>>0]=1;a[(c[r>>2]|0)+888+(c[s>>2]<<2)+1>>0]=c[q>>2];b[(c[r>>2]|0)+376+(c[s>>2]<<1)>>1]=(c[q>>2]|0)==0?65535:c[q>>2]|0;break}if((l_(k)|0)<0){a[(c[r>>2]|0)+76+(c[s>>2]|0)>>0]=0;b[(c[r>>2]|0)+376+(c[s>>2]<<1)>>1]=-1;a[(c[r>>2]|0)+888+(c[s>>2]<<2)>>0]=1;a[(c[r>>2]|0)+888+(c[s>>2]<<2)+1>>0]=0;break}if((c[q>>2]|0)>65535){l=28;break a}do if(!(c[93280+(((d[181658+(c[q>>2]>>8)>>0]|0)<<3)+((c[q>>2]&255)>>5)<<2)>>2]&1<<(c[q>>2]&31))){g=(c[r>>2]|0)+76+(c[s>>2]|0)|0;if(c[93280+(((d[181914+(c[q>>2]>>8)>>0]|0)<<3)+((c[q>>2]&255)>>5)<<2)>>2]&1<<(c[q>>2]&31)){a[g>>0]=26;break}else{a[g>>0]=28;break}}else a[(c[r>>2]|0)+76+(c[s>>2]|0)>>0]=22;while(0);l=(b_(c[q>>2]|0,(c[r>>2]|0)+888+(c[s>>2]<<2)+1|0)|0)&255;a[(c[r>>2]|0)+888+(c[s>>2]<<2)>>0]=l;b[(c[r>>2]|0)+376+(c[s>>2]<<1)>>1]=c[q>>2]}while(0);c[s>>2]=(c[s>>2]|0)+1}if((l|0)==17){c[m>>2]=0;s=c[m>>2]|0;i=t;return s|0}else if((l|0)==23){c[m>>2]=0;s=c[m>>2]|0;i=t;return s|0}else if((l|0)==28){c[m>>2]=0;s=c[m>>2]|0;i=t;return s|0}else if((l|0)==36){c[(c[r>>2]|0)+372>>2]=c[p>>2];c[(c[r>>2]|0)+368>>2]=c[o>>2];if(c[o>>2]|0){c[(c[r>>2]|0)+332>>2]=108;c[(c[r>>2]|0)+336>>2]=108;c[(c[r>>2]|0)+340>>2]=108;c[(c[r>>2]|0)+344>>2]=109;c[(c[r>>2]|0)+348>>2]=109;c[(c[r>>2]|0)+352>>2]=109;c[(c[r>>2]|0)+356>>2]=110;c[(c[r>>2]|0)+360>>2]=110;c[(c[r>>2]|0)+364>>2]=110}c[(c[r>>2]|0)+60>>2]=18;c[(c[r>>2]|0)+64>>2]=19;c[m>>2]=c[r>>2];s=c[m>>2]|0;i=t;return s|0}return 0}function e_(){return 94560}function f_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+16|0;g=l+12|0;h=l+8|0;m=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[m>>2]=e;c[k>>2]=r_(c[m>>2]|0)|0;if((c[k>>2]|0)==-1){c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}else{a[(c[g>>2]|0)+73>>0]=c[k>>2];c[c[g>>2]>>2]=67;c[(c[g>>2]|0)+4>>2]=68;c[(c[g>>2]|0)+52>>2]=29;c[(c[g>>2]|0)+76>>2]=c[h>>2];c[c[h>>2]>>2]=c[g>>2];c[f>>2]=1;m=c[f>>2]|0;i=l;return m|0}return 0}function g_(a,b,d,e,f,g,h,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;n=i;i=i+48|0;if((i|0)>=(j|0))ba();x=n+36|0;w=n+32|0;v=n+28|0;u=n+24|0;t=n+20|0;s=n+16|0;r=n+12|0;q=n+8|0;p=n+4|0;o=n;c[x>>2]=a;c[w>>2]=b;c[v>>2]=d;c[u>>2]=e;c[t>>2]=f;c[s>>2]=g;c[r>>2]=h;c[q>>2]=k;c[p>>2]=l;c[o>>2]=m;g=w_(43,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;i=n;return g|0}function h_(){return 94928}function i_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+16|0;g=l+12|0;h=l+8|0;m=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[m>>2]=e;c[k>>2]=r_(c[m>>2]|0)|0;if((c[k>>2]|0)==-1){c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}else{a[(c[g>>2]|0)+73>>0]=c[k>>2];c[c[g>>2]>>2]=69;c[(c[g>>2]|0)+4>>2]=70;c[(c[g>>2]|0)+52>>2]=29;c[(c[g>>2]|0)+76>>2]=c[h>>2];c[c[h>>2]>>2]=c[g>>2];c[f>>2]=1;m=c[f>>2]|0;i=l;return m|0}return 0}function j_(a,b,d,e,f,g,h,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;n=i;i=i+48|0;if((i|0)>=(j|0))ba();x=n+36|0;w=n+32|0;v=n+28|0;u=n+24|0;t=n+20|0;s=n+16|0;r=n+12|0;q=n+8|0;p=n+4|0;o=n;c[x>>2]=a;c[w>>2]=b;c[v>>2]=d;c[u>>2]=e;c[t>>2]=f;c[s>>2]=g;c[r>>2]=h;c[q>>2]=k;c[p>>2]=l;c[o>>2]=m;g=w_(44,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;i=n;return g|0}function k_(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;g=h;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[g>>2]=d_(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;if(!(c[g>>2]|0)){n=c[g>>2]|0;i=h;return n|0}a[(c[g>>2]|0)+76+58>>0]=23;n=c[g>>2]|0;i=h;return n|0}function l_(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+4|0;e=g;c[e>>2]=a;switch(c[e>>2]>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{c[b>>2]=-1;break}case 0:{if(!(d[92988+(c[e>>2]|0)>>0]|0))c[b>>2]=-1;else f=7;break}case 255:{if((c[e>>2]|0)==65534|(c[e>>2]|0)==65535)c[b>>2]=-1;else f=7;break}default:f=7}if((f|0)==7)c[b>>2]=c[e>>2];i=g;return c[b>>2]|0}function m_(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();e=g+16|0;l=g+12|0;h=g+8|0;k=g+4|0;f=g;c[l>>2]=a;c[h>>2]=b;c[k>>2]=c[l>>2];c[f>>2]=gc[c[(c[k>>2]|0)+368>>2]&127](c[(c[k>>2]|0)+372>>2]|0,c[h>>2]|0)|0;if(c[f>>2]&-65536){c[e>>2]=0;l=c[e>>2]|0;i=g;return l|0}else{c[e>>2]=c[93280+(((d[181914+(c[f>>2]>>8)>>0]|0)<<3)+((c[f>>2]&255)>>5)<<2)>>2]&1<<(c[f>>2]&31);l=c[e>>2]|0;i=g;return l|0}return 0}function n_(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();e=g+16|0;l=g+12|0;h=g+8|0;k=g+4|0;f=g;c[l>>2]=a;c[h>>2]=b;c[k>>2]=c[l>>2];c[f>>2]=gc[c[(c[k>>2]|0)+368>>2]&127](c[(c[k>>2]|0)+372>>2]|0,c[h>>2]|0)|0;if(c[f>>2]&-65536){c[e>>2]=0;l=c[e>>2]|0;i=g;return l|0}else{c[e>>2]=c[93280+(((d[181658+(c[f>>2]>>8)>>0]|0)<<3)+((c[f>>2]&255)>>5)<<2)>>2]&1<<(c[f>>2]&31);l=c[e>>2]|0;i=g;return l|0}return 0}function o_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=gc[c[(c[g>>2]|0)+368>>2]&127](c[(c[g>>2]|0)+372>>2]|0,c[f>>2]|0)|0;if(c[d>>2]&-65536){h=1;h=h&1;i=e;return h|0}h=(l_(c[d>>2]|0)|0)<0;h=h&1;i=e;return h|0}function p_(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;if((i|0)>=(j|0))ba();k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;s=u+12|0;p=u+36|0;t=u+8|0;r=u+4|0;q=u;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=c[k>>2];a:while(1){if((c[c[l>>2]>>2]|0)==(c[m>>2]|0)){k=9;break}c[t>>2]=(c[s>>2]|0)+888+(d[c[c[l>>2]>>2]>>0]<<2);g=c[t>>2]|0;c[t>>2]=g+1;c[r>>2]=a[g>>0];if(!(c[r>>2]|0)){c[q>>2]=gc[c[(c[s>>2]|0)+368>>2]&127](c[(c[s>>2]|0)+372>>2]|0,c[c[l>>2]>>2]|0)|0;c[r>>2]=b_(c[q>>2]|0,p)|0;if((c[r>>2]|0)>((c[o>>2]|0)-(c[c[n>>2]>>2]|0)|0)){k=9;break}c[t>>2]=p;g=c[l>>2]|0;c[g>>2]=(c[g>>2]|0)+((d[(c[k>>2]|0)+76+(d[c[c[l>>2]>>2]>>0]|0)>>0]|0)-3)}else{if((c[r>>2]|0)>((c[o>>2]|0)-(c[c[n>>2]>>2]|0)|0)){k=9;break}g=c[l>>2]|0;c[g>>2]=(c[g>>2]|0)+1}while(1){h=c[t>>2]|0;c[t>>2]=h+1;h=a[h>>0]|0;e=c[n>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h;g=(c[r>>2]|0)+-1|0;c[r>>2]=g;if(!g)continue a}}if((k|0)==9){i=u;return}}function q_(a,f,g,h,k){a=a|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;if((i|0)>=(j|0))ba();l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;r=s;q=s+24|0;c[l>>2]=a;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=k;c[r>>2]=c[l>>2];while(1){if((c[c[m>>2]>>2]|0)==(c[n>>2]|0)){l=8;break}if((c[c[o>>2]>>2]|0)==(c[p>>2]|0)){l=8;break}b[q>>1]=b[(c[r>>2]|0)+376+((d[c[c[m>>2]>>2]>>0]|0)<<1)>>1]|0;if(!(e[q>>1]|0)){b[q>>1]=gc[c[(c[r>>2]|0)+368>>2]&127](c[(c[r>>2]|0)+372>>2]|0,c[c[m>>2]>>2]|0)|0;h=c[m>>2]|0;c[h>>2]=(c[h>>2]|0)+((d[(c[l>>2]|0)+76+(d[c[c[m>>2]>>2]>>0]|0)>>0]|0)-3)}else{h=c[m>>2]|0;c[h>>2]=(c[h>>2]|0)+1}k=b[q>>1]|0;f=c[o>>2]|0;h=c[f>>2]|0;c[f>>2]=h+2;b[h>>1]=k}if((l|0)==8){i=s;return}}function r_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g+8|0;b=g+4|0;e=g;c[b>>2]=a;do if(c[b>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=6){a=8;break}a=(A_(c[b>>2]|0,c[98664+(c[e>>2]<<2)>>2]|0)|0)!=0;d=c[e>>2]|0;if(a){a=6;break}c[e>>2]=d+1}if((a|0)==6){c[f>>2]=d;break}else if((a|0)==8){c[f>>2]=-1;break}}else c[f>>2]=6;while(0);i=g;return c[f>>2]|0}function s_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();l=f+12|0;k=f+8|0;h=f+4|0;g=f;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[g>>2]=e;b=y0(97164,c[l>>2]|0,0,c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function t_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();l=f+12|0;k=f+8|0;h=f+4|0;g=f;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[g>>2]=e;b=y0(97164,c[l>>2]|0,1,c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function u_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();k=f+8|0;h=f+4|0;g=f;c[f+12>>2]=a;c[k>>2]=b;c[h>>2]=d;c[g>>2]=e;X$(97560,c[k>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function v_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+160|0;if((i|0)>=(j|0))ba();f=m+20|0;g=m+16|0;o=m+12|0;n=m+8|0;h=m+24|0;l=m+4|0;k=m;c[g>>2]=b;c[o>>2]=d;c[n>>2]=e;c[l>>2]=h;Ub[c[(c[g>>2]|0)+60>>2]&31](c[g>>2]|0,o,c[n>>2]|0,l,(c[l>>2]|0)+128+-1|0);if((c[o>>2]|0)!=(c[n>>2]|0)){c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}a[c[l>>2]>>0]=0;if((A_(h,182170)|0)!=0?(c[(c[g>>2]|0)+68>>2]|0)==2:0){c[f>>2]=c[g>>2];o=c[f>>2]|0;i=m;return o|0}c[k>>2]=r_(h)|0;if((c[k>>2]|0)==-1){c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{c[f>>2]=c[97164+(c[k>>2]<<2)>>2];o=c[f>>2]|0;i=m;return o|0}return 0}function w_(a,b,d,e,f,g,h,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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=i;i=i+64|0;if((i|0)>=(j|0))ba();o=E+60|0;p=E+56|0;s=E+52|0;t=E+48|0;u=E+44|0;v=E+40|0;w=E+36|0;x=E+32|0;y=E+28|0;z=E+24|0;q=E+20|0;r=E+16|0;D=E+12|0;B=E+8|0;C=E+4|0;A=E;c[p>>2]=a;c[s>>2]=b;c[t>>2]=d;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=k;c[z>>2]=l;c[q>>2]=m;c[r>>2]=n;c[D>>2]=0;c[B>>2]=0;c[C>>2]=0;c[u>>2]=(c[u>>2]|0)+((c[(c[t>>2]|0)+68>>2]|0)*5|0);c[v>>2]=(c[v>>2]|0)+(0-(c[(c[t>>2]|0)+68>>2]<<1));h=(z0(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,B,C,D,u)|0)!=0;if(!(h&(c[B>>2]|0)!=0)){c[c[w>>2]>>2]=c[u>>2];c[o>>2]=0;h=c[o>>2]|0;i=E;return h|0}if(kc[c[(c[t>>2]|0)+28>>2]&127](c[t>>2]|0,c[B>>2]|0,c[C>>2]|0,182195)|0){if(c[x>>2]|0)c[c[x>>2]>>2]=c[D>>2];if(c[y>>2]|0)c[c[y>>2]>>2]=c[u>>2];if(!(z0(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,B,C,D,u)|0)){c[c[w>>2]>>2]=c[u>>2];c[o>>2]=0;h=c[o>>2]|0;i=E;return h|0}if(!(c[B>>2]|0))if(c[s>>2]|0){c[c[w>>2]>>2]=c[u>>2];c[o>>2]=0;h=c[o>>2]|0;i=E;return h|0}else{c[o>>2]=1;h=c[o>>2]|0;i=E;return h|0}}else if(!(c[s>>2]|0)){c[c[w>>2]>>2]=c[B>>2];c[o>>2]=0;h=c[o>>2]|0;i=E;return h|0}if(kc[c[(c[t>>2]|0)+28>>2]&127](c[t>>2]|0,c[B>>2]|0,c[C>>2]|0,182203)|0){c[A>>2]=A0(c[t>>2]|0,c[D>>2]|0,c[v>>2]|0)|0;if(!(97<=(c[A>>2]|0)&(c[A>>2]|0)<=122)?!(65<=(c[A>>2]|0)&(c[A>>2]|0)<=90):0){c[c[w>>2]>>2]=c[D>>2];c[o>>2]=0;h=c[o>>2]|0;i=E;return h|0}if(c[z>>2]|0)c[c[z>>2]>>2]=c[D>>2];if(c[q>>2]|0){h=$b[c[p>>2]&63](c[t>>2]|0,c[D>>2]|0,(c[u>>2]|0)+(0-(c[(c[t>>2]|0)+68>>2]|0))|0)|0;c[c[q>>2]>>2]=h}if(!(z0(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,B,C,D,u)|0)){c[c[w>>2]>>2]=c[u>>2];c[o>>2]=0;h=c[o>>2]|0;i=E;return h|0}if(!(c[B>>2]|0)){c[o>>2]=1;h=c[o>>2]|0;i=E;return h|0}}h=(kc[c[(c[t>>2]|0)+28>>2]&127](c[t>>2]|0,c[B>>2]|0,c[C>>2]|0,182212)|0)==0;if(h|(c[s>>2]|0)!=0){c[c[w>>2]>>2]=c[B>>2];c[o>>2]=0;h=c[o>>2]|0;i=E;return h|0}do if(kc[c[(c[t>>2]|0)+28>>2]&127](c[t>>2]|0,c[D>>2]|0,(c[u>>2]|0)+(0-(c[(c[t>>2]|0)+68>>2]|0))|0,145669)|0){if(c[r>>2]|0)c[c[r>>2]>>2]=1}else if(kc[c[(c[t>>2]|0)+28>>2]&127](c[t>>2]|0,c[D>>2]|0,(c[u>>2]|0)+(0-(c[(c[t>>2]|0)+68>>2]|0))|0,145661)|0){if(!(c[r>>2]|0))break;c[c[r>>2]>>2]=0;break}else{c[c[w>>2]>>2]=c[D>>2];c[o>>2]=0;h=c[o>>2]|0;i=E;return h|0}while(0);while(1){if(!(B0(A0(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)|0))break;c[u>>2]=(c[u>>2]|0)+(c[(c[t>>2]|0)+68>>2]|0)}if((c[u>>2]|0)!=(c[v>>2]|0)){c[c[w>>2]>>2]=c[u>>2];c[o>>2]=0;h=c[o>>2]|0;i=E;return h|0}else{c[o>>2]=1;h=c[o>>2]|0;i=E;return h|0}return 0}function x_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();l=f+12|0;k=f+8|0;h=f+4|0;g=f;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[g>>2]=e;b=y0(95296,c[l>>2]|0,0,c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function y_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();l=f+12|0;k=f+8|0;h=f+4|0;g=f;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[g>>2]=e;b=y0(95296,c[l>>2]|0,1,c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function z_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+160|0;if((i|0)>=(j|0))ba();f=m+20|0;g=m+16|0;o=m+12|0;n=m+8|0;h=m+24|0;l=m+4|0;k=m;c[g>>2]=b;c[o>>2]=d;c[n>>2]=e;c[l>>2]=h;Ub[c[(c[g>>2]|0)+60>>2]&31](c[g>>2]|0,o,c[n>>2]|0,l,(c[l>>2]|0)+128+-1|0);if((c[o>>2]|0)!=(c[n>>2]|0)){c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}a[c[l>>2]>>0]=0;if((A_(h,182170)|0)!=0?(c[(c[g>>2]|0)+68>>2]|0)==2:0){c[f>>2]=c[g>>2];o=c[f>>2]|0;i=m;return o|0}c[k>>2]=r_(h)|0;if((c[k>>2]|0)==-1){c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{c[f>>2]=c[95296+(c[k>>2]<<2)>>2];o=c[f>>2]|0;i=m;return o|0}return 0}function A_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();k=l+8|0;e=l+4|0;f=l;g=l+13|0;h=l+12|0;c[e>>2]=b;c[f>>2]=d;while(1){d=c[e>>2]|0;c[e>>2]=d+1;a[g>>0]=a[d>>0]|0;d=c[f>>2]|0;c[f>>2]=d+1;a[h>>0]=a[d>>0]|0;if(97<=(a[g>>0]|0)?(a[g>>0]|0)<=122:0)a[g>>0]=(a[g>>0]|0)+-32;if(97<=(a[h>>0]|0)?(a[h>>0]|0)<=122:0)a[h>>0]=(a[h>>0]|0)+-32;if((a[g>>0]|0)!=(a[h>>0]|0)){e=9;break}if(!(a[g>>0]|0)){e=11;break}}if((e|0)==9){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((e|0)==11){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function B_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();o=q+24|0;m=q+20|0;n=q+16|0;l=q+12|0;p=q+8|0;k=q+4|0;h=q;c[m>>2]=b;c[n>>2]=e;c[l>>2]=f;c[p>>2]=g;a:do if((c[n>>2]|0)!=(c[l>>2]|0)){c[h>>2]=(c[l>>2]|0)-(c[n>>2]|0);do if(c[h>>2]&1){c[h>>2]=c[h>>2]&-2;if(!(c[h>>2]|0)){c[o>>2]=-1;break a}else{c[l>>2]=(c[n>>2]|0)+(c[h>>2]|0);break}}while(0);f=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))f=d[(c[m>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[n>>2]>>0]|0)|0;b:do switch(f|0){case 12:{c[o>>2]=c$(12,c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 13:{c[o>>2]=c$(13,c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 2:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[l>>2]|0)){c[o>>2]=-1;break a}f=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))f=d[(c[m>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(f|0){case 16:{c[o>>2]=d$(c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 15:{c[o>>2]=__(c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[c[p>>2]>>2]=(c[n>>2]|0)+-2;c[o>>2]=29;break a}default:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}}}case 9:{if(((c[n>>2]|0)+2|0)==(c[l>>2]|0)){c[c[p>>2]>>2]=c[l>>2];c[o>>2]=-15;break a}else f=25;break}case 10:case 21:{f=25;break}case 30:{c[o>>2]=U_(c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 35:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=38;break a}case 20:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=25;break a}case 4:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[l>>2]|0)){c[o>>2]=-26;break a}if((a[(c[n>>2]|0)+1>>0]|0)==0?(a[c[n>>2]>>0]|0)==93:0){if(((c[n>>2]|0)+2|0)==(c[l>>2]|0)){c[o>>2]=-1;break a}if((a[(c[n>>2]|0)+2+1>>0]|0)==0?(a[(c[n>>2]|0)+2>>0]|0)==62:0){c[c[p>>2]>>2]=(c[n>>2]|0)+4;c[o>>2]=34;break a}}c[c[p>>2]>>2]=c[n>>2];c[o>>2]=26;break a}case 31:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=23;break a}case 32:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[l>>2]|0)){c[o>>2]=-24;break a}f=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))f=d[(c[m>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(f|0){case 33:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=36;break a}case 15:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=35;break a}case 34:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=24;break a}default:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}}}case 36:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=21;break a}case 11:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=17;break a}case 19:{c[o>>2]=e$(c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 5:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<2){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 6:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<3){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 7:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<4){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 24:case 22:{c[k>>2]=18;c[n>>2]=(c[n>>2]|0)+2;f=77;break}case 23:case 27:case 26:case 25:{c[k>>2]=19;c[n>>2]=(c[n>>2]|0)+2;f=77;break}case 29:{f=c[n>>2]|0;if(c[93280+((d[181658+(d[(c[n>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[n>>2]>>0]>>5)<<2)>>2]&1<<(d[c[n>>2]>>0]&31)){c[n>>2]=f+2;c[k>>2]=18;f=77;break b}if(c[93280+((d[181914+(d[f+1>>0]|0)>>0]<<3)+(d[c[n>>2]>>0]>>5)<<2)>>2]&1<<(d[c[n>>2]>>0]&31)){c[n>>2]=(c[n>>2]|0)+2;c[k>>2]=19;f=77}else f=76;break}default:f=76}while(0);if((f|0)==25){c:while(1){c[n>>2]=(c[n>>2]|0)+2;b=c[n>>2]|0;if((c[n>>2]|0)==(c[l>>2]|0)){f=32;break}f=c[n>>2]|0;if(!(a[b+1>>0]|0))f=d[(c[m>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(f|0){case 10:case 21:{f=25;continue c}case 9:break;default:{f=31;break c}}if(((c[n>>2]|0)+2|0)!=(c[l>>2]|0))f=25;else{f=31;break}}if((f|0)==31){c[c[p>>2]>>2]=c[n>>2];c[o>>2]=15;break}else if((f|0)==32){c[c[p>>2]>>2]=b;c[o>>2]=15;break}}else if((f|0)==76){c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break}else if((f|0)==77){d:while(1){if((c[n>>2]|0)==(c[l>>2]|0)){f=126;break}f=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))f=d[(c[m>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(f|0){case 5:{f=85;break d}case 6:{f=88;break d}case 7:{f=91;break d}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{f=94;break d}case 34:{f=116;break d}case 33:{f=119;break d}case 15:{f=122;break d}case 29:{if(!(c[93280+((d[181914+(d[(c[n>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[n>>2]>>0]>>5)<<2)>>2]&1<<(d[c[n>>2]>>0]&31))){f=83;break d}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{c[n>>2]=(c[n>>2]|0)+2;switch(c[k>>2]|0){case 18:break;case 41:{c[k>>2]=19;f=77;continue d}default:{f=77;continue d}}if((c[n>>2]|0)==(c[l>>2]|0)){f=97;break d}c[k>>2]=41;f=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))f=d[(c[m>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(f|0){case 5:{f=105;break d}case 6:{f=108;break d}case 7:{f=111;break d}case 29:{if(!(c[93280+((d[181914+(d[(c[n>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[n>>2]>>0]>>5)<<2)>>2]&1<<(d[c[n>>2]>>0]&31))){f=103;break d}break}case 27:case 26:case 25:case 24:case 22:break;default:{c[k>>2]=19;f=77;continue d}}c[n>>2]=(c[n>>2]|0)+2;f=77;continue d}default:{f=125;break d}}c[n>>2]=(c[n>>2]|0)+2;f=77}switch(f|0){case 83:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 85:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<2){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 88:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<3){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 91:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<4){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 94:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=c[k>>2];break a}case 97:{c[o>>2]=-1;break a}case 103:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 105:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<2){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 108:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<3){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 111:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<4){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 116:{f=c[n>>2]|0;if((c[k>>2]|0)==19){c[c[p>>2]>>2]=f;c[o>>2]=0;break a}else{c[c[p>>2]>>2]=f+2;c[o>>2]=32;break a}}case 119:{f=c[n>>2]|0;if((c[k>>2]|0)==19){c[c[p>>2]>>2]=f;c[o>>2]=0;break a}else{c[c[p>>2]>>2]=f+2;c[o>>2]=31;break a}}case 122:{f=c[n>>2]|0;if((c[k>>2]|0)==19){c[c[p>>2]>>2]=f;c[o>>2]=0;break a}else{c[c[p>>2]>>2]=f+2;c[o>>2]=30;break a}}case 125:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 126:{c[o>>2]=0-(c[k>>2]|0);break a}}}}else c[o>>2]=-4;while(0);i=q;return c[o>>2]|0}function C_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();m=p+20|0;l=p+16|0;n=p+12|0;k=p+8|0;o=p+4|0;h=p;c[l>>2]=b;c[n>>2]=e;c[k>>2]=f;c[o>>2]=g;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-4;o=c[m>>2]|0;i=p;return o|0}c[h>>2]=(c[k>>2]|0)-(c[n>>2]|0);do if(c[h>>2]&1){c[h>>2]=c[h>>2]&-2;if(c[h>>2]|0){c[k>>2]=(c[n>>2]|0)+(c[h>>2]|0);break}c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}while(0);h=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))h=d[(c[l>>2]|0)+76+(d[h>>0]|0)>>0]|0;else h=S_(a[h+1>>0]|0,a[c[n>>2]>>0]|0)|0;a:do switch(h|0){case 2:{c[m>>2]=X_(c[l>>2]|0,(c[n>>2]|0)+2|0,c[k>>2]|0,c[o>>2]|0)|0;o=c[m>>2]|0;i=p;return o|0}case 3:{c[m>>2]=T_(c[l>>2]|0,(c[n>>2]|0)+2|0,c[k>>2]|0,c[o>>2]|0)|0;o=c[m>>2]|0;i=p;return o|0}case 9:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-3;o=c[m>>2]|0;i=p;return o|0}h=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))h=d[(c[l>>2]|0)+76+(d[h>>0]|0)>>0]|0;else h=S_(a[h+1>>0]|0,a[c[n>>2]>>0]|0)|0;if((h|0)==10)c[n>>2]=(c[n>>2]|0)+2;c[c[o>>2]>>2]=c[n>>2];c[m>>2]=7;o=c[m>>2]|0;i=p;return o|0}case 10:{c[c[o>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=7;o=c[m>>2]|0;i=p;return o|0}case 4:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-5;o=c[m>>2]|0;i=p;return o|0}if((a[(c[n>>2]|0)+1>>0]|0)==0?(a[c[n>>2]>>0]|0)==93:0){c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-5;o=c[m>>2]|0;i=p;return o|0}if((a[(c[n>>2]|0)+1>>0]|0)==0?(a[c[n>>2]>>0]|0)==62:0){c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}c[n>>2]=(c[n>>2]|0)+-2}break}case 5:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=2){c[n>>2]=(c[n>>2]|0)+2;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 6:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=3){c[n>>2]=(c[n>>2]|0)+3;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 7:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=4){c[n>>2]=(c[n>>2]|0)+4;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 8:case 1:case 0:{c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}default:c[n>>2]=(c[n>>2]|0)+2}while(0);b:while(1){f=c[n>>2]|0;if((c[n>>2]|0)==(c[k>>2]|0)){b=68;break}h=c[n>>2]|0;if(!(a[f+1>>0]|0))h=d[(c[l>>2]|0)+76+(d[h>>0]|0)>>0]|0;else h=S_(a[h+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(h|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{b=66;break b}case 5:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<2){b=49;break b}c[n>>2]=h+2;continue b}case 6:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<3){b=52;break b}c[n>>2]=h+3;continue b}case 7:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<4){b=55;break b}c[n>>2]=h+4;continue b}case 4:{if(((c[n>>2]|0)+2|0)==(c[k>>2]|0)){b=66;break b}if((a[(c[n>>2]|0)+2+1>>0]|0)==0?(a[(c[n>>2]|0)+2>>0]|0)==93:0){if(((c[n>>2]|0)+4|0)==(c[k>>2]|0)){b=66;break b}if((a[(c[n>>2]|0)+4+1>>0]|0)==0?(a[(c[n>>2]|0)+4>>0]|0)==62:0){b=65;break b}c[n>>2]=(c[n>>2]|0)+2;continue b}c[n>>2]=(c[n>>2]|0)+2;continue b}default:{c[n>>2]=(c[n>>2]|0)+2;continue b}}}if((b|0)==49){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==52){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==55){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==65){c[c[o>>2]>>2]=(c[n>>2]|0)+4;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==66){c[c[o>>2]>>2]=c[n>>2];c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==68){c[c[o>>2]>>2]=f;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}return 0}function D_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();m=p+20|0;l=p+16|0;n=p+12|0;k=p+8|0;o=p+4|0;h=p;c[l>>2]=b;c[n>>2]=e;c[k>>2]=f;c[o>>2]=g;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-4;o=c[m>>2]|0;i=p;return o|0}c[h>>2]=(c[k>>2]|0)-(c[n>>2]|0);do if(c[h>>2]&1){c[h>>2]=c[h>>2]&-2;if(c[h>>2]|0){c[k>>2]=(c[n>>2]|0)+(c[h>>2]|0);break}c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}while(0);h=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))h=d[(c[l>>2]|0)+76+(d[h>>0]|0)>>0]|0;else h=S_(a[h+1>>0]|0,a[c[n>>2]>>0]|0)|0;a:do switch(h|0){case 4:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}if((a[(c[n>>2]|0)+1>>0]|0)==0?(a[c[n>>2]>>0]|0)==93:0){c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}if((a[(c[n>>2]|0)+1>>0]|0)==0?(a[c[n>>2]>>0]|0)==62:0){c[c[o>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=40;o=c[m>>2]|0;i=p;return o|0}c[n>>2]=(c[n>>2]|0)+-2}break}case 9:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}h=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))h=d[(c[l>>2]|0)+76+(d[h>>0]|0)>>0]|0;else h=S_(a[h+1>>0]|0,a[c[n>>2]>>0]|0)|0;if((h|0)==10)c[n>>2]=(c[n>>2]|0)+2;c[c[o>>2]>>2]=c[n>>2];c[m>>2]=7;o=c[m>>2]|0;i=p;return o|0}case 10:{c[c[o>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=7;o=c[m>>2]|0;i=p;return o|0}case 5:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=2){c[n>>2]=(c[n>>2]|0)+2;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 6:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=3){c[n>>2]=(c[n>>2]|0)+3;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 7:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=4){c[n>>2]=(c[n>>2]|0)+4;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 8:case 1:case 0:{c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}default:c[n>>2]=(c[n>>2]|0)+2}while(0);b:while(1){f=c[n>>2]|0;if((c[n>>2]|0)==(c[k>>2]|0)){b=57;break}h=c[n>>2]|0;if(!(a[f+1>>0]|0))h=d[(c[l>>2]|0)+76+(d[h>>0]|0)>>0]|0;else h=S_(a[h+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(h|0){case 4:case 10:case 9:case 8:case 1:case 0:{b=55;break b}case 5:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<2){b=47;break b}c[n>>2]=h+2;continue b}case 6:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<3){b=50;break b}c[n>>2]=h+3;continue b}case 7:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<4){b=53;break b}c[n>>2]=h+4;continue b}default:{c[n>>2]=(c[n>>2]|0)+2;continue b}}}if((b|0)==47){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==50){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==53){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==55){c[c[o>>2]>>2]=c[n>>2];c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==57){c[c[o>>2]>>2]=f;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}return 0}function E_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();n=q+24|0;k=q+20|0;o=q+16|0;l=q+12|0;p=q+8|0;m=q+4|0;h=q;c[k>>2]=b;c[o>>2]=e;c[l>>2]=f;c[p>>2]=g;c[m>>2]=0;c[h>>2]=(c[l>>2]|0)-(c[o>>2]|0);if(c[h>>2]&1){c[h>>2]=c[h>>2]&-2;c[l>>2]=(c[o>>2]|0)+(c[h>>2]|0)}a:while(1){if((c[o>>2]|0)==(c[l>>2]|0)){b=39;break}b=c[o>>2]|0;if(!(a[(c[o>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[o>>2]>>0]|0)|0;switch(b|0){case 8:case 1:case 0:{b=17;break a}case 5:{if(((c[l>>2]|0)-(c[o>>2]|0)|0)<2){b=9;break a}c[o>>2]=(c[o>>2]|0)+2;continue a}case 6:{if(((c[l>>2]|0)-(c[o>>2]|0)|0)<3){b=12;break a}c[o>>2]=(c[o>>2]|0)+3;continue a}case 7:{if(((c[l>>2]|0)-(c[o>>2]|0)|0)<4){b=15;break a}c[o>>2]=(c[o>>2]|0)+4;continue a}case 2:{e=(c[o>>2]|0)+2|0;c[o>>2]=e;if((e|0)==(c[l>>2]|0)){b=19;break a}if(a[(c[o>>2]|0)+1>>0]|0)continue a;if((a[c[o>>2]>>0]|0)!=33)continue a;e=(c[o>>2]|0)+2|0;c[o>>2]=e;if((e|0)==(c[l>>2]|0)){b=23;break a}if(a[(c[o>>2]|0)+1>>0]|0)continue a;if((a[c[o>>2]>>0]|0)!=91)continue a;c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+2;continue a}case 4:{e=(c[o>>2]|0)+2|0;c[o>>2]=e;if((e|0)==(c[l>>2]|0)){b=28;break a}if(a[(c[o>>2]|0)+1>>0]|0)continue a;if((a[c[o>>2]>>0]|0)!=93)continue a;e=(c[o>>2]|0)+2|0;c[o>>2]=e;if((e|0)==(c[l>>2]|0)){b=32;break a}if(a[(c[o>>2]|0)+1>>0]|0)continue a;if((a[c[o>>2]>>0]|0)!=62)continue a;c[o>>2]=(c[o>>2]|0)+2;if(!(c[m>>2]|0)){b=36;break a}c[m>>2]=(c[m>>2]|0)+-1;continue a}default:{c[o>>2]=(c[o>>2]|0)+2;continue a}}}switch(b|0){case 9:{c[n>>2]=-2;p=c[n>>2]|0;i=q;return p|0}case 12:{c[n>>2]=-2;p=c[n>>2]|0;i=q;return p|0}case 15:{c[n>>2]=-2;p=c[n>>2]|0;i=q;return p|0}case 17:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;p=c[n>>2]|0;i=q;return p|0}case 19:{c[n>>2]=-1;p=c[n>>2]|0;i=q;return p|0}case 23:{c[n>>2]=-1;p=c[n>>2]|0;i=q;return p|0}case 28:{c[n>>2]=-1;p=c[n>>2]|0;i=q;return p|0}case 32:{c[n>>2]=-1;p=c[n>>2]|0;i=q;return p|0}case 36:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=42;p=c[n>>2]|0;i=q;return p|0}case 39:{c[n>>2]=-1;p=c[n>>2]|0;i=q;return p|0}}return 0}function F_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();m=p+20|0;k=p+16|0;n=p+12|0;h=p+8|0;o=p+4|0;l=p;c[k>>2]=b;c[n>>2]=e;c[h>>2]=f;c[o>>2]=g;do if((c[n>>2]|0)!=(c[h>>2]|0)){c[l>>2]=c[n>>2];a:while(1){b=c[n>>2]|0;if((c[n>>2]|0)==(c[h>>2]|0)){f=33;break}f=c[n>>2]|0;if(!(a[b+1>>0]|0))f=d[(c[k>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(f|0){case 3:{f=12;break a}case 2:{f=15;break a}case 10:{f=16;break a}case 9:{f=19;break a}case 21:{f=29;break a}case 5:{c[n>>2]=(c[n>>2]|0)+2;continue a}case 6:{c[n>>2]=(c[n>>2]|0)+3;continue a}case 7:{c[n>>2]=(c[n>>2]|0)+4;continue a}default:{c[n>>2]=(c[n>>2]|0)+2;continue a}}}if((f|0)==12)if((c[n>>2]|0)==(c[l>>2]|0)){c[m>>2]=T_(c[k>>2]|0,(c[n>>2]|0)+2|0,c[h>>2]|0,c[o>>2]|0)|0;break}else{c[c[o>>2]>>2]=c[n>>2];c[m>>2]=6;break}else if((f|0)==15){c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((f|0)==16){f=c[n>>2]|0;if((c[n>>2]|0)==(c[l>>2]|0)){c[c[o>>2]>>2]=f+2;c[m>>2]=7;break}else{c[c[o>>2]>>2]=f;c[m>>2]=6;break}}else if((f|0)==19){f=c[n>>2]|0;if((c[n>>2]|0)!=(c[l>>2]|0)){c[c[o>>2]>>2]=f;c[m>>2]=6;break}c[n>>2]=f+2;if((c[n>>2]|0)==(c[h>>2]|0)){c[m>>2]=-3;break}f=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))f=d[(c[k>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[n>>2]>>0]|0)|0;if((f|0)==10)c[n>>2]=(c[n>>2]|0)+2;c[c[o>>2]>>2]=c[n>>2];c[m>>2]=7;break}else if((f|0)==29){f=c[n>>2]|0;if((c[n>>2]|0)==(c[l>>2]|0)){c[c[o>>2]>>2]=f+2;c[m>>2]=39;break}else{c[c[o>>2]>>2]=f;c[m>>2]=6;break}}else if((f|0)==33){c[c[o>>2]>>2]=b;c[m>>2]=6;break}}else c[m>>2]=-4;while(0);i=p;return c[m>>2]|0}function G_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();n=q+24|0;l=q+20|0;o=q+16|0;k=q+12|0;p=q+8|0;m=q+4|0;h=q;c[l>>2]=b;c[o>>2]=e;c[k>>2]=f;c[p>>2]=g;if((c[o>>2]|0)==(c[k>>2]|0)){c[n>>2]=-4;p=c[n>>2]|0;i=q;return p|0}c[m>>2]=c[o>>2];a:while(1){b=c[o>>2]|0;if((c[o>>2]|0)==(c[k>>2]|0)){f=32;break}f=c[o>>2]|0;if(!(a[b+1>>0]|0))f=d[(c[l>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[o>>2]>>0]|0)|0;switch(f|0){case 3:{f=12;break a}case 30:{f=15;break a}case 10:{f=18;break a}case 9:{f=21;break a}case 5:{c[o>>2]=(c[o>>2]|0)+2;continue a}case 6:{c[o>>2]=(c[o>>2]|0)+3;continue a}case 7:{c[o>>2]=(c[o>>2]|0)+4;continue a}default:{c[o>>2]=(c[o>>2]|0)+2;continue a}}}if((f|0)==12)if((c[o>>2]|0)==(c[m>>2]|0)){c[n>>2]=T_(c[l>>2]|0,(c[o>>2]|0)+2|0,c[k>>2]|0,c[p>>2]|0)|0;p=c[n>>2]|0;i=q;return p|0}else{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=6;p=c[n>>2]|0;i=q;return p|0}else if((f|0)==15)if((c[o>>2]|0)==(c[m>>2]|0)){c[h>>2]=U_(c[l>>2]|0,(c[o>>2]|0)+2|0,c[k>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[h>>2]|0)==22?0:c[h>>2]|0;p=c[n>>2]|0;i=q;return p|0}else{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=6;p=c[n>>2]|0;i=q;return p|0}else if((f|0)==18){f=c[o>>2]|0;if((c[o>>2]|0)==(c[m>>2]|0)){c[c[p>>2]>>2]=f+2;c[n>>2]=7;p=c[n>>2]|0;i=q;return p|0}else{c[c[p>>2]>>2]=f;c[n>>2]=6;p=c[n>>2]|0;i=q;return p|0}}else if((f|0)==21){f=c[o>>2]|0;if((c[o>>2]|0)!=(c[m>>2]|0)){c[c[p>>2]>>2]=f;c[n>>2]=6;p=c[n>>2]|0;i=q;return p|0}c[o>>2]=f+2;if((c[o>>2]|0)==(c[k>>2]|0)){c[n>>2]=-3;p=c[n>>2]|0;i=q;return p|0}f=c[o>>2]|0;if(!(a[(c[o>>2]|0)+1>>0]|0))f=d[(c[l>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[o>>2]>>0]|0)|0;if((f|0)==10)c[o>>2]=(c[o>>2]|0)+2;c[c[p>>2]>>2]=c[o>>2];c[n>>2]=7;p=c[n>>2]|0;i=q;return p|0}else if((f|0)==32){c[c[p>>2]>>2]=b;c[n>>2]=6;p=c[n>>2]|0;i=q;return p|0}return 0}function H_(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;if((i|0)>=(j|0))ba();m=n+12|0;k=n+8|0;g=n+4|0;l=n;c[k>>2]=b;c[g>>2]=e;c[l>>2]=f;a:while(1){b=c[g>>2]|0;if(!(a[(c[g>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[g>>2]>>0]|0)|0;switch(b|0){case 7:{f=c[g>>2]|0;c[g>>2]=f+1;f=a[f>>0]|0;h=c[l>>2]|0;c[l>>2]=h+1;if((f|0)!=(a[h>>0]|0)){h=7;break a}else h=8;break}case 6:{h=8;break}case 5:break;case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=c[l>>2]|0;c[l>>2]=e+1;e=a[e>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;if((e|0)!=(a[f>>0]|0)){h=15;break a}e=c[l>>2]|0;c[l>>2]=e+1;e=a[e>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;if((e|0)!=(a[f>>0]|0)){h=17;break a}else continue a}default:{h=18;break a}}if((h|0)==8?(h=0,e=c[g>>2]|0,c[g>>2]=e+1,e=a[e>>0]|0,f=c[l>>2]|0,c[l>>2]=f+1,(e|0)!=(a[f>>0]|0)):0){h=9;break}e=c[g>>2]|0;c[g>>2]=e+1;e=a[e>>0]|0;f=c[l>>2]|0;c[l>>2]=f+1;if((e|0)!=(a[f>>0]|0)){h=11;break}e=c[g>>2]|0;c[g>>2]=e+1;e=a[e>>0]|0;f=c[l>>2]|0;c[l>>2]=f+1;if((e|0)!=(a[f>>0]|0)){h=13;break}}if((h|0)==7){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==11){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==13){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==15){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==17){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==18){b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}default:{c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}}}return 0}function I_(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m+16|0;g=m+8|0;h=m+4|0;k=m;c[m+12>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;while(1){b=(c[g>>2]|0)==(c[h>>2]|0);if(!(a[c[k>>2]>>0]|0)){e=9;break}if(b){e=4;break}if(a[(c[g>>2]|0)+1>>0]|0){e=7;break}if((a[c[g>>2]>>0]|0)!=(a[c[k>>2]>>0]|0)){e=7;break}c[g>>2]=(c[g>>2]|0)+2;c[k>>2]=(c[k>>2]|0)+1}if((e|0)==4){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}else if((e|0)==7){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}else if((e|0)==9){c[l>>2]=b&1;l=c[l>>2]|0;i=m;return l|0}return 0}function J_(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[g>>2];a:while(1){b=c[g>>2]|0;if(!(a[(c[g>>2]|0)+1>>0]|0))b=d[(c[f>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[g>>2]>>0]|0)|0;switch(b|0){case 5:{c[g>>2]=(c[g>>2]|0)+2;continue a}case 6:{c[g>>2]=(c[g>>2]|0)+3;continue a}case 7:{c[g>>2]=(c[g>>2]|0)+4;continue a}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{c[g>>2]=(c[g>>2]|0)+2;continue a}default:break a}}i=k;return (c[g>>2]|0)-(c[h>>2]|0)|0}function K_(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;a:while(1){b=c[g>>2]|0;if(!(a[(c[g>>2]|0)+1>>0]|0))b=d[(c[f>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[g>>2]>>0]|0)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c[g>>2]=(c[g>>2]|0)+2}i=h;return c[g>>2]|0}function L_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();h=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=1;c[n>>2]=0;c[o>>2]=0;c[k>>2]=(c[k>>2]|0)+2;a:while(1){g=c[k>>2]|0;if(!(a[(c[k>>2]|0)+1>>0]|0))g=d[(c[h>>2]|0)+76+(d[g>>0]|0)>>0]|0;else g=S_(a[g+1>>0]|0,a[c[k>>2]>>0]|0)|0;b:do switch(g|0){case 5:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}c[k>>2]=c[k>>2];break}case 6:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}c[k>>2]=(c[k>>2]|0)+1;break}case 7:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}c[k>>2]=(c[k>>2]|0)+2;break}case 24:case 22:case 29:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}break}case 12:{if((c[p>>2]|0)!=2){if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+4>>2]=(c[k>>2]|0)+2;c[p>>2]=2;c[o>>2]=12;break b}if((c[o>>2]|0)==12){c[p>>2]=0;if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+8>>2]=c[k>>2];c[n>>2]=(c[n>>2]|0)+1}break}case 13:{if((c[p>>2]|0)!=2){if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+4>>2]=(c[k>>2]|0)+2;c[p>>2]=2;c[o>>2]=13;break b}if((c[o>>2]|0)==13){c[p>>2]=0;if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+8>>2]=c[k>>2];c[n>>2]=(c[n>>2]|0)+1}break}case 3:{if((c[n>>2]|0)<(c[l>>2]|0))a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=0;break}case 21:{if((c[p>>2]|0)==1){c[p>>2]=0;break b}if(((c[p>>2]|0)==2?(c[n>>2]|0)<(c[l>>2]|0):0)?(a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]|0)!=0:0){if((c[k>>2]|0)!=(c[(c[m>>2]|0)+(c[n>>2]<<4)+4>>2]|0)){if(!(a[(c[k>>2]|0)+1>>0]|0))g=a[c[k>>2]>>0]|0;else g=-1;if((g|0)==32){if(!(a[(c[k>>2]|0)+2+1>>0]|0))g=a[(c[k>>2]|0)+2>>0]|0;else g=-1;if((g|0)!=32){g=(c[k>>2]|0)+2|0;if(!(a[(c[k>>2]|0)+2+1>>0]|0))g=d[(c[h>>2]|0)+76+(d[g>>0]|0)>>0]|0;else g=S_(a[g+1>>0]|0,a[(c[k>>2]|0)+2>>0]|0)|0;if((g|0)!=(c[o>>2]|0))break b}}}a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=0}break}case 10:case 9:{if((c[p>>2]|0)==1){c[p>>2]=0;break b}if((c[p>>2]|0)==2?(c[n>>2]|0)<(c[l>>2]|0):0)a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=0;break}case 17:case 11:{if((c[p>>2]|0)!=2)break a;break}default:{}}while(0);c[k>>2]=(c[k>>2]|0)+2}i=q;return c[n>>2]|0}function M_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();h=m+20|0;k=m+12|0;l=m+8|0;e=m+4|0;f=m;c[m+16>>2]=b;c[k>>2]=d;c[l>>2]=0;c[k>>2]=(c[k>>2]|0)+4;a:do if((a[(c[k>>2]|0)+1>>0]|0)==0?(a[c[k>>2]>>0]|0)==120:0){c[k>>2]=(c[k>>2]|0)+2;while(1){if(!(a[(c[k>>2]|0)+1>>0]|0))b=(a[c[k>>2]>>0]|0)==59;else b=0;if(!(b^1))break a;if(!(a[(c[k>>2]|0)+1>>0]|0))b=a[c[k>>2]>>0]|0;else b=-1;c[e>>2]=b;switch(c[e>>2]|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{c[l>>2]=c[l>>2]<<4;c[l>>2]=c[l>>2]|(c[e>>2]|0)-48;break}case 70:case 69:case 68:case 67:case 66:case 65:{c[l>>2]=c[l>>2]<<4;c[l>>2]=(c[l>>2]|0)+(10+((c[e>>2]|0)-65));break}case 102:case 101:case 100:case 99:case 98:case 97:{c[l>>2]=c[l>>2]<<4;c[l>>2]=(c[l>>2]|0)+(10+((c[e>>2]|0)-97));break}default:{}}if((c[l>>2]|0)>=1114112)break;c[k>>2]=(c[k>>2]|0)+2}c[h>>2]=-1;l=c[h>>2]|0;i=m;return l|0}else g=16;while(0);b:do if((g|0)==16){while(1){if(!(a[(c[k>>2]|0)+1>>0]|0))b=(a[c[k>>2]>>0]|0)==59;else b=0;if(!(b^1))break b;if(!(a[(c[k>>2]|0)+1>>0]|0))b=a[c[k>>2]>>0]|0;else b=-1;c[f>>2]=b;c[l>>2]=(c[l>>2]|0)*10;c[l>>2]=(c[l>>2]|0)+((c[f>>2]|0)-48);if((c[l>>2]|0)>=1114112)break;c[k>>2]=(c[k>>2]|0)+2;g=16}c[h>>2]=-1;l=c[h>>2]|0;i=m;return l|0}while(0);c[h>>2]=l_(c[l>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}function N_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();g=h+12|0;f=h+4|0;k=h;c[h+8>>2]=b;c[f>>2]=d;c[k>>2]=e;a:do switch(((c[k>>2]|0)-(c[f>>2]|0)|0)/2|0|0){case 2:{if((a[(c[f>>2]|0)+2+1>>0]|0)==0?(a[(c[f>>2]|0)+2>>0]|0)==116:0){if(!(a[(c[f>>2]|0)+1>>0]|0))b=a[c[f>>2]>>0]|0;else b=-1;switch(b|0){case 108:{c[g>>2]=60;k=c[g>>2]|0;i=h;return k|0}case 103:{c[g>>2]=62;k=c[g>>2]|0;i=h;return k|0}default:break a}}break}case 3:{if((((((a[(c[f>>2]|0)+1>>0]|0)==0?(a[c[f>>2]>>0]|0)==97:0)?(c[f>>2]=(c[f>>2]|0)+2,(a[(c[f>>2]|0)+1>>0]|0)==0):0)?(a[c[f>>2]>>0]|0)==109:0)?(c[f>>2]=(c[f>>2]|0)+2,(a[(c[f>>2]|0)+1>>0]|0)==0):0)?(a[c[f>>2]>>0]|0)==112:0){c[g>>2]=38;k=c[g>>2]|0;i=h;return k|0}break}case 4:{if(!(a[(c[f>>2]|0)+1>>0]|0))b=a[c[f>>2]>>0]|0;else b=-1;switch(b|0){case 113:{c[f>>2]=(c[f>>2]|0)+2;if(a[(c[f>>2]|0)+1>>0]|0)break a;if((a[c[f>>2]>>0]|0)!=117)break a;c[f>>2]=(c[f>>2]|0)+2;if(a[(c[f>>2]|0)+1>>0]|0)break a;if((a[c[f>>2]>>0]|0)!=111)break a;c[f>>2]=(c[f>>2]|0)+2;if(a[(c[f>>2]|0)+1>>0]|0)break a;if((a[c[f>>2]>>0]|0)!=116)break a;c[g>>2]=34;k=c[g>>2]|0;i=h;return k|0}case 97:{c[f>>2]=(c[f>>2]|0)+2;if(a[(c[f>>2]|0)+1>>0]|0)break a;if((a[c[f>>2]>>0]|0)!=112)break a;c[f>>2]=(c[f>>2]|0)+2;if(a[(c[f>>2]|0)+1>>0]|0)break a;if((a[c[f>>2]>>0]|0)!=111)break a;c[f>>2]=(c[f>>2]|0)+2;if(a[(c[f>>2]|0)+1>>0]|0)break a;if((a[c[f>>2]>>0]|0)!=115)break a;c[g>>2]=39;k=c[g>>2]|0;i=h;return k|0}default:break a}}default:{}}while(0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}function O_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;if((i|0)>=(j|0))ba();h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=c[k>>2]|0;if(!(a[(c[k>>2]|0)+1>>0]|0))b=d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[k>>2]>>0]|0)|0;switch(b|0){case 5:{c[k>>2]=(c[k>>2]|0)+2;break}case 6:{c[k>>2]=(c[k>>2]|0)+3;break}case 7:{c[k>>2]=(c[k>>2]|0)+4;break}case 10:{c[(c[m>>2]|0)+4>>2]=-1;e=c[m>>2]|0;c[e>>2]=(c[e>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+2;break}case 9:{e=c[m>>2]|0;c[e>>2]=(c[e>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+2;if((c[k>>2]|0)!=(c[l>>2]|0)){b=c[k>>2]|0;if(!(a[(c[k>>2]|0)+1>>0]|0))b=d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[k>>2]>>0]|0)|0;if((b|0)==10)c[k>>2]=(c[k>>2]|0)+2}c[(c[m>>2]|0)+4>>2]=-1;break}default:c[k>>2]=(c[k>>2]|0)+2}e=(c[m>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+1}i=n;return}function P_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();h=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[l>>2]=(c[l>>2]|0)+2;c[m>>2]=(c[m>>2]|0)+-2;a:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){o=18;break}g=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))g=d[(c[k>>2]|0)+76+(d[g>>0]|0)>>0]|0;else g=S_(a[g+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(g|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:break;case 21:{if((a[(c[l>>2]|0)+1>>0]|0)==0?(a[c[l>>2]>>0]|0)==9:0){o=9;break a}break}case 22:case 26:{if(!(a[(c[l>>2]|0)+1>>0]|0))g=a[c[l>>2]>>0]|0;else g=-1;if(g&-128)o=13;break}default:o=13}if((o|0)==13){o=0;if(!(a[(c[l>>2]|0)+1>>0]|0))g=a[c[l>>2]>>0]|0;else g=-1;switch(g|0){case 64:case 36:break;default:{o=16;break a}}}c[l>>2]=(c[l>>2]|0)+2}if((o|0)==9){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else if((o|0)==16){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else if((o|0)==18){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}return 0}function Q_(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+32|0;if((i|0)>=(j|0))ba();k=u+20|0;l=u+16|0;m=u+12|0;n=u+8|0;o=u+4|0;s=u;r=u+30|0;q=u+29|0;p=u+28|0;c[u+24>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=c[c[k>>2]>>2];a:while(1){b=c[o>>2]|0;if((c[o>>2]|0)==(c[l>>2]|0)){t=18;break}a[q>>0]=a[b>>0]|0;a[p>>0]=a[(c[o>>2]|0)+1>>0]|0;switch(d[p>>0]|0|0){case 0:{if((d[q>>0]|0|0)<128){if((c[c[m>>2]>>2]|0)==(c[n>>2]|0)){t=6;break a}h=a[q>>0]|0;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h}else t=8;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{t=8;break}case 219:case 218:case 217:case 216:{if(((c[n>>2]|0)-(c[c[m>>2]>>2]|0)|0)<4){t=15;break a}c[s>>2]=(((d[p>>0]|0)&3)<<2|(d[q>>0]|0)>>6&3)+1;h=(c[s>>2]>>2|240)&255;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h;g=((d[q>>0]|0)>>2&15|(c[s>>2]&3)<<4|128)&255;h=c[m>>2]|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e>>0]=g;c[o>>2]=(c[o>>2]|0)+2;a[r>>0]=a[c[o>>2]>>0]|0;e=(((d[q>>0]|0)&3)<<4|((d[(c[o>>2]|0)+1>>0]|0)&3)<<2|(d[r>>0]|0)>>6|128)&255;g=c[m>>2]|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h>>0]=e;h=((d[r>>0]|0)&63|128)&255;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h;break}default:{if(((c[n>>2]|0)-(c[c[m>>2]>>2]|0)|0)<3){t=12;break a}g=((d[p>>0]|0)>>4|224)&255;h=c[m>>2]|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e>>0]=g;e=(((d[p>>0]|0)&15)<<2|(d[q>>0]|0)>>6|128)&255;g=c[m>>2]|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h>>0]=e;h=((d[q>>0]|0)&63|128)&255;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h}}if((t|0)==8){t=0;if(((c[n>>2]|0)-(c[c[m>>2]>>2]|0)|0)<2){t=9;break}e=((d[q>>0]|0)>>6|(d[p>>0]|0)<<2|192)&255;g=c[m>>2]|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h>>0]=e;h=((d[q>>0]|0)&63|128)&255;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h}c[o>>2]=(c[o>>2]|0)+2}if((t|0)==6){c[c[k>>2]>>2]=c[o>>2];i=u;return}else if((t|0)==9){c[c[k>>2]>>2]=c[o>>2];i=u;return}else if((t|0)==12){c[c[k>>2]>>2]=c[o>>2];i=u;return}else if((t|0)==15){c[c[k>>2]>>2]=c[o>>2];i=u;return}else if((t|0)==18){c[c[k>>2]>>2]=b;i=u;return}}function R_(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[o+16>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((c[l>>2]|0)-(c[c[k>>2]>>2]|0)|0)>((((c[n>>2]|0)-(c[c[m>>2]>>2]|0)|0)/2|0)<<1|0)?((d[(c[l>>2]|0)+-2+1>>0]|0)&248|0)==216:0)c[l>>2]=(c[l>>2]|0)+-2;while(1){if((c[c[k>>2]>>2]|0)==(c[l>>2]|0)){k=7;break}if((c[c[m>>2]>>2]|0)==(c[n>>2]|0)){k=7;break}h=((d[(c[c[k>>2]>>2]|0)+1>>0]|0)<<8|(d[c[c[k>>2]>>2]>>0]|0))&65535;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+2;b[g>>1]=h;g=c[k>>2]|0;c[g>>2]=(c[g>>2]|0)+2}if((k|0)==7){i=o;return}}function S_(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k;l=k+5|0;g=k+4|0;a[l>>0]=b;a[g>>0]=e;switch(d[l>>0]|0|0){case 219:case 218:case 217:case 216:{c[f>>2]=7;break}case 223:case 222:case 221:case 220:{c[f>>2]=8;break}case 255:{if(((d[g>>0]|0)+-254|0)>>>0<2)c[f>>2]=0;else h=6;break}default:h=6}if((h|0)==6)c[f>>2]=29;i=k;return c[f>>2]|0}function T_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a:do if((c[l>>2]|0)!=(c[m>>2]|0)){b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[(c[l>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[l>>2]>>0]>>5)<<2)>>2]&1<<(d[c[l>>2]>>0]&31))){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 6:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 7:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 19:{c[k>>2]=V_(c[h>>2]|0,(c[l>>2]|0)+2|0,c[m>>2]|0,c[n>>2]|0)|0;break a}default:{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}}c[l>>2]=(c[l>>2]|0)+2;b:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){b=40;break}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 5:{b=29;break b}case 6:{b=32;break b}case 7:{b=35;break b}case 18:{b=38;break b}case 29:{if(!(c[93280+((d[181914+(d[(c[l>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[l>>2]>>0]>>5)<<2)>>2]&1<<(d[c[l>>2]>>0]&31))){b=27;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{b=39;break b}}c[l>>2]=(c[l>>2]|0)+2}if((b|0)==27){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==29)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==32)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==35)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==38){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[k>>2]=9;break}else if((b|0)==39){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==40){c[k>>2]=-1;break}}else c[k>>2]=-1;while(0);i=o;return c[k>>2]|0}function U_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a:do if((c[l>>2]|0)!=(c[m>>2]|0)){b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[(c[l>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[l>>2]>>0]>>5)<<2)>>2]&1<<(d[c[l>>2]>>0]&31))){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 6:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 7:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 30:case 9:case 10:case 21:{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=22;break a}default:{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}}c[l>>2]=(c[l>>2]|0)+2;b:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){b=40;break}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 5:{b=29;break b}case 6:{b=32;break b}case 7:{b=35;break b}case 18:{b=38;break b}case 29:{if(!(c[93280+((d[181914+(d[(c[l>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[l>>2]>>0]>>5)<<2)>>2]&1<<(d[c[l>>2]>>0]&31))){b=27;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{b=39;break b}}c[l>>2]=(c[l>>2]|0)+2}if((b|0)==27){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==29)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==32)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==35)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==38){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[k>>2]=28;break}else if((b|0)==39){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==40){c[k>>2]=-1;break}}else c[k>>2]=-1;while(0);i=o;return c[k>>2]|0}function V_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();l=o+16|0;h=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=b;c[m>>2]=e;c[k>>2]=f;c[n>>2]=g;a:do if((c[m>>2]|0)!=(c[k>>2]|0)){if((a[(c[m>>2]|0)+1>>0]|0)==0?(a[c[m>>2]>>0]|0)==120:0){c[l>>2]=W_(c[h>>2]|0,(c[m>>2]|0)+2|0,c[k>>2]|0,c[n>>2]|0)|0;n=c[l>>2]|0;i=o;return n|0}f=c[m>>2]|0;if(!(a[(c[m>>2]|0)+1>>0]|0))f=d[(c[h>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[m>>2]>>0]|0)|0;b=c[m>>2]|0;if((f|0)!=25){c[c[n>>2]>>2]=b;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}c[m>>2]=b+2;b:while(1){if((c[m>>2]|0)==(c[k>>2]|0))break a;f=c[m>>2]|0;if(!(a[(c[m>>2]|0)+1>>0]|0))f=d[(c[h>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[m>>2]>>0]|0)|0;switch(f|0){case 18:{f=16;break b}case 25:break;default:{f=17;break b}}c[m>>2]=(c[m>>2]|0)+2}if((f|0)==16){c[c[n>>2]>>2]=(c[m>>2]|0)+2;c[l>>2]=10;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==17){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}}while(0);c[l>>2]=-1;n=c[l>>2]|0;i=o;return n|0}function W_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();l=o+16|0;h=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=b;c[m>>2]=e;c[k>>2]=f;c[n>>2]=g;a:do if((c[m>>2]|0)!=(c[k>>2]|0)){f=c[m>>2]|0;if(!(a[(c[m>>2]|0)+1>>0]|0))f=d[(c[h>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[m>>2]>>0]|0)|0;b=c[m>>2]|0;if((f+-24|0)>>>0>=2){c[c[n>>2]>>2]=b;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}c[m>>2]=b+2;b:while(1){if((c[m>>2]|0)==(c[k>>2]|0))break a;f=c[m>>2]|0;if(!(a[(c[m>>2]|0)+1>>0]|0))f=d[(c[h>>2]|0)+76+(d[f>>0]|0)>>0]|0;else f=S_(a[f+1>>0]|0,a[c[m>>2]>>0]|0)|0;switch(f|0){case 18:{f=13;break b}case 24:case 25:break;default:{f=14;break b}}c[m>>2]=(c[m>>2]|0)+2}if((f|0)==13){c[c[n>>2]>>2]=(c[m>>2]|0)+2;c[l>>2]=10;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==14){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}}while(0);c[l>>2]=-1;n=c[l>>2]|0;i=o;return n|0}function X_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();l=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;h=q;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a:do if((c[n>>2]|0)==(c[o>>2]|0))c[l>>2]=-1;else{b=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))b=d[(c[m>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[(c[n>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[n>>2]>>0]>>5)<<2)>>2]&1<<(d[c[n>>2]>>0]&31))){c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 6:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 7:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 16:{k=(c[n>>2]|0)+2|0;c[n>>2]=k;if((k|0)==(c[o>>2]|0)){c[l>>2]=-1;break a}b=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))b=d[(c[m>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(b|0){case 27:{c[l>>2]=Y_(c[m>>2]|0,(c[n>>2]|0)+2|0,c[o>>2]|0,c[p>>2]|0)|0;break a}case 20:{c[l>>2]=Z_(c[m>>2]|0,(c[n>>2]|0)+2|0,c[o>>2]|0,c[p>>2]|0)|0;break a}default:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}}}case 15:{c[l>>2]=__(c[m>>2]|0,(c[n>>2]|0)+2|0,c[o>>2]|0,c[p>>2]|0)|0;break a}case 17:{c[l>>2]=$_(c[m>>2]|0,(c[n>>2]|0)+2|0,c[o>>2]|0,c[p>>2]|0)|0;break a}default:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}}c[n>>2]=(c[n>>2]|0)+2;c[h>>2]=0;b:while(1){if((c[n>>2]|0)==(c[o>>2]|0)){k=98;break}b=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))b=d[(c[m>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(b|0){case 5:{k=39;break b}case 6:{k=42;break b}case 7:{k=45;break b}case 10:case 9:case 21:{k=69;break b}case 11:{k=90;break b}case 17:break b;case 29:{if(!(c[93280+((d[181914+(d[(c[n>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[n>>2]>>0]>>5)<<2)>>2]&1<<(d[c[n>>2]>>0]&31))){k=37;break b}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{if(c[h>>2]|0){k=49;break b}c[h>>2]=1;c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[o>>2]|0)){k=51;break b}b=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))b=d[(c[m>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(b|0){case 5:{k=59;break b}case 6:{k=62;break b}case 7:{k=65;break b}case 29:{if(!(c[93280+((d[181658+(d[(c[n>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[n>>2]>>0]>>5)<<2)>>2]&1<<(d[c[n>>2]>>0]&31))){k=57;break b}break}case 24:case 22:break;default:{k=68;break b}}c[n>>2]=(c[n>>2]|0)+2;continue b}default:{k=97;break b}}c[n>>2]=(c[n>>2]|0)+2}c:switch(k|0){case 37:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 39:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 42:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 45:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 49:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 51:{c[l>>2]=-1;break a}case 57:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 59:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 62:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 65:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 68:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 69:{c[n>>2]=(c[n>>2]|0)+2;d:while(1){if((c[n>>2]|0)==(c[o>>2]|0)){k=89;break}b=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))b=d[(c[m>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(b|0){case 11:{k=90;break c}case 17:break c;case 29:{k=75;break d}case 24:case 22:break d;case 5:{k=78;break d}case 6:{k=81;break d}case 7:{k=84;break d}case 10:case 9:case 21:break;default:{k=88;break d}}c[n>>2]=(c[n>>2]|0)+2}if((k|0)==75){if(!(c[93280+((d[181658+(d[(c[n>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[n>>2]>>0]>>5)<<2)>>2]&1<<(d[c[n>>2]>>0]&31))){c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}}else if((k|0)==78)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}else if((k|0)==81)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}else if((k|0)==84)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}else if((k|0)==88){c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}else if((k|0)==89){c[l>>2]=-1;break a}c[n>>2]=(c[n>>2]|0)+2;c[l>>2]=a$(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;break a}case 97:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 98:{c[l>>2]=-1;break a}}if((k|0)==90){c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[l>>2]=2;break}c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[o>>2]|0)){c[l>>2]=-1;break}if((a[(c[n>>2]|0)+1>>0]|0)==0?(a[c[n>>2]>>0]|0)==62:0){c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[l>>2]=4;break}c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0}while(0);i=q;return c[l>>2]|0}function Y_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a:do if((c[l>>2]|0)!=(c[m>>2]|0)){if((a[(c[l>>2]|0)+1>>0]|0)==0?(a[c[l>>2]>>0]|0)==45:0){c[l>>2]=(c[l>>2]|0)+2;b:while(1){if((c[l>>2]|0)==(c[m>>2]|0))break a;b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 8:case 1:case 0:{b=20;break b}case 5:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){b=12;break b}c[l>>2]=(c[l>>2]|0)+2;continue b}case 6:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){b=15;break b}c[l>>2]=(c[l>>2]|0)+3;continue b}case 7:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){b=18;break b}c[l>>2]=(c[l>>2]|0)+4;continue b}case 27:{e=(c[l>>2]|0)+2|0;c[l>>2]=e;if((e|0)==(c[m>>2]|0)){b=22;break b}if(a[(c[l>>2]|0)+1>>0]|0)continue b;if((a[c[l>>2]>>0]|0)==45){b=25;break b}else continue b}default:{c[l>>2]=(c[l>>2]|0)+2;continue b}}}if((b|0)==12){c[k>>2]=-2;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==15){c[k>>2]=-2;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==18){c[k>>2]=-2;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==20){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==22){c[k>>2]=-1;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==25){h=(c[l>>2]|0)+2|0;c[l>>2]=h;if((h|0)==(c[m>>2]|0)){c[k>>2]=-1;n=c[k>>2]|0;i=o;return n|0}if((a[(c[l>>2]|0)+1>>0]|0)==0?(a[c[l>>2]>>0]|0)==62:0){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[k>>2]=13;n=c[k>>2]|0;i=o;return n|0}c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}}c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}while(0);c[k>>2]=-1;n=c[k>>2]|0;i=o;return n|0}function Z_(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();h=m+20|0;k=m+12|0;n=m+8|0;l=m+4|0;g=m;c[m+16>>2]=b;c[k>>2]=d;c[n>>2]=e;c[l>>2]=f;if(((c[n>>2]|0)-(c[k>>2]|0)|0)<12){c[h>>2]=-1;n=c[h>>2]|0;i=m;return n|0}c[g>>2]=0;while(1){b=c[k>>2]|0;if((c[g>>2]|0)>=6){e=9;break}if(a[b+1>>0]|0){e=7;break}if((a[c[k>>2]>>0]|0)!=(a[182177+(c[g>>2]|0)>>0]|0)){e=7;break}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+2}if((e|0)==7){c[c[l>>2]>>2]=c[k>>2];c[h>>2]=0;n=c[h>>2]|0;i=m;return n|0}else if((e|0)==9){c[c[l>>2]>>2]=b;c[h>>2]=8;n=c[h>>2]|0;i=m;return n|0}return 0}function __(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;if((i|0)>=(j|0))ba();m=r+24|0;l=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;h=r;c[l>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[h>>2]=c[n>>2];a:do if((c[n>>2]|0)==(c[o>>2]|0))c[m>>2]=-1;else{b=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))b=d[(c[l>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[(c[n>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[n>>2]>>0]>>5)<<2)>>2]&1<<(d[c[n>>2]>>0]&31))){c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[m>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}case 6:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[m>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}case 7:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[m>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}default:{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}}c[n>>2]=(c[n>>2]|0)+2;b:while(1){if((c[n>>2]|0)==(c[o>>2]|0)){k=70;break}b=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))b=d[(c[l>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(b|0){case 5:{k=28;break b}case 6:{k=31;break b}case 7:{k=34;break b}case 10:case 9:case 21:{k=37;break b}case 15:{k=62;break b}case 29:{if(!(c[93280+((d[181914+(d[(c[n>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[n>>2]>>0]>>5)<<2)>>2]&1<<(d[c[n>>2]>>0]&31))){k=26;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:break b}c[n>>2]=(c[n>>2]|0)+2}if((k|0)==26){c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((k|0)==28)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[m>>2]=-2;break}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((k|0)==31)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[m>>2]=-2;break}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((k|0)==34)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[m>>2]=-2;break}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((k|0)==37){k=(b$(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0,q)|0)!=0;b=c[n>>2]|0;if(!k){c[c[p>>2]>>2]=b;c[m>>2]=0;break}c[n>>2]=b+2;c:while(1){if((c[n>>2]|0)==(c[o>>2]|0)){k=61;break}b=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))b=d[(c[l>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(b|0){case 8:case 1:case 0:{k=54;break c}case 5:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){k=46;break c}c[n>>2]=(c[n>>2]|0)+2;continue c}case 6:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){k=49;break c}c[n>>2]=(c[n>>2]|0)+3;continue c}case 7:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){k=52;break c}c[n>>2]=(c[n>>2]|0)+4;continue c}case 15:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[o>>2]|0)){k=56;break c}if(a[(c[n>>2]|0)+1>>0]|0)continue c;if((a[c[n>>2]>>0]|0)==62){k=59;break c}else continue c}default:{c[n>>2]=(c[n>>2]|0)+2;continue c}}}if((k|0)==46){c[m>>2]=-2;break}else if((k|0)==49){c[m>>2]=-2;break}else if((k|0)==52){c[m>>2]=-2;break}else if((k|0)==54){c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((k|0)==56){c[m>>2]=-1;break}else if((k|0)==59){c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=c[q>>2];break}else if((k|0)==61){c[m>>2]=-1;break}}else if((k|0)==62){l=(b$(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0,q)|0)!=0;b=c[n>>2]|0;if(!l){c[c[p>>2]>>2]=b;c[m>>2]=0;break}c[n>>2]=b+2;if((c[n>>2]|0)==(c[o>>2]|0)){c[m>>2]=-1;break}if((a[(c[n>>2]|0)+1>>0]|0)==0?(a[c[n>>2]>>0]|0)==62:0){c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=c[q>>2];break}}else if((k|0)==70){c[m>>2]=-1;break}c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0}while(0);i=r;return c[m>>2]|0}function $_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a:do if((c[l>>2]|0)!=(c[m>>2]|0)){b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[(c[l>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[l>>2]>>0]>>5)<<2)>>2]&1<<(d[c[l>>2]>>0]&31))){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[h>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break a}case 6:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[h>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break a}case 7:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[h>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break a}default:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break a}}c[l>>2]=(c[l>>2]|0)+2;b:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){b=50;break}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 5:{b=28;break b}case 6:{b=31;break b}case 7:{b=34;break b}case 10:case 9:case 21:{b=37;break b}case 11:{b=48;break b}case 29:{if(!(c[93280+((d[181914+(d[(c[l>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[l>>2]>>0]>>5)<<2)>>2]&1<<(d[c[l>>2]>>0]&31))){b=26;break b}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{c[l>>2]=(c[l>>2]|0)+2;continue b}default:{b=49;break b}}c[l>>2]=(c[l>>2]|0)+2}if((b|0)==26){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==28)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==31)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==34)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==37){c[l>>2]=(c[l>>2]|0)+2;c:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){b=46;break}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 11:{b=43;break c}case 10:case 9:case 21:break;default:{b=44;break c}}c[l>>2]=(c[l>>2]|0)+2}if((b|0)==43){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[h>>2]=5;break}else if((b|0)==44){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==46){c[h>>2]=-1;break}}else if((b|0)==48){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[h>>2]=5;break}else if((b|0)==49){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==50){c[h>>2]=-1;break}}else c[h>>2]=-1;while(0);i=o;return c[h>>2]|0}function a$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;if((i|0)>=(j|0))ba();h=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;q=u+12|0;p=u+8|0;r=u+4|0;s=u;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=0;a:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){t=115;break}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;b:do switch(b|0){case 5:{t=10;break a}case 6:{t=13;break a}case 7:{t=16;break a}case 29:{if(c[93280+((d[181914+(d[(c[l>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[l>>2]>>0]>>5)<<2)>>2]&1<<(d[c[l>>2]>>0]&31))t=9;else{t=8;break a}break}case 27:case 26:case 25:case 24:case 22:{t=9;break}case 23:{if(c[o>>2]|0){t=20;break a}c[o>>2]=1;c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){t=22;break a}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 5:{t=30;break a}case 6:{t=33;break a}case 7:{t=36;break a}case 29:{if(!(c[93280+((d[181658+(d[(c[l>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[l>>2]>>0]>>5)<<2)>>2]&1<<(d[c[l>>2]>>0]&31))){t=28;break a}break}case 24:case 22:break;default:{t=39;break a}}c[l>>2]=(c[l>>2]|0)+2;continue a}case 10:case 9:case 21:while(1){c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){t=41;break a}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;c[q>>2]=b;if((c[q>>2]|0)==14)break b;switch(c[q>>2]|0){case 9:case 10:case 21:break;default:{t=47;break a}}}case 14:break;default:{t=114;break a}}while(0);if((t|0)==9){t=0;c[l>>2]=(c[l>>2]|0)+2;continue}c[o>>2]=0;while(1){c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){t=50;break a}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;c[p>>2]=b;if((c[p>>2]|0)==12|(c[p>>2]|0)==13)break;switch(c[p>>2]|0){case 9:case 10:case 21:break;default:{t=56;break a}}}c[l>>2]=(c[l>>2]|0)+2;c:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){t=59;break a}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;c[r>>2]=b;if((c[r>>2]|0)==(c[p>>2]|0))break;switch(c[r>>2]|0){case 8:case 1:case 0:{t=74;break a}case 2:{t=79;break a}case 5:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){t=66;break a}c[l>>2]=(c[l>>2]|0)+2;continue c}case 6:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){t=69;break a}c[l>>2]=(c[l>>2]|0)+3;continue c}case 7:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){t=72;break a}c[l>>2]=(c[l>>2]|0)+4;continue c}case 3:{c[s>>2]=T_(c[k>>2]|0,(c[l>>2]|0)+2|0,c[m>>2]|0,l)|0;if((c[s>>2]|0)<=0){t=76;break a}else continue c}default:{c[l>>2]=(c[l>>2]|0)+2;continue c}}}c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){t=82;break}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 11:{t=106;break a}case 17:{t=107;break a}case 10:case 9:case 21:break;default:{t=87;break a}}d:while(1){c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){t=89;break a}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[k>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 5:{t=97;break a}case 6:{t=100;break a}case 7:{t=103;break a}case 11:{t=106;break a}case 17:{t=107;break a}case 10:case 9:case 21:break;case 29:{t=94;break d}case 24:case 22:break d;default:{t=113;break a}}}if((t|0)==94?(t=0,(c[93280+((d[181658+(d[(c[l>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[l>>2]>>0]>>5)<<2)>>2]&1<<(d[c[l>>2]>>0]&31)|0)==0):0){t=95;break}c[l>>2]=(c[l>>2]|0)+2}switch(t|0){case 8:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 10:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 13:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 16:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 20:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 22:{c[h>>2]=-1;break}case 28:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 30:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 33:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 36:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 39:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 41:{c[h>>2]=-1;break}case 47:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 50:{c[h>>2]=-1;break}case 56:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 59:{c[h>>2]=-1;break}case 66:{c[h>>2]=-2;break}case 69:{c[h>>2]=-2;break}case 72:{c[h>>2]=-2;break}case 74:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 76:{if(!(c[s>>2]|0))c[c[n>>2]>>2]=c[l>>2];c[h>>2]=c[s>>2];break}case 79:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 82:{c[h>>2]=-1;break}case 87:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 89:{c[h>>2]=-1;break}case 95:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 97:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 100:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 103:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 106:{c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[h>>2]=1;break}case 107:{c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){c[h>>2]=-1;break}if((a[(c[l>>2]|0)+1>>0]|0)==0?(a[c[l>>2]>>0]|0)==62:0){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[h>>2]=3;break}c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 113:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 114:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 115:{c[h>>2]=-1;break}}i=u;return c[h>>2]|0}function b$(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();h=m+20|0;g=m+12|0;n=m+8|0;k=m+4|0;l=m;c[m+16>>2]=b;c[g>>2]=d;c[n>>2]=e;c[k>>2]=f;c[l>>2]=0;c[c[k>>2]>>2]=11;if(((c[n>>2]|0)-(c[g>>2]|0)|0)!=6){c[h>>2]=1;n=c[h>>2]|0;i=m;return n|0}if(!(a[(c[g>>2]|0)+1>>0]|0))b=a[c[g>>2]>>0]|0;else b=-1;switch(b|0){case 120:break;case 88:{c[l>>2]=1;break}default:{c[h>>2]=1;n=c[h>>2]|0;i=m;return n|0}}c[g>>2]=(c[g>>2]|0)+2;if(!(a[(c[g>>2]|0)+1>>0]|0))b=a[c[g>>2]>>0]|0;else b=-1;switch(b|0){case 109:break;case 77:{c[l>>2]=1;break}default:{c[h>>2]=1;n=c[h>>2]|0;i=m;return n|0}}c[g>>2]=(c[g>>2]|0)+2;if(!(a[(c[g>>2]|0)+1>>0]|0))b=a[c[g>>2]>>0]|0;else b=-1;switch(b|0){case 108:break;case 76:{c[l>>2]=1;break}default:{c[h>>2]=1;n=c[h>>2]|0;i=m;return n|0}}if(c[l>>2]|0){c[h>>2]=0;n=c[h>>2]|0;i=m;return n|0}else{c[c[k>>2]>>2]=12;c[h>>2]=1;n=c[h>>2]|0;i=m;return n|0}return 0}function c$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;if((i|0)>=(j|0))ba();q=r+24|0;k=r+20|0;o=r+16|0;p=r+12|0;m=r+8|0;n=r+4|0;l=r;c[k>>2]=b;c[o>>2]=e;c[p>>2]=f;c[m>>2]=g;c[n>>2]=h;a:while(1){if((c[p>>2]|0)==(c[m>>2]|0)){e=27;break}e=c[p>>2]|0;if(!(a[(c[p>>2]|0)+1>>0]|0))e=d[(c[o>>2]|0)+76+(d[e>>0]|0)>>0]|0;else e=S_(a[e+1>>0]|0,a[c[p>>2]>>0]|0)|0;c[l>>2]=e;switch(c[l>>2]|0){case 8:case 1:case 0:{e=16;break a}case 5:{if(((c[m>>2]|0)-(c[p>>2]|0)|0)<2){e=8;break a}c[p>>2]=(c[p>>2]|0)+2;continue a}case 6:{if(((c[m>>2]|0)-(c[p>>2]|0)|0)<3){e=11;break a}c[p>>2]=(c[p>>2]|0)+3;continue a}case 7:{if(((c[m>>2]|0)-(c[p>>2]|0)|0)<4){e=14;break a}c[p>>2]=(c[p>>2]|0)+4;continue a}case 13:case 12:{c[p>>2]=(c[p>>2]|0)+2;if((c[l>>2]|0)!=(c[k>>2]|0))continue a;else{e=18;break a}}default:{c[p>>2]=(c[p>>2]|0)+2;continue a}}}if((e|0)==8){c[q>>2]=-2;q=c[q>>2]|0;i=r;return q|0}else if((e|0)==11){c[q>>2]=-2;q=c[q>>2]|0;i=r;return q|0}else if((e|0)==14){c[q>>2]=-2;q=c[q>>2]|0;i=r;return q|0}else if((e|0)==16){c[c[n>>2]>>2]=c[p>>2];c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}else if((e|0)==18){if((c[p>>2]|0)==(c[m>>2]|0)){c[q>>2]=-27;q=c[q>>2]|0;i=r;return q|0}c[c[n>>2]>>2]=c[p>>2];e=c[p>>2]|0;if(!(a[(c[p>>2]|0)+1>>0]|0))e=d[(c[o>>2]|0)+76+(d[e>>0]|0)>>0]|0;else e=S_(a[e+1>>0]|0,a[c[p>>2]>>0]|0)|0;switch(e|0){case 20:case 30:case 11:case 10:case 9:case 21:{c[q>>2]=27;q=c[q>>2]|0;i=r;return q|0}default:{c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}}}else if((e|0)==27){c[q>>2]=-1;q=c[q>>2]|0;i=r;return q|0}return 0}function d$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();m=p+16|0;l=p+12|0;n=p+8|0;h=p+4|0;o=p;c[l>>2]=b;c[n>>2]=e;c[h>>2]=f;c[o>>2]=g;if((c[n>>2]|0)==(c[h>>2]|0)){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}b=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))b=d[(c[l>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(b|0){case 27:{c[m>>2]=Y_(c[l>>2]|0,(c[n>>2]|0)+2|0,c[h>>2]|0,c[o>>2]|0)|0;o=c[m>>2]|0;i=p;return o|0}case 20:{c[c[o>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=33;o=c[m>>2]|0;i=p;return o|0}case 24:case 22:{c[n>>2]=(c[n>>2]|0)+2;a:while(1){if((c[n>>2]|0)==(c[h>>2]|0)){k=26;break}b=c[n>>2]|0;if(!(a[(c[n>>2]|0)+1>>0]|0))b=d[(c[l>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[n>>2]>>0]|0)|0;switch(b|0){case 30:{k=16;break a}case 10:case 9:case 21:break a;case 24:case 22:break;default:{k=25;break a}}c[n>>2]=(c[n>>2]|0)+2}b:do if((k|0)==16){if(((c[n>>2]|0)+2|0)==(c[h>>2]|0)){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}b=(c[n>>2]|0)+2|0;if(!(a[(c[n>>2]|0)+2+1>>0]|0))b=d[(c[l>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[(c[n>>2]|0)+2>>0]|0)|0;switch(b|0){case 30:case 10:case 9:case 21:break;default:break b}c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}else if((k|0)==25){c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}else if((k|0)==26){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}while(0);c[c[o>>2]>>2]=c[n>>2];c[m>>2]=16;o=c[m>>2]|0;i=p;return o|0}default:{c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}}return 0}function e$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a:do if((c[l>>2]|0)!=(c[m>>2]|0)){b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[(c[l>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[l>>2]>>0]>>5)<<2)>>2]&1<<(d[c[l>>2]>>0]&31))){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 6:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 7:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}default:{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}}c[l>>2]=(c[l>>2]|0)+2;b:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){b=39;break}b=c[l>>2]|0;if(!(a[(c[l>>2]|0)+1>>0]|0))b=d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0;else b=S_(a[b+1>>0]|0,a[c[l>>2]>>0]|0)|0;switch(b|0){case 5:{b=28;break b}case 6:{b=31;break b}case 7:{b=34;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{b=37;break b}case 29:{if(!(c[93280+((d[181914+(d[(c[l>>2]|0)+1>>0]|0)>>0]<<3)+(d[c[l>>2]>>0]>>5)<<2)>>2]&1<<(d[c[l>>2]>>0]&31))){b=26;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{b=38;break b}}c[l>>2]=(c[l>>2]|0)+2}if((b|0)==26){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==28)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==31)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==34)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==37){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=20;break}else if((b|0)==38){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==39){c[k>>2]=-20;break}}else c[k>>2]=-1;while(0);i=o;return c[k>>2]|0}function f$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();o=q+24|0;m=q+20|0;n=q+16|0;l=q+12|0;p=q+8|0;k=q+4|0;h=q;c[m>>2]=b;c[n>>2]=e;c[l>>2]=f;c[p>>2]=g;a:do if((c[n>>2]|0)!=(c[l>>2]|0)){c[h>>2]=(c[l>>2]|0)-(c[n>>2]|0);do if(c[h>>2]&1){c[h>>2]=c[h>>2]&-2;if(!(c[h>>2]|0)){c[o>>2]=-1;break a}else{c[l>>2]=(c[n>>2]|0)+(c[h>>2]|0);break}}while(0);f=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))f=d[(c[m>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;b:do switch(f|0){case 12:{c[o>>2]=H$(12,c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 13:{c[o>>2]=H$(13,c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 2:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[l>>2]|0)){c[o>>2]=-1;break a}f=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))f=d[(c[m>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(f|0){case 16:{c[o>>2]=I$(c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 15:{c[o>>2]=D$(c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[c[p>>2]>>2]=(c[n>>2]|0)+-2;c[o>>2]=29;break a}default:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}}}case 9:{if(((c[n>>2]|0)+2|0)==(c[l>>2]|0)){c[c[p>>2]>>2]=c[l>>2];c[o>>2]=-15;break a}else f=25;break}case 10:case 21:{f=25;break}case 30:{c[o>>2]=x$(c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 35:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=38;break a}case 20:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=25;break a}case 4:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[l>>2]|0)){c[o>>2]=-26;break a}if((a[c[n>>2]>>0]|0)==0?(a[(c[n>>2]|0)+1>>0]|0)==93:0){if(((c[n>>2]|0)+2|0)==(c[l>>2]|0)){c[o>>2]=-1;break a}if((a[(c[n>>2]|0)+2>>0]|0)==0?(a[(c[n>>2]|0)+2+1>>0]|0)==62:0){c[c[p>>2]>>2]=(c[n>>2]|0)+4;c[o>>2]=34;break a}}c[c[p>>2]>>2]=c[n>>2];c[o>>2]=26;break a}case 31:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=23;break a}case 32:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[l>>2]|0)){c[o>>2]=-24;break a}f=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))f=d[(c[m>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(f|0){case 33:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=36;break a}case 15:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=35;break a}case 34:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=24;break a}default:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}}}case 36:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=21;break a}case 11:{c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[o>>2]=17;break a}case 19:{c[o>>2]=J$(c[m>>2]|0,(c[n>>2]|0)+2|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 5:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<2){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 6:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<3){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 7:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<4){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 24:case 22:{c[k>>2]=18;c[n>>2]=(c[n>>2]|0)+2;f=77;break}case 23:case 27:case 26:case 25:{c[k>>2]=19;c[n>>2]=(c[n>>2]|0)+2;f=77;break}case 29:{f=c[n>>2]|0;if(c[93280+((d[181658+(d[c[n>>2]>>0]|0)>>0]<<3)+(d[(c[n>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[n>>2]|0)+1>>0]&31)){c[n>>2]=f+2;c[k>>2]=18;f=77;break b}if(c[93280+((d[181914+(d[f>>0]|0)>>0]<<3)+(d[(c[n>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[n>>2]|0)+1>>0]&31)){c[n>>2]=(c[n>>2]|0)+2;c[k>>2]=19;f=77}else f=76;break}default:f=76}while(0);if((f|0)==25){c:while(1){c[n>>2]=(c[n>>2]|0)+2;b=c[n>>2]|0;if((c[n>>2]|0)==(c[l>>2]|0)){f=32;break}f=c[n>>2]|0;if(!(a[b>>0]|0))f=d[(c[m>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(f|0){case 10:case 21:{f=25;continue c}case 9:break;default:{f=31;break c}}if(((c[n>>2]|0)+2|0)!=(c[l>>2]|0))f=25;else{f=31;break}}if((f|0)==31){c[c[p>>2]>>2]=c[n>>2];c[o>>2]=15;break}else if((f|0)==32){c[c[p>>2]>>2]=b;c[o>>2]=15;break}}else if((f|0)==76){c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break}else if((f|0)==77){d:while(1){if((c[n>>2]|0)==(c[l>>2]|0)){f=126;break}f=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))f=d[(c[m>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(f|0){case 5:{f=85;break d}case 6:{f=88;break d}case 7:{f=91;break d}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{f=94;break d}case 34:{f=116;break d}case 33:{f=119;break d}case 15:{f=122;break d}case 29:{if(!(c[93280+((d[181914+(d[c[n>>2]>>0]|0)>>0]<<3)+(d[(c[n>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[n>>2]|0)+1>>0]&31))){f=83;break d}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{c[n>>2]=(c[n>>2]|0)+2;switch(c[k>>2]|0){case 18:break;case 41:{c[k>>2]=19;f=77;continue d}default:{f=77;continue d}}if((c[n>>2]|0)==(c[l>>2]|0)){f=97;break d}c[k>>2]=41;f=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))f=d[(c[m>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(f|0){case 5:{f=105;break d}case 6:{f=108;break d}case 7:{f=111;break d}case 29:{if(!(c[93280+((d[181914+(d[c[n>>2]>>0]|0)>>0]<<3)+(d[(c[n>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[n>>2]|0)+1>>0]&31))){f=103;break d}break}case 27:case 26:case 25:case 24:case 22:break;default:{c[k>>2]=19;f=77;continue d}}c[n>>2]=(c[n>>2]|0)+2;f=77;continue d}default:{f=125;break d}}c[n>>2]=(c[n>>2]|0)+2;f=77}switch(f|0){case 83:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 85:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<2){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 88:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<3){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 91:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<4){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 94:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=c[k>>2];break a}case 97:{c[o>>2]=-1;break a}case 103:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 105:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<2){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 108:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<3){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 111:if(((c[l>>2]|0)-(c[n>>2]|0)|0)<4){c[o>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 116:{f=c[n>>2]|0;if((c[k>>2]|0)==19){c[c[p>>2]>>2]=f;c[o>>2]=0;break a}else{c[c[p>>2]>>2]=f+2;c[o>>2]=32;break a}}case 119:{f=c[n>>2]|0;if((c[k>>2]|0)==19){c[c[p>>2]>>2]=f;c[o>>2]=0;break a}else{c[c[p>>2]>>2]=f+2;c[o>>2]=31;break a}}case 122:{f=c[n>>2]|0;if((c[k>>2]|0)==19){c[c[p>>2]>>2]=f;c[o>>2]=0;break a}else{c[c[p>>2]>>2]=f+2;c[o>>2]=30;break a}}case 125:{c[c[p>>2]>>2]=c[n>>2];c[o>>2]=0;break a}case 126:{c[o>>2]=0-(c[k>>2]|0);break a}}}}else c[o>>2]=-4;while(0);i=q;return c[o>>2]|0}function g$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();m=p+20|0;l=p+16|0;n=p+12|0;k=p+8|0;o=p+4|0;h=p;c[l>>2]=b;c[n>>2]=e;c[k>>2]=f;c[o>>2]=g;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-4;o=c[m>>2]|0;i=p;return o|0}c[h>>2]=(c[k>>2]|0)-(c[n>>2]|0);do if(c[h>>2]&1){c[h>>2]=c[h>>2]&-2;if(c[h>>2]|0){c[k>>2]=(c[n>>2]|0)+(c[h>>2]|0);break}c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}while(0);h=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))h=d[(c[l>>2]|0)+76+(d[h+1>>0]|0)>>0]|0;else h=S_(a[h>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;a:do switch(h|0){case 2:{c[m>>2]=A$(c[l>>2]|0,(c[n>>2]|0)+2|0,c[k>>2]|0,c[o>>2]|0)|0;o=c[m>>2]|0;i=p;return o|0}case 3:{c[m>>2]=w$(c[l>>2]|0,(c[n>>2]|0)+2|0,c[k>>2]|0,c[o>>2]|0)|0;o=c[m>>2]|0;i=p;return o|0}case 9:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-3;o=c[m>>2]|0;i=p;return o|0}h=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))h=d[(c[l>>2]|0)+76+(d[h+1>>0]|0)>>0]|0;else h=S_(a[h>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;if((h|0)==10)c[n>>2]=(c[n>>2]|0)+2;c[c[o>>2]>>2]=c[n>>2];c[m>>2]=7;o=c[m>>2]|0;i=p;return o|0}case 10:{c[c[o>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=7;o=c[m>>2]|0;i=p;return o|0}case 4:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-5;o=c[m>>2]|0;i=p;return o|0}if((a[c[n>>2]>>0]|0)==0?(a[(c[n>>2]|0)+1>>0]|0)==93:0){c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-5;o=c[m>>2]|0;i=p;return o|0}if((a[c[n>>2]>>0]|0)==0?(a[(c[n>>2]|0)+1>>0]|0)==62:0){c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}c[n>>2]=(c[n>>2]|0)+-2}break}case 5:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=2){c[n>>2]=(c[n>>2]|0)+2;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 6:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=3){c[n>>2]=(c[n>>2]|0)+3;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 7:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=4){c[n>>2]=(c[n>>2]|0)+4;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 8:case 1:case 0:{c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}default:c[n>>2]=(c[n>>2]|0)+2}while(0);b:while(1){f=c[n>>2]|0;if((c[n>>2]|0)==(c[k>>2]|0)){b=68;break}h=c[n>>2]|0;if(!(a[f>>0]|0))h=d[(c[l>>2]|0)+76+(d[h+1>>0]|0)>>0]|0;else h=S_(a[h>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(h|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{b=66;break b}case 5:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<2){b=49;break b}c[n>>2]=h+2;continue b}case 6:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<3){b=52;break b}c[n>>2]=h+3;continue b}case 7:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<4){b=55;break b}c[n>>2]=h+4;continue b}case 4:{if(((c[n>>2]|0)+2|0)==(c[k>>2]|0)){b=66;break b}if((a[(c[n>>2]|0)+2>>0]|0)==0?(a[(c[n>>2]|0)+2+1>>0]|0)==93:0){if(((c[n>>2]|0)+4|0)==(c[k>>2]|0)){b=66;break b}if((a[(c[n>>2]|0)+4>>0]|0)==0?(a[(c[n>>2]|0)+4+1>>0]|0)==62:0){b=65;break b}c[n>>2]=(c[n>>2]|0)+2;continue b}c[n>>2]=(c[n>>2]|0)+2;continue b}default:{c[n>>2]=(c[n>>2]|0)+2;continue b}}}if((b|0)==49){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==52){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==55){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==65){c[c[o>>2]>>2]=(c[n>>2]|0)+4;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==66){c[c[o>>2]>>2]=c[n>>2];c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==68){c[c[o>>2]>>2]=f;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}return 0}function h$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();m=p+20|0;l=p+16|0;n=p+12|0;k=p+8|0;o=p+4|0;h=p;c[l>>2]=b;c[n>>2]=e;c[k>>2]=f;c[o>>2]=g;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-4;o=c[m>>2]|0;i=p;return o|0}c[h>>2]=(c[k>>2]|0)-(c[n>>2]|0);do if(c[h>>2]&1){c[h>>2]=c[h>>2]&-2;if(c[h>>2]|0){c[k>>2]=(c[n>>2]|0)+(c[h>>2]|0);break}c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}while(0);h=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))h=d[(c[l>>2]|0)+76+(d[h+1>>0]|0)>>0]|0;else h=S_(a[h>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;a:do switch(h|0){case 4:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}if((a[c[n>>2]>>0]|0)==0?(a[(c[n>>2]|0)+1>>0]|0)==93:0){c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}if((a[c[n>>2]>>0]|0)==0?(a[(c[n>>2]|0)+1>>0]|0)==62:0){c[c[o>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=40;o=c[m>>2]|0;i=p;return o|0}c[n>>2]=(c[n>>2]|0)+-2}break}case 9:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[k>>2]|0)){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}h=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))h=d[(c[l>>2]|0)+76+(d[h+1>>0]|0)>>0]|0;else h=S_(a[h>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;if((h|0)==10)c[n>>2]=(c[n>>2]|0)+2;c[c[o>>2]>>2]=c[n>>2];c[m>>2]=7;o=c[m>>2]|0;i=p;return o|0}case 10:{c[c[o>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=7;o=c[m>>2]|0;i=p;return o|0}case 5:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=2){c[n>>2]=(c[n>>2]|0)+2;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 6:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=3){c[n>>2]=(c[n>>2]|0)+3;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 7:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)>=4){c[n>>2]=(c[n>>2]|0)+4;break a}c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 8:case 1:case 0:{c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}default:c[n>>2]=(c[n>>2]|0)+2}while(0);b:while(1){f=c[n>>2]|0;if((c[n>>2]|0)==(c[k>>2]|0)){b=57;break}h=c[n>>2]|0;if(!(a[f>>0]|0))h=d[(c[l>>2]|0)+76+(d[h+1>>0]|0)>>0]|0;else h=S_(a[h>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(h|0){case 4:case 10:case 9:case 8:case 1:case 0:{b=55;break b}case 5:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<2){b=47;break b}c[n>>2]=h+2;continue b}case 6:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<3){b=50;break b}c[n>>2]=h+3;continue b}case 7:{h=c[n>>2]|0;if(((c[k>>2]|0)-(c[n>>2]|0)|0)<4){b=53;break b}c[n>>2]=h+4;continue b}default:{c[n>>2]=(c[n>>2]|0)+2;continue b}}}if((b|0)==47){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==50){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==53){c[c[o>>2]>>2]=h;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==55){c[c[o>>2]>>2]=c[n>>2];c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}else if((b|0)==57){c[c[o>>2]>>2]=f;c[m>>2]=6;o=c[m>>2]|0;i=p;return o|0}return 0}function i$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();n=q+24|0;k=q+20|0;o=q+16|0;l=q+12|0;p=q+8|0;m=q+4|0;h=q;c[k>>2]=b;c[o>>2]=e;c[l>>2]=f;c[p>>2]=g;c[m>>2]=0;c[h>>2]=(c[l>>2]|0)-(c[o>>2]|0);if(c[h>>2]&1){c[h>>2]=c[h>>2]&-2;c[l>>2]=(c[o>>2]|0)+(c[h>>2]|0)}a:while(1){if((c[o>>2]|0)==(c[l>>2]|0)){b=39;break}b=c[o>>2]|0;if(!(a[c[o>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[o>>2]|0)+1>>0]|0)|0;switch(b|0){case 8:case 1:case 0:{b=17;break a}case 5:{if(((c[l>>2]|0)-(c[o>>2]|0)|0)<2){b=9;break a}c[o>>2]=(c[o>>2]|0)+2;continue a}case 6:{if(((c[l>>2]|0)-(c[o>>2]|0)|0)<3){b=12;break a}c[o>>2]=(c[o>>2]|0)+3;continue a}case 7:{if(((c[l>>2]|0)-(c[o>>2]|0)|0)<4){b=15;break a}c[o>>2]=(c[o>>2]|0)+4;continue a}case 2:{e=(c[o>>2]|0)+2|0;c[o>>2]=e;if((e|0)==(c[l>>2]|0)){b=19;break a}if(a[c[o>>2]>>0]|0)continue a;if((a[(c[o>>2]|0)+1>>0]|0)!=33)continue a;e=(c[o>>2]|0)+2|0;c[o>>2]=e;if((e|0)==(c[l>>2]|0)){b=23;break a}if(a[c[o>>2]>>0]|0)continue a;if((a[(c[o>>2]|0)+1>>0]|0)!=91)continue a;c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+2;continue a}case 4:{e=(c[o>>2]|0)+2|0;c[o>>2]=e;if((e|0)==(c[l>>2]|0)){b=28;break a}if(a[c[o>>2]>>0]|0)continue a;if((a[(c[o>>2]|0)+1>>0]|0)!=93)continue a;e=(c[o>>2]|0)+2|0;c[o>>2]=e;if((e|0)==(c[l>>2]|0)){b=32;break a}if(a[c[o>>2]>>0]|0)continue a;if((a[(c[o>>2]|0)+1>>0]|0)!=62)continue a;c[o>>2]=(c[o>>2]|0)+2;if(!(c[m>>2]|0)){b=36;break a}c[m>>2]=(c[m>>2]|0)+-1;continue a}default:{c[o>>2]=(c[o>>2]|0)+2;continue a}}}switch(b|0){case 9:{c[n>>2]=-2;p=c[n>>2]|0;i=q;return p|0}case 12:{c[n>>2]=-2;p=c[n>>2]|0;i=q;return p|0}case 15:{c[n>>2]=-2;p=c[n>>2]|0;i=q;return p|0}case 17:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;p=c[n>>2]|0;i=q;return p|0}case 19:{c[n>>2]=-1;p=c[n>>2]|0;i=q;return p|0}case 23:{c[n>>2]=-1;p=c[n>>2]|0;i=q;return p|0}case 28:{c[n>>2]=-1;p=c[n>>2]|0;i=q;return p|0}case 32:{c[n>>2]=-1;p=c[n>>2]|0;i=q;return p|0}case 36:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=42;p=c[n>>2]|0;i=q;return p|0}case 39:{c[n>>2]=-1;p=c[n>>2]|0;i=q;return p|0}}return 0}function j$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();m=p+20|0;k=p+16|0;n=p+12|0;h=p+8|0;o=p+4|0;l=p;c[k>>2]=b;c[n>>2]=e;c[h>>2]=f;c[o>>2]=g;do if((c[n>>2]|0)!=(c[h>>2]|0)){c[l>>2]=c[n>>2];a:while(1){b=c[n>>2]|0;if((c[n>>2]|0)==(c[h>>2]|0)){f=33;break}f=c[n>>2]|0;if(!(a[b>>0]|0))f=d[(c[k>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(f|0){case 3:{f=12;break a}case 2:{f=15;break a}case 10:{f=16;break a}case 9:{f=19;break a}case 21:{f=29;break a}case 5:{c[n>>2]=(c[n>>2]|0)+2;continue a}case 6:{c[n>>2]=(c[n>>2]|0)+3;continue a}case 7:{c[n>>2]=(c[n>>2]|0)+4;continue a}default:{c[n>>2]=(c[n>>2]|0)+2;continue a}}}if((f|0)==12)if((c[n>>2]|0)==(c[l>>2]|0)){c[m>>2]=w$(c[k>>2]|0,(c[n>>2]|0)+2|0,c[h>>2]|0,c[o>>2]|0)|0;break}else{c[c[o>>2]>>2]=c[n>>2];c[m>>2]=6;break}else if((f|0)==15){c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((f|0)==16){f=c[n>>2]|0;if((c[n>>2]|0)==(c[l>>2]|0)){c[c[o>>2]>>2]=f+2;c[m>>2]=7;break}else{c[c[o>>2]>>2]=f;c[m>>2]=6;break}}else if((f|0)==19){f=c[n>>2]|0;if((c[n>>2]|0)!=(c[l>>2]|0)){c[c[o>>2]>>2]=f;c[m>>2]=6;break}c[n>>2]=f+2;if((c[n>>2]|0)==(c[h>>2]|0)){c[m>>2]=-3;break}f=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))f=d[(c[k>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;if((f|0)==10)c[n>>2]=(c[n>>2]|0)+2;c[c[o>>2]>>2]=c[n>>2];c[m>>2]=7;break}else if((f|0)==29){f=c[n>>2]|0;if((c[n>>2]|0)==(c[l>>2]|0)){c[c[o>>2]>>2]=f+2;c[m>>2]=39;break}else{c[c[o>>2]>>2]=f;c[m>>2]=6;break}}else if((f|0)==33){c[c[o>>2]>>2]=b;c[m>>2]=6;break}}else c[m>>2]=-4;while(0);i=p;return c[m>>2]|0}function k$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();n=q+24|0;l=q+20|0;o=q+16|0;k=q+12|0;p=q+8|0;m=q+4|0;h=q;c[l>>2]=b;c[o>>2]=e;c[k>>2]=f;c[p>>2]=g;if((c[o>>2]|0)==(c[k>>2]|0)){c[n>>2]=-4;p=c[n>>2]|0;i=q;return p|0}c[m>>2]=c[o>>2];a:while(1){b=c[o>>2]|0;if((c[o>>2]|0)==(c[k>>2]|0)){f=32;break}f=c[o>>2]|0;if(!(a[b>>0]|0))f=d[(c[l>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[o>>2]|0)+1>>0]|0)|0;switch(f|0){case 3:{f=12;break a}case 30:{f=15;break a}case 10:{f=18;break a}case 9:{f=21;break a}case 5:{c[o>>2]=(c[o>>2]|0)+2;continue a}case 6:{c[o>>2]=(c[o>>2]|0)+3;continue a}case 7:{c[o>>2]=(c[o>>2]|0)+4;continue a}default:{c[o>>2]=(c[o>>2]|0)+2;continue a}}}if((f|0)==12)if((c[o>>2]|0)==(c[m>>2]|0)){c[n>>2]=w$(c[l>>2]|0,(c[o>>2]|0)+2|0,c[k>>2]|0,c[p>>2]|0)|0;p=c[n>>2]|0;i=q;return p|0}else{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=6;p=c[n>>2]|0;i=q;return p|0}else if((f|0)==15)if((c[o>>2]|0)==(c[m>>2]|0)){c[h>>2]=x$(c[l>>2]|0,(c[o>>2]|0)+2|0,c[k>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[h>>2]|0)==22?0:c[h>>2]|0;p=c[n>>2]|0;i=q;return p|0}else{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=6;p=c[n>>2]|0;i=q;return p|0}else if((f|0)==18){f=c[o>>2]|0;if((c[o>>2]|0)==(c[m>>2]|0)){c[c[p>>2]>>2]=f+2;c[n>>2]=7;p=c[n>>2]|0;i=q;return p|0}else{c[c[p>>2]>>2]=f;c[n>>2]=6;p=c[n>>2]|0;i=q;return p|0}}else if((f|0)==21){f=c[o>>2]|0;if((c[o>>2]|0)!=(c[m>>2]|0)){c[c[p>>2]>>2]=f;c[n>>2]=6;p=c[n>>2]|0;i=q;return p|0}c[o>>2]=f+2;if((c[o>>2]|0)==(c[k>>2]|0)){c[n>>2]=-3;p=c[n>>2]|0;i=q;return p|0}f=c[o>>2]|0;if(!(a[c[o>>2]>>0]|0))f=d[(c[l>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[o>>2]|0)+1>>0]|0)|0;if((f|0)==10)c[o>>2]=(c[o>>2]|0)+2;c[c[p>>2]>>2]=c[o>>2];c[n>>2]=7;p=c[n>>2]|0;i=q;return p|0}else if((f|0)==32){c[c[p>>2]>>2]=b;c[n>>2]=6;p=c[n>>2]|0;i=q;return p|0}return 0}function l$(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;if((i|0)>=(j|0))ba();m=n+12|0;k=n+8|0;g=n+4|0;l=n;c[k>>2]=b;c[g>>2]=e;c[l>>2]=f;a:while(1){b=c[g>>2]|0;if(!(a[c[g>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[g>>2]|0)+1>>0]|0)|0;switch(b|0){case 7:{f=c[g>>2]|0;c[g>>2]=f+1;f=a[f>>0]|0;h=c[l>>2]|0;c[l>>2]=h+1;if((f|0)!=(a[h>>0]|0)){h=7;break a}else h=8;break}case 6:{h=8;break}case 5:break;case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=c[l>>2]|0;c[l>>2]=e+1;e=a[e>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;if((e|0)!=(a[f>>0]|0)){h=15;break a}e=c[l>>2]|0;c[l>>2]=e+1;e=a[e>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;if((e|0)!=(a[f>>0]|0)){h=17;break a}else continue a}default:{h=18;break a}}if((h|0)==8?(h=0,e=c[g>>2]|0,c[g>>2]=e+1,e=a[e>>0]|0,f=c[l>>2]|0,c[l>>2]=f+1,(e|0)!=(a[f>>0]|0)):0){h=9;break}e=c[g>>2]|0;c[g>>2]=e+1;e=a[e>>0]|0;f=c[l>>2]|0;c[l>>2]=f+1;if((e|0)!=(a[f>>0]|0)){h=11;break}e=c[g>>2]|0;c[g>>2]=e+1;e=a[e>>0]|0;f=c[l>>2]|0;c[l>>2]=f+1;if((e|0)!=(a[f>>0]|0)){h=13;break}}if((h|0)==7){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==11){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==13){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==15){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==17){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}else if((h|0)==18){b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}default:{c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}}}return 0}function m$(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m+16|0;g=m+8|0;h=m+4|0;k=m;c[m+12>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;while(1){b=(c[g>>2]|0)==(c[h>>2]|0);if(!(a[c[k>>2]>>0]|0)){e=9;break}if(b){e=4;break}if(a[c[g>>2]>>0]|0){e=7;break}if((a[(c[g>>2]|0)+1>>0]|0)!=(a[c[k>>2]>>0]|0)){e=7;break}c[g>>2]=(c[g>>2]|0)+2;c[k>>2]=(c[k>>2]|0)+1}if((e|0)==4){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}else if((e|0)==7){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}else if((e|0)==9){c[l>>2]=b&1;l=c[l>>2]|0;i=m;return l|0}return 0}function n$(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[g>>2];a:while(1){b=c[g>>2]|0;if(!(a[c[g>>2]>>0]|0))b=d[(c[f>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[g>>2]|0)+1>>0]|0)|0;switch(b|0){case 5:{c[g>>2]=(c[g>>2]|0)+2;continue a}case 6:{c[g>>2]=(c[g>>2]|0)+3;continue a}case 7:{c[g>>2]=(c[g>>2]|0)+4;continue a}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{c[g>>2]=(c[g>>2]|0)+2;continue a}default:break a}}i=k;return (c[g>>2]|0)-(c[h>>2]|0)|0}function o$(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;a:while(1){b=c[g>>2]|0;if(!(a[c[g>>2]>>0]|0))b=d[(c[f>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[g>>2]|0)+1>>0]|0)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c[g>>2]=(c[g>>2]|0)+2}i=h;return c[g>>2]|0}function p$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();h=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=1;c[n>>2]=0;c[o>>2]=0;c[k>>2]=(c[k>>2]|0)+2;a:while(1){g=c[k>>2]|0;if(!(a[c[k>>2]>>0]|0))g=d[(c[h>>2]|0)+76+(d[g+1>>0]|0)>>0]|0;else g=S_(a[g>>0]|0,a[(c[k>>2]|0)+1>>0]|0)|0;b:do switch(g|0){case 5:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}c[k>>2]=c[k>>2];break}case 6:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}c[k>>2]=(c[k>>2]|0)+1;break}case 7:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}c[k>>2]=(c[k>>2]|0)+2;break}case 24:case 22:case 29:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}break}case 12:{if((c[p>>2]|0)!=2){if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+4>>2]=(c[k>>2]|0)+2;c[p>>2]=2;c[o>>2]=12;break b}if((c[o>>2]|0)==12){c[p>>2]=0;if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+8>>2]=c[k>>2];c[n>>2]=(c[n>>2]|0)+1}break}case 13:{if((c[p>>2]|0)!=2){if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+4>>2]=(c[k>>2]|0)+2;c[p>>2]=2;c[o>>2]=13;break b}if((c[o>>2]|0)==13){c[p>>2]=0;if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+8>>2]=c[k>>2];c[n>>2]=(c[n>>2]|0)+1}break}case 3:{if((c[n>>2]|0)<(c[l>>2]|0))a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=0;break}case 21:{if((c[p>>2]|0)==1){c[p>>2]=0;break b}if(((c[p>>2]|0)==2?(c[n>>2]|0)<(c[l>>2]|0):0)?(a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]|0)!=0:0){if((c[k>>2]|0)!=(c[(c[m>>2]|0)+(c[n>>2]<<4)+4>>2]|0)){if(!(a[c[k>>2]>>0]|0))g=a[(c[k>>2]|0)+1>>0]|0;else g=-1;if((g|0)==32){if(!(a[(c[k>>2]|0)+2>>0]|0))g=a[(c[k>>2]|0)+2+1>>0]|0;else g=-1;if((g|0)!=32){g=(c[k>>2]|0)+2|0;if(!(a[(c[k>>2]|0)+2>>0]|0))g=d[(c[h>>2]|0)+76+(d[g+1>>0]|0)>>0]|0;else g=S_(a[g>>0]|0,a[(c[k>>2]|0)+2+1>>0]|0)|0;if((g|0)!=(c[o>>2]|0))break b}}}a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=0}break}case 10:case 9:{if((c[p>>2]|0)==1){c[p>>2]=0;break b}if((c[p>>2]|0)==2?(c[n>>2]|0)<(c[l>>2]|0):0)a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=0;break}case 17:case 11:{if((c[p>>2]|0)!=2)break a;break}default:{}}while(0);c[k>>2]=(c[k>>2]|0)+2}i=q;return c[n>>2]|0}function q$(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();h=m+20|0;k=m+12|0;l=m+8|0;e=m+4|0;f=m;c[m+16>>2]=b;c[k>>2]=d;c[l>>2]=0;c[k>>2]=(c[k>>2]|0)+4;a:do if((a[c[k>>2]>>0]|0)==0?(a[(c[k>>2]|0)+1>>0]|0)==120:0){c[k>>2]=(c[k>>2]|0)+2;while(1){if(!(a[c[k>>2]>>0]|0))b=(a[(c[k>>2]|0)+1>>0]|0)==59;else b=0;if(!(b^1))break a;if(!(a[c[k>>2]>>0]|0))b=a[(c[k>>2]|0)+1>>0]|0;else b=-1;c[e>>2]=b;switch(c[e>>2]|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{c[l>>2]=c[l>>2]<<4;c[l>>2]=c[l>>2]|(c[e>>2]|0)-48;break}case 70:case 69:case 68:case 67:case 66:case 65:{c[l>>2]=c[l>>2]<<4;c[l>>2]=(c[l>>2]|0)+(10+((c[e>>2]|0)-65));break}case 102:case 101:case 100:case 99:case 98:case 97:{c[l>>2]=c[l>>2]<<4;c[l>>2]=(c[l>>2]|0)+(10+((c[e>>2]|0)-97));break}default:{}}if((c[l>>2]|0)>=1114112)break;c[k>>2]=(c[k>>2]|0)+2}c[h>>2]=-1;l=c[h>>2]|0;i=m;return l|0}else g=16;while(0);b:do if((g|0)==16){while(1){if(!(a[c[k>>2]>>0]|0))b=(a[(c[k>>2]|0)+1>>0]|0)==59;else b=0;if(!(b^1))break b;if(!(a[c[k>>2]>>0]|0))b=a[(c[k>>2]|0)+1>>0]|0;else b=-1;c[f>>2]=b;c[l>>2]=(c[l>>2]|0)*10;c[l>>2]=(c[l>>2]|0)+((c[f>>2]|0)-48);if((c[l>>2]|0)>=1114112)break;c[k>>2]=(c[k>>2]|0)+2;g=16}c[h>>2]=-1;l=c[h>>2]|0;i=m;return l|0}while(0);c[h>>2]=l_(c[l>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}function r$(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();g=h+12|0;f=h+4|0;k=h;c[h+8>>2]=b;c[f>>2]=d;c[k>>2]=e;a:do switch(((c[k>>2]|0)-(c[f>>2]|0)|0)/2|0|0){case 2:{if((a[(c[f>>2]|0)+2>>0]|0)==0?(a[(c[f>>2]|0)+2+1>>0]|0)==116:0){if(!(a[c[f>>2]>>0]|0))b=a[(c[f>>2]|0)+1>>0]|0;else b=-1;switch(b|0){case 108:{c[g>>2]=60;k=c[g>>2]|0;i=h;return k|0}case 103:{c[g>>2]=62;k=c[g>>2]|0;i=h;return k|0}default:break a}}break}case 3:{if((((((a[c[f>>2]>>0]|0)==0?(a[(c[f>>2]|0)+1>>0]|0)==97:0)?(c[f>>2]=(c[f>>2]|0)+2,(a[c[f>>2]>>0]|0)==0):0)?(a[(c[f>>2]|0)+1>>0]|0)==109:0)?(c[f>>2]=(c[f>>2]|0)+2,(a[c[f>>2]>>0]|0)==0):0)?(a[(c[f>>2]|0)+1>>0]|0)==112:0){c[g>>2]=38;k=c[g>>2]|0;i=h;return k|0}break}case 4:{if(!(a[c[f>>2]>>0]|0))b=a[(c[f>>2]|0)+1>>0]|0;else b=-1;switch(b|0){case 113:{c[f>>2]=(c[f>>2]|0)+2;if(a[c[f>>2]>>0]|0)break a;if((a[(c[f>>2]|0)+1>>0]|0)!=117)break a;c[f>>2]=(c[f>>2]|0)+2;if(a[c[f>>2]>>0]|0)break a;if((a[(c[f>>2]|0)+1>>0]|0)!=111)break a;c[f>>2]=(c[f>>2]|0)+2;if(a[c[f>>2]>>0]|0)break a;if((a[(c[f>>2]|0)+1>>0]|0)!=116)break a;c[g>>2]=34;k=c[g>>2]|0;i=h;return k|0}case 97:{c[f>>2]=(c[f>>2]|0)+2;if(a[c[f>>2]>>0]|0)break a;if((a[(c[f>>2]|0)+1>>0]|0)!=112)break a;c[f>>2]=(c[f>>2]|0)+2;if(a[c[f>>2]>>0]|0)break a;if((a[(c[f>>2]|0)+1>>0]|0)!=111)break a;c[f>>2]=(c[f>>2]|0)+2;if(a[c[f>>2]>>0]|0)break a;if((a[(c[f>>2]|0)+1>>0]|0)!=115)break a;c[g>>2]=39;k=c[g>>2]|0;i=h;return k|0}default:break a}}default:{}}while(0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}function s$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;if((i|0)>=(j|0))ba();h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=c[k>>2]|0;if(!(a[c[k>>2]>>0]|0))b=d[(c[h>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[k>>2]|0)+1>>0]|0)|0;switch(b|0){case 5:{c[k>>2]=(c[k>>2]|0)+2;break}case 6:{c[k>>2]=(c[k>>2]|0)+3;break}case 7:{c[k>>2]=(c[k>>2]|0)+4;break}case 10:{c[(c[m>>2]|0)+4>>2]=-1;e=c[m>>2]|0;c[e>>2]=(c[e>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+2;break}case 9:{e=c[m>>2]|0;c[e>>2]=(c[e>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+2;if((c[k>>2]|0)!=(c[l>>2]|0)){b=c[k>>2]|0;if(!(a[c[k>>2]>>0]|0))b=d[(c[h>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[k>>2]|0)+1>>0]|0)|0;if((b|0)==10)c[k>>2]=(c[k>>2]|0)+2}c[(c[m>>2]|0)+4>>2]=-1;break}default:c[k>>2]=(c[k>>2]|0)+2}e=(c[m>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+1}i=n;return}function t$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();h=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[l>>2]=(c[l>>2]|0)+2;c[m>>2]=(c[m>>2]|0)+-2;a:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){o=18;break}g=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))g=d[(c[k>>2]|0)+76+(d[g+1>>0]|0)>>0]|0;else g=S_(a[g>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(g|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:break;case 21:{if((a[c[l>>2]>>0]|0)==0?(a[(c[l>>2]|0)+1>>0]|0)==9:0){o=9;break a}break}case 22:case 26:{if(!(a[c[l>>2]>>0]|0))g=a[(c[l>>2]|0)+1>>0]|0;else g=-1;if(g&-128)o=13;break}default:o=13}if((o|0)==13){o=0;if(!(a[c[l>>2]>>0]|0))g=a[(c[l>>2]|0)+1>>0]|0;else g=-1;switch(g|0){case 64:case 36:break;default:{o=16;break a}}}c[l>>2]=(c[l>>2]|0)+2}if((o|0)==9){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else if((o|0)==16){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else if((o|0)==18){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}return 0}function u$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+32|0;if((i|0)>=(j|0))ba();k=u+20|0;l=u+16|0;m=u+12|0;n=u+8|0;o=u+4|0;s=u;r=u+30|0;q=u+29|0;p=u+28|0;c[u+24>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=c[c[k>>2]>>2];a:while(1){b=c[o>>2]|0;if((c[o>>2]|0)==(c[l>>2]|0)){t=18;break}a[q>>0]=a[b+1>>0]|0;a[p>>0]=a[c[o>>2]>>0]|0;switch(d[p>>0]|0|0){case 0:{if((d[q>>0]|0|0)<128){if((c[c[m>>2]>>2]|0)==(c[n>>2]|0)){t=6;break a}h=a[q>>0]|0;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h}else t=8;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{t=8;break}case 219:case 218:case 217:case 216:{if(((c[n>>2]|0)-(c[c[m>>2]>>2]|0)|0)<4){t=15;break a}c[s>>2]=(((d[p>>0]|0)&3)<<2|(d[q>>0]|0)>>6&3)+1;h=(c[s>>2]>>2|240)&255;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h;g=((d[q>>0]|0)>>2&15|(c[s>>2]&3)<<4|128)&255;h=c[m>>2]|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e>>0]=g;c[o>>2]=(c[o>>2]|0)+2;a[r>>0]=a[(c[o>>2]|0)+1>>0]|0;e=(((d[q>>0]|0)&3)<<4|((d[c[o>>2]>>0]|0)&3)<<2|(d[r>>0]|0)>>6|128)&255;g=c[m>>2]|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h>>0]=e;h=((d[r>>0]|0)&63|128)&255;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h;break}default:{if(((c[n>>2]|0)-(c[c[m>>2]>>2]|0)|0)<3){t=12;break a}g=((d[p>>0]|0)>>4|224)&255;h=c[m>>2]|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e>>0]=g;e=(((d[p>>0]|0)&15)<<2|(d[q>>0]|0)>>6|128)&255;g=c[m>>2]|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h>>0]=e;h=((d[q>>0]|0)&63|128)&255;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h}}if((t|0)==8){t=0;if(((c[n>>2]|0)-(c[c[m>>2]>>2]|0)|0)<2){t=9;break}e=((d[q>>0]|0)>>6|(d[p>>0]|0)<<2|192)&255;g=c[m>>2]|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h>>0]=e;h=((d[q>>0]|0)&63|128)&255;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h}c[o>>2]=(c[o>>2]|0)+2}if((t|0)==6){c[c[k>>2]>>2]=c[o>>2];i=u;return}else if((t|0)==9){c[c[k>>2]>>2]=c[o>>2];i=u;return}else if((t|0)==12){c[c[k>>2]>>2]=c[o>>2];i=u;return}else if((t|0)==15){c[c[k>>2]>>2]=c[o>>2];i=u;return}else if((t|0)==18){c[c[k>>2]>>2]=b;i=u;return}}function v$(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[o+16>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((c[l>>2]|0)-(c[c[k>>2]>>2]|0)|0)>((((c[n>>2]|0)-(c[c[m>>2]>>2]|0)|0)/2|0)<<1|0)?((d[(c[l>>2]|0)+-2>>0]|0)&248|0)==216:0)c[l>>2]=(c[l>>2]|0)+-2;while(1){if((c[c[k>>2]>>2]|0)==(c[l>>2]|0)){k=7;break}if((c[c[m>>2]>>2]|0)==(c[n>>2]|0)){k=7;break}h=((d[c[c[k>>2]>>2]>>0]|0)<<8|(d[(c[c[k>>2]>>2]|0)+1>>0]|0))&65535;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+2;b[g>>1]=h;g=c[k>>2]|0;c[g>>2]=(c[g>>2]|0)+2}if((k|0)==7){i=o;return}}function w$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a:do if((c[l>>2]|0)!=(c[m>>2]|0)){b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[h>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[c[l>>2]>>0]|0)>>0]<<3)+(d[(c[l>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[l>>2]|0)+1>>0]&31))){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 6:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 7:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 19:{c[k>>2]=y$(c[h>>2]|0,(c[l>>2]|0)+2|0,c[m>>2]|0,c[n>>2]|0)|0;break a}default:{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}}c[l>>2]=(c[l>>2]|0)+2;b:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){b=40;break}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[h>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 5:{b=29;break b}case 6:{b=32;break b}case 7:{b=35;break b}case 18:{b=38;break b}case 29:{if(!(c[93280+((d[181914+(d[c[l>>2]>>0]|0)>>0]<<3)+(d[(c[l>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[l>>2]|0)+1>>0]&31))){b=27;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{b=39;break b}}c[l>>2]=(c[l>>2]|0)+2}if((b|0)==27){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==29)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==32)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==35)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==38){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[k>>2]=9;break}else if((b|0)==39){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==40){c[k>>2]=-1;break}}else c[k>>2]=-1;while(0);i=o;return c[k>>2]|0}function x$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a:do if((c[l>>2]|0)!=(c[m>>2]|0)){b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[h>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[c[l>>2]>>0]|0)>>0]<<3)+(d[(c[l>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[l>>2]|0)+1>>0]&31))){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 6:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 7:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 30:case 9:case 10:case 21:{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=22;break a}default:{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}}c[l>>2]=(c[l>>2]|0)+2;b:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){b=40;break}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[h>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 5:{b=29;break b}case 6:{b=32;break b}case 7:{b=35;break b}case 18:{b=38;break b}case 29:{if(!(c[93280+((d[181914+(d[c[l>>2]>>0]|0)>>0]<<3)+(d[(c[l>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[l>>2]|0)+1>>0]&31))){b=27;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{b=39;break b}}c[l>>2]=(c[l>>2]|0)+2}if((b|0)==27){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==29)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==32)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==35)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==38){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[k>>2]=28;break}else if((b|0)==39){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==40){c[k>>2]=-1;break}}else c[k>>2]=-1;while(0);i=o;return c[k>>2]|0}function y$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();l=o+16|0;h=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=b;c[m>>2]=e;c[k>>2]=f;c[n>>2]=g;a:do if((c[m>>2]|0)!=(c[k>>2]|0)){if((a[c[m>>2]>>0]|0)==0?(a[(c[m>>2]|0)+1>>0]|0)==120:0){c[l>>2]=z$(c[h>>2]|0,(c[m>>2]|0)+2|0,c[k>>2]|0,c[n>>2]|0)|0;n=c[l>>2]|0;i=o;return n|0}f=c[m>>2]|0;if(!(a[c[m>>2]>>0]|0))f=d[(c[h>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[m>>2]|0)+1>>0]|0)|0;b=c[m>>2]|0;if((f|0)!=25){c[c[n>>2]>>2]=b;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}c[m>>2]=b+2;b:while(1){if((c[m>>2]|0)==(c[k>>2]|0))break a;f=c[m>>2]|0;if(!(a[c[m>>2]>>0]|0))f=d[(c[h>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[m>>2]|0)+1>>0]|0)|0;switch(f|0){case 18:{f=16;break b}case 25:break;default:{f=17;break b}}c[m>>2]=(c[m>>2]|0)+2}if((f|0)==16){c[c[n>>2]>>2]=(c[m>>2]|0)+2;c[l>>2]=10;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==17){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}}while(0);c[l>>2]=-1;n=c[l>>2]|0;i=o;return n|0}function z$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();l=o+16|0;h=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=b;c[m>>2]=e;c[k>>2]=f;c[n>>2]=g;a:do if((c[m>>2]|0)!=(c[k>>2]|0)){f=c[m>>2]|0;if(!(a[c[m>>2]>>0]|0))f=d[(c[h>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[m>>2]|0)+1>>0]|0)|0;b=c[m>>2]|0;if((f+-24|0)>>>0>=2){c[c[n>>2]>>2]=b;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}c[m>>2]=b+2;b:while(1){if((c[m>>2]|0)==(c[k>>2]|0))break a;f=c[m>>2]|0;if(!(a[c[m>>2]>>0]|0))f=d[(c[h>>2]|0)+76+(d[f+1>>0]|0)>>0]|0;else f=S_(a[f>>0]|0,a[(c[m>>2]|0)+1>>0]|0)|0;switch(f|0){case 18:{f=13;break b}case 24:case 25:break;default:{f=14;break b}}c[m>>2]=(c[m>>2]|0)+2}if((f|0)==13){c[c[n>>2]>>2]=(c[m>>2]|0)+2;c[l>>2]=10;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==14){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}}while(0);c[l>>2]=-1;n=c[l>>2]|0;i=o;return n|0}function A$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();l=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;h=q;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a:do if((c[n>>2]|0)==(c[o>>2]|0))c[l>>2]=-1;else{b=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))b=d[(c[m>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[c[n>>2]>>0]|0)>>0]<<3)+(d[(c[n>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[n>>2]|0)+1>>0]&31))){c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 6:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 7:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 16:{k=(c[n>>2]|0)+2|0;c[n>>2]=k;if((k|0)==(c[o>>2]|0)){c[l>>2]=-1;break a}b=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))b=d[(c[m>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(b|0){case 27:{c[l>>2]=B$(c[m>>2]|0,(c[n>>2]|0)+2|0,c[o>>2]|0,c[p>>2]|0)|0;break a}case 20:{c[l>>2]=C$(c[m>>2]|0,(c[n>>2]|0)+2|0,c[o>>2]|0,c[p>>2]|0)|0;break a}default:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}}}case 15:{c[l>>2]=D$(c[m>>2]|0,(c[n>>2]|0)+2|0,c[o>>2]|0,c[p>>2]|0)|0;break a}case 17:{c[l>>2]=E$(c[m>>2]|0,(c[n>>2]|0)+2|0,c[o>>2]|0,c[p>>2]|0)|0;break a}default:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}}c[n>>2]=(c[n>>2]|0)+2;c[h>>2]=0;b:while(1){if((c[n>>2]|0)==(c[o>>2]|0)){k=98;break}b=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))b=d[(c[m>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(b|0){case 5:{k=39;break b}case 6:{k=42;break b}case 7:{k=45;break b}case 10:case 9:case 21:{k=69;break b}case 11:{k=90;break b}case 17:break b;case 29:{if(!(c[93280+((d[181914+(d[c[n>>2]>>0]|0)>>0]<<3)+(d[(c[n>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[n>>2]|0)+1>>0]&31))){k=37;break b}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{if(c[h>>2]|0){k=49;break b}c[h>>2]=1;c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[o>>2]|0)){k=51;break b}b=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))b=d[(c[m>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(b|0){case 5:{k=59;break b}case 6:{k=62;break b}case 7:{k=65;break b}case 29:{if(!(c[93280+((d[181658+(d[c[n>>2]>>0]|0)>>0]<<3)+(d[(c[n>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[n>>2]|0)+1>>0]&31))){k=57;break b}break}case 24:case 22:break;default:{k=68;break b}}c[n>>2]=(c[n>>2]|0)+2;continue b}default:{k=97;break b}}c[n>>2]=(c[n>>2]|0)+2}c:switch(k|0){case 37:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 39:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 42:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 45:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 49:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 51:{c[l>>2]=-1;break a}case 57:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 59:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 62:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 65:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 68:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 69:{c[n>>2]=(c[n>>2]|0)+2;d:while(1){if((c[n>>2]|0)==(c[o>>2]|0)){k=89;break}b=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))b=d[(c[m>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(b|0){case 11:{k=90;break c}case 17:break c;case 29:{k=75;break d}case 24:case 22:break d;case 5:{k=78;break d}case 6:{k=81;break d}case 7:{k=84;break d}case 10:case 9:case 21:break;default:{k=88;break d}}c[n>>2]=(c[n>>2]|0)+2}if((k|0)==75){if(!(c[93280+((d[181658+(d[c[n>>2]>>0]|0)>>0]<<3)+(d[(c[n>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[n>>2]|0)+1>>0]&31))){c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}}else if((k|0)==78)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}else if((k|0)==81)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}else if((k|0)==84)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[l>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}else if((k|0)==88){c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}else if((k|0)==89){c[l>>2]=-1;break a}c[n>>2]=(c[n>>2]|0)+2;c[l>>2]=F$(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;break a}case 97:{c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0;break a}case 98:{c[l>>2]=-1;break a}}if((k|0)==90){c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[l>>2]=2;break}c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[o>>2]|0)){c[l>>2]=-1;break}if((a[c[n>>2]>>0]|0)==0?(a[(c[n>>2]|0)+1>>0]|0)==62:0){c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[l>>2]=4;break}c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0}while(0);i=q;return c[l>>2]|0}function B$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a:do if((c[l>>2]|0)!=(c[m>>2]|0)){if((a[c[l>>2]>>0]|0)==0?(a[(c[l>>2]|0)+1>>0]|0)==45:0){c[l>>2]=(c[l>>2]|0)+2;b:while(1){if((c[l>>2]|0)==(c[m>>2]|0))break a;b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[h>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 8:case 1:case 0:{b=20;break b}case 5:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){b=12;break b}c[l>>2]=(c[l>>2]|0)+2;continue b}case 6:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){b=15;break b}c[l>>2]=(c[l>>2]|0)+3;continue b}case 7:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){b=18;break b}c[l>>2]=(c[l>>2]|0)+4;continue b}case 27:{e=(c[l>>2]|0)+2|0;c[l>>2]=e;if((e|0)==(c[m>>2]|0)){b=22;break b}if(a[c[l>>2]>>0]|0)continue b;if((a[(c[l>>2]|0)+1>>0]|0)==45){b=25;break b}else continue b}default:{c[l>>2]=(c[l>>2]|0)+2;continue b}}}if((b|0)==12){c[k>>2]=-2;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==15){c[k>>2]=-2;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==18){c[k>>2]=-2;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==20){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==22){c[k>>2]=-1;n=c[k>>2]|0;i=o;return n|0}else if((b|0)==25){h=(c[l>>2]|0)+2|0;c[l>>2]=h;if((h|0)==(c[m>>2]|0)){c[k>>2]=-1;n=c[k>>2]|0;i=o;return n|0}if((a[c[l>>2]>>0]|0)==0?(a[(c[l>>2]|0)+1>>0]|0)==62:0){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[k>>2]=13;n=c[k>>2]|0;i=o;return n|0}c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}}c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}while(0);c[k>>2]=-1;n=c[k>>2]|0;i=o;return n|0}function C$(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();h=m+20|0;k=m+12|0;n=m+8|0;l=m+4|0;g=m;c[m+16>>2]=b;c[k>>2]=d;c[n>>2]=e;c[l>>2]=f;if(((c[n>>2]|0)-(c[k>>2]|0)|0)<12){c[h>>2]=-1;n=c[h>>2]|0;i=m;return n|0}c[g>>2]=0;while(1){b=c[k>>2]|0;if((c[g>>2]|0)>=6){e=9;break}if(a[b>>0]|0){e=7;break}if((a[(c[k>>2]|0)+1>>0]|0)!=(a[182183+(c[g>>2]|0)>>0]|0)){e=7;break}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+2}if((e|0)==7){c[c[l>>2]>>2]=c[k>>2];c[h>>2]=0;n=c[h>>2]|0;i=m;return n|0}else if((e|0)==9){c[c[l>>2]>>2]=b;c[h>>2]=8;n=c[h>>2]|0;i=m;return n|0}return 0}function D$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;if((i|0)>=(j|0))ba();m=r+24|0;l=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;h=r;c[l>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[h>>2]=c[n>>2];a:do if((c[n>>2]|0)==(c[o>>2]|0))c[m>>2]=-1;else{b=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))b=d[(c[l>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[c[n>>2]>>0]|0)>>0]<<3)+(d[(c[n>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[n>>2]|0)+1>>0]&31))){c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[m>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}case 6:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[m>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}case 7:if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[m>>2]=-2;break a}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}default:{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}}c[n>>2]=(c[n>>2]|0)+2;b:while(1){if((c[n>>2]|0)==(c[o>>2]|0)){k=70;break}b=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))b=d[(c[l>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(b|0){case 5:{k=28;break b}case 6:{k=31;break b}case 7:{k=34;break b}case 10:case 9:case 21:{k=37;break b}case 15:{k=62;break b}case 29:{if(!(c[93280+((d[181914+(d[c[n>>2]>>0]|0)>>0]<<3)+(d[(c[n>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[n>>2]|0)+1>>0]&31))){k=26;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:break b}c[n>>2]=(c[n>>2]|0)+2}if((k|0)==26){c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((k|0)==28)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[m>>2]=-2;break}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((k|0)==31)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[m>>2]=-2;break}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((k|0)==34)if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[m>>2]=-2;break}else{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((k|0)==37){k=(G$(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0,q)|0)!=0;b=c[n>>2]|0;if(!k){c[c[p>>2]>>2]=b;c[m>>2]=0;break}c[n>>2]=b+2;c:while(1){if((c[n>>2]|0)==(c[o>>2]|0)){k=61;break}b=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))b=d[(c[l>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(b|0){case 8:case 1:case 0:{k=54;break c}case 5:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){k=46;break c}c[n>>2]=(c[n>>2]|0)+2;continue c}case 6:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){k=49;break c}c[n>>2]=(c[n>>2]|0)+3;continue c}case 7:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){k=52;break c}c[n>>2]=(c[n>>2]|0)+4;continue c}case 15:{c[n>>2]=(c[n>>2]|0)+2;if((c[n>>2]|0)==(c[o>>2]|0)){k=56;break c}if(a[c[n>>2]>>0]|0)continue c;if((a[(c[n>>2]|0)+1>>0]|0)==62){k=59;break c}else continue c}default:{c[n>>2]=(c[n>>2]|0)+2;continue c}}}if((k|0)==46){c[m>>2]=-2;break}else if((k|0)==49){c[m>>2]=-2;break}else if((k|0)==52){c[m>>2]=-2;break}else if((k|0)==54){c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break}else if((k|0)==56){c[m>>2]=-1;break}else if((k|0)==59){c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=c[q>>2];break}else if((k|0)==61){c[m>>2]=-1;break}}else if((k|0)==62){l=(G$(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0,q)|0)!=0;b=c[n>>2]|0;if(!l){c[c[p>>2]>>2]=b;c[m>>2]=0;break}c[n>>2]=b+2;if((c[n>>2]|0)==(c[o>>2]|0)){c[m>>2]=-1;break}if((a[c[n>>2]>>0]|0)==0?(a[(c[n>>2]|0)+1>>0]|0)==62:0){c[c[p>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=c[q>>2];break}}else if((k|0)==70){c[m>>2]=-1;break}c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0}while(0);i=r;return c[m>>2]|0}function E$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a:do if((c[l>>2]|0)!=(c[m>>2]|0)){b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[c[l>>2]>>0]|0)>>0]<<3)+(d[(c[l>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[l>>2]|0)+1>>0]&31))){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[h>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break a}case 6:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[h>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break a}case 7:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[h>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break a}default:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break a}}c[l>>2]=(c[l>>2]|0)+2;b:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){b=50;break}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 5:{b=28;break b}case 6:{b=31;break b}case 7:{b=34;break b}case 10:case 9:case 21:{b=37;break b}case 11:{b=48;break b}case 29:{if(!(c[93280+((d[181914+(d[c[l>>2]>>0]|0)>>0]<<3)+(d[(c[l>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[l>>2]|0)+1>>0]&31))){b=26;break b}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{c[l>>2]=(c[l>>2]|0)+2;continue b}default:{b=49;break b}}c[l>>2]=(c[l>>2]|0)+2}if((b|0)==26){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==28)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==31)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==34)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==37){c[l>>2]=(c[l>>2]|0)+2;c:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){b=46;break}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 11:{b=43;break c}case 10:case 9:case 21:break;default:{b=44;break c}}c[l>>2]=(c[l>>2]|0)+2}if((b|0)==43){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[h>>2]=5;break}else if((b|0)==44){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==46){c[h>>2]=-1;break}}else if((b|0)==48){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[h>>2]=5;break}else if((b|0)==49){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}else if((b|0)==50){c[h>>2]=-1;break}}else c[h>>2]=-1;while(0);i=o;return c[h>>2]|0}function F$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;if((i|0)>=(j|0))ba();h=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;q=u+12|0;p=u+8|0;r=u+4|0;s=u;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=0;a:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){t=115;break}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;b:do switch(b|0){case 5:{t=10;break a}case 6:{t=13;break a}case 7:{t=16;break a}case 29:{if(c[93280+((d[181914+(d[c[l>>2]>>0]|0)>>0]<<3)+(d[(c[l>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[l>>2]|0)+1>>0]&31))t=9;else{t=8;break a}break}case 27:case 26:case 25:case 24:case 22:{t=9;break}case 23:{if(c[o>>2]|0){t=20;break a}c[o>>2]=1;c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){t=22;break a}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 5:{t=30;break a}case 6:{t=33;break a}case 7:{t=36;break a}case 29:{if(!(c[93280+((d[181658+(d[c[l>>2]>>0]|0)>>0]<<3)+(d[(c[l>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[l>>2]|0)+1>>0]&31))){t=28;break a}break}case 24:case 22:break;default:{t=39;break a}}c[l>>2]=(c[l>>2]|0)+2;continue a}case 10:case 9:case 21:while(1){c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){t=41;break a}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;c[q>>2]=b;if((c[q>>2]|0)==14)break b;switch(c[q>>2]|0){case 9:case 10:case 21:break;default:{t=47;break a}}}case 14:break;default:{t=114;break a}}while(0);if((t|0)==9){t=0;c[l>>2]=(c[l>>2]|0)+2;continue}c[o>>2]=0;while(1){c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){t=50;break a}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;c[p>>2]=b;if((c[p>>2]|0)==12|(c[p>>2]|0)==13)break;switch(c[p>>2]|0){case 9:case 10:case 21:break;default:{t=56;break a}}}c[l>>2]=(c[l>>2]|0)+2;c:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){t=59;break a}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;c[r>>2]=b;if((c[r>>2]|0)==(c[p>>2]|0))break;switch(c[r>>2]|0){case 8:case 1:case 0:{t=74;break a}case 2:{t=79;break a}case 5:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){t=66;break a}c[l>>2]=(c[l>>2]|0)+2;continue c}case 6:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){t=69;break a}c[l>>2]=(c[l>>2]|0)+3;continue c}case 7:{if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){t=72;break a}c[l>>2]=(c[l>>2]|0)+4;continue c}case 3:{c[s>>2]=w$(c[k>>2]|0,(c[l>>2]|0)+2|0,c[m>>2]|0,l)|0;if((c[s>>2]|0)<=0){t=76;break a}else continue c}default:{c[l>>2]=(c[l>>2]|0)+2;continue c}}}c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){t=82;break}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 11:{t=106;break a}case 17:{t=107;break a}case 10:case 9:case 21:break;default:{t=87;break a}}d:while(1){c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){t=89;break a}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[k>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 5:{t=97;break a}case 6:{t=100;break a}case 7:{t=103;break a}case 11:{t=106;break a}case 17:{t=107;break a}case 10:case 9:case 21:break;case 29:{t=94;break d}case 24:case 22:break d;default:{t=113;break a}}}if((t|0)==94?(t=0,(c[93280+((d[181658+(d[c[l>>2]>>0]|0)>>0]<<3)+(d[(c[l>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[l>>2]|0)+1>>0]&31)|0)==0):0){t=95;break}c[l>>2]=(c[l>>2]|0)+2}switch(t|0){case 8:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 10:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 13:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 16:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 20:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 22:{c[h>>2]=-1;break}case 28:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 30:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 33:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 36:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 39:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 41:{c[h>>2]=-1;break}case 47:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 50:{c[h>>2]=-1;break}case 56:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 59:{c[h>>2]=-1;break}case 66:{c[h>>2]=-2;break}case 69:{c[h>>2]=-2;break}case 72:{c[h>>2]=-2;break}case 74:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 76:{if(!(c[s>>2]|0))c[c[n>>2]>>2]=c[l>>2];c[h>>2]=c[s>>2];break}case 79:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 82:{c[h>>2]=-1;break}case 87:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 89:{c[h>>2]=-1;break}case 95:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 97:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 100:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 103:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[h>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 106:{c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[h>>2]=1;break}case 107:{c[l>>2]=(c[l>>2]|0)+2;if((c[l>>2]|0)==(c[m>>2]|0)){c[h>>2]=-1;break}if((a[c[l>>2]>>0]|0)==0?(a[(c[l>>2]|0)+1>>0]|0)==62:0){c[c[n>>2]>>2]=(c[l>>2]|0)+2;c[h>>2]=3;break}c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 113:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 114:{c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;break}case 115:{c[h>>2]=-1;break}}i=u;return c[h>>2]|0}function G$(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();h=m+20|0;g=m+12|0;n=m+8|0;k=m+4|0;l=m;c[m+16>>2]=b;c[g>>2]=d;c[n>>2]=e;c[k>>2]=f;c[l>>2]=0;c[c[k>>2]>>2]=11;if(((c[n>>2]|0)-(c[g>>2]|0)|0)!=6){c[h>>2]=1;n=c[h>>2]|0;i=m;return n|0}if(!(a[c[g>>2]>>0]|0))b=a[(c[g>>2]|0)+1>>0]|0;else b=-1;switch(b|0){case 120:break;case 88:{c[l>>2]=1;break}default:{c[h>>2]=1;n=c[h>>2]|0;i=m;return n|0}}c[g>>2]=(c[g>>2]|0)+2;if(!(a[c[g>>2]>>0]|0))b=a[(c[g>>2]|0)+1>>0]|0;else b=-1;switch(b|0){case 109:break;case 77:{c[l>>2]=1;break}default:{c[h>>2]=1;n=c[h>>2]|0;i=m;return n|0}}c[g>>2]=(c[g>>2]|0)+2;if(!(a[c[g>>2]>>0]|0))b=a[(c[g>>2]|0)+1>>0]|0;else b=-1;switch(b|0){case 108:break;case 76:{c[l>>2]=1;break}default:{c[h>>2]=1;n=c[h>>2]|0;i=m;return n|0}}if(c[l>>2]|0){c[h>>2]=0;n=c[h>>2]|0;i=m;return n|0}else{c[c[k>>2]>>2]=12;c[h>>2]=1;n=c[h>>2]|0;i=m;return n|0}return 0}function H$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;if((i|0)>=(j|0))ba();q=r+24|0;k=r+20|0;o=r+16|0;p=r+12|0;m=r+8|0;n=r+4|0;l=r;c[k>>2]=b;c[o>>2]=e;c[p>>2]=f;c[m>>2]=g;c[n>>2]=h;a:while(1){if((c[p>>2]|0)==(c[m>>2]|0)){e=27;break}e=c[p>>2]|0;if(!(a[c[p>>2]>>0]|0))e=d[(c[o>>2]|0)+76+(d[e+1>>0]|0)>>0]|0;else e=S_(a[e>>0]|0,a[(c[p>>2]|0)+1>>0]|0)|0;c[l>>2]=e;switch(c[l>>2]|0){case 8:case 1:case 0:{e=16;break a}case 5:{if(((c[m>>2]|0)-(c[p>>2]|0)|0)<2){e=8;break a}c[p>>2]=(c[p>>2]|0)+2;continue a}case 6:{if(((c[m>>2]|0)-(c[p>>2]|0)|0)<3){e=11;break a}c[p>>2]=(c[p>>2]|0)+3;continue a}case 7:{if(((c[m>>2]|0)-(c[p>>2]|0)|0)<4){e=14;break a}c[p>>2]=(c[p>>2]|0)+4;continue a}case 13:case 12:{c[p>>2]=(c[p>>2]|0)+2;if((c[l>>2]|0)!=(c[k>>2]|0))continue a;else{e=18;break a}}default:{c[p>>2]=(c[p>>2]|0)+2;continue a}}}if((e|0)==8){c[q>>2]=-2;q=c[q>>2]|0;i=r;return q|0}else if((e|0)==11){c[q>>2]=-2;q=c[q>>2]|0;i=r;return q|0}else if((e|0)==14){c[q>>2]=-2;q=c[q>>2]|0;i=r;return q|0}else if((e|0)==16){c[c[n>>2]>>2]=c[p>>2];c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}else if((e|0)==18){if((c[p>>2]|0)==(c[m>>2]|0)){c[q>>2]=-27;q=c[q>>2]|0;i=r;return q|0}c[c[n>>2]>>2]=c[p>>2];e=c[p>>2]|0;if(!(a[c[p>>2]>>0]|0))e=d[(c[o>>2]|0)+76+(d[e+1>>0]|0)>>0]|0;else e=S_(a[e>>0]|0,a[(c[p>>2]|0)+1>>0]|0)|0;switch(e|0){case 20:case 30:case 11:case 10:case 9:case 21:{c[q>>2]=27;q=c[q>>2]|0;i=r;return q|0}default:{c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}}}else if((e|0)==27){c[q>>2]=-1;q=c[q>>2]|0;i=r;return q|0}return 0}function I$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();m=p+16|0;l=p+12|0;n=p+8|0;h=p+4|0;o=p;c[l>>2]=b;c[n>>2]=e;c[h>>2]=f;c[o>>2]=g;if((c[n>>2]|0)==(c[h>>2]|0)){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}b=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))b=d[(c[l>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(b|0){case 27:{c[m>>2]=B$(c[l>>2]|0,(c[n>>2]|0)+2|0,c[h>>2]|0,c[o>>2]|0)|0;o=c[m>>2]|0;i=p;return o|0}case 20:{c[c[o>>2]>>2]=(c[n>>2]|0)+2;c[m>>2]=33;o=c[m>>2]|0;i=p;return o|0}case 24:case 22:{c[n>>2]=(c[n>>2]|0)+2;a:while(1){if((c[n>>2]|0)==(c[h>>2]|0)){k=26;break}b=c[n>>2]|0;if(!(a[c[n>>2]>>0]|0))b=d[(c[l>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[n>>2]|0)+1>>0]|0)|0;switch(b|0){case 30:{k=16;break a}case 10:case 9:case 21:break a;case 24:case 22:break;default:{k=25;break a}}c[n>>2]=(c[n>>2]|0)+2}b:do if((k|0)==16){if(((c[n>>2]|0)+2|0)==(c[h>>2]|0)){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}b=(c[n>>2]|0)+2|0;if(!(a[(c[n>>2]|0)+2>>0]|0))b=d[(c[l>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[n>>2]|0)+2+1>>0]|0)|0;switch(b|0){case 30:case 10:case 9:case 21:break;default:break b}c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}else if((k|0)==25){c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}else if((k|0)==26){c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}while(0);c[c[o>>2]>>2]=c[n>>2];c[m>>2]=16;o=c[m>>2]|0;i=p;return o|0}default:{c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}}return 0}function J$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a:do if((c[l>>2]|0)!=(c[m>>2]|0)){b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[h>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 29:{if(!(c[93280+((d[181658+(d[c[l>>2]>>0]|0)>>0]<<3)+(d[(c[l>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[l>>2]|0)+1>>0]&31))){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}break}case 24:case 22:break;case 5:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 6:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 7:if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break a}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}default:{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break a}}c[l>>2]=(c[l>>2]|0)+2;b:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){b=39;break}b=c[l>>2]|0;if(!(a[c[l>>2]>>0]|0))b=d[(c[h>>2]|0)+76+(d[b+1>>0]|0)>>0]|0;else b=S_(a[b>>0]|0,a[(c[l>>2]|0)+1>>0]|0)|0;switch(b|0){case 5:{b=28;break b}case 6:{b=31;break b}case 7:{b=34;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{b=37;break b}case 29:{if(!(c[93280+((d[181914+(d[c[l>>2]>>0]|0)>>0]<<3)+(d[(c[l>>2]|0)+1>>0]>>5)<<2)>>2]&1<<(d[(c[l>>2]|0)+1>>0]&31))){b=26;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{b=38;break b}}c[l>>2]=(c[l>>2]|0)+2}if((b|0)==26){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==28)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==31)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==34)if(((c[m>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break}else{c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==37){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=20;break}else if((b|0)==38){c[c[n>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((b|0)==39){c[k>>2]=-20;break}}else c[k>>2]=-1;while(0);i=o;return c[k>>2]|0}function K$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();o=q+20|0;h=q+16|0;k=q+12|0;l=q+8|0;p=q+4|0;n=q;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p>>2]=g;a:do if((c[k>>2]|0)==(c[l>>2]|0))c[o>>2]=-4;else{b:do switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0){case 12:{c[o>>2]=s0(12,c[h>>2]|0,(c[k>>2]|0)+1|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 13:{c[o>>2]=s0(13,c[h>>2]|0,(c[k>>2]|0)+1|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 2:{c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)==(c[l>>2]|0)){c[o>>2]=-1;break a}switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0){case 16:{c[o>>2]=t0(c[h>>2]|0,(c[k>>2]|0)+1|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 15:{c[o>>2]=o0(c[h>>2]|0,(c[k>>2]|0)+1|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[c[p>>2]>>2]=(c[k>>2]|0)+-1;c[o>>2]=29;break a}default:{c[c[p>>2]>>2]=c[k>>2];c[o>>2]=0;break a}}}case 9:{if(((c[k>>2]|0)+1|0)==(c[l>>2]|0)){c[c[p>>2]>>2]=c[l>>2];c[o>>2]=-15;break a}else m=15;break}case 10:case 21:{m=15;break}case 30:{c[o>>2]=i0(c[h>>2]|0,(c[k>>2]|0)+1|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 35:{c[c[p>>2]>>2]=(c[k>>2]|0)+1;c[o>>2]=38;break a}case 20:{c[c[p>>2]>>2]=(c[k>>2]|0)+1;c[o>>2]=25;break a}case 4:{c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)==(c[l>>2]|0)){c[o>>2]=-26;break a}if((a[c[k>>2]>>0]|0)==93){if(((c[k>>2]|0)+1|0)==(c[l>>2]|0)){c[o>>2]=-1;break a}if((a[(c[k>>2]|0)+1>>0]|0)==62){c[c[p>>2]>>2]=(c[k>>2]|0)+2;c[o>>2]=34;break a}}c[c[p>>2]>>2]=c[k>>2];c[o>>2]=26;break a}case 31:{c[c[p>>2]>>2]=(c[k>>2]|0)+1;c[o>>2]=23;break a}case 32:{c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)==(c[l>>2]|0)){c[o>>2]=-24;break a}switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0){case 33:{c[c[p>>2]>>2]=(c[k>>2]|0)+1;c[o>>2]=36;break a}case 15:{c[c[p>>2]>>2]=(c[k>>2]|0)+1;c[o>>2]=35;break a}case 34:{c[c[p>>2]>>2]=(c[k>>2]|0)+1;c[o>>2]=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[c[p>>2]>>2]=c[k>>2];c[o>>2]=24;break a}default:{c[c[p>>2]>>2]=c[k>>2];c[o>>2]=0;break a}}}case 36:{c[c[p>>2]>>2]=(c[k>>2]|0)+1;c[o>>2]=21;break a}case 11:{c[c[p>>2]>>2]=(c[k>>2]|0)+1;c[o>>2]=17;break a}case 19:{c[o>>2]=u0(c[h>>2]|0,(c[k>>2]|0)+1|0,c[l>>2]|0,c[p>>2]|0)|0;break a}case 5:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<2){c[o>>2]=-2;break a}if(gc[c[(c[h>>2]|0)+344>>2]&127](c[h>>2]|0,c[k>>2]|0)|0){c[k>>2]=(c[k>>2]|0)+2;c[n>>2]=18;break b}e=(gc[c[(c[h>>2]|0)+332>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;b=c[k>>2]|0;if(e){c[k>>2]=b+2;c[n>>2]=19;break b}else{c[c[p>>2]>>2]=b;c[o>>2]=0;break a}}case 6:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<3){c[o>>2]=-2;break a}if(gc[c[(c[h>>2]|0)+348>>2]&127](c[h>>2]|0,c[k>>2]|0)|0){c[k>>2]=(c[k>>2]|0)+3;c[n>>2]=18;break b}e=(gc[c[(c[h>>2]|0)+336>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;b=c[k>>2]|0;if(e){c[k>>2]=b+3;c[n>>2]=19;break b}else{c[c[p>>2]>>2]=b;c[o>>2]=0;break a}}case 7:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<4){c[o>>2]=-2;break a}if(gc[c[(c[h>>2]|0)+352>>2]&127](c[h>>2]|0,c[k>>2]|0)|0){c[k>>2]=(c[k>>2]|0)+4;c[n>>2]=18;break b}e=(gc[c[(c[h>>2]|0)+340>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;b=c[k>>2]|0;if(e){c[k>>2]=b+4;c[n>>2]=19;break b}else{c[c[p>>2]>>2]=b;c[o>>2]=0;break a}}case 24:case 22:{c[n>>2]=18;c[k>>2]=(c[k>>2]|0)+1;break}case 23:case 27:case 26:case 25:{c[n>>2]=19;c[k>>2]=(c[k>>2]|0)+1;break}default:{c[c[p>>2]>>2]=c[k>>2];c[o>>2]=0;break a}}while(0);if((m|0)==15){c:while(1){c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;if((c[k>>2]|0)==(c[l>>2]|0)){m=19;break}switch(d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0){case 10:case 21:{m=15;continue c}case 9:break;default:{m=18;break c}}if(((c[k>>2]|0)+1|0)!=(c[l>>2]|0))m=15;else{m=18;break}}if((m|0)==18){c[c[p>>2]>>2]=c[k>>2];c[o>>2]=15;break}else if((m|0)==19){c[c[p>>2]>>2]=b;c[o>>2]=15;break}}d:while(1){if((c[k>>2]|0)==(c[l>>2]|0)){m=120;break}switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0){case 29:{m=69;break d}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{m=86;break d}case 34:{m=110;break d}case 33:{m=113;break d}case 15:{m=116;break d}case 27:case 26:case 25:case 24:case 22:{c[k>>2]=(c[k>>2]|0)+1;continue d}case 5:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<2){m=72;break d}m=(gc[c[(c[h>>2]|0)+332>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;b=c[k>>2]|0;if(!m){m=74;break d}c[k>>2]=b+2;continue d}case 6:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<3){m=77;break d}m=(gc[c[(c[h>>2]|0)+336>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;b=c[k>>2]|0;if(!m){m=79;break d}c[k>>2]=b+3;continue d}case 7:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<4){m=82;break d}m=(gc[c[(c[h>>2]|0)+340>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;b=c[k>>2]|0;if(!m){m=84;break d}c[k>>2]=b+4;continue d}case 23:{c[k>>2]=(c[k>>2]|0)+1;switch(c[n>>2]|0){case 18:break;case 41:{c[n>>2]=19;continue d}default:continue d}if((c[k>>2]|0)==(c[l>>2]|0)){m=89;break d}c[n>>2]=41;switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0){case 29:{m=91;break d}case 27:case 26:case 25:case 24:case 22:{c[k>>2]=(c[k>>2]|0)+1;continue d}case 5:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<2){m=94;break d}m=(gc[c[(c[h>>2]|0)+332>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;b=c[k>>2]|0;if(!m){m=96;break d}c[k>>2]=b+2;continue d}case 6:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<3){m=99;break d}m=(gc[c[(c[h>>2]|0)+336>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;b=c[k>>2]|0;if(!m){m=101;break d}c[k>>2]=b+3;continue d}case 7:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<4){m=104;break d}m=(gc[c[(c[h>>2]|0)+340>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;b=c[k>>2]|0;if(!m){m=106;break d}c[k>>2]=b+4;continue d}default:{c[n>>2]=19;continue d}}}default:{m=119;break d}}}switch(m|0){case 69:{c[c[p>>2]>>2]=c[k>>2];c[o>>2]=0;break a}case 72:{c[o>>2]=-2;break a}case 74:{c[c[p>>2]>>2]=b;c[o>>2]=0;break a}case 77:{c[o>>2]=-2;break a}case 79:{c[c[p>>2]>>2]=b;c[o>>2]=0;break a}case 82:{c[o>>2]=-2;break a}case 84:{c[c[p>>2]>>2]=b;c[o>>2]=0;break a}case 86:{c[c[p>>2]>>2]=c[k>>2];c[o>>2]=c[n>>2];break a}case 89:{c[o>>2]=-1;break a}case 91:{c[c[p>>2]>>2]=c[k>>2];c[o>>2]=0;break a}case 94:{c[o>>2]=-2;break a}case 96:{c[c[p>>2]>>2]=b;c[o>>2]=0;break a}case 99:{c[o>>2]=-2;break a}case 101:{c[c[p>>2]>>2]=b;c[o>>2]=0;break a}case 104:{c[o>>2]=-2;break a}case 106:{c[c[p>>2]>>2]=b;c[o>>2]=0;break a}case 110:{b=c[k>>2]|0;if((c[n>>2]|0)==19){c[c[p>>2]>>2]=b;c[o>>2]=0;break a}else{c[c[p>>2]>>2]=b+1;c[o>>2]=32;break a}}case 113:{b=c[k>>2]|0;if((c[n>>2]|0)==19){c[c[p>>2]>>2]=b;c[o>>2]=0;break a}else{c[c[p>>2]>>2]=b+1;c[o>>2]=31;break a}}case 116:{b=c[k>>2]|0;if((c[n>>2]|0)==19){c[c[p>>2]>>2]=b;c[o>>2]=0;break a}else{c[c[p>>2]>>2]=b+1;c[o>>2]=30;break a}}case 119:{c[c[p>>2]>>2]=c[k>>2];c[o>>2]=0;break a}case 120:{c[o>>2]=0-(c[n>>2]|0);break a}}}while(0);i=q;return c[o>>2]|0}function L$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();l=o+16|0;h=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=b;c[m>>2]=e;c[k>>2]=f;c[n>>2]=g;if((c[m>>2]|0)==(c[k>>2]|0)){c[l>>2]=-4;n=c[l>>2]|0;i=o;return n|0}a:do switch(d[(c[h>>2]|0)+76+(d[c[m>>2]>>0]|0)>>0]|0){case 2:{c[l>>2]=l0(c[h>>2]|0,(c[m>>2]|0)+1|0,c[k>>2]|0,c[n>>2]|0)|0;n=c[l>>2]|0;i=o;return n|0}case 3:{c[l>>2]=h0(c[h>>2]|0,(c[m>>2]|0)+1|0,c[k>>2]|0,c[n>>2]|0)|0;n=c[l>>2]|0;i=o;return n|0}case 9:{c[m>>2]=(c[m>>2]|0)+1;if((c[m>>2]|0)==(c[k>>2]|0)){c[l>>2]=-3;n=c[l>>2]|0;i=o;return n|0}if((d[(c[h>>2]|0)+76+(d[c[m>>2]>>0]|0)>>0]|0)==10)c[m>>2]=(c[m>>2]|0)+1;c[c[n>>2]>>2]=c[m>>2];c[l>>2]=7;n=c[l>>2]|0;i=o;return n|0}case 10:{c[c[n>>2]>>2]=(c[m>>2]|0)+1;c[l>>2]=7;n=c[l>>2]|0;i=o;return n|0}case 4:{c[m>>2]=(c[m>>2]|0)+1;if((c[m>>2]|0)==(c[k>>2]|0)){c[l>>2]=-5;n=c[l>>2]|0;i=o;return n|0}if((a[c[m>>2]>>0]|0)==93){c[m>>2]=(c[m>>2]|0)+1;if((c[m>>2]|0)==(c[k>>2]|0)){c[l>>2]=-5;n=c[l>>2]|0;i=o;return n|0}f=c[m>>2]|0;if((a[c[m>>2]>>0]|0)!=62){c[m>>2]=f+-1;break a}c[c[n>>2]>>2]=f;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}break}case 5:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<2){c[l>>2]=-2;n=c[l>>2]|0;i=o;return n|0}e=(gc[c[(c[h>>2]|0)+356>>2]&127](c[h>>2]|0,c[m>>2]|0)|0)!=0;f=c[m>>2]|0;if(!e){c[m>>2]=f+2;break a}c[c[n>>2]>>2]=f;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}case 6:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<3){c[l>>2]=-2;n=c[l>>2]|0;i=o;return n|0}e=(gc[c[(c[h>>2]|0)+360>>2]&127](c[h>>2]|0,c[m>>2]|0)|0)!=0;f=c[m>>2]|0;if(!e){c[m>>2]=f+3;break a}c[c[n>>2]>>2]=f;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}case 7:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<4){c[l>>2]=-2;n=c[l>>2]|0;i=o;return n|0}e=(gc[c[(c[h>>2]|0)+364>>2]&127](c[h>>2]|0,c[m>>2]|0)|0)!=0;f=c[m>>2]|0;if(!e){c[m>>2]=f+4;break a}c[c[n>>2]>>2]=f;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}case 8:case 1:case 0:{c[c[n>>2]>>2]=c[m>>2];c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}default:c[m>>2]=(c[m>>2]|0)+1}while(0);b:while(1){b=c[m>>2]|0;if((c[m>>2]|0)==(c[k>>2]|0)){f=60;break}switch(d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{f=58;break b}case 5:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<2){f=41;break b}if(gc[c[(c[h>>2]|0)+356>>2]&127](c[h>>2]|0,c[m>>2]|0)|0){f=41;break b}c[m>>2]=(c[m>>2]|0)+2;continue b}case 6:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<3){f=45;break b}if(gc[c[(c[h>>2]|0)+360>>2]&127](c[h>>2]|0,c[m>>2]|0)|0){f=45;break b}c[m>>2]=(c[m>>2]|0)+3;continue b}case 7:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<4){f=49;break b}if(gc[c[(c[h>>2]|0)+364>>2]&127](c[h>>2]|0,c[m>>2]|0)|0){f=49;break b}c[m>>2]=(c[m>>2]|0)+4;continue b}case 4:{if(((c[m>>2]|0)+1|0)==(c[k>>2]|0)){f=58;break b}f=c[m>>2]|0;if((a[(c[m>>2]|0)+1>>0]|0)!=93){c[m>>2]=f+1;continue b}if((f+2|0)==(c[k>>2]|0)){f=58;break b}b=c[m>>2]|0;if((a[(c[m>>2]|0)+2>>0]|0)==62){f=57;break b}c[m>>2]=b+1;continue b}default:{c[m>>2]=(c[m>>2]|0)+1;continue b}}}if((f|0)==41){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=6;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==45){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=6;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==49){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=6;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==57){c[c[n>>2]>>2]=b+2;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==58){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=6;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==60){c[c[n>>2]>>2]=b;c[l>>2]=6;n=c[l>>2]|0;i=o;return n|0}return 0}function M$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();l=o+16|0;h=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=b;c[m>>2]=e;c[k>>2]=f;c[n>>2]=g;if((c[m>>2]|0)==(c[k>>2]|0)){c[l>>2]=-4;n=c[l>>2]|0;i=o;return n|0}a:do switch(d[(c[h>>2]|0)+76+(d[c[m>>2]>>0]|0)>>0]|0){case 4:{c[m>>2]=(c[m>>2]|0)+1;if((c[m>>2]|0)==(c[k>>2]|0)){c[l>>2]=-1;n=c[l>>2]|0;i=o;return n|0}if((a[c[m>>2]>>0]|0)==93){c[m>>2]=(c[m>>2]|0)+1;if((c[m>>2]|0)==(c[k>>2]|0)){c[l>>2]=-1;n=c[l>>2]|0;i=o;return n|0}f=c[m>>2]|0;if((a[c[m>>2]>>0]|0)!=62){c[m>>2]=f+-1;break a}c[c[n>>2]>>2]=f+1;c[l>>2]=40;n=c[l>>2]|0;i=o;return n|0}break}case 9:{c[m>>2]=(c[m>>2]|0)+1;if((c[m>>2]|0)==(c[k>>2]|0)){c[l>>2]=-1;n=c[l>>2]|0;i=o;return n|0}if((d[(c[h>>2]|0)+76+(d[c[m>>2]>>0]|0)>>0]|0)==10)c[m>>2]=(c[m>>2]|0)+1;c[c[n>>2]>>2]=c[m>>2];c[l>>2]=7;n=c[l>>2]|0;i=o;return n|0}case 10:{c[c[n>>2]>>2]=(c[m>>2]|0)+1;c[l>>2]=7;n=c[l>>2]|0;i=o;return n|0}case 5:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<2){c[l>>2]=-2;n=c[l>>2]|0;i=o;return n|0}e=(gc[c[(c[h>>2]|0)+356>>2]&127](c[h>>2]|0,c[m>>2]|0)|0)!=0;f=c[m>>2]|0;if(!e){c[m>>2]=f+2;break a}c[c[n>>2]>>2]=f;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}case 6:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<3){c[l>>2]=-2;n=c[l>>2]|0;i=o;return n|0}e=(gc[c[(c[h>>2]|0)+360>>2]&127](c[h>>2]|0,c[m>>2]|0)|0)!=0;f=c[m>>2]|0;if(!e){c[m>>2]=f+3;break a}c[c[n>>2]>>2]=f;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}case 7:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<4){c[l>>2]=-2;n=c[l>>2]|0;i=o;return n|0}e=(gc[c[(c[h>>2]|0)+364>>2]&127](c[h>>2]|0,c[m>>2]|0)|0)!=0;f=c[m>>2]|0;if(!e){c[m>>2]=f+4;break a}c[c[n>>2]>>2]=f;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}case 8:case 1:case 0:{c[c[n>>2]>>2]=c[m>>2];c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}default:c[m>>2]=(c[m>>2]|0)+1}while(0);b:while(1){b=c[m>>2]|0;if((c[m>>2]|0)==(c[k>>2]|0)){f=51;break}switch(d[(c[h>>2]|0)+76+(d[b>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{f=49;break b}case 5:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<2){f=39;break b}if(gc[c[(c[h>>2]|0)+356>>2]&127](c[h>>2]|0,c[m>>2]|0)|0){f=39;break b}c[m>>2]=(c[m>>2]|0)+2;continue b}case 6:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<3){f=43;break b}if(gc[c[(c[h>>2]|0)+360>>2]&127](c[h>>2]|0,c[m>>2]|0)|0){f=43;break b}c[m>>2]=(c[m>>2]|0)+3;continue b}case 7:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<4){f=47;break b}if(gc[c[(c[h>>2]|0)+364>>2]&127](c[h>>2]|0,c[m>>2]|0)|0){f=47;break b}c[m>>2]=(c[m>>2]|0)+4;continue b}default:{c[m>>2]=(c[m>>2]|0)+1;continue b}}}if((f|0)==39){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=6;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==43){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=6;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==47){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=6;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==49){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=6;n=c[l>>2]|0;i=o;return n|0}else if((f|0)==51){c[c[n>>2]>>2]=b;c[l>>2]=6;n=c[l>>2]|0;i=o;return n|0}return 0}function N$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();m=p+20|0;h=p+16|0;n=p+12|0;k=p+8|0;o=p+4|0;l=p;c[h>>2]=b;c[n>>2]=e;c[k>>2]=f;c[o>>2]=g;c[l>>2]=0;a:while(1){if((c[n>>2]|0)==(c[k>>2]|0)){f=37;break}switch(d[(c[h>>2]|0)+76+(d[c[n>>2]>>0]|0)>>0]|0){case 8:case 1:case 0:{f=19;break a}case 5:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)<2){f=5;break a}e=(gc[c[(c[h>>2]|0)+356>>2]&127](c[h>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(e){f=7;break a}c[n>>2]=b+2;continue a}case 6:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)<3){f=10;break a}e=(gc[c[(c[h>>2]|0)+360>>2]&127](c[h>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(e){f=12;break a}c[n>>2]=b+3;continue a}case 7:{if(((c[k>>2]|0)-(c[n>>2]|0)|0)<4){f=15;break a}e=(gc[c[(c[h>>2]|0)+364>>2]&127](c[h>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(e){f=17;break a}c[n>>2]=b+4;continue a}case 2:{e=(c[n>>2]|0)+1|0;c[n>>2]=e;if((e|0)==(c[k>>2]|0)){f=21;break a}if((a[c[n>>2]>>0]|0)!=33)continue a;e=(c[n>>2]|0)+1|0;c[n>>2]=e;if((e|0)==(c[k>>2]|0)){f=24;break a}if((a[c[n>>2]>>0]|0)!=91)continue a;c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1;continue a}case 4:{e=(c[n>>2]|0)+1|0;c[n>>2]=e;if((e|0)==(c[k>>2]|0)){f=28;break a}if((a[c[n>>2]>>0]|0)!=93)continue a;e=(c[n>>2]|0)+1|0;c[n>>2]=e;if((e|0)==(c[k>>2]|0)){f=31;break a}if((a[c[n>>2]>>0]|0)!=62)continue a;c[n>>2]=(c[n>>2]|0)+1;if(!(c[l>>2]|0)){f=34;break a}c[l>>2]=(c[l>>2]|0)+-1;continue a}default:{c[n>>2]=(c[n>>2]|0)+1;continue a}}}switch(f|0){case 5:{c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 7:{c[c[o>>2]>>2]=b;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}case 10:{c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 12:{c[c[o>>2]>>2]=b;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}case 15:{c[m>>2]=-2;o=c[m>>2]|0;i=p;return o|0}case 17:{c[c[o>>2]>>2]=b;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}case 19:{c[c[o>>2]>>2]=c[n>>2];c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}case 21:{c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}case 24:{c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}case 28:{c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}case 31:{c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}case 34:{c[c[o>>2]>>2]=c[n>>2];c[m>>2]=42;o=c[m>>2]|0;i=p;return o|0}case 37:{c[m>>2]=-1;o=c[m>>2]|0;i=p;return o|0}}return 0}function O$(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+20|0;g=o+16|0;l=o+12|0;h=o+8|0;m=o+4|0;n=o;c[g>>2]=a;c[l>>2]=b;c[h>>2]=e;c[m>>2]=f;do if((c[l>>2]|0)!=(c[h>>2]|0)){c[n>>2]=c[l>>2];a:while(1){e=c[l>>2]|0;if((c[l>>2]|0)==(c[h>>2]|0)){a=27;break}switch(d[(c[g>>2]|0)+76+(d[e>>0]|0)>>0]|0|0){case 3:{a=9;break a}case 2:{a=12;break a}case 10:{a=13;break a}case 9:{a=16;break a}case 21:{a=23;break a}case 5:{c[l>>2]=(c[l>>2]|0)+2;continue a}case 6:{c[l>>2]=(c[l>>2]|0)+3;continue a}case 7:{c[l>>2]=(c[l>>2]|0)+4;continue a}default:{c[l>>2]=(c[l>>2]|0)+1;continue a}}}if((a|0)==9)if((c[l>>2]|0)==(c[n>>2]|0)){c[k>>2]=h0(c[g>>2]|0,(c[l>>2]|0)+1|0,c[h>>2]|0,c[m>>2]|0)|0;break}else{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=6;break}else if((a|0)==12){c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break}else if((a|0)==13){e=c[l>>2]|0;if((c[l>>2]|0)==(c[n>>2]|0)){c[c[m>>2]>>2]=e+1;c[k>>2]=7;break}else{c[c[m>>2]>>2]=e;c[k>>2]=6;break}}else if((a|0)==16){e=c[l>>2]|0;if((c[l>>2]|0)!=(c[n>>2]|0)){c[c[m>>2]>>2]=e;c[k>>2]=6;break}c[l>>2]=e+1;if((c[l>>2]|0)==(c[h>>2]|0)){c[k>>2]=-3;break}if((d[(c[g>>2]|0)+76+(d[c[l>>2]>>0]|0)>>0]|0|0)==10)c[l>>2]=(c[l>>2]|0)+1;c[c[m>>2]>>2]=c[l>>2];c[k>>2]=7;break}else if((a|0)==23){e=c[l>>2]|0;if((c[l>>2]|0)==(c[n>>2]|0)){c[c[m>>2]>>2]=e+1;c[k>>2]=39;break}else{c[c[m>>2]>>2]=e;c[k>>2]=6;break}}else if((a|0)==27){c[c[m>>2]>>2]=e;c[k>>2]=6;break}}else c[k>>2]=-4;while(0);i=o;return c[k>>2]|0}function P$(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();l=p+24|0;h=p+20|0;m=p+16|0;k=p+12|0;n=p+8|0;o=p+4|0;g=p;c[h>>2]=a;c[m>>2]=b;c[k>>2]=e;c[n>>2]=f;do if((c[m>>2]|0)!=(c[k>>2]|0)){c[o>>2]=c[m>>2];a:while(1){e=c[m>>2]|0;if((c[m>>2]|0)==(c[k>>2]|0)){a=26;break}switch(d[(c[h>>2]|0)+76+(d[e>>0]|0)>>0]|0|0){case 3:{a=9;break a}case 30:{a=12;break a}case 10:{a=15;break a}case 9:{a=18;break a}case 5:{c[m>>2]=(c[m>>2]|0)+2;continue a}case 6:{c[m>>2]=(c[m>>2]|0)+3;continue a}case 7:{c[m>>2]=(c[m>>2]|0)+4;continue a}default:{c[m>>2]=(c[m>>2]|0)+1;continue a}}}if((a|0)==9)if((c[m>>2]|0)==(c[o>>2]|0)){c[l>>2]=h0(c[h>>2]|0,(c[m>>2]|0)+1|0,c[k>>2]|0,c[n>>2]|0)|0;break}else{c[c[n>>2]>>2]=c[m>>2];c[l>>2]=6;break}else if((a|0)==12)if((c[m>>2]|0)==(c[o>>2]|0)){c[g>>2]=i0(c[h>>2]|0,(c[m>>2]|0)+1|0,c[k>>2]|0,c[n>>2]|0)|0;c[l>>2]=(c[g>>2]|0)==22?0:c[g>>2]|0;break}else{c[c[n>>2]>>2]=c[m>>2];c[l>>2]=6;break}else if((a|0)==15){e=c[m>>2]|0;if((c[m>>2]|0)==(c[o>>2]|0)){c[c[n>>2]>>2]=e+1;c[l>>2]=7;break}else{c[c[n>>2]>>2]=e;c[l>>2]=6;break}}else if((a|0)==18){e=c[m>>2]|0;if((c[m>>2]|0)!=(c[o>>2]|0)){c[c[n>>2]>>2]=e;c[l>>2]=6;break}c[m>>2]=e+1;if((c[m>>2]|0)==(c[k>>2]|0)){c[l>>2]=-3;break}if((d[(c[h>>2]|0)+76+(d[c[m>>2]>>0]|0)>>0]|0|0)==10)c[m>>2]=(c[m>>2]|0)+1;c[c[n>>2]>>2]=c[m>>2];c[l>>2]=7;break}else if((a|0)==26){c[c[n>>2]>>2]=e;c[l>>2]=6;break}}else c[l>>2]=-4;while(0);i=p;return c[l>>2]|0}function Q$(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;if((i|0)>=(j|0))ba();g=n+12|0;h=n+8|0;k=n+4|0;l=n;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;a:while(1){switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0){case 7:{f=c[k>>2]|0;c[k>>2]=f+1;f=a[f>>0]|0;m=c[l>>2]|0;c[l>>2]=m+1;if((f|0)!=(a[m>>0]|0)){m=4;break a}else m=5;break}case 6:{m=5;break}case 5:break;case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=c[l>>2]|0;c[l>>2]=e+1;e=a[e>>0]|0;f=c[k>>2]|0;c[k>>2]=f+1;if((e|0)!=(a[f>>0]|0)){m=12;break a}else continue a}default:{m=13;break a}}if((m|0)==5?(m=0,e=c[k>>2]|0,c[k>>2]=e+1,e=a[e>>0]|0,f=c[l>>2]|0,c[l>>2]=f+1,(e|0)!=(a[f>>0]|0)):0){m=6;break}e=c[k>>2]|0;c[k>>2]=e+1;e=a[e>>0]|0;f=c[l>>2]|0;c[l>>2]=f+1;if((e|0)!=(a[f>>0]|0)){m=8;break}e=c[k>>2]|0;c[k>>2]=e+1;e=a[e>>0]|0;f=c[l>>2]|0;c[l>>2]=f+1;if((e|0)!=(a[f>>0]|0)){m=10;break}}if((m|0)==4){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}else if((m|0)==6){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}else if((m|0)==8){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}else if((m|0)==10){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}else if((m|0)==12){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}else if((m|0)==13){if((a[c[k>>2]>>0]|0)==(a[c[l>>2]>>0]|0)){c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}switch(d[(c[h>>2]|0)+76+(d[c[l>>2]>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}default:{c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}}}return 0}function R$(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m+16|0;g=m+8|0;h=m+4|0;k=m;c[m+12>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;while(1){b=(c[g>>2]|0)==(c[h>>2]|0);if(!(a[c[k>>2]>>0]|0)){e=8;break}if(b){e=4;break}if((a[c[g>>2]>>0]|0)!=(a[c[k>>2]>>0]|0)){e=6;break}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((e|0)==4){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}else if((e|0)==6){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}else if((e|0)==8){c[l>>2]=b&1;l=c[l>>2]|0;i=m;return l|0}return 0}function S$(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[f>>2];a:while(1)switch(d[(c[e>>2]|0)+76+(d[c[f>>2]>>0]|0)>>0]|0|0){case 5:{c[f>>2]=(c[f>>2]|0)+2;continue a}case 6:{c[f>>2]=(c[f>>2]|0)+3;continue a}case 7:{c[f>>2]=(c[f>>2]|0)+4;continue a}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{c[f>>2]=(c[f>>2]|0)+1;continue a}default:break a}i=h;return (c[f>>2]|0)-(c[g>>2]|0)|0}function T$(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a:while(1){switch(d[(c[e>>2]|0)+76+(d[c[f>>2]>>0]|0)>>0]|0|0){case 21:case 9:case 10:break;default:break a}c[f>>2]=(c[f>>2]|0)+1}i=g;return c[f>>2]|0} +function lm(b,d){b=b|0;d=d|0;var e=0,f=0,g=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=i;i=i+176|0;if((i|0)>=(j|0))ba();D=F+104|0;w=F+88|0;E=F+80|0;x=F+64|0;v=F+48|0;A=F+172|0;G=F+168|0;B=F+164|0;q=F+160|0;k=F+156|0;m=F+152|0;p=F+148|0;n=F+144|0;C=F+140|0;r=F+136|0;y=F+40|0;z=F+32|0;s=F+132|0;e=F+128|0;t=F+16|0;f=F;o=F+124|0;l=F+120|0;u=F+116|0;g=F+112|0;c[G>>2]=b;c[B>>2]=d;c[C>>2]=0;c[s>>2]=0;c[e>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[l>>2]=1;c[q>>2]=PA(c[B>>2]|0,c[G>>2]|0)|0;if(!(a[c[q>>2]>>0]|0)){c[A>>2]=0;G=c[A>>2]|0;i=F;return G|0}qH(c[B>>2]|0,u,g);a:while(1){G=c[q>>2]|0;c[v>>2]=y;c[v+4>>2]=z;c[v+8>>2]=n;c[k>>2]=E3(G,126480,v)|0;if((c[k>>2]|0)==2){c[s>>2]=1;c[q>>2]=(c[q>>2]|0)+(c[n>>2]|0);h[t>>3]=+h[y>>3];h[t+8>>3]=+h[z>>3]}G=c[q>>2]|0;c[x>>2]=y;c[x+4>>2]=z;c[x+8>>2]=n;c[k>>2]=E3(G,126492,x)|0;if((c[k>>2]|0)==2){c[e>>2]=1;c[q>>2]=(c[q>>2]|0)+(c[n>>2]|0);h[f>>3]=+h[y>>3];h[f+8>>3]=+h[z>>3]}c[p>>2]=mm(c[q>>2]|0)|0;c[m>>2]=c[p>>2];if((c[m>>2]|0)<4){b=10;break}if(((c[m>>2]|0)%3|0|0)!=1){b=10;break}c[C>>2]=rK(c[m>>2]<<4)|0;c[r>>2]=c[C>>2];while(1){if(!(c[m>>2]|0))break;G=c[q>>2]|0;c[w>>2]=y;c[w+4>>2]=z;c[w+8>>2]=n;c[k>>2]=E3(G,126563,w)|0;if((c[k>>2]|0)<2){b=16;break a}c[q>>2]=(c[q>>2]|0)+(c[n>>2]|0);h[c[r>>2]>>3]=+h[y>>3];h[(c[r>>2]|0)+8>>3]=+h[z>>3];c[r>>2]=(c[r>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}while(1){G=(K1(a[c[q>>2]>>0]|0)|0)!=0;b=c[q>>2]|0;if(!G)break;c[q>>2]=b+1}if(!(a[b>>0]|0))c[l>>2]=0;else c[q>>2]=(c[q>>2]|0)+1;c[o>>2]=xN(c[B>>2]|0,c[p>>2]|0)|0;if(c[s>>2]|0){c[(c[o>>2]|0)+8>>2]=c[u>>2];G=(c[o>>2]|0)+16|0;c[G>>2]=c[t>>2];c[G+4>>2]=c[t+4>>2];c[G+8>>2]=c[t+8>>2];c[G+12>>2]=c[t+12>>2]}if(c[e>>2]|0){c[(c[o>>2]|0)+12>>2]=c[g>>2];G=(c[o>>2]|0)+32|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[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[p>>2]|0))break;G=(c[c[o>>2]>>2]|0)+(c[k>>2]<<4)|0;d=(c[C>>2]|0)+(c[k>>2]<<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];c[k>>2]=(c[k>>2]|0)+1}B1(c[C>>2]|0);if(!(c[l>>2]|0)){b=33;break}}if((b|0)==10){fP(c[B>>2]|0);if(!(a[126505]|0)){a[126505]=1;D=c[B>>2]|0;D=MB(c[((c[c[B>>2]>>2]&3|0)==3?D:D+32|0)+28>>2]|0)|0;G=c[B>>2]|0;G=MB(c[((c[c[B>>2]>>2]&3|0)==2?G:G+-32|0)+28>>2]|0)|0;c[E>>2]=D;c[E+4>>2]=G;pA(0,126506,E)|0}c[A>>2]=0;G=c[A>>2]|0;i=F;return G|0}else if((b|0)==16){if(!(a[126505]|0)){a[126505]=1;E=c[B>>2]|0;E=MB(c[((c[c[B>>2]>>2]&3|0)==3?E:E+32|0)+28>>2]|0)|0;G=c[B>>2]|0;G=MB(c[((c[c[B>>2]>>2]&3|0)==2?G:G+-32|0)+28>>2]|0)|0;c[D>>2]=E;c[D+4>>2]=G;pA(0,126573,D)|0}B1(c[C>>2]|0);fP(c[B>>2]|0);c[A>>2]=0;G=c[A>>2]|0;i=F;return G|0}else if((b|0)==33){if(c[(c[(c[B>>2]|0)+8>>2]|0)+96>>2]|0)Rl(c[B>>2]|0,c[(c[(c[B>>2]|0)+8>>2]|0)+96>>2]|0,140340);if(c[(c[(c[B>>2]|0)+8>>2]|0)+108>>2]|0)Rl(c[B>>2]|0,c[(c[(c[B>>2]|0)+8>>2]|0)+108>>2]|0,140336);if(c[(c[(c[B>>2]|0)+8>>2]|0)+100>>2]|0)Rl(c[B>>2]|0,c[(c[(c[B>>2]|0)+8>>2]|0)+100>>2]|0,140343);if(c[(c[(c[B>>2]|0)+8>>2]|0)+104>>2]|0)Rl(c[B>>2]|0,c[(c[(c[B>>2]|0)+8>>2]|0)+104>>2]|0,140351);c[A>>2]=1;G=c[A>>2]|0;i=F;return G|0}return 0}function mm(b){b=b|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){k=(K1(d[c[e>>2]>>0]|0)|0)!=0;b=c[e>>2]|0;if(k){c[e>>2]=b+1;continue}k=a[b>>0]|0;a[f>>0]=k;a:do if(k<<24>>24){c[g>>2]=(c[g>>2]|0)+1;while(1){k=a[c[e>>2]>>0]|0;a[f>>0]=k;if(!(k&255))break a;if(K1(d[f>>0]|0)|0)break a;if((d[f>>0]|0|0)==59)break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);if(!(K1(d[f>>0]|0)|0))break}i=h;return c[g>>2]|0}function nm(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();k=e+24|0;g=e+16|0;f=e;h[k>>3]=b;h[g>>3]=d;h[f>>3]=+h[k>>3];h[f+8>>3]=+h[g>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;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,k=0,l=0,m=0,n=0;n=i;i=i+64|0;if((i|0)>=(j|0))ba();f=n+48|0;g=n+44|0;h=n+40|0;k=n+36|0;l=n;m=n+32|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if((g4(MB(c[f>>2]|0)|0,145693,7)|0)==0?(pm(c[f>>2]|0,c[k>>2]|0,l)|0)!=0:0){aD(c[f>>2]|0,175129,280,1)|0;a=(c[(c[f>>2]|0)+8>>2]|0)+16|0;c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];c[a+16>>2]=c[l+16>>2];c[a+20>>2]=c[l+20>>2];c[a+24>>2]=c[l+24>>2];c[a+28>>2]=c[l+28>>2];qm(c[g>>2]|0,c[f>>2]|0);Sl(c[f>>2]|0,c[h>>2]|0,c[k>>2]|0);i=n;return}c[m>>2]=vD(c[f>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;om(c[m>>2]|0,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);c[m>>2]=wD(c[m>>2]|0)|0}i=n;return}function pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;l=i;i=i+80|0;if((i|0)>=(j|0))ba();m=l+40|0;e=l+72|0;p=l+68|0;o=l+64|0;f=l+60|0;n=l+56|0;g=l+8|0;k=l;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[n>>2]=PA(c[p>>2]|0,c[o>>2]|0)|0;a=c[n>>2]|0;c[m>>2]=g;c[m+4>>2]=g+8;c[m+8>>2]=g+16;c[m+12>>2]=g+16+8;if((E3(a,126621,m)|0)!=4){c[e>>2]=0;p=c[e>>2]|0;i=l;return p|0}if(+h[g+8>>3]>+h[g+16+8>>3]){h[k>>3]=+h[g+8>>3];h[g+8>>3]=+h[g+16+8>>3];h[g+16+8>>3]=+h[k>>3]}p=c[f>>2]|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];c[p+16>>2]=c[g+16>>2];c[p+20>>2]=c[g+20>>2];c[p+24>>2]=c[g+24>>2];c[p+28>>2]=c[g+28>>2];c[e>>2]=1;p=c[e>>2]|0;i=l;return p|0}function qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;a=(c[(c[d>>2]|0)+8>>2]|0)+180|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;if(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)a=sK(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0,(c[f>>2]|0)+1|0,4,c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0)|0;else a=qK((c[f>>2]|0)+1<<2)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]=a;c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];_J(c[e>>2]|0);i=g;return}function rm(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+24|0;h=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=a;c[h>>2]=e;c[k>>2]=f;c[l>>2]=b[(c[(c[h>>2]|0)+8>>2]|0)+168>>1];if((c[l>>2]|0)!=1?(d[139080]|0)==0:0){c[m>>2]=rK(c[l>>2]<<2)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[l>>2]|0))break;c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]=c[h>>2];c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+172>>2];c[o>>2]=(c[o>>2]|0)+1}DN(c[g>>2]|0,c[m>>2]|0,0,c[l>>2]|0,+(c[k>>2]|0),+(c[k>>2]|0),50912);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[l>>2]|0))break;c[h>>2]=c[(c[m>>2]|0)+(c[o>>2]<<2)>>2];if(c[(c[(c[h>>2]|0)+8>>2]|0)+96>>2]|0){f=c[h>>2]|0;f=GC(c[((c[c[h>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)|0;PO(f,c[(c[(c[h>>2]|0)+8>>2]|0)+96>>2]|0)}EN(c[h>>2]|0);c[o>>2]=(c[o>>2]|0)+1}B1(c[m>>2]|0);i=p;return}c[n>>2]=c[h>>2];DN(c[g>>2]|0,n,0,1,+(c[k>>2]|0),+(c[k>>2]|0),50912);if(c[(c[(c[h>>2]|0)+8>>2]|0)+96>>2]|0){f=c[h>>2]|0;f=GC(c[((c[c[h>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)|0;PO(f,c[(c[(c[h>>2]|0)+8>>2]|0)+96>>2]|0)}EN(c[h>>2]|0);i=p;return}function sm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,k=0.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,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ca=0.0;aa=i;i=i+560|0;if((i|0)>=(j|0))ba();Z=aa+496|0;X=aa+548|0;_=aa+544|0;f=aa+552|0;$=aa+540|0;p=aa+536|0;r=aa+488|0;v=aa+532|0;z=aa+528|0;x=aa+472|0;W=aa+440|0;Y=aa+424|0;n=aa+524|0;m=aa+520|0;u=aa+516|0;A=aa+512|0;q=aa+360|0;o=aa+344|0;w=aa+328|0;l=aa+296|0;B=aa+288|0;C=aa+280|0;t=aa+272|0;s=aa+264|0;y=aa+256|0;N=aa+240|0;P=aa+224|0;S=aa+208|0;T=aa+192|0;U=aa+176|0;V=aa+160|0;D=aa+144|0;E=aa+128|0;F=aa+112|0;G=aa+96|0;H=aa+80|0;I=aa+64|0;J=aa+48|0;K=aa+32|0;L=aa+16|0;M=aa;c[X>>2]=b;c[_>>2]=d;a[f>>0]=e;h[r>>3]=0.0;switch(sM(c[X>>2]|0)|0){case 3:case 1:{c[$>>2]=qK(8)|0;c[p>>2]=c[(c[(c[X>>2]|0)+8>>2]|0)+12>>2];do if(a[f>>0]|0){c[u>>2]=1;c[z>>2]=4;c[A>>2]=q;h[w+8>>3]=0.0;h[w>>3]=0.0;if(c[(c[p>>2]|0)+40>>2]&2048){OO(l,c[p>>2]|0);c[W>>2]=c[l>>2];c[W+4>>2]=c[l+4>>2];c[W+8>>2]=c[l+8>>2];c[W+12>>2]=c[l+12>>2];c[W+16>>2]=c[l+16>>2];c[W+20>>2]=c[l+20>>2];c[W+24>>2]=c[l+24>>2];c[W+28>>2]=c[l+28>>2];c[q>>2]=c[W>>2];c[q+4>>2]=c[W+4>>2];c[q+8>>2]=c[W+8>>2];c[q+12>>2]=c[W+12>>2];h[q+16>>3]=+h[W+16>>3];h[q+16+8>>3]=+h[W+8>>3];Z=q+32|0;Y=W+16|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];h[q+48>>3]=+h[W>>3];h[q+48+8>>3]=+h[W+16+8>>3];break}else{h[o>>3]=-+h[(c[(c[X>>2]|0)+8>>2]|0)+88>>3];h[o+8>>3]=-+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3]/2.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];h[o>>3]=+h[(c[(c[X>>2]|0)+8>>2]|0)+88>>3];Z=q+16|0;c[Z>>2]=c[o>>2];c[Z+4>>2]=c[o+4>>2];c[Z+8>>2]=c[o+8>>2];c[Z+12>>2]=c[o+12>>2];h[o+8>>3]=+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3]/2.0;Z=q+32|0;c[Z>>2]=c[o>>2];c[Z+4>>2]=c[o+4>>2];c[Z+8>>2]=c[o+8>>2];c[Z+12>>2]=c[o+12>>2];h[o>>3]=-+h[(c[(c[X>>2]|0)+8>>2]|0)+88>>3];Z=q+48|0;c[Z>>2]=c[o>>2];c[Z+4>>2]=c[o+4>>2];c[Z+8>>2]=c[o+8>>2];c[Z+12>>2]=c[o+12>>2];break}}else if((c[(c[p>>2]|0)+8>>2]|0)>=3){c[u>>2]=1;c[z>>2]=c[(c[p>>2]|0)+8>>2];c[A>>2]=c[(c[p>>2]|0)+44>>2];h[w>>3]=+g[c[_>>2]>>2];h[w+8>>3]=+g[(c[_>>2]|0)+4>>2];break}else{c[u>>2]=0;c[z>>2]=8;h[r>>3]=+K2()*.01;break}while(0);c[(c[$>>2]|0)+4>>2]=c[z>>2];Z=qK(c[z>>2]<<4)|0;c[c[$>>2]>>2]=Z;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break;h[B>>3]=0.0;h[C>>3]=0.0;do if(!(c[u>>2]|0)){h[s>>3]=+Q(+(+(c[v>>2]|0)*6.283185307179586/+(c[z>>2]|0)+ +h[r>>3]));h[y>>3]=+R(+(+(c[v>>2]|0)*6.283185307179586/+(c[z>>2]|0)+ +h[r>>3]));if(a[(c[_>>2]|0)+8>>0]|0){h[x>>3]=+h[s>>3]*(+h[(c[(c[X>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[X>>2]|0)+8>>2]|0)+96>>3]+ +g[c[_>>2]>>2])/2.0;h[x+8>>3]=+h[y>>3]*(+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3]+ +g[(c[_>>2]|0)+4>>2])/2.0;break}else{h[x>>3]=+g[c[_>>2]>>2]*+h[s>>3]*(+h[(c[(c[X>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[X>>2]|0)+8>>2]|0)+96>>3])/2.0;h[x+8>>3]=+g[(c[_>>2]|0)+4>>2]*+h[y>>3]*+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3]/2.0;break}}else{if(!(a[(c[_>>2]|0)+8>>0]|0)){h[x>>3]=+h[(c[A>>2]|0)+(c[v>>2]<<4)>>3]*+h[w>>3];h[x+8>>3]=+h[(c[A>>2]|0)+(c[v>>2]<<4)+8>>3]*+h[w+8>>3];break}f=c[v>>2]|0;if((c[z>>2]|0)!=4){h[t>>3]=+O(+(+h[(c[A>>2]|0)+(f<<4)>>3]*+h[(c[A>>2]|0)+(c[v>>2]<<4)>>3]+ +h[(c[A>>2]|0)+(c[v>>2]<<4)+8>>3]*+h[(c[A>>2]|0)+(c[v>>2]<<4)+8>>3]));h[x>>3]=+h[(c[A>>2]|0)+(c[v>>2]<<4)>>3]*(+h[w>>3]/+h[t>>3]+1.0);h[x+8>>3]=+h[(c[A>>2]|0)+(c[v>>2]<<4)+8>>3]*(+h[w+8>>3]/+h[t>>3]+1.0);break}switch(f|0){case 0:{h[B>>3]=+h[w>>3];h[C>>3]=+h[w+8>>3];break}case 1:{h[B>>3]=-+h[w>>3];h[C>>3]=+h[w+8>>3];break}case 2:{h[B>>3]=-+h[w>>3];h[C>>3]=-+h[w+8>>3];break}case 3:{h[B>>3]=+h[w>>3];h[C>>3]=-+h[w+8>>3];break}default:{}}h[x>>3]=+h[(c[A>>2]|0)+(c[v>>2]<<4)>>3]+ +h[B>>3];h[x+8>>3]=+h[(c[A>>2]|0)+(c[v>>2]<<4)+8>>3]+ +h[C>>3]}while(0);h[(c[c[$>>2]>>2]|0)+((c[z>>2]|0)-(c[v>>2]|0)-1<<4)>>3]=+h[x>>3]+ +h[(c[(c[X>>2]|0)+8>>2]|0)+16>>3];h[(c[c[$>>2]>>2]|0)+((c[z>>2]|0)-(c[v>>2]|0)-1<<4)+8>>3]=+h[x+8>>3]+ +h[(c[(c[X>>2]|0)+8>>2]|0)+16+8>>3];c[v>>2]=(c[v>>2]|0)+1}$=c[$>>2]|0;i=aa;return $|0}case 2:{c[n>>2]=c[(c[(c[X>>2]|0)+8>>2]|0)+12>>2];f=(c[n>>2]|0)+16|0;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[W+16>>2]=c[f+16>>2];c[W+20>>2]=c[f+20>>2];c[W+24>>2]=c[f+24>>2];c[W+28>>2]=c[f+28>>2];c[$>>2]=qK(8)|0;c[(c[$>>2]|0)+4>>2]=4;f=qK(64)|0;c[c[$>>2]>>2]=f;f=(c[(c[X>>2]|0)+8>>2]|0)+16|0;c[Y>>2]=c[f>>2];c[Y+4>>2]=c[f+4>>2];c[Y+8>>2]=c[f+8>>2];c[Y+12>>2]=c[f+12>>2];f=c[c[$>>2]>>2]|0;k=+h[W>>3];if(a[(c[_>>2]|0)+8>>0]|0){k=k-+g[c[_>>2]>>2];ca=+h[W+8>>3]-+g[(c[_>>2]|0)+4>>2];c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Am(N,k,ca,Z);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];X=(c[c[$>>2]>>2]|0)+16|0;ca=+h[W>>3]-+g[c[_>>2]>>2];k=+h[W+16+8>>3]+ +g[(c[_>>2]|0)+4>>2];c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Am(P,ca,k,Z);c[X>>2]=c[P>>2];c[X+4>>2]=c[P+4>>2];c[X+8>>2]=c[P+8>>2];c[X+12>>2]=c[P+12>>2];X=(c[c[$>>2]>>2]|0)+32|0;k=+h[W+16>>3]+ +g[c[_>>2]>>2];ca=+h[W+16+8>>3]+ +g[(c[_>>2]|0)+4>>2];c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Am(S,k,ca,Z);c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];X=(c[c[$>>2]>>2]|0)+48|0;ca=+h[W+16>>3]+ +g[c[_>>2]>>2];k=+h[W+8>>3]-+g[(c[_>>2]|0)+4>>2];c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Am(T,ca,k,Z);c[X>>2]=c[T>>2];c[X+4>>2]=c[T+4>>2];c[X+8>>2]=c[T+8>>2];c[X+12>>2]=c[T+12>>2];$=c[$>>2]|0;i=aa;return $|0}else{ca=+h[W+8>>3];X=c[_>>2]|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Bm(U,k,ca,Z,X);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];X=(c[c[$>>2]>>2]|0)+16|0;k=+h[W>>3];ca=+h[W+16+8>>3];U=c[_>>2]|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Bm(V,k,ca,Z,U);c[X>>2]=c[V>>2];c[X+4>>2]=c[V+4>>2];c[X+8>>2]=c[V+8>>2];c[X+12>>2]=c[V+12>>2];X=(c[c[$>>2]>>2]|0)+32|0;ca=+h[W+16>>3];k=+h[W+16+8>>3];V=c[_>>2]|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Bm(D,ca,k,Z,V);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];X=(c[c[$>>2]>>2]|0)+48|0;k=+h[W+16>>3];ca=+h[W+8>>3];_=c[_>>2]|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Bm(E,k,ca,Z,_);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[$>>2]|0;i=aa;return $|0}}case 4:{c[m>>2]=c[(c[(c[X>>2]|0)+8>>2]|0)+12>>2];c[$>>2]=qK(8)|0;c[(c[$>>2]|0)+4>>2]=4;f=qK(64)|0;c[c[$>>2]>>2]=f;f=(c[(c[X>>2]|0)+8>>2]|0)+16|0;c[Y>>2]=c[f>>2];c[Y+4>>2]=c[f+4>>2];c[Y+8>>2]=c[f+8>>2];c[Y+12>>2]=c[f+12>>2];f=c[c[$>>2]>>2]|0;k=-+h[(c[(c[X>>2]|0)+8>>2]|0)+88>>3];if(a[(c[_>>2]|0)+8>>0]|0){ca=k-+g[c[_>>2]>>2];k=-+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3]-+g[(c[_>>2]|0)+4>>2];c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Am(F,ca,k,Z);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];W=(c[c[$>>2]>>2]|0)+16|0;k=-+h[(c[(c[X>>2]|0)+8>>2]|0)+88>>3]-+g[c[_>>2]>>2];ca=+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3]+ +g[(c[_>>2]|0)+4>>2];c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Am(G,k,ca,Z);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];W=(c[c[$>>2]>>2]|0)+32|0;ca=+h[(c[(c[X>>2]|0)+8>>2]|0)+96>>3]+ +g[c[_>>2]>>2];k=+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3]+ +g[(c[_>>2]|0)+4>>2];c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Am(H,ca,k,Z);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[c[$>>2]>>2]|0)+48|0;k=+h[(c[(c[X>>2]|0)+8>>2]|0)+96>>3]+ +g[c[_>>2]>>2];ca=-+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3]-+g[(c[_>>2]|0)+4>>2];c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Am(I,k,ca,Z);c[W>>2]=c[I>>2];c[W+4>>2]=c[I+4>>2];c[W+8>>2]=c[I+8>>2];c[W+12>>2]=c[I+12>>2];$=c[$>>2]|0;i=aa;return $|0}else{ca=-+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3];W=c[_>>2]|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Bm(J,k,ca,Z,W);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];W=(c[c[$>>2]>>2]|0)+16|0;k=-+h[(c[(c[X>>2]|0)+8>>2]|0)+88>>3];ca=+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3];V=c[_>>2]|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Bm(K,k,ca,Z,V);c[W>>2]=c[K>>2];c[W+4>>2]=c[K+4>>2];c[W+8>>2]=c[K+8>>2];c[W+12>>2]=c[K+12>>2];W=(c[c[$>>2]>>2]|0)+32|0;ca=+h[(c[(c[X>>2]|0)+8>>2]|0)+96>>3];k=+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3];V=c[_>>2]|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Bm(L,ca,k,Z,V);c[W>>2]=c[L>>2];c[W+4>>2]=c[L+4>>2];c[W+8>>2]=c[L+8>>2];c[W+12>>2]=c[L+12>>2];W=(c[c[$>>2]>>2]|0)+48|0;k=+h[(c[(c[X>>2]|0)+8>>2]|0)+96>>3];ca=-+h[(c[(c[X>>2]|0)+8>>2]|0)+80>>3];_=c[_>>2]|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];c[Z+8>>2]=c[Y+8>>2];c[Z+12>>2]=c[Y+12>>2];Bm(M,k,ca,Z,_);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[$>>2]|0;i=aa;return $|0}}default:{c[$>>2]=0;$=c[$>>2]|0;i=aa;return $|0}}return 0}function tm(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=i;i=i+144|0;if((i|0)>=(j|0))ba();q=s+80|0;n=s+64|0;h=s+128|0;k=s+124|0;t=s+120|0;l=s+104|0;o=s+100|0;r=s+96|0;m=s+48|0;p=s+32|0;v=s+16|0;u=s;c[h>>2]=b;c[k>>2]=d;c[t>>2]=e;c[s+116>>2]=f;c[s+112>>2]=g;d=c[h>>2]|0;d=(c[(c[((c[c[h>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+16|0;f=(c[(c[h>>2]|0)+8>>2]|0)+16|0;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[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];Cm(v,n,q);c[m>>2]=c[v>>2];c[m+4>>2]=c[v+4>>2];c[m+8>>2]=c[v+8>>2];c[m+12>>2]=c[v+12>>2];f=c[h>>2]|0;f=(c[(c[((c[c[h>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0)+8>>2]|0)+16|0;d=(c[(c[h>>2]|0)+8>>2]|0)+56|0;c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];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];Cm(u,n,q);c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[r>>2]=-1111;c[o>>2]=-1111;if(!(c[t>>2]|0)){t=c[k>>2]|0;u=c[o>>2]|0;v=c[r>>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[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];DX(t,n,u,q,v,l)|0;c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];i=s;return}t=c[h>>2]|0;c[o>>2]=c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?t:t+32|0)+28>>2]|0)+8>>2]|0)+288>>2];t=c[h>>2]|0;c[r>>2]=c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?t:t+-32|0)+28>>2]|0)+8>>2]|0)+288>>2];t=c[k>>2]|0;u=c[o>>2]|0;v=c[r>>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[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];DX(t,n,u,q,v,l)|0;c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];i=s;return}function um(b,e,f,g,k){b=b|0;e=e|0;f=f|0;g=g|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;D=i;i=i+176|0;if((i|0)>=(j|0))ba();x=D+96|0;u=D+80|0;C=D+72|0;B=D+64|0;l=D+164|0;m=D+160|0;n=D+156|0;o=D+152|0;E=D+168|0;r=D+144|0;A=D+136|0;z=D+32|0;q=D+128|0;s=D+124|0;v=D+120|0;y=D+116|0;t=D+16|0;w=D;p=D+112|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;a[E>>0]=k;f=(c[(c[m>>2]|0)+8>>2]|0)+144|0;c[r>>2]=c[f>>2];c[r+4>>2]=c[f+4>>2];f=c[r>>2]|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];f=(c[r>>2]|0)+((c[r+4>>2]|0)-1<<4)|0;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[y>>2]=-1111;c[v>>2]=-1111;a:do if(a[E>>0]|0){c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[o>>2]|0))break a;if((c[v>>2]|0)==-1111?(E=c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]|0,c[u>>2]=c[E>>2],c[u+4>>2]=c[E+4>>2],c[x>>2]=c[t>>2],c[x+4>>2]=c[t+4>>2],c[x+8>>2]=c[t+8>>2],c[x+12>>2]=c[t+12>>2],(FX(u,x)|0)!=0):0)c[v>>2]=c[q>>2];if((c[y>>2]|0)==-1111?(E=c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]|0,c[u>>2]=c[E>>2],c[u+4>>2]=c[E+4>>2],c[x>>2]=c[w>>2],c[x+4>>2]=c[w+4>>2],c[x+8>>2]=c[w+8>>2],c[x+12>>2]=c[w+12>>2],(FX(u,x)|0)!=0):0)c[y>>2]=c[q>>2];c[q>>2]=(c[q>>2]|0)+1}}while(0);Dm(c[n>>2]|0,c[o>>2]|0,c[v>>2]|0,c[y>>2]|0,p,s);h[z+8>>3]=0.0;h[z>>3]=0.0;h[z+16+8>>3]=0.0;h[z+16>>3]=0.0;y=c[p>>2]|0;E=c[s>>2]|0;c[x>>2]=c[r>>2];c[x+4>>2]=c[r+4>>2];if((GX(y,E,x,z,A)|0)<0){C=c[m>>2]|0;C=MB(c[((c[c[m>>2]>>2]&3|0)==3?C:C+32|0)+28>>2]|0)|0;E=c[m>>2]|0;E=MB(c[((c[c[m>>2]>>2]&3|0)==2?E:E+-32|0)+28>>2]|0)|0;c[B>>2]=C;c[B+4>>2]=E;pA(1,126637,B)|0;i=D;return}if((d[139078]|0)>1){E=c[24742]|0;z=c[m>>2]|0;z=MB(c[((c[c[m>>2]>>2]&3|0)==3?z:z+32|0)+28>>2]|0)|0;B=c[m>>2]|0;B=MB(c[((c[c[m>>2]>>2]&3|0)==2?B:B+-32|0)+28>>2]|0)|0;c[C>>2]=z;c[C+4>>2]=B;p3(E,126685,C)|0}C=c[m>>2]|0;yN(c[m>>2]|0,c[((c[c[m>>2]>>2]&3|0)==2?C:C+-32|0)+28>>2]|0,c[A>>2]|0,c[A+4>>2]|0,50912);B1(c[p>>2]|0);C=c[l>>2]|0;E=c[m>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];HN(C,E,u,x);i=D;return}function vm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();f=r+52|0;g=r+48|0;h=r+44|0;k=r+40|0;p=r+36|0;l=r+32|0;o=r+20|0;n=r+16|0;s=r+4|0;m=r;c[g>>2]=a;c[h>>2]=d;c[k>>2]=e;Aq(s,c[g>>2]|0);c[o>>2]=c[s>>2];c[o+4>>2]=c[s+4>>2];c[o+8>>2]=c[s+8>>2];c[p>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;c[l>>2]=cB(c[g>>2]|0,c[p>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;xM(c[l>>2]|0);c[l>>2]=eB(c[g>>2]|0,c[l>>2]|0)|0}c[p>>2]=qC(c[g>>2]|0,c[p>>2]|0)|0}c[n>>2]=eA(50876,c[12989]|0)|0;c[p>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;c[l>>2]=cB(c[g>>2]|0,c[p>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;if((c[13795]|0)>1?(c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0){s=(c[(c[l>>2]|0)+8>>2]|0)+168|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16}else q=14;if((q|0)==14?(q=0,c[m>>2]=Em(c[n>>2]|0,c[l>>2]|0)|0,(c[m>>2]|0)!=(c[l>>2]|0)):0){s=(c[(c[m>>2]|0)+8>>2]|0)+168|0;b[s>>1]=(b[s>>1]|0)+1<<16>>16;c[(c[(c[l>>2]|0)+8>>2]|0)+172>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+172>>2];c[(c[(c[m>>2]|0)+8>>2]|0)+172>>2]=c[l>>2]}c[l>>2]=eB(c[g>>2]|0,c[l>>2]|0)|0}c[p>>2]=qC(c[g>>2]|0,c[p>>2]|0)|0}aA(c[n>>2]|0)|0;if($b[c[h>>2]&63](c[g>>2]|0,o,c[k>>2]|0)|0){c[f>>2]=1;s=c[f>>2]|0;i=r;return s|0}else{c[13800]=1;c[f>>2]=0;s=c[f>>2]|0;i=r;return s|0}return 0}function wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=vm(c[f>>2]|0,26,c[e>>2]|0)|0;i=d;return a|0}function xm(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+4|0;k=h+8|0;g=h;c[f>>2]=b;a[k>>0]=d;c[g>>2]=e[(c[(c[f>>2]|0)+8>>2]|0)+136>>1]&14;if(a[k>>0]|0)ym(c[f>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}wm(c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function ym(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+4|0;f=g;e=g+8|0;c[d>>2]=b;a[e>>0]=0;a[e>>0]=Gm(c[d>>2]|0)|0;c[f>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;h[(c[(c[f>>2]|0)+8>>2]|0)+16>>3]=+h[c[(c[(c[f>>2]|0)+8>>2]|0)+132>>2]>>3]*72.0;h[(c[(c[f>>2]|0)+8>>2]|0)+16+8>>3]=+h[(c[(c[(c[f>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]*72.0;c[f>>2]=qC(c[d>>2]|0,c[f>>2]|0)|0}i=g;return a[e>>0]|0}function zm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+48|0;if((i|0)>=(j|0))ba();b=g+16|0;d=g+36|0;e=g+32|0;f=g;c[d>>2]=a;QO(c[d>>2]|0);h[f>>3]=+h[(c[(c[d>>2]|0)+8>>2]|0)+16>>3]/72.0;h[f+8>>3]=+h[(c[(c[d>>2]|0)+8>>2]|0)+16+8>>3]/72.0;c[e>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;a=c[(c[(c[e>>2]|0)+8>>2]|0)+132>>2]|0;h[a>>3]=+h[a>>3]-+h[f>>3];a=(c[(c[(c[e>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[a>>3]=+h[a>>3]-+h[f+8>>3];c[e>>2]=qC(c[d>>2]|0,c[e>>2]|0)|0}f=c[d>>2]|0;e=(c[(c[d>>2]|0)+8>>2]|0)+16|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];Hm(f,b);xm(c[d>>2]|0,1);i=g;return}function Am(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,g=0,k=0,l=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();l=f+24|0;k=f+16|0;g=f;h[l>>3]=b;h[k>>3]=d;h[g>>3]=+h[l>>3]+ +h[e>>3];h[g+8>>3]=+h[k>>3]+ +h[e+8>>3];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];i=f;return}function Bm(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var k=0,l=0,m=0,n=0,o=0;k=i;i=i+48|0;if((i|0)>=(j|0))ba();o=k+24|0;n=k+16|0;m=k+32|0;l=k;h[o>>3]=b;h[n>>3]=d;c[m>>2]=f;h[l>>3]=+h[o>>3]*+g[c[m>>2]>>2]+ +h[e>>3];h[l+8>>3]=+h[n>>3]*+g[(c[m>>2]|0)+4>>2]+ +h[e+8>>3];c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];i=k;return}function Cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=+h[b>>3]+ +h[d>>3];h[f+8>>3]=+h[b+8>>3]+ +h[d+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function Dm(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;if((i|0)>=(j|0))ba();h=v+44|0;k=v+40|0;l=v+36|0;m=v+32|0;n=v+28|0;o=v+24|0;r=v+20|0;s=v+16|0;t=v+12|0;u=v+8|0;p=v+4|0;q=v;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[u>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[k>>2]|0))break;if((c[r>>2]|0)!=(c[l>>2]|0)?(c[r>>2]|0)!=(c[m>>2]|0):0)c[u>>2]=(c[u>>2]|0)+(c[(c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0)+4>>2]|0);c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=rK(c[u>>2]<<5)|0;c[p>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[k>>2]|0))break;a:do if((c[r>>2]|0)!=(c[l>>2]|0)?(c[r>>2]|0)!=(c[m>>2]|0):0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0)+4>>2]|0))break a;c[t>>2]=(c[s>>2]|0)+1;if((c[t>>2]|0)>=(c[(c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0)+4>>2]|0))c[t>>2]=0;e=(c[q>>2]|0)+(c[p>>2]<<5)|0;d=(c[c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]>>2]|0)+(c[s>>2]<<4)|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[q>>2]|0)+(c[p>>2]<<5)+16|0;d=(c[c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]>>2]|0)+(c[t>>2]<<4)|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[p>>2]=(c[p>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1}}while(0);c[r>>2]=(c[r>>2]|0)+1}if((c[p>>2]|0)==(c[u>>2]|0)){c[c[n>>2]>>2]=c[q>>2];c[c[o>>2]>>2]=c[u>>2];i=v;return}else db(126941,126948,79,126963)}function Em(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+160|0;if((i|0)>=(j|0))ba();g=n+152|0;k=n+148|0;d=n+96|0;l=n+32|0;m=n+144|0;e=n+16|0;f=n;c[g>>2]=a;c[k>>2]=b;o=c[k>>2]|0;a=c[k>>2]|0;b=c[k>>2]|0;b=c[((c[c[k>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0;if((c[((c[c[k>>2]>>2]&3|0)==3?o:o+32|0)+28>>2]|0)>>>0<(c[((c[c[k>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)>>>0){c[d>>2]=b;b=d+8|0;a=(c[(c[k>>2]|0)+8>>2]|0)+16|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];b=c[k>>2]|0;c[d+24>>2]=c[((c[c[k>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2];b=d+32|0;a=(c[(c[k>>2]|0)+8>>2]|0)+56|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];b=l+8|0;a=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(a|0));o=c[k>>2]|0;k=l+56|0;c[k>>2]=o;k=c[g>>2]|0;k=c[k>>2]|0;o=c[g>>2]|0;o=$b[k&63](o,l,1)|0;c[m>>2]=o;o=c[m>>2]|0;o=o+56|0;o=c[o>>2]|0;i=n;return o|0}o=c[k>>2]|0;a=c[k>>2]|0;if(b>>>0>(c[((c[c[k>>2]>>2]&3|0)==2?o:o+-32|0)+28>>2]|0)>>>0){b=c[k>>2]|0;c[d+24>>2]=c[((c[a>>2]&3|0)==3?b:b+32|0)+28>>2];b=d+32|0;a=(c[(c[k>>2]|0)+8>>2]|0)+16|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];b=c[k>>2]|0;c[d>>2]=c[((c[c[k>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2];b=d+8|0;a=(c[(c[k>>2]|0)+8>>2]|0)+56|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];b=l+8|0;a=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(a|0));o=c[k>>2]|0;k=l+56|0;c[k>>2]=o;k=c[g>>2]|0;k=c[k>>2]|0;o=c[g>>2]|0;o=$b[k&63](o,l,1)|0;c[m>>2]=o;o=c[m>>2]|0;o=o+56|0;o=c[o>>2]|0;i=n;return o|0}o=(c[a+8>>2]|0)+56|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];o=(c[(c[k>>2]|0)+8>>2]|0)+16|0;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];do if(!(+h[f>>3]<+h[e>>3])){if(+h[f>>3]>+h[e>>3]){o=d+8|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];o=d+32|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];break}if(+h[f+8>>3]<+h[e+8>>3]){o=d+8|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];o=d+32|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];break}a=d+8|0;if(+h[f+8>>3]>+h[e+8>>3]){c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];o=d+32|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];break}else{o=d+32|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[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];break}}else{o=d+8|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];o=d+32|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]}while(0);b=c[k>>2]|0;b=c[((c[c[k>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0;c[d>>2]=b;c[d+24>>2]=b;b=l+8|0;a=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(a|0));o=c[k>>2]|0;k=l+56|0;c[k>>2]=o;k=c[g>>2]|0;k=c[k>>2]|0;o=c[g>>2]|0;o=$b[k&63](o,l,1)|0;c[m>>2]=o;o=c[m>>2]|0;o=o+56|0;o=c[o>>2]|0;i=n;return o|0}function Fm(d,e,f){d=d|0;e=e|0;f=f|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,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.0;J=i;i=i+176|0;if((i|0)>=(j|0))ba();s=J+80|0;r=J+64|0;q=J+56|0;n=J+40|0;m=J+32|0;t=J+172|0;l=J+168|0;u=J+164|0;D=J+160|0;z=J+156|0;A=J+152|0;F=J+148|0;k=J+144|0;y=J+140|0;C=J+136|0;E=J+132|0;H=J+128|0;x=J+124|0;G=J+120|0;p=J+112|0;o=J+104|0;B=J+96|0;v=J+16|0;w=J;c[t>>2]=d;c[l>>2]=e;c[u>>2]=f;c[F>>2]=0;c[C>>2]=0;c[H>>2]=0;c[x>>2]=0;c[G>>2]=(c[13795]|0)>1&1;c[J+116>>2]=0;c[p>>2]=0;a:do if((c[u>>2]|0)>=6){c[F>>2]=qK((AB(c[t>>2]|0)|0)<<2)|0;c[D>>2]=pC(c[t>>2]|0)|0;while(1){if(!(c[D>>2]|0))break a;c[k>>2]=sm(c[D>>2]|0,c[l>>2]|0,(c[u>>2]|0)==8&255)|0;if(c[k>>2]|0){c[(c[(c[D>>2]|0)+8>>2]|0)+288>>2]=c[C>>2];f=c[k>>2]|0;e=c[C>>2]|0;c[C>>2]=e+1;c[(c[F>>2]|0)+(e<<2)>>2]=f}else c[(c[(c[D>>2]|0)+8>>2]|0)+288>>2]=-1111;c[D>>2]=qC(c[t>>2]|0,c[D>>2]|0)|0}}else c[F>>2]=0;while(0);c[E>>2]=c[C>>2];do if(c[F>>2]|0){e=Zs(c[F>>2]|0,c[E>>2]|0)|0;c[p>>2]=e;f=c[u>>2]|0;if(e){if((f|0)==8)break;c[H>>2]=BX(c[F>>2]|0,c[E>>2]|0)|0;break}if((f|0)==8){pA(0,126699,m)|0;break}else{K=+g[(c[l>>2]|0)+4>>2];h[n>>3]=+g[c[l>>2]>>2];h[n+8>>3]=K;pA(0,126777,n)|0;break}}while(0);if(a[139078]|0){f=c[24742]|0;if(!((c[p>>2]|0)!=0&(c[u>>2]|0)==8))if(c[H>>2]|0)d=(c[u>>2]|0)==10?146043:126859;else d=126869;else d=126883;c[q>>2]=d;p3(f,126900,q)|0}b:do if(!(c[H>>2]|0)){if((c[p>>2]|0)!=0&(c[u>>2]|0)==8){NP(c[t>>2]|0,0);c[G>>2]=1}}else{c[D>>2]=pC(c[t>>2]|0)|0;while(1){if(!(c[D>>2]|0))break b;c[z>>2]=cB(c[t>>2]|0,c[D>>2]|0)|0;while(1){if(!(c[z>>2]|0))break;q=(c[(c[z>>2]|0)+8>>2]|0)+144|0;tm(o,c[z>>2]|0,c[H>>2]|0,1,c[F>>2]|0,c[E>>2]|0);c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[z>>2]=eB(c[t>>2]|0,c[z>>2]|0)|0}c[D>>2]=qC(c[t>>2]|0,c[D>>2]|0)|0}}while(0);c[D>>2]=pC(c[t>>2]|0)|0;while(1){if(!(c[D>>2]|0))break;c[z>>2]=cB(c[t>>2]|0,c[D>>2]|0)|0;while(1){if(!(c[z>>2]|0))break;q=c[z>>2]|0;c[B>>2]=c[((c[c[z>>2]>>2]&3|0)==2?q:q+-32|0)+28>>2];if((c[G>>2]|0)!=0?(c[(c[(c[z>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0){p=c[t>>2]|0;q=c[z>>2]|0;o=(c[(c[D>>2]|0)+8>>2]|0)+16|0;n=(c[(c[z>>2]|0)+8>>2]|0)+16|0;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[r+12>>2]=c[o+12>>2];c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];Cm(v,r,s);n=(c[(c[B>>2]|0)+8>>2]|0)+16|0;o=(c[(c[z>>2]|0)+8>>2]|0)+56|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[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];Cm(w,r,s);c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];HN(p,q,r,s)}else I=37;c:do if((I|0)==37?(I=0,(b[(c[(c[z>>2]|0)+8>>2]|0)+168>>1]|0)!=0):0){if((c[D>>2]|0)==(c[B>>2]|0)){if(!(c[x>>2]|0)){c[x>>2]=qK(96)|0;q=qK((AB(c[t>>2]|0)|0)+360<<5)|0;c[(c[x>>2]|0)+84>>2]=q}rm(c[x>>2]|0,c[z>>2]|0,c[(c[(c[(c[t>>2]|0)+48>>2]|0)+8>>2]|0)+248>>2]|0);break}if(!(c[H>>2]|0)){gM(c[t>>2]|0,c[z>>2]|0,c[u>>2]|0,50912);break}q=b[(c[(c[z>>2]|0)+8>>2]|0)+168>>1]|0;c[y>>2]=q;c[y>>2]=(a[139080]|0)!=0?1:q;c[A>>2]=c[z>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[y>>2]|0))break c;d=c[t>>2]|0;f=c[A>>2]|0;if((c[u>>2]|0)==10)um(d,f,c[F>>2]|0,c[E>>2]|0,1);else Qm(d,f);c[A>>2]=c[(c[(c[A>>2]|0)+8>>2]|0)+172>>2];c[C>>2]=(c[C>>2]|0)+1}}while(0);c[z>>2]=eB(c[t>>2]|0,c[z>>2]|0)|0}c[D>>2]=qC(c[t>>2]|0,c[D>>2]|0)|0}if(c[H>>2]|0)CX(c[H>>2]|0);if(c[x>>2]|0){B1(c[(c[x>>2]|0)+84>>2]|0);B1(c[x>>2]|0)}if(!(c[F>>2]|0)){i=J;return 0}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[E>>2]|0))break;B1(c[(c[F>>2]|0)+(c[C>>2]<<2)>>2]|0);c[C>>2]=(c[C>>2]|0)+1}B1(c[F>>2]|0);i=J;return 0}function Gm(b){b=b|0;var d=0,e=0.0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;if((i|0)>=(j|0))ba();f=s+68|0;g=s+64|0;q=s+48|0;r=s+40|0;k=s+32|0;l=s+24|0;n=s+60|0;d=s+16|0;o=s+8|0;p=s;m=s+56|0;c[g>>2]=b;if((c[(c[g>>2]|0)+48>>2]|0)!=(c[g>>2]|0)){a[f>>0]=0;r=a[f>>0]|0;i=s;return r|0}if(!(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]|0)){a[f>>0]=0;r=a[f>>0]|0;i=s;return r|0}b=(N(~~+h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3]|0)|0)>=0;e=+(N(~~+h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3]|0)|0);if(b)if(~~(e+.5))b=10;else b=7;else if(~~(e-.5))b=10;else b=7;do if((b|0)==7){t=(N(~~+h[(c[(c[g>>2]|0)+8>>2]|0)+16+8>>3]|0)|0)>=0;e=+(N(~~+h[(c[(c[g>>2]|0)+8>>2]|0)+16+8>>3]|0)|0);if(t)if(~~(e+.5)){b=10;break}else break;else if(~~(e-.5)){b=10;break}else break}while(0);if((b|0)==10)Lm(c[g>>2]|0);if(c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]&1){h[d>>3]=+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16>>3];h[(c[(c[g>>2]|0)+8>>2]|0)+16+16>>3]=+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16+8>>3];h[(c[(c[g>>2]|0)+8>>2]|0)+16+16+8>>3]=+h[d>>3]}d=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0;do if((c[(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]|0)==2){if(+h[d+64>>3]<=0.0){a[f>>0]=0;t=a[f>>0]|0;i=s;return t|0}h[q>>3]=+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+64>>3]/+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16>>3];h[r>>3]=+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+64+8>>3]/+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16+8>>3];if(+h[q>>3]<1.0|+h[r>>3]<1.0)if(+h[q>>3]<+h[r>>3]){h[r>>3]=+h[r>>3]/+h[q>>3];h[q>>3]=1.0;break}else{h[q>>3]=+h[q>>3]/+h[r>>3];h[r>>3]=1.0;break}}else{b=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0;if((c[d+84>>2]|0)!=5){if((c[b+84>>2]|0)!=1){a[f>>0]=0;t=a[f>>0]|0;i=s;return t|0}h[l>>3]=+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+16>>3];h[k>>3]=+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16+8>>3]/+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16>>3];if(+h[k>>3]<+h[l>>3]){h[r>>3]=+h[l>>3]/+h[k>>3];h[q>>3]=1.0;break}else{h[q>>3]=+h[k>>3]/+h[l>>3];h[r>>3]=1.0;break}}if(+h[b+64>>3]<=0.0){a[f>>0]=0;t=a[f>>0]|0;i=s;return t|0}h[q>>3]=+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+64>>3]/+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16>>3];h[r>>3]=+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+64+8>>3]/+h[(c[(c[g>>2]|0)+8>>2]|0)+16+16+8>>3];if(+h[q>>3]>1.0&+h[r>>3]>1.0){h[o>>3]=+h[q>>3]<+h[r>>3]?+h[q>>3]:+h[r>>3];e=+h[o>>3];h[r>>3]=e;h[q>>3]=e;break}a[f>>0]=0;t=a[f>>0]|0;i=s;return t|0}while(0);if(c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]&1){h[p>>3]=+h[q>>3];h[q>>3]=+h[r>>3];h[r>>3]=+h[p>>3]}a:do if((c[13795]|0)>1){c[n>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[n>>2]|0))break a;c[m>>2]=cB(c[g>>2]|0,c[n>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;if(c[(c[(c[m>>2]|0)+8>>2]|0)+8>>2]|0)Mm(c[m>>2]|0,+h[q>>3],+h[r>>3]);c[m>>2]=eB(c[g>>2]|0,c[m>>2]|0)|0}c[n>>2]=qC(c[g>>2]|0,c[n>>2]|0)|0}}while(0);c[n>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;h[c[(c[(c[n>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[c[(c[(c[n>>2]|0)+8>>2]|0)+132>>2]>>3]*+h[q>>3];h[(c[(c[(c[n>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[(c[(c[(c[n>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]*+h[r>>3];c[n>>2]=qC(c[g>>2]|0,c[n>>2]|0)|0}Nm(c[g>>2]|0,+h[q>>3],+h[r>>3]);a[f>>0]=1;t=a[f>>0]|0;i=s;return t|0}function Hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();f=g;d=g+20|0;e=g+16|0;c[d>>2]=a;c[e>>2]=1;while(1){if((c[e>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0))break;a=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[e>>2]<<2)>>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];Hm(a,f);c[e>>2]=(c[e>>2]|0)+1}f=(c[(c[d>>2]|0)+8>>2]|0)+16+16|0;h[f>>3]=+h[f>>3]-+h[b>>3];f=(c[(c[d>>2]|0)+8>>2]|0)+16+16+8|0;h[f>>3]=+h[f>>3]-+h[b+8>>3];f=(c[(c[d>>2]|0)+8>>2]|0)+16|0;h[f>>3]=+h[f>>3]-+h[b>>3];f=(c[(c[d>>2]|0)+8>>2]|0)+16+8|0;h[f>>3]=+h[f>>3]-+h[b+8>>3];i=g;return}function Im(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+8|0;g=h;c[h+12>>2]=a;c[f>>2]=d;c[h+4>>2]=e;c[g>>2]=qK(64)|0;d=(c[g>>2]|0)+8|0;e=(c[f>>2]|0)+8|0;a=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(a|0));c[(c[g>>2]|0)+56>>2]=c[(c[f>>2]|0)+56>>2];b[(c[(c[(c[g>>2]|0)+56>>2]|0)+8>>2]|0)+168>>1]=1;i=h;return c[g>>2]|0}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;B1(c[f>>2]|0);i=e;return}function Km(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+20|0;g=m+12|0;k=m+8|0;l=m;c[m+16>>2]=a;c[g>>2]=b;c[k>>2]=d;c[m+4>>2]=e;if((c[c[g>>2]>>2]|0)>>>0>(c[c[k>>2]>>2]|0)>>>0){c[f>>2]=1;l=c[f>>2]|0;i=m;return l|0}if((c[c[g>>2]>>2]|0)>>>0<(c[c[k>>2]>>2]|0)>>>0){c[f>>2]=-1;l=c[f>>2]|0;i=m;return l|0}if((c[(c[g>>2]|0)+24>>2]|0)>>>0>(c[(c[k>>2]|0)+24>>2]|0)>>>0){c[f>>2]=1;l=c[f>>2]|0;i=m;return l|0}if((c[(c[g>>2]|0)+24>>2]|0)>>>0<(c[(c[k>>2]|0)+24>>2]|0)>>>0){c[f>>2]=-1;l=c[f>>2]|0;i=m;return l|0}d=~~(+h[(c[g>>2]|0)+8>>3]-+h[(c[k>>2]|0)+8>>3]);c[l>>2]=d;if(d){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}d=~~(+h[(c[g>>2]|0)+8+8>>3]-+h[(c[k>>2]|0)+8+8>>3]);c[l>>2]=d;if(d){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}d=~~(+h[(c[g>>2]|0)+32>>3]-+h[(c[k>>2]|0)+32>>3]);c[l>>2]=d;if(d){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=~~(+h[(c[g>>2]|0)+32+8>>3]-+h[(c[k>>2]|0)+32+8>>3]);l=c[f>>2]|0;i=m;return l|0}return 0}function Lm(a){a=a|0;var b=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+64|0;if((i|0)>=(j|0))ba();k=m+32|0;e=m+56|0;l=m+52|0;f=m+48|0;b=m+16|0;g=m;c[e>>2]=a;a=(c[(c[e>>2]|0)+8>>2]|0)+16|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];h[b>>3]=+h[g>>3]/72.0;h[b+8>>3]=+h[g+8>>3]/72.0;c[l>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;a=c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0;h[a>>3]=+h[a>>3]-+h[b>>3];a=(c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[a>>3]=+h[a>>3]-+h[b+8>>3];if((c[(c[(c[l>>2]|0)+8>>2]|0)+108>>2]|0)!=0?(d[(c[(c[(c[l>>2]|0)+8>>2]|0)+108>>2]|0)+81>>0]|0|0)!=0:0){a=(c[(c[(c[l>>2]|0)+8>>2]|0)+108>>2]|0)+56|0;h[a>>3]=+h[a>>3]-+h[g>>3];a=(c[(c[(c[l>>2]|0)+8>>2]|0)+108>>2]|0)+56+8|0;h[a>>3]=+h[a>>3]-+h[g+8>>3]}c[l>>2]=qC(c[e>>2]|0,c[l>>2]|0)|0}c[l>>2]=pC(c[e>>2]|0)|0;while(1){a=c[e>>2]|0;if(!(c[l>>2]|0))break;c[f>>2]=cB(a,c[l>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;if(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0){b=c[f>>2]|0;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];Om(b,k)}c[f>>2]=eB(c[e>>2]|0,c[f>>2]|0)|0}c[l>>2]=qC(c[e>>2]|0,c[l>>2]|0)|0}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];Pm(a,k);i=m;return}function Mm(a,b,e){a=a|0;b=+b;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+80|0;if((i|0)>=(j|0))ba();f=r+64|0;g=r+40|0;k=r+32|0;o=r+60|0;p=r+56|0;q=r+52|0;l=r+48|0;m=r+16|0;n=r;c[f>>2]=a;h[g>>3]=b;h[k>>3]=e;a=c[f>>2]|0;h[m>>3]=+h[c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+132>>2]>>3]*(+h[g>>3]-1.0)*72.0;a=c[f>>2]|0;h[m+8>>3]=+h[(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]*(+h[k>>3]-1.0)*72.0;a=c[f>>2]|0;h[n>>3]=+h[c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+132>>2]>>3]*(+h[g>>3]-1.0)*72.0;a=c[f>>2]|0;h[n+8>>3]=+h[(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]*(+h[k>>3]-1.0)*72.0;c[l>>2]=c[c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break;c[q>>2]=c[c[l>>2]>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+4>>2]|0))break;do if((c[o>>2]|0)==0&(c[p>>2]|0)==0){a=c[q>>2]|0;h[a>>3]=+h[a>>3]+ +h[n>>3];a=(c[q>>2]|0)+8|0;h[a>>3]=+h[a>>3]+ +h[n+8>>3]}else{if((c[o>>2]|0)==((c[(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)-1|0)?(c[p>>2]|0)==((c[(c[l>>2]|0)+4>>2]|0)-1|0):0){a=c[q>>2]|0;h[a>>3]=+h[a>>3]+ +h[m>>3];a=(c[q>>2]|0)+8|0;h[a>>3]=+h[a>>3]+ +h[m+8>>3];break}a=c[q>>2]|0;h[a>>3]=+h[a>>3]*+h[g>>3];a=(c[q>>2]|0)+8|0;h[a>>3]=+h[a>>3]*+h[k>>3]}while(0);c[q>>2]=(c[q>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+1}if(c[(c[l>>2]|0)+8>>2]|0){a=(c[l>>2]|0)+16|0;h[a>>3]=+h[a>>3]+ +h[n>>3];a=(c[l>>2]|0)+16+8|0;h[a>>3]=+h[a>>3]+ +h[n+8>>3]}if(c[(c[l>>2]|0)+12>>2]|0){a=(c[l>>2]|0)+32|0;h[a>>3]=+h[a>>3]+ +h[m>>3];a=(c[l>>2]|0)+32+8|0;h[a>>3]=+h[a>>3]+ +h[m+8>>3]}c[l>>2]=(c[l>>2]|0)+48;c[o>>2]=(c[o>>2]|0)+1}if((c[(c[(c[f>>2]|0)+8>>2]|0)+96>>2]|0)!=0?(d[(c[(c[(c[f>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]|0|0)!=0:0){q=(c[(c[(c[f>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;h[q>>3]=+h[q>>3]*+h[g>>3];q=(c[(c[(c[f>>2]|0)+8>>2]|0)+96>>2]|0)+56+8|0;h[q>>3]=+h[q>>3]*+h[k>>3]}if((c[(c[(c[f>>2]|0)+8>>2]|0)+100>>2]|0)!=0?(d[(c[(c[(c[f>>2]|0)+8>>2]|0)+100>>2]|0)+81>>0]|0|0)!=0:0){q=(c[(c[(c[f>>2]|0)+8>>2]|0)+100>>2]|0)+56|0;h[q>>3]=+h[q>>3]+ +h[m>>3];q=(c[(c[(c[f>>2]|0)+8>>2]|0)+100>>2]|0)+56+8|0;h[q>>3]=+h[q>>3]+ +h[m+8>>3]}if(!(c[(c[(c[f>>2]|0)+8>>2]|0)+104>>2]|0)){i=r;return}if(!(d[(c[(c[(c[f>>2]|0)+8>>2]|0)+104>>2]|0)+81>>0]|0)){i=r;return}q=(c[(c[(c[f>>2]|0)+8>>2]|0)+104>>2]|0)+56|0;h[q>>3]=+h[q>>3]+ +h[n>>3];q=(c[(c[(c[f>>2]|0)+8>>2]|0)+104>>2]|0)+56+8|0;h[q>>3]=+h[q>>3]+ +h[n+8>>3];i=r;return}function Nm(a,b,e){a=a|0;b=+b;e=+e;var f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+20|0;g=m+8|0;k=m;l=m+16|0;c[f>>2]=a;h[g>>3]=b;h[k>>3]=e;a=(c[(c[f>>2]|0)+8>>2]|0)+16+16|0;h[a>>3]=+h[a>>3]*+h[g>>3];a=(c[(c[f>>2]|0)+8>>2]|0)+16+16+8|0;h[a>>3]=+h[a>>3]*+h[k>>3];a=(c[(c[f>>2]|0)+8>>2]|0)+16|0;h[a>>3]=+h[a>>3]*+h[g>>3];a=(c[(c[f>>2]|0)+8>>2]|0)+16+8|0;h[a>>3]=+h[a>>3]*+h[k>>3];if((c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0)!=0?(d[(c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]|0|0)!=0:0){a=(c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0)+56|0;h[a>>3]=+h[a>>3]*+h[g>>3];a=(c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0)+56+8|0;h[a>>3]=+h[a>>3]*+h[k>>3]}c[l>>2]=1;while(1){if((c[l>>2]|0)>(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0))break;Nm(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]|0)+(c[l>>2]<<2)>>2]|0,+h[g>>3],+h[k>>3]);c[l>>2]=(c[l>>2]|0)+1}i=m;return}function Om(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+16|0;g=m+12|0;k=m+8|0;l=m+4|0;f=m;c[e>>2]=a;c[f>>2]=c[c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0))break;c[l>>2]=c[c[f>>2]>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;a=c[l>>2]|0;h[a>>3]=+h[a>>3]-+h[b>>3];a=(c[l>>2]|0)+8|0;h[a>>3]=+h[a>>3]-+h[b+8>>3];c[l>>2]=(c[l>>2]|0)+16;c[k>>2]=(c[k>>2]|0)+1}if(c[(c[f>>2]|0)+8>>2]|0){a=(c[f>>2]|0)+16|0;h[a>>3]=+h[a>>3]-+h[b>>3];a=(c[f>>2]|0)+16+8|0;h[a>>3]=+h[a>>3]-+h[b+8>>3]}if(c[(c[f>>2]|0)+12>>2]|0){a=(c[f>>2]|0)+32|0;h[a>>3]=+h[a>>3]-+h[b>>3];a=(c[f>>2]|0)+32+8|0;h[a>>3]=+h[a>>3]-+h[b+8>>3]}c[f>>2]=(c[f>>2]|0)+48;c[g>>2]=(c[g>>2]|0)+1}if((c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2]|0)!=0?(d[(c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]|0|0)!=0:0){l=(c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2]|0)+56|0;h[l>>3]=+h[l>>3]-+h[b>>3];l=(c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2]|0)+56+8|0;h[l>>3]=+h[l>>3]-+h[b+8>>3]}if((c[(c[(c[e>>2]|0)+8>>2]|0)+108>>2]|0)!=0?(d[(c[(c[(c[e>>2]|0)+8>>2]|0)+108>>2]|0)+81>>0]|0|0)!=0:0){l=(c[(c[(c[e>>2]|0)+8>>2]|0)+108>>2]|0)+56|0;h[l>>3]=+h[l>>3]-+h[b>>3];l=(c[(c[(c[e>>2]|0)+8>>2]|0)+108>>2]|0)+56+8|0;h[l>>3]=+h[l>>3]-+h[b+8>>3]}if((c[(c[(c[e>>2]|0)+8>>2]|0)+100>>2]|0)!=0?(d[(c[(c[(c[e>>2]|0)+8>>2]|0)+100>>2]|0)+81>>0]|0|0)!=0:0){l=(c[(c[(c[e>>2]|0)+8>>2]|0)+100>>2]|0)+56|0;h[l>>3]=+h[l>>3]-+h[b>>3];l=(c[(c[(c[e>>2]|0)+8>>2]|0)+100>>2]|0)+56+8|0;h[l>>3]=+h[l>>3]-+h[b+8>>3]}if(!(c[(c[(c[e>>2]|0)+8>>2]|0)+104>>2]|0)){i=m;return}if(!(d[(c[(c[(c[e>>2]|0)+8>>2]|0)+104>>2]|0)+81>>0]|0)){i=m;return}l=(c[(c[(c[e>>2]|0)+8>>2]|0)+104>>2]|0)+56|0;h[l>>3]=+h[l>>3]-+h[b>>3];l=(c[(c[(c[e>>2]|0)+8>>2]|0)+104>>2]|0)+56+8|0;h[l>>3]=+h[l>>3]-+h[b+8>>3];i=m;return}function Pm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();g=k;e=k+20|0;f=k+16|0;c[e>>2]=a;a=(c[(c[e>>2]|0)+8>>2]|0)+16+16|0;h[a>>3]=+h[a>>3]-+h[b>>3];a=(c[(c[e>>2]|0)+8>>2]|0)+16+16+8|0;h[a>>3]=+h[a>>3]-+h[b+8>>3];a=(c[(c[e>>2]|0)+8>>2]|0)+16|0;h[a>>3]=+h[a>>3]-+h[b>>3];a=(c[(c[e>>2]|0)+8>>2]|0)+16+8|0;h[a>>3]=+h[a>>3]-+h[b+8>>3];if((c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)!=0?(d[(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]|0|0)!=0:0){a=(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)+56|0;h[a>>3]=+h[a>>3]-+h[b>>3];a=(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)+56+8|0;h[a>>3]=+h[a>>3]-+h[b+8>>3]}c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;a=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>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];Pm(a,g);c[f>>2]=(c[f>>2]|0)+1}i=k;return}function Qm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+96|0;if((i|0)>=(j|0))ba();l=o+56|0;h=o+40|0;n=o+32|0;e=o+92|0;f=o+88|0;m=o+80|0;p=o+72|0;g=o+16|0;k=o;c[e>>2]=a;c[f>>2]=b;a=(c[(c[f>>2]|0)+8>>2]|0)+144|0;c[p>>2]=c[a>>2];c[p+4>>2]=c[a+4>>2];a=c[p>>2]|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];a=(c[p>>2]|0)+((c[p+4>>2]|0)-1<<4)|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];xY(l,m);if((d[139078]|0|0)>1){p=c[24742]|0;b=c[f>>2]|0;b=MB(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)|0;a=c[f>>2]|0;a=MB(c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)|0;c[n>>2]=b;c[n+4>>2]=a;p3(p,126925,n)|0}n=c[f>>2]|0;yN(c[f>>2]|0,c[((c[c[f>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2]|0,c[m>>2]|0,c[m+4>>2]|0,50912);n=c[e>>2]|0;p=c[f>>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];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];HN(n,p,h,l);i=o;return}function Rm(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;i=b;return 0}function Sm(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;i=b;return 0}function Tm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|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,w=0.0;v=i;i=i+48|0;if((i|0)>=(j|0))ba();k=v+40|0;l=v+36|0;m=v+32|0;n=v+28|0;q=v+24|0;t=v+20|0;u=v+16|0;s=v+12|0;p=v+8|0;o=v+4|0;r=v;c[v+44>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[r>>2]=0;c[t>>2]=c[c[m>>2]>>2];c[u>>2]=c[(c[m>>2]|0)+4>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break;c[q>>2]=c[(c[n>>2]|0)+(c[p>>2]<<2)>>2];a:do if((d[(c[(c[q>>2]|0)+8>>2]|0)+119>>0]|0|0)>0){c[s>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2];g=c[s>>2]|0;c[s>>2]=g+8;w=+h[g>>3];g=c[t>>2]|0;c[t>>2]=g+8;h[g>>3]=w;g=c[s>>2]|0;c[s>>2]=g+8;w=+h[g>>3];g=c[u>>2]|0;c[u>>2]=g+8;h[g>>3]=w;b:do if((c[l>>2]|0)>2){c[o>>2]=2;while(1){if((c[o>>2]|0)>=(c[l>>2]|0))break b;g=c[s>>2]|0;c[s>>2]=g+8;h[(c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]|0)+(c[p>>2]<<3)>>3]=+h[g>>3];c[o>>2]=(c[o>>2]|0)+1}}while(0);if((d[(c[(c[q>>2]|0)+8>>2]|0)+119>>0]|0|0)>1)c[r>>2]=1}else{w=+K2();g=c[t>>2]|0;c[t>>2]=g+8;h[g>>3]=w;w=+K2();g=c[u>>2]|0;c[u>>2]=g+8;h[g>>3]=w;if((c[l>>2]|0)>2){c[o>>2]=2;while(1){if((c[o>>2]|0)>=(c[l>>2]|0))break a;w=+K2();h[(c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]|0)+(c[p>>2]<<3)>>3]=w;c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[l>>2]|0))break;tt(c[k>>2]|0,c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]|0);c[o>>2]=(c[o>>2]|0)+1}i=v;return c[r>>2]|0}function Um(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();d=s+40|0;k=s+36|0;p=s+32|0;q=s+28|0;e=s+24|0;f=s+20|0;o=s+16|0;l=s+12|0;m=s+8|0;n=s+4|0;r=s;c[d>>2]=a;c[k>>2]=b;c[l>>2]=qK(((_(c[k>>2]|0,(c[k>>2]|0)+1|0)|0)/2|0)<<2)|0;c[m>>2]=dn(c[k>>2]|0,c[k>>2]|0,0.0)|0;c[n>>2]=dn(c[k>>2]|0,c[k>>2]|0,0.0)|0;b=(c[(c[d>>2]|0)+8>>2]|0)!=0;c[p>>2]=0;a:do if(b)while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break a;c[e>>2]=1;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0))break;c[q>>2]=c[(c[(c[d>>2]|0)+((c[p>>2]|0)*20|0)+4>>2]|0)+(c[e>>2]<<2)>>2];t=-1.0/+g[(c[(c[d>>2]|0)+((c[p>>2]|0)*20|0)+8>>2]|0)+(c[e>>2]<<2)>>2];h[(c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]|0)+(c[p>>2]<<3)>>3]=t;h[(c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3]=t;c[e>>2]=(c[e>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}else while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break a;c[e>>2]=1;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0))break;c[q>>2]=c[(c[(c[d>>2]|0)+((c[p>>2]|0)*20|0)+4>>2]|0)+(c[e>>2]<<2)>>2];h[(c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]|0)+(c[p>>2]<<3)>>3]=-1.0;h[(c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3]=-1.0;c[e>>2]=(c[e>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}while(0);c[f>>2]=gr(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[f>>2]|0)){B1(c[l>>2]|0);c[l>>2]=0;r=c[m>>2]|0;en(r);r=c[n>>2]|0;en(r);r=c[l>>2]|0;i=s;return r|0}c[o>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break;c[q>>2]=c[p>>2];while(1){d=c[p>>2]|0;if((c[q>>2]|0)>=(c[k>>2]|0))break;if((d|0)==(c[q>>2]|0))g[r>>2]=0.0;else g[r>>2]=+h[(c[(c[n>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[p>>2]<<3)>>3]+ +h[(c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3]-+h[(c[(c[n>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3]*2.0;t=+g[r>>2];f=c[o>>2]|0;c[o>>2]=f+1;g[(c[l>>2]|0)+(f<<2)>>2]=t;c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=d+1}r=c[m>>2]|0;en(r);r=c[n>>2]|0;en(r);r=c[l>>2]|0;i=s;return r|0}function Vm(b,d){b=b|0;d=d|0;var e=0,f=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();r=s+8|0;e=s+44|0;f=s+40|0;k=s+36|0;o=s+32|0;p=s+28|0;n=s+24|0;l=s+20|0;q=s+16|0;m=s;c[f>>2]=b;c[k>>2]=d;c[q>>2]=0;if(!(c[(c[f>>2]|0)+8>>2]|0)){c[e>>2]=0;r=c[e>>2]|0;i=s;return r|0}c[l>>2]=Zm(c[f>>2]|0,c[k>>2]|0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;c[q>>2]=(c[q>>2]|0)+(c[o>>2]|0);c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[(c[f>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+((c[o>>2]|0)*20|0)+4>>2]|0)+(c[n>>2]<<2)>>2];if((c[p>>2]|0)>=(c[o>>2]|0)){d=_(c[o>>2]|0,c[k>>2]|0)|0;t=+(N(~~(+g[(c[l>>2]|0)+(d+(c[p>>2]|0)-(c[q>>2]|0)<<2)>>2]-+g[(c[(c[f>>2]|0)+((c[o>>2]|0)*20|0)+8>>2]|0)+(c[n>>2]<<2)>>2])|0)|0);h[m>>3]=+h[m>>3]+t;d=_(c[o>>2]|0,c[k>>2]|0)|0;g[(c[l>>2]|0)+(d+(c[p>>2]|0)-(c[q>>2]|0)<<2)>>2]=+g[(c[(c[f>>2]|0)+((c[o>>2]|0)*20|0)+8>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}if(a[139078]|0){q=c[24742]|0;h[r>>3]=+h[m>>3];p3(q,126977,r)|0}c[e>>2]=c[l>>2];r=c[e>>2]|0;i=s;return r|0}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0.0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();d=o+40|0;e=o+36|0;m=o+32|0;n=o+28|0;l=o+24|0;h=o+20|0;f=o+16|0;k=o;c[d>>2]=a;c[e>>2]=b;c[h>>2]=qK(((_(c[e>>2]|0,(c[e>>2]|0)+1|0)|0)/2|0)<<2)|0;c[f>>2]=qK(c[e>>2]<<2)|0;er(k,c[e>>2]|0);c[l>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[e>>2]|0))break;$q(c[m>>2]|0,c[d>>2]|0,c[e>>2]|0,c[f>>2]|0,k);c[n>>2]=c[m>>2];while(1){if((c[n>>2]|0)>=(c[e>>2]|0))break;p=+(c[(c[f>>2]|0)+(c[n>>2]<<2)>>2]|0);b=c[l>>2]|0;c[l>>2]=b+1;g[(c[h>>2]|0)+(b<<2)>>2]=p;c[n>>2]=(c[n>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}B1(c[f>>2]|0);fr(k);i=o;return c[h>>2]|0}function Xm(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();f=t+44|0;h=t+40|0;k=t+36|0;n=t+32|0;o=t+28|0;q=t+24|0;e=t+20|0;s=t+16|0;r=t+12|0;l=t+8|0;m=t+4|0;p=t;c[f>>2]=a;c[h>>2]=b;c[q>>2]=c[(c[f>>2]|0)+8>>2];c[e>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;c[e>>2]=(c[e>>2]|0)+(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[s>>2]=qK(c[e>>2]<<2)|0;c[r>>2]=qK(c[h>>2]<<2)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;c[(c[r>>2]|0)+(c[n>>2]<<2)>>2]=0;c[n>>2]=(c[n>>2]|0)+1}e=(c[(c[f>>2]|0)+8>>2]|0)!=0;c[n>>2]=0;if(e){while(1){a=c[f>>2]|0;if((c[n>>2]|0)>=(c[h>>2]|0))break;Ls(a,c[n>>2]|0,c[r>>2]|0);c[l>>2]=(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)-1;c[o>>2]=1;while(1){if((c[o>>2]|0)>(c[l>>2]|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0)+(c[o>>2]<<2)>>2];c[m>>2]=(c[(c[f>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)-1;e=(c[l>>2]|0)+(c[m>>2]|0)|0;d=+(e-((Ks(c[f>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0)|0)<<1)|0);if(d>+g[(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)+(c[o>>2]<<2)>>2]){e=(c[l>>2]|0)+(c[m>>2]|0)|0;d=+(e-((Ks(c[f>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0)|0)<<1)|0)}else d=+g[(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)+(c[o>>2]<<2)>>2];g[(c[s>>2]|0)+(c[o>>2]<<2)>>2]=d;c[o>>2]=(c[o>>2]|0)+1}Ms(c[f>>2]|0,c[n>>2]|0,c[r>>2]|0);c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]=c[s>>2];c[s>>2]=(c[s>>2]|0)+(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)>>2]<<2);c[n>>2]=(c[n>>2]|0)+1}c[k>>2]=Zm(a,c[h>>2]|0)|0}else{while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]=c[s>>2];Ls(c[f>>2]|0,c[n>>2]|0,c[r>>2]|0);c[l>>2]=(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)-1;c[o>>2]=1;while(1){if((c[o>>2]|0)>(c[l>>2]|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0)+(c[o>>2]<<2)>>2];c[m>>2]=(c[(c[f>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0)-1;d=+(c[l>>2]|0)+ +(c[m>>2]|0);d=d-+((Ks(c[f>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0)|0)<<1|0);g[(c[s>>2]|0)+(c[o>>2]<<2)>>2]=d;c[o>>2]=(c[o>>2]|0)+1}Ms(c[f>>2]|0,c[n>>2]|0,c[r>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)>>2]<<2);c[n>>2]=(c[n>>2]|0)+1}c[k>>2]=Wm(c[f>>2]|0,c[h>>2]|0)|0}B1(c[r>>2]|0);B1(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;if(!(c[q>>2]|0)){s=c[k>>2]|0;i=t;return s|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]=c[q>>2];c[q>>2]=(c[q>>2]|0)+(c[(c[f>>2]|0)+((c[n>>2]|0)*20|0)>>2]<<2);c[n>>2]=(c[n>>2]|0)+1}s=c[k>>2]|0;i=t;return s|0}function Ym(b,e,f,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;k=k|0;l=l|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,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,aa=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.0,ya=0.0;va=i;i=i+336|0;if((i|0)>=(j|0))ba();ua=va+168|0;ta=va+160|0;sa=va+152|0;H=va+144|0;G=va+136|0;F=va+128|0;E=va+120|0;D=va+112|0;C=va+104|0;B=va+96|0;r=va+88|0;u=va+80|0;t=va+72|0;s=va+64|0;q=va+56|0;J=va+320|0;v=va+316|0;K=va+312|0;w=va+308|0;L=va+304|0;M=va+300|0;O=va+296|0;wa=va+292|0;x=va+288|0;P=va+284|0;fa=va+280|0;S=va+48|0;y=va+276|0;ea=va+272|0;ga=va+268|0;ha=va+264|0;V=va+260|0;ca=va+256|0;T=va+252|0;W=va+248|0;X=va+40|0;ka=va+244|0;ja=va+240|0;Y=va+236|0;pa=va+232|0;ra=va+228|0;oa=va+32|0;ma=va+24|0;U=va+324|0;Q=va+224|0;qa=va+220|0;$=va+216|0;ia=va+212|0;A=va+208|0;aa=va+204|0;la=va+200|0;da=va+196|0;z=va+16|0;Z=va+8|0;R=va;na=va+192|0;c[v>>2]=b;c[K>>2]=e;c[w>>2]=f;c[L>>2]=k;c[M>>2]=l;c[O>>2]=m;c[wa>>2]=n;c[x>>2]=o;c[P>>2]=p;h[S>>3]=.001;c[y>>2]=0;c[V>>2]=0;c[ca>>2]=0;c[ja>>2]=0;c[Y>>2]=0;c[Q>>2]=0;c[qa>>2]=0;c[$>>2]=0;c[ia>>2]=0;c[A>>2]=c[wa>>2]&4;c[aa>>2]=c[wa>>2]&3;if((c[P>>2]|0)<0){c[J>>2]=0;wa=c[J>>2]|0;i=va;return wa|0}if(a[139078]|0)nO();do if((c[x>>2]|0)!=2){if((c[x>>2]|0)==1){c[y>>2]=Um(c[v>>2]|0,c[K>>2]|0)|0;if(c[y>>2]|0)break;pA(0,130702,s)|0;pA(3,130751,t)|0;break}if((c[x>>2]|0)==3){if(a[139078]|0)p3(c[24742]|0,130804,u)|0;c[y>>2]=Vm(c[v>>2]|0,c[K>>2]|0)|0}}else{if(a[139078]|0)p3(c[24742]|0,130677,q)|0;c[y>>2]=Xm(c[v>>2]|0,c[K>>2]|0)|0}while(0);do if(!(c[y>>2]|0)){if(a[139078]|0)p3(c[24742]|0,130826,r)|0;m=c[v>>2]|0;k=c[K>>2]|0;if(c[(c[v>>2]|0)+8>>2]|0){c[y>>2]=Zm(m,k)|0;break}else{c[y>>2]=Wm(m,k)|0;break}}while(0);if(a[139078]|0){wa=c[24742]|0;h[B>>3]=+oO();p3(wa,130853,B)|0;p3(c[24742]|0,130865,C)|0;nO()}a:do if((c[A>>2]|0)!=0&(c[K>>2]|0)>1){c[da>>2]=0;if((_m(c[v>>2]|0,c[K>>2]|0,c[w>>2]|0,c[L>>2]|0,c[O>>2]|0,c[A>>2]|0,c[aa>>2]|0,(c[x>>2]|0)==2&1,50,0,40)|0)<0){c[fa>>2]=-1;break}c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[O>>2]|0)){I=42;break a}h[z>>3]=1.0;c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[K>>2]|0))break;xa=+N(+(+h[(c[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]|0)+(c[ga>>2]<<3)>>3]));if(xa>+h[z>>3])h[z>>3]=+N(+(+h[(c[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]|0)+(c[ga>>2]<<3)>>3]));c[ga>>2]=(c[ga>>2]|0)+1}c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[K>>2]|0))break;wa=(c[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]|0)+(c[ga>>2]<<3)|0;h[wa>>3]=+h[wa>>3]/+h[z>>3];c[ga>>2]=(c[ga>>2]|0)+1}c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[K>>2]|0))break;xa=(+K2()-.5)*1.0e-06;wa=(c[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]|0)+(c[ga>>2]<<3)|0;h[wa>>3]=+h[wa>>3]+xa;c[ga>>2]=(c[ga>>2]|0)+1}tt(c[K>>2]|0,c[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]|0);c[ea>>2]=(c[ea>>2]|0)+1}}else{c[da>>2]=Tm(c[v>>2]|0,c[K>>2]|0,c[O>>2]|0,c[L>>2]|0,c[M>>2]|0)|0;I=42}while(0);b:do if((I|0)==42){if(a[139078]|0){wa=c[24742]|0;h[D>>3]=+oO();p3(wa,130891,D)|0}if((c[K>>2]|0)==1|(c[P>>2]|0)==0){c[J>>2]=0;wa=c[J>>2]|0;i=va;return wa|0}if(a[139078]|0){wa=c[24742]|0;h[E>>3]=+oO();p3(wa,130853,E)|0;p3(c[24742]|0,126999,F)|0;nO()}c[V>>2]=qK(c[O>>2]<<2)|0;c[ca>>2]=qK((_(c[O>>2]|0,c[K>>2]|0)|0)<<2)|0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[O>>2]|0))break;wa=(c[ca>>2]|0)+((_(c[ea>>2]|0,c[K>>2]|0)|0)<<2)|0;c[(c[V>>2]|0)+(c[ea>>2]<<2)>>2]=wa;c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[K>>2]|0))break;g[(c[(c[V>>2]|0)+(c[ea>>2]<<2)>>2]|0)+(c[ga>>2]<<2)>>2]=+h[(c[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]|0)+(c[ga>>2]<<3)>>3];c[ga>>2]=(c[ga>>2]|0)+1}c[ea>>2]=(c[ea>>2]|0)+1}c:do if(c[aa>>2]|0)g[T>>2]=+(c[K>>2]|0)*+((c[K>>2]|0)-1|0)/2.0;else{g[T>>2]=0.0;c[W>>2]=0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=((c[K>>2]|0)-1|0))break c;c[W>>2]=(c[W>>2]|0)+1;c[ga>>2]=1;while(1){if((c[ga>>2]|0)>=((c[K>>2]|0)-(c[ea>>2]|0)|0))break;g[T>>2]=+g[T>>2]+ +g[(c[y>>2]|0)+(c[W>>2]<<2)>>2];c[ga>>2]=(c[ga>>2]|0)+1;c[W>>2]=(c[W>>2]|0)+1}c[ea>>2]=(c[ea>>2]|0)+1}}while(0);c[ka>>2]=(_(c[K>>2]|0,(c[K>>2]|0)+1|0)|0)/2|0;c[ja>>2]=c[y>>2];if((c[aa>>2]|0)==2)Pt(c[ka>>2]|0,c[ja>>2]|0);Qt(c[ka>>2]|0,c[ja>>2]|0);c[W>>2]=0;c[Y>>2]=qK(c[K>>2]<<3)|0;p5(c[Y>>2]|0,0,c[K>>2]<<3|0)|0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=((c[K>>2]|0)-1|0))break;h[X>>3]=0.0;c[W>>2]=(c[W>>2]|0)+1;c[ga>>2]=1;while(1){if((c[ga>>2]|0)>=((c[K>>2]|0)-(c[ea>>2]|0)|0))break;g[ra>>2]=+g[(c[ja>>2]|0)+(c[W>>2]<<2)>>2];h[X>>3]=+h[X>>3]+ +g[ra>>2];wa=(c[Y>>2]|0)+((c[ea>>2]|0)+(c[ga>>2]|0)<<3)|0;h[wa>>3]=+h[wa>>3]-+g[ra>>2];c[ga>>2]=(c[ga>>2]|0)+1;c[W>>2]=(c[W>>2]|0)+1}wa=(c[Y>>2]|0)+(c[ea>>2]<<3)|0;h[wa>>3]=+h[wa>>3]-+h[X>>3];c[ea>>2]=(c[ea>>2]|0)+1}c[pa>>2]=c[K>>2];c[W>>2]=0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[K>>2]|0))break;g[(c[ja>>2]|0)+(c[W>>2]<<2)>>2]=+h[(c[Y>>2]|0)+(c[ea>>2]<<3)>>3];c[ea>>2]=(c[ea>>2]|0)+1;c[W>>2]=(c[W>>2]|0)+(c[pa>>2]|0);c[pa>>2]=(c[pa>>2]|0)+-1}c[Q>>2]=qK(c[O>>2]<<2)|0;wa=qK((_(c[O>>2]|0,c[K>>2]|0)|0)<<2)|0;c[c[Q>>2]>>2]=wa;c[ha>>2]=1;while(1){if((c[ha>>2]|0)>=(c[O>>2]|0))break;wa=(c[c[Q>>2]>>2]|0)+((_(c[ha>>2]|0,c[K>>2]|0)|0)<<2)|0;c[(c[Q>>2]|0)+(c[ha>>2]<<2)>>2]=wa;c[ha>>2]=(c[ha>>2]|0)+1}c[qa>>2]=qK(c[K>>2]<<2)|0;c[$>>2]=qK(c[K>>2]<<2)|0;c[ia>>2]=0;c[ia>>2]=qK(c[ka>>2]<<2)|0;h[oa>>3]=1797693134862315708145274.0e284;if(a[139078]|0){wa=c[24742]|0;h[G>>3]=+oO();p3(wa,130853,G)|0;p3(c[24742]|0,127026,H)|0;nO()}a[U>>0]=0;c[fa>>2]=0;d:while(1){if((c[fa>>2]|0)>=(c[P>>2]|0)){I=132;break}if(!((a[U>>0]|0)!=0^1)){I=132;break}p5(c[Y>>2]|0,0,c[K>>2]<<3|0)|0;if((c[aa>>2]|0)==2)Rt(c[ka>>2]|0,c[ja>>2]|0,c[ia>>2]|0);c[W>>2]=0;c[ea>>2]=0;while(1){m=c[K>>2]|0;if((c[ea>>2]|0)>=((c[K>>2]|0)-1|0))break;c[la>>2]=m-(c[ea>>2]|0)-1;Nt(c[la>>2]|0,0.0,c[$>>2]|0);c[ha>>2]=0;while(1){m=c[la>>2]|0;if((c[ha>>2]|0)>=(c[O>>2]|0))break;Nt(m,+g[(c[(c[V>>2]|0)+(c[ha>>2]<<2)>>2]|0)+(c[ea>>2]<<2)>>2],c[qa>>2]|0);It(c[la>>2]|0,c[qa>>2]|0,-1.0,(c[(c[V>>2]|0)+(c[ha>>2]<<2)>>2]|0)+(c[ea>>2]<<2)+4|0);Pt(c[la>>2]|0,c[qa>>2]|0);Ht(c[la>>2]|0,c[qa>>2]|0,c[$>>2]|0,c[$>>2]|0);c[ha>>2]=(c[ha>>2]|0)+1}St(m,c[$>>2]|0);c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[la>>2]|0))break;if(!(!(+g[(c[$>>2]|0)+(c[ga>>2]<<2)>>2]>=3402823466385288598117041.0e14)?!(+g[(c[$>>2]|0)+(c[ga>>2]<<2)>>2]<0.0):0))g[(c[$>>2]|0)+(c[ga>>2]<<2)>>2]=0.0;c[ga>>2]=(c[ga>>2]|0)+1}c[W>>2]=(c[W>>2]|0)+1;h[X>>3]=0.0;wa=(c[aa>>2]|0)==2;c[ga>>2]=0;e:do if(wa)while(1){if((c[ga>>2]|0)>=(c[la>>2]|0))break e;wa=(c[ia>>2]|0)+(c[W>>2]<<2)|0;xa=+g[wa>>2]*+g[(c[$>>2]|0)+(c[ga>>2]<<2)>>2];g[wa>>2]=xa;g[ra>>2]=xa;h[X>>3]=+h[X>>3]+ +g[ra>>2];wa=(c[Y>>2]|0)+((c[ea>>2]|0)+(c[ga>>2]|0)+1<<3)|0;h[wa>>3]=+h[wa>>3]-+g[ra>>2];c[ga>>2]=(c[ga>>2]|0)+1;c[W>>2]=(c[W>>2]|0)+1}else while(1){if((c[ga>>2]|0)>=(c[la>>2]|0))break e;xa=+g[(c[$>>2]|0)+(c[ga>>2]<<2)>>2];g[(c[ia>>2]|0)+(c[W>>2]<<2)>>2]=xa;g[ra>>2]=xa;h[X>>3]=+h[X>>3]+ +g[ra>>2];wa=(c[Y>>2]|0)+((c[ea>>2]|0)+(c[ga>>2]|0)+1<<3)|0;h[wa>>3]=+h[wa>>3]-+g[ra>>2];c[ga>>2]=(c[ga>>2]|0)+1;c[W>>2]=(c[W>>2]|0)+1}while(0);wa=(c[Y>>2]|0)+(c[ea>>2]<<3)|0;h[wa>>3]=+h[wa>>3]-+h[X>>3];c[ea>>2]=(c[ea>>2]|0)+1}c[pa>>2]=m;c[W>>2]=0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[K>>2]|0))break;g[(c[ia>>2]|0)+(c[W>>2]<<2)>>2]=+h[(c[Y>>2]|0)+(c[ea>>2]<<3)>>3];c[ea>>2]=(c[ea>>2]|0)+1;c[W>>2]=(c[W>>2]|0)+(c[pa>>2]|0);c[pa>>2]=(c[pa>>2]|0)+-1}c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[O>>2]|0))break;Ft(c[ia>>2]|0,c[K>>2]|0,c[(c[V>>2]|0)+(c[ha>>2]<<2)>>2]|0,c[(c[Q>>2]|0)+(c[ha>>2]<<2)>>2]|0);c[ha>>2]=(c[ha>>2]|0)+1}h[ma>>3]=0.0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[O>>2]|0))break;xa=+Lt(c[K>>2]|0,c[(c[V>>2]|0)+(c[ha>>2]<<2)>>2]|0,c[(c[Q>>2]|0)+(c[ha>>2]<<2)>>2]|0);h[ma>>3]=+h[ma>>3]+xa;c[ha>>2]=(c[ha>>2]|0)+1}h[ma>>3]=+h[ma>>3]*2.0;h[ma>>3]=+h[ma>>3]+ +g[T>>2];c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[O>>2]|0))break;Ft(c[ja>>2]|0,c[K>>2]|0,c[(c[V>>2]|0)+(c[ha>>2]<<2)>>2]|0,c[qa>>2]|0);xa=+Lt(c[K>>2]|0,c[(c[V>>2]|0)+(c[ha>>2]<<2)>>2]|0,c[qa>>2]|0);h[ma>>3]=+h[ma>>3]-xa;c[ha>>2]=(c[ha>>2]|0)+1}h[Z>>3]=+h[oa>>3]-+h[ma>>3];xa=+h[Z>>3];h[R>>3]=+h[Z>>3]>=0.0?xa:-xa;if(+h[R>>3]/+h[oa>>3]<+h[4247])m=1;else m=+h[ma>>3]<+h[4247];a[U>>0]=m&1;h[oa>>3]=+h[ma>>3];c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[O>>2]|0))break;f:do if(!(c[da>>2]|0)){if((kr(c[ja>>2]|0,c[(c[V>>2]|0)+(c[ha>>2]<<2)>>2]|0,c[(c[Q>>2]|0)+(c[ha>>2]<<2)>>2]|0,c[K>>2]|0,+h[S>>3],c[K>>2]|0)|0)<0){I=125;break d}}else{Kt(c[K>>2]|0,c[(c[V>>2]|0)+(c[ha>>2]<<2)>>2]|0,c[qa>>2]|0);if((kr(c[ja>>2]|0,c[qa>>2]|0,c[(c[Q>>2]|0)+(c[ha>>2]<<2)>>2]|0,c[K>>2]|0,+h[S>>3],c[K>>2]|0)|0)<0){I=118;break d}c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[K>>2]|0))break f;c[na>>2]=c[(c[M>>2]|0)+(c[ea>>2]<<2)>>2];if((d[(c[(c[na>>2]|0)+8>>2]|0)+119>>0]|0)<=1)g[(c[(c[V>>2]|0)+(c[ha>>2]<<2)>>2]|0)+(c[ea>>2]<<2)>>2]=+g[(c[qa>>2]|0)+(c[ea>>2]<<2)>>2];c[ea>>2]=(c[ea>>2]|0)+1}}while(0);c[ha>>2]=(c[ha>>2]|0)+1}do if(d[139078]|0){if((c[fa>>2]|0)%5|0)break;wa=c[24742]|0;h[sa>>3]=+h[ma>>3];p3(wa,127326,sa)|0;if(((c[fa>>2]|0)+5|0)%50|0)break;p3(c[24742]|0,193472,ta)|0}while(0);c[fa>>2]=(c[fa>>2]|0)+1}if((I|0)==118){c[fa>>2]=-1;break}else if((I|0)==125){c[fa>>2]=-1;break}else if((I|0)==132){if(a[139078]|0){wa=c[24742]|0;ya=+$m(c[V>>2]|0,c[ja>>2]|0,c[O>>2]|0,c[K>>2]|0,c[aa>>2]|0);ta=c[fa>>2]|0;xa=+oO();h[ua>>3]=ya;c[ua+8>>2]=ta;h[ua+16>>3]=xa;p3(wa,127042,ua)|0}c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[O>>2]|0))break b;c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[K>>2]|0))break;h[(c[(c[L>>2]|0)+(c[ea>>2]<<2)>>2]|0)+(c[ga>>2]<<3)>>3]=+g[(c[(c[V>>2]|0)+(c[ea>>2]<<2)>>2]|0)+(c[ga>>2]<<2)>>2];c[ga>>2]=(c[ga>>2]|0)+1}c[ea>>2]=(c[ea>>2]|0)+1}}}while(0);B1(c[ca>>2]|0);B1(c[V>>2]|0);B1(c[ja>>2]|0);if(c[Q>>2]|0){B1(c[c[Q>>2]>>2]|0);B1(c[Q>>2]|0)}B1(c[qa>>2]|0);B1(c[$>>2]|0);B1(c[Y>>2]|0);B1(c[ia>>2]|0);c[J>>2]=c[fa>>2];wa=c[J>>2]|0;i=va;return wa|0}function Zm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0.0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();d=o+40|0;e=o+36|0;m=o+32|0;n=o+28|0;l=o+24|0;h=o+20|0;f=o+16|0;k=o;c[d>>2]=a;c[e>>2]=b;c[h>>2]=qK(((_(c[e>>2]|0,(c[e>>2]|0)+1|0)|0)/2|0)<<2)|0;c[f>>2]=qK(c[e>>2]<<2)|0;er(k,c[e>>2]|0);c[l>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[e>>2]|0))break;Qr(c[m>>2]|0,c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[n>>2]=c[m>>2];while(1){if((c[n>>2]|0)>=(c[e>>2]|0))break;p=+g[(c[f>>2]|0)+(c[n>>2]<<2)>>2];b=c[l>>2]|0;c[l>>2]=b+1;g[(c[h>>2]|0)+(b<<2)>>2]=p;c[n>>2]=(c[n>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}B1(c[f>>2]|0);fr(k);i=o;return c[h>>2]|0}function _m(b,d,e,f,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;k=k|0;l=l|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,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,aa=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.0;ua=i;i=i+256|0;if((i|0)>=(j|0))ba();w=ua+248|0;x=ua+244|0;z=ua+236|0;A=ua+232|0;B=ua+228|0;C=ua+224|0;D=ua+220|0;E=ua+216|0;F=ua+212|0;y=ua+208|0;aa=ua+204|0;O=ua+40|0;Y=ua+200|0;ca=ua+196|0;da=ua+192|0;ia=ua+188|0;qa=ua+184|0;pa=ua+180|0;r=ua+176|0;t=ua+172|0;s=ua+168|0;G=ua+164|0;$=ua+160|0;J=ua+144|0;ma=ua+136|0;H=ua+132|0;S=ua+128|0;v=ua+124|0;u=ua+120|0;sa=ua+116|0;V=ua+112|0;K=ua+108|0;na=ua+104|0;oa=ua+100|0;ka=ua+96|0;ja=ua+92|0;Z=ua+88|0;ga=ua+84|0;U=ua+80|0;ea=ua+76|0;W=ua+72|0;X=ua+68|0;Q=ua+32|0;R=ua+64|0;ra=ua+60|0;fa=ua+56|0;T=ua+24|0;L=ua+52|0;M=ua+48|0;I=ua+16|0;la=ua+8|0;ha=ua;P=ua+252|0;c[w>>2]=b;c[x>>2]=d;c[ua+240>>2]=e;c[z>>2]=f;c[A>>2]=k;c[B>>2]=l;c[C>>2]=m;c[D>>2]=n;c[E>>2]=o;c[F>>2]=p;c[y>>2]=q;h[O>>3]=.001;c[qa>>2]=50<(c[x>>2]|0)?50:c[x>>2]|0;c[pa>>2]=rK(c[qa>>2]<<2)|0;c[r>>2]=rK((_(c[qa>>2]|0,c[x>>2]|0)|0)<<3)|0;c[na>>2]=0;c[oa>>2]=0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[qa>>2]|0))break;l=(c[r>>2]|0)+((_(c[Y>>2]|0,c[x>>2]|0)|0)<<3)|0;c[(c[pa>>2]|0)+(c[Y>>2]<<2)>>2]=l;c[Y>>2]=(c[Y>>2]|0)+1}if((c[x>>2]|0)<(((c[qa>>2]<<1|0)>50?c[qa>>2]<<1:50)|0))k=c[x>>2]|0;else k=(c[qa>>2]<<1|0)>50?c[qa>>2]<<1:50;c[t>>2]=k;c[s>>2]=0;ds(c[w>>2]|0,c[x>>2]|0,c[t>>2]|0,s,c[D>>2]|0);es(c[s>>2]|0,c[x>>2]|0,c[t>>2]|0);_t(c[s>>2]|0,c[t>>2]|0,c[x>>2]|0,c[pa>>2]|0,c[qa>>2]|0);B1(c[c[s>>2]>>2]|0);B1(c[s>>2]|0);c[G>>2]=rK(c[x>>2]<<2)|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[x>>2]|0))break;c[(c[G>>2]|0)+(c[Y>>2]<<2)>>2]=-1;c[Y>>2]=(c[Y>>2]|0)+1}c[$>>2]=0;er(J,c[x>>2]|0);c[ma>>2]=c[(c[w>>2]|0)+8>>2];if(c[D>>2]|0)Ps(c[w>>2]|0,c[x>>2]|0);c[H>>2]=0;c[S>>2]=rK(c[x>>2]<<2)|0;a:do if(c[y>>2]|0){c[$>>2]=rK(c[y>>2]<<2)|0;c[u>>2]=rK((_(c[x>>2]|0,c[y>>2]|0)|0)<<2)|0;c[H>>2]=rK(c[y>>2]<<2)|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[y>>2]|0))break;t=(c[u>>2]|0)+((_(c[Y>>2]|0,c[x>>2]|0)|0)<<2)|0;c[(c[H>>2]|0)+(c[Y>>2]<<2)>>2]=t;c[Y>>2]=(c[Y>>2]|0)+1}b=M2()|0;c[ia>>2]=(b|0)%(c[x>>2]|0)|0;c[(c[G>>2]|0)+(c[ia>>2]<<2)>>2]=0;c[c[$>>2]>>2]=c[ia>>2];b=c[ia>>2]|0;m=c[w>>2]|0;p=c[x>>2]|0;k=c[c[H>>2]>>2]|0;if(c[D>>2]|0)Or(b,m,p,k);else $q(b,m,p,k,J);c[v>>2]=0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[x>>2]|0))break;c[(c[S>>2]|0)+(c[Y>>2]<<2)>>2]=c[(c[c[H>>2]>>2]|0)+(c[Y>>2]<<2)>>2];if((c[(c[S>>2]|0)+(c[Y>>2]<<2)>>2]|0)>(c[v>>2]|0)){c[ia>>2]=c[Y>>2];c[v>>2]=c[(c[S>>2]|0)+(c[Y>>2]<<2)>>2]}c[Y>>2]=(c[Y>>2]|0)+1}c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[y>>2]|0))break a;c[(c[G>>2]|0)+(c[ia>>2]<<2)>>2]=c[Y>>2];c[(c[$>>2]|0)+(c[Y>>2]<<2)>>2]=c[ia>>2];k=c[ia>>2]|0;p=c[w>>2]|0;m=c[x>>2]|0;b=c[(c[H>>2]|0)+(c[Y>>2]<<2)>>2]|0;if(c[D>>2]|0)Or(k,p,m,b);else $q(k,p,m,b,J);c[v>>2]=0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(c[x>>2]|0))break;b=c[ca>>2]|0;if((c[(c[S>>2]|0)+(c[ca>>2]<<2)>>2]|0)<(c[(c[(c[H>>2]|0)+(c[Y>>2]<<2)>>2]|0)+(c[ca>>2]<<2)>>2]|0))b=c[(c[S>>2]|0)+(b<<2)>>2]|0;else b=c[(c[(c[H>>2]|0)+(c[Y>>2]<<2)>>2]|0)+(b<<2)>>2]|0;c[(c[S>>2]|0)+(c[ca>>2]<<2)>>2]=b;if((c[(c[S>>2]|0)+(c[ca>>2]<<2)>>2]|0)<=(c[v>>2]|0)){if((c[(c[S>>2]|0)+(c[ca>>2]<<2)>>2]|0)==(c[v>>2]|0)?(u=M2()|0,((u|0)%((c[ca>>2]|0)+1|0)|0|0)==0):0)ta=37}else ta=37;if((ta|0)==37){ta=0;c[ia>>2]=c[ca>>2];c[v>>2]=c[(c[S>>2]|0)+(c[ca>>2]<<2)>>2]}c[ca>>2]=(c[ca>>2]|0)+1}c[Y>>2]=(c[Y>>2]|0)+1}}while(0);c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[x>>2]|0))break;c[(c[S>>2]|0)+(c[Y>>2]<<2)>>2]=-1;c[Y>>2]=(c[Y>>2]|0)+1}c[sa>>2]=rK(c[x>>2]<<2)|0;c[V>>2]=rK(c[x>>2]<<4)|0;c[K>>2]=0;c[ga>>2]=0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[x>>2]|0))break;b:do if((c[(c[G>>2]|0)+(c[Y>>2]<<2)>>2]|0)>=0){v=rK((c[x>>2]|0)-1<<2)|0;c[(c[V>>2]|0)+(c[Y>>2]<<4)+4>>2]=v;v=rK((c[x>>2]|0)-1<<2)|0;c[(c[V>>2]|0)+(c[Y>>2]<<4)+8>>2]=v;c[(c[V>>2]|0)+(c[Y>>2]<<4)>>2]=(c[x>>2]|0)-1;c[ga>>2]=(c[ga>>2]|0)+((c[x>>2]|0)-1);a[(c[V>>2]|0)+(c[Y>>2]<<4)+12>>0]=1;c[Z>>2]=c[(c[G>>2]|0)+(c[Y>>2]<<2)>>2];c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(c[Y>>2]|0))break;c[(c[(c[V>>2]|0)+(c[Y>>2]<<4)+4>>2]|0)+(c[ca>>2]<<2)>>2]=c[ca>>2];c[(c[(c[V>>2]|0)+(c[Y>>2]<<4)+8>>2]|0)+(c[ca>>2]<<2)>>2]=c[(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[ca>>2]<<2)>>2];c[ca>>2]=(c[ca>>2]|0)+1}c[ca>>2]=(c[Y>>2]|0)+1;while(1){if((c[ca>>2]|0)>=(c[x>>2]|0))break b;c[(c[(c[V>>2]|0)+(c[Y>>2]<<4)+4>>2]|0)+((c[ca>>2]|0)-1<<2)>>2]=c[ca>>2];c[(c[(c[V>>2]|0)+(c[Y>>2]<<4)+8>>2]|0)+((c[ca>>2]|0)-1<<2)>>2]=c[(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[ca>>2]<<2)>>2];c[ca>>2]=(c[ca>>2]|0)+1}}else{c:do if((c[F>>2]|0)>0){k=c[Y>>2]|0;p=c[w>>2]|0;m=c[x>>2]|0;b=c[S>>2]|0;r=c[F>>2]|0;f=c[sa>>2]|0;if(c[D>>2]|0)c[ka>>2]=Pr(k,p,m,b,r,f)|0;else c[ka>>2]=dr(k,p,m,b,J,r,f)|0;c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(c[ka>>2]|0))break c;if((c[(c[G>>2]|0)+(c[(c[sa>>2]|0)+(c[ca>>2]<<2)>>2]<<2)>>2]|0)<0?(c[(c[sa>>2]|0)+(c[ca>>2]<<2)>>2]|0)!=(c[Y>>2]|0):0){c[ca>>2]=(c[ca>>2]|0)+1;continue}c[(c[S>>2]|0)+(c[(c[sa>>2]|0)+(c[ca>>2]<<2)>>2]<<2)>>2]=-1;v=(c[ka>>2]|0)+-1|0;c[ka>>2]=v;c[(c[sa>>2]|0)+(c[ca>>2]<<2)>>2]=c[(c[sa>>2]|0)+(v<<2)>>2]}}else c[ka>>2]=0;while(0);c[ja>>2]=(c[ka>>2]|0)+(c[y>>2]|0);if((c[ja>>2]|0)>(c[K>>2]|0)){c[K>>2]=_((c[F>>2]|0)+1|0,c[x>>2]|0)|0;c[na>>2]=rK(c[K>>2]<<2)|0;c[oa>>2]=rK(c[K>>2]<<2)|0;a[(c[V>>2]|0)+(c[Y>>2]<<4)+12>>0]=1}else a[(c[V>>2]|0)+(c[Y>>2]<<4)+12>>0]=0;c[(c[V>>2]|0)+(c[Y>>2]<<4)+4>>2]=c[na>>2];c[(c[V>>2]|0)+(c[Y>>2]<<4)+8>>2]=c[oa>>2];c[(c[V>>2]|0)+(c[Y>>2]<<4)>>2]=c[ja>>2];c[ga>>2]=(c[ga>>2]|0)+(c[ja>>2]|0);c[ca>>2]=0;while(1){if((c[ca>>2]|0)>=(c[ka>>2]|0))break;c[(c[na>>2]|0)+(c[ca>>2]<<2)>>2]=c[(c[sa>>2]|0)+(c[ca>>2]<<2)>>2];c[(c[oa>>2]|0)+(c[ca>>2]<<2)>>2]=c[(c[S>>2]|0)+(c[(c[sa>>2]|0)+(c[ca>>2]<<2)>>2]<<2)>>2];c[(c[S>>2]|0)+(c[(c[sa>>2]|0)+(c[ca>>2]<<2)>>2]<<2)>>2]=-1;c[ca>>2]=(c[ca>>2]|0)+1}c[ca>>2]=c[ka>>2];while(1){if((c[ca>>2]|0)>=(c[ja>>2]|0))break;c[Z>>2]=(c[ca>>2]|0)-(c[ka>>2]|0);c[(c[na>>2]|0)+(c[ca>>2]<<2)>>2]=c[(c[$>>2]|0)+(c[Z>>2]<<2)>>2];c[(c[oa>>2]|0)+(c[ca>>2]<<2)>>2]=c[(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)+(c[Y>>2]<<2)>>2];c[ca>>2]=(c[ca>>2]|0)+1}c[na>>2]=(c[na>>2]|0)+(c[ja>>2]<<2);c[oa>>2]=(c[oa>>2]|0)+(c[ja>>2]<<2);c[K>>2]=(c[K>>2]|0)-(c[ja>>2]|0)}while(0);c[Y>>2]=(c[Y>>2]|0)+1}B1(c[S>>2]|0);B1(c[sa>>2]|0);if(c[H>>2]|0){B1(c[c[H>>2]>>2]|0);B1(c[H>>2]|0)}c[ea>>2]=rK((c[x>>2]|0)*20|0)|0;c[W>>2]=rK((c[ga>>2]|0)+(c[x>>2]|0)<<2)|0;c[X>>2]=rK((c[ga>>2]|0)+(c[x>>2]|0)<<2)|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[x>>2]|0))break;c[(c[ea>>2]|0)+((c[Y>>2]|0)*20|0)+4>>2]=c[W>>2];c[(c[ea>>2]|0)+((c[Y>>2]|0)*20|0)+8>>2]=c[X>>2];c[(c[ea>>2]|0)+((c[Y>>2]|0)*20|0)>>2]=(c[(c[V>>2]|0)+(c[Y>>2]<<4)>>2]|0)+1;c[U>>2]=(c[(c[V>>2]|0)+(c[Y>>2]<<4)+8>>2]|0)+-4;h[Q>>3]=0.0;sa=(c[C>>2]|0)==2;c[ca>>2]=1;d:do if(sa)while(1){if((c[ca>>2]|0)>=(c[(c[ea>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0))break d;c[(c[W>>2]|0)+(c[ca>>2]<<2)>>2]=c[(c[(c[V>>2]|0)+(c[Y>>2]<<4)+4>>2]|0)+((c[ca>>2]|0)-1<<2)>>2];g[(c[X>>2]|0)+(c[ca>>2]<<2)>>2]=-1.0/(+(c[(c[U>>2]|0)+(c[ca>>2]<<2)>>2]|0)*+(c[(c[U>>2]|0)+(c[ca>>2]<<2)>>2]|0));h[Q>>3]=+h[Q>>3]-+g[(c[X>>2]|0)+(c[ca>>2]<<2)>>2];c[ca>>2]=(c[ca>>2]|0)+1}else while(1){if((c[ca>>2]|0)>=(c[(c[ea>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0))break d;c[(c[W>>2]|0)+(c[ca>>2]<<2)>>2]=c[(c[(c[V>>2]|0)+(c[Y>>2]<<4)+4>>2]|0)+((c[ca>>2]|0)-1<<2)>>2];g[(c[X>>2]|0)+(c[ca>>2]<<2)>>2]=-1.0/+(c[(c[U>>2]|0)+(c[ca>>2]<<2)>>2]|0);h[Q>>3]=+h[Q>>3]-+g[(c[X>>2]|0)+(c[ca>>2]<<2)>>2];c[ca>>2]=(c[ca>>2]|0)+1}while(0);c[c[W>>2]>>2]=c[Y>>2];g[c[X>>2]>>2]=+h[Q>>3];c[W>>2]=(c[W>>2]|0)+(c[(c[ea>>2]|0)+((c[Y>>2]|0)*20|0)>>2]<<2);c[X>>2]=(c[X>>2]|0)+(c[(c[ea>>2]|0)+((c[Y>>2]|0)*20|0)>>2]<<2);c[Y>>2]=(c[Y>>2]|0)+1}c[R>>2]=rK(c[A>>2]<<2)|0;sa=rK((_(c[A>>2]|0,c[qa>>2]|0)|0)<<3)|0;c[c[R>>2]>>2]=sa;c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[A>>2]|0))break;sa=(c[c[R>>2]>>2]|0)+((_(c[Y>>2]|0,c[qa>>2]|0)|0)<<3)|0;c[(c[R>>2]|0)+(c[Y>>2]<<2)>>2]=sa;c[Y>>2]=(c[Y>>2]|0)+1}sa=(c[B>>2]|0)!=0;c[da>>2]=0;e:do if(sa){while(1){if((c[da>>2]|0)>=(c[A>>2]|0))break;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[qa>>2]|0))break;h[(c[(c[R>>2]|0)+(c[da>>2]<<2)>>2]|0)+(c[Y>>2]<<3)>>3]=0.0;c[Y>>2]=(c[Y>>2]|0)+1}c[da>>2]=(c[da>>2]|0)+1}if((c[A>>2]|0)!=2){c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[A>>2]|0))break e;h[(c[(c[R>>2]|0)+(c[da>>2]<<2)>>2]|0)+(c[da>>2]<<3)>>3]=1.0;c[da>>2]=(c[da>>2]|0)+1}}h[c[c[R>>2]>>2]>>3]=1.0;if(!(($t(c[pa>>2]|0,c[qa>>2]|0,c[x>>2]|0,c[(c[R>>2]|0)+4>>2]|0)|0)<<24>>24)){c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[qa>>2]|0))break;h[(c[(c[R>>2]|0)+4>>2]|0)+(c[da>>2]<<3)>>3]=0.0;c[da>>2]=(c[da>>2]|0)+1}h[(c[(c[R>>2]|0)+4>>2]|0)+8>>3]=1.0}}else while(1){if((c[da>>2]|0)>=(c[A>>2]|0))break e;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[qa>>2]|0))break;va=+(M2()|0)/2147483647.0;h[(c[(c[R>>2]|0)+(c[da>>2]<<2)>>2]|0)+(c[Y>>2]<<3)>>3]=va;c[Y>>2]=(c[Y>>2]|0)+1}c[da>>2]=(c[da>>2]|0)+1}while(0);c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[A>>2]|0))break;Dt(c[pa>>2]|0,c[x>>2]|0,c[qa>>2]|0,c[(c[R>>2]|0)+(c[da>>2]<<2)>>2]|0,c[(c[z>>2]|0)+(c[da>>2]<<2)>>2]|0);c[da>>2]=(c[da>>2]|0)+1}c[ra>>2]=0;c[fa>>2]=0;st(c[ea>>2]|0,c[pa>>2]|0,c[x>>2]|0,c[qa>>2]|0,ra);qt(c[pa>>2]|0,c[ra>>2]|0,c[qa>>2]|0,c[x>>2]|0,c[qa>>2]|0,fa);B1(c[c[ra>>2]>>2]|0);B1(c[ra>>2]|0);c[L>>2]=rK(c[x>>2]<<3)|0;c[M>>2]=rK(c[qa>>2]<<3)|0;h[la>>3]=+an(c[z>>2]|0,c[V>>2]|0,c[A>>2]|0,c[x>>2]|0,c[C>>2]|0);a[P>>0]=0;c[aa>>2]=0;f:while(1){if((c[aa>>2]|0)>=(c[E>>2]|0))break;if(!((a[P>>0]|0)!=0^1))break;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[A>>2]|0))break;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[x>>2]|0))break;h[Q>>3]=0.0;h[(c[L>>2]|0)+(c[Y>>2]<<3)>>3]=0.0;c[U>>2]=(c[(c[V>>2]|0)+(c[Y>>2]<<4)+8>>2]|0)+-4;c[W>>2]=c[(c[ea>>2]|0)+((c[Y>>2]|0)*20|0)+4>>2];c[X>>2]=c[(c[ea>>2]|0)+((c[Y>>2]|0)*20|0)+8>>2];c[ca>>2]=1;while(1){if((c[ca>>2]|0)>=(c[(c[ea>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0))break;c[ia>>2]=c[(c[W>>2]|0)+(c[ca>>2]<<2)>>2];h[T>>3]=+Rs(c[z>>2]|0,c[A>>2]|0,c[Y>>2]|0,c[ia>>2]|0);if(+h[T>>3]>1.0e-30){h[I>>3]=-+g[(c[X>>2]|0)+(c[ca>>2]<<2)>>2]*+(c[(c[U>>2]|0)+(c[ca>>2]<<2)>>2]|0)/+h[T>>3];h[Q>>3]=+h[Q>>3]-+h[I>>3];sa=(c[L>>2]|0)+(c[Y>>2]<<3)|0;h[sa>>3]=+h[sa>>3]+ +h[I>>3]*+h[(c[(c[z>>2]|0)+(c[da>>2]<<2)>>2]|0)+(c[ia>>2]<<3)>>3]}c[ca>>2]=(c[ca>>2]|0)+1}sa=(c[L>>2]|0)+(c[Y>>2]<<3)|0;h[sa>>3]=+h[sa>>3]+ +h[Q>>3]*+h[(c[(c[z>>2]|0)+(c[da>>2]<<2)>>2]|0)+(c[Y>>2]<<3)>>3];c[Y>>2]=(c[Y>>2]|0)+1}pt(c[pa>>2]|0,c[qa>>2]|0,c[x>>2]|0,c[L>>2]|0,c[M>>2]|0);if(jr(c[fa>>2]|0,c[(c[R>>2]|0)+(c[da>>2]<<2)>>2]|0,c[M>>2]|0,c[qa>>2]|0,+h[O>>3],c[qa>>2]|0,0)|0){ta=124;break f}Dt(c[pa>>2]|0,c[x>>2]|0,c[qa>>2]|0,c[(c[R>>2]|0)+(c[da>>2]<<2)>>2]|0,c[(c[z>>2]|0)+(c[da>>2]<<2)>>2]|0);c[da>>2]=(c[da>>2]|0)+1}sa=((c[aa>>2]|0)%2|0|0)==0&255;a[P>>0]=sa;if(sa<<24>>24){h[ha>>3]=+an(c[z>>2]|0,c[V>>2]|0,c[A>>2]|0,c[x>>2]|0,c[C>>2]|0);va=+N(+(+h[ha>>3]-+h[la>>3]));a[P>>0]=va/(+h[ha>>3]+1.0e-10)<+h[4247];h[la>>3]=+h[ha>>3]}c[aa>>2]=(c[aa>>2]|0)+1}if((ta|0)==124)c[aa>>2]=-1;B1(c[M>>2]|0);B1(c[L>>2]|0);if(c[D>>2]|0)Qs(c[w>>2]|0,c[x>>2]|0,c[ma>>2]|0);c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[x>>2]|0))break;if(a[(c[V>>2]|0)+(c[Y>>2]<<4)+12>>0]|0){B1(c[(c[V>>2]|0)+(c[Y>>2]<<4)+4>>2]|0);B1(c[(c[V>>2]|0)+(c[Y>>2]<<4)+8>>2]|0)}c[Y>>2]=(c[Y>>2]|0)+1}B1(c[V>>2]|0);B1(c[(c[ea>>2]|0)+4>>2]|0);B1(c[(c[ea>>2]|0)+8>>2]|0);B1(c[ea>>2]|0);B1(c[G>>2]|0);B1(c[$>>2]|0);B1(c[c[R>>2]>>2]|0);B1(c[R>>2]|0);if(!(c[fa>>2]|0)){ta=c[pa>>2]|0;ta=c[ta>>2]|0;B1(ta);ta=c[pa>>2]|0;B1(ta);fr(J);ta=c[aa>>2]|0;i=ua;return ta|0}B1(c[c[fa>>2]>>2]|0);B1(c[fa>>2]|0);ta=c[pa>>2]|0;ta=c[ta>>2]|0;B1(ta);ta=c[pa>>2]|0;B1(ta);fr(J);ta=c[aa>>2]|0;i=ua;return ta|0}function $m(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var k=0.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=i;i=i+64|0;if((i|0)>=(j|0))ba();l=y+60|0;m=y+56|0;n=y+52|0;o=y+48|0;p=y+44|0;t=y+40|0;u=y+36|0;v=y+32|0;w=y+28|0;r=y+24|0;x=y+16|0;s=y+8|0;q=y;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;h[x>>3]=0.0;c[r>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=((c[o>>2]|0)-1|0))break;c[r>>2]=(c[r>>2]|0)+1;c[u>>2]=1;while(1){if((c[u>>2]|0)>=((c[o>>2]|0)-(c[t>>2]|0)|0))break;h[s>>3]=0.0;c[w>>2]=(c[t>>2]|0)+(c[u>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[n>>2]|0))break;h[s>>3]=+h[s>>3]+(+g[(c[(c[l>>2]|0)+(c[v>>2]<<2)>>2]|0)+(c[t>>2]<<2)>>2]-+g[(c[(c[l>>2]|0)+(c[v>>2]<<2)>>2]|0)+(c[w>>2]<<2)>>2])*(+g[(c[(c[l>>2]|0)+(c[v>>2]<<2)>>2]|0)+(c[t>>2]<<2)>>2]-+g[(c[(c[l>>2]|0)+(c[v>>2]<<2)>>2]|0)+(c[w>>2]<<2)>>2]);c[v>>2]=(c[v>>2]|0)+1}h[s>>3]=+O(+(+h[s>>3]));k=+g[(c[m>>2]|0)+(c[r>>2]<<2)>>2];if((c[p>>2]|0)==2){h[q>>3]=1.0/+O(+k);h[x>>3]=+h[x>>3]+(+h[q>>3]-+h[s>>3])*(+h[q>>3]-+h[s>>3])*+g[(c[m>>2]|0)+(c[r>>2]<<2)>>2]}else{h[q>>3]=1.0/k;h[x>>3]=+h[x>>3]+(+h[q>>3]-+h[s>>3])*(+h[q>>3]-+h[s>>3])*+g[(c[m>>2]|0)+(c[r>>2]<<2)>>2]}c[u>>2]=(c[u>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}i=y;return +(+h[x>>3])}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,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.0;u=i;i=i+64|0;if((i|0)>=(j|0))ba();g=u+56|0;k=u+52|0;l=u+48|0;m=u+44|0;v=u+40|0;p=u+36|0;q=u+32|0;r=u+28|0;s=u+24|0;t=u+16|0;o=u+8|0;n=u;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[v>>2]=f;h[t>>3]=0.0;e=(c[v>>2]|0)==2;c[p>>2]=0;if(e){while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+(c[p>>2]<<4)>>2]|0))break;c[s>>2]=c[(c[(c[k>>2]|0)+(c[p>>2]<<4)+4>>2]|0)+(c[q>>2]<<2)>>2];if((c[s>>2]|0)>(c[p>>2]|0)){h[o>>3]=0.0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[l>>2]|0))break;h[o>>3]=+h[o>>3]+(+h[(c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0)+(c[p>>2]<<3)>>3]-+h[(c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0)+(c[s>>2]<<3)>>3])*(+h[(c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0)+(c[p>>2]<<3)>>3]-+h[(c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0)+(c[s>>2]<<3)>>3]);c[r>>2]=(c[r>>2]|0)+1}h[o>>3]=+O(+(+h[o>>3]));h[n>>3]=+(c[(c[(c[k>>2]|0)+(c[p>>2]<<4)+8>>2]|0)+(c[q>>2]<<2)>>2]|0);h[t>>3]=+h[t>>3]+(+h[n>>3]-+h[o>>3])*(+h[n>>3]-+h[o>>3])/(+h[n>>3]*+h[n>>3])}c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}w=+h[t>>3];i=u;return +w}else{while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+(c[p>>2]<<4)>>2]|0))break;c[s>>2]=c[(c[(c[k>>2]|0)+(c[p>>2]<<4)+4>>2]|0)+(c[q>>2]<<2)>>2];if((c[s>>2]|0)>(c[p>>2]|0)){h[o>>3]=0.0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[l>>2]|0))break;h[o>>3]=+h[o>>3]+(+h[(c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0)+(c[p>>2]<<3)>>3]-+h[(c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0)+(c[s>>2]<<3)>>3])*(+h[(c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0)+(c[p>>2]<<3)>>3]-+h[(c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0)+(c[s>>2]<<3)>>3]);c[r>>2]=(c[r>>2]|0)+1}h[o>>3]=+O(+(+h[o>>3]));h[n>>3]=+(c[(c[(c[k>>2]|0)+(c[p>>2]<<4)+8>>2]|0)+(c[q>>2]<<2)>>2]|0);h[t>>3]=+h[t>>3]+(+h[n>>3]-+h[o>>3])*(+h[n>>3]-+h[o>>3])/+h[n>>3]}c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}w=+h[t>>3];i=u;return +w}return 0.0}function bn(a){a=+a;var b=0,c=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c=b;h[c>>3]=a;h[c>>3]=+O(+(+h[c>>3]));i=b;return +(+h[c>>3]*+h[c>>3]*+h[c>>3])}function cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;l=m+8|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;h[k>>3]=0.0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[13799]|0))break;h[(c[g>>2]|0)+(c[l>>2]<<3)>>3]=+h[(c[e>>2]|0)+(c[l>>2]<<3)>>3]-+h[(c[f>>2]|0)+(c[l>>2]<<3)>>3];h[k>>3]=+h[k>>3]+ +h[(c[g>>2]|0)+(c[l>>2]<<3)>>3]*+h[(c[g>>2]|0)+(c[l>>2]<<3)>>3];c[l>>2]=(c[l>>2]|0)+1}h[k>>3]=+O(+(+h[k>>3]));i=m;return +(+h[k>>3])}function dn(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();e=o+28|0;f=o+24|0;g=o;n=o+20|0;m=o+16|0;k=o+12|0;l=o+8|0;c[e>>2]=a;c[f>>2]=b;h[g>>3]=d;c[n>>2]=qK(c[e>>2]<<2)|0;c[m>>2]=qK((_(c[e>>2]|0,c[f>>2]|0)|0)<<3)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;c[(c[n>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[m>>2]=(c[m>>2]|0)+(c[f>>2]<<3);c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[f>>2]|0))break;h[(c[(c[n>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[l>>2]<<3)>>3]=+h[g>>3];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}i=o;return c[n>>2]|0}function en(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}B1(c[c[b>>2]>>2]|0);B1(c[b>>2]|0);i=d;return}function fn(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=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;w=i;i=i+80|0;if((i|0)>=(j|0))ba();r=w+16|0;t=w+64|0;u=w+60|0;k=w+56|0;v=w+52|0;m=w+48|0;f=w+44|0;p=w+40|0;n=w+36|0;s=w+32|0;o=w+28|0;q=w+8|0;g=w;l=w+24|0;c[t>>2]=b;c[u>>2]=d;h[q>>3]=0.0;h[g>>3]=1.0;if(a[139078]|0){d=c[24742]|0;x=MB(c[t>>2]|0)|0;b=AB(c[t>>2]|0)|0;c[r>>2]=x;c[r+4>>2]=b;p3(d,127080,r)|0}a:do if(a[139079]|0){c[n>>2]=pC(c[t>>2]|0)|0;while(1){if(!(c[n>>2]|0))break a;c[s>>2]=qC(c[t>>2]|0,c[n>>2]|0)|0;c[f>>2]=An(c[t>>2]|0,c[n>>2]|0,o)|0;if(c[f>>2]|0){if((c[f>>2]|0)==1){FC(c[(c[t>>2]|0)+48>>2]|0,c[n>>2]|0)|0;c[s>>2]=Bn(c[t>>2]|0,c[o>>2]|0,c[s>>2]|0)|0}}else FC(c[(c[t>>2]|0)+48>>2]|0,c[n>>2]|0)|0;c[n>>2]=c[s>>2]}}while(0);c[v>>2]=AB(c[t>>2]|0)|0;c[m>>2]=BB(c[t>>2]|0)|0;c[l>>2]=GA(c[t>>2]|0,2,129916,0)|0;b:do if(!(c[u>>2]|0)){h[4247]=+(c[v>>2]|0)*.0001;YJ(c[t>>2]|0,146663,33976);x=OA(c[(c[t>>2]|0)+48>>2]|0,127109)|0;c[p>>2]=x;if(x)h[4249]=+M3(c[p>>2]|0);else h[4249]=.99;x=qK((c[v>>2]|0)+1<<2)|0;c[(c[(c[t>>2]|0)+8>>2]|0)+152>>2]=x;c[k>>2]=0;c[n>>2]=pC(c[t>>2]|0)|0;while(1){if(!(c[n>>2]|0))break b;c[(c[(c[(c[t>>2]|0)+8>>2]|0)+152>>2]|0)+(c[k>>2]<<2)>>2]=c[n>>2];x=c[k>>2]|0;c[k>>2]=x+1;c[(c[(c[n>>2]|0)+8>>2]|0)+120>>2]=x;c[(c[(c[n>>2]|0)+8>>2]|0)+124>>2]=-1;e=+Cn(c[t>>2]|0,c[n>>2]|0,c[l>>2]|0,+h[g>>3]);h[q>>3]=+h[q>>3]+e;c[n>>2]=qC(c[t>>2]|0,c[n>>2]|0)|0}}else{h[4247]=.0001;YJ(c[t>>2]|0,146663,33976);c[k>>2]=0;c[n>>2]=pC(c[t>>2]|0)|0;while(1){if(!(c[n>>2]|0))break b;x=c[k>>2]|0;c[k>>2]=x+1;c[(c[(c[n>>2]|0)+8>>2]|0)+120>>2]=x;e=+Cn(c[t>>2]|0,c[n>>2]|0,c[l>>2]|0,+h[g>>3]);h[q>>3]=+h[q>>3]+e;c[n>>2]=qC(c[t>>2]|0,c[n>>2]|0)|0}}while(0);c[p>>2]=OA(c[t>>2]|0,127117)|0;if((c[p>>2]|0)!=0?(a[c[p>>2]>>0]|0)!=0:0){e=+h[4247];if(e>+M3(c[p>>2]|0))e=+h[4247];else e=+M3(c[p>>2]|0);h[4248]=e}else h[4248]=+h[q>>3]/+(((c[m>>2]|0)>0?c[m>>2]|0:1)|0)*+O(+(+(c[v>>2]|0)))+1.0;if(!((c[13795]|0)==0&(c[u>>2]|0)==0)){x=c[v>>2]|0;i=w;return x|0}x=dn(c[v>>2]|0,c[v>>2]|0,+h[4248])|0;c[(c[(c[t>>2]|0)+8>>2]|0)+160>>2]=x;x=dn(c[v>>2]|0,c[v>>2]|0,1.0)|0;c[(c[(c[t>>2]|0)+8>>2]|0)+164>>2]=x;x=dn(c[v>>2]|0,c[13799]|0,1.0)|0;c[(c[(c[t>>2]|0)+8>>2]|0)+168>>2]=x;x=Dn(c[v>>2]|0,c[v>>2]|0,c[13799]|0,0.0)|0;c[(c[(c[t>>2]|0)+8>>2]|0)+172>>2]=x;x=c[v>>2]|0;i=w;return x|0}function gn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=fn(c[d>>2]|0,0)|0;i=b;return a|0}function hn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;B1(c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]|0);if(c[13795]|0){i=d;return}en(c[(c[(c[b>>2]|0)+8>>2]|0)+160>>2]|0);en(c[(c[(c[b>>2]|0)+8>>2]|0)+164>>2]|0);en(c[(c[(c[b>>2]|0)+8>>2]|0)+168>>2]|0);En(c[(c[(c[b>>2]|0)+8>>2]|0)+172>>2]|0);c[(c[(c[b>>2]|0)+8>>2]|0)+172>>2]=0;i=d;return}function jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0.0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;l=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[l>>2];while(1){if((c[g>>2]|0)>=(c[13799]|0))break;m=+(c[f>>2]|0);m=m*+K2();h[(c[(c[(c[e>>2]|0)+8>>2]|0)+132>>2]|0)+(c[g>>2]<<3)>>3]=m;c[g>>2]=(c[g>>2]|0)+1}i=k;return}function kn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;jn(c[f>>2]|0,c[e>>2]|0,2);i=d;return}function ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;g=+(c[e>>2]|0);g=g*+K2();h[c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]>>3]=g;g=+(c[e>>2]|0);g=g*+K2();h[(c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=g;if((c[13799]|0)<=2){i=f;return}kn(c[d>>2]|0,c[e>>2]|0);i=f;return}function mn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+28|0;g=m+24|0;k=m+20|0;h=m+16|0;l=m+12|0;c[f>>2]=b;c[g>>2]=e;if(a[139078]|0)p3(c[24742]|0,127129,m)|0;c[k>>2]=Ol(c[f>>2]|0,c[g>>2]|0,2)|0;if((c[k>>2]|0)==1){i=m;return}if((c[k>>2]|0)==0&(c[12731]|0)==0){pA(0,127156,m+8|0)|0;c[12731]=1}c[h>>2]=0;while(1){e=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+152>>2]|0)+(c[h>>2]<<2)>>2]|0;c[l>>2]=e;if(!e)break;if((d[(c[(c[l>>2]|0)+8>>2]|0)+119>>0]|0)<=0)ln(c[l>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}i=m;return}function nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=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.0;v=i;i=i+160|0;if((i|0)>=(j|0))ba();s=v+104|0;l=v+148|0;m=v+144|0;p=v+140|0;q=v+136|0;r=v+132|0;o=v+88|0;e=v+128|0;f=v+124|0;n=v+8|0;k=v;t=v+120|0;u=v+116|0;g=v+112|0;c[l>>2]=b;c[m>>2]=d;if(a[139078]|0){p3(c[24742]|0,127205,v+96|0)|0;nO()}c[f>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+164>>2];c[e>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+160>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[p>>2]|0))break;h[k>>3]=1.0/(+h[(c[(c[e>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3]*+h[(c[(c[e>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3]);d=jB(c[l>>2]|0,c[(c[(c[(c[l>>2]|0)+8>>2]|0)+152>>2]|0)+(c[p>>2]<<2)>>2]|0,c[(c[(c[(c[l>>2]|0)+8>>2]|0)+152>>2]|0)+(c[q>>2]<<2)>>2]|0,0,0)|0;c[g>>2]=d;if(d)h[k>>3]=+h[k>>3]*+h[(c[(c[g>>2]|0)+8>>2]|0)+128>>3];w=+h[k>>3];h[(c[(c[f>>2]|0)+(c[q>>2]<<2)>>2]|0)+(c[p>>2]<<3)>>3]=w;h[(c[(c[f>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3]=w;c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[13799]|0))break;h[(c[(c[(c[(c[l>>2]|0)+8>>2]|0)+168>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[r>>2]<<3)>>3]=0.0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=0;while(1){d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+152>>2]|0)+(c[p>>2]<<2)>>2]|0;c[t>>2]=d;if(!d)break;c[q>>2]=0;while(1){e=c[p>>2]|0;if((c[q>>2]|0)>=(c[m>>2]|0))break;a:do if((e|0)!=(c[q>>2]|0)){c[u>>2]=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+152>>2]|0)+(c[q>>2]<<2)>>2];h[o>>3]=+cn(c[(c[(c[t>>2]|0)+8>>2]|0)+132>>2]|0,c[(c[(c[u>>2]|0)+8>>2]|0)+132>>2]|0,n);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[13799]|0))break a;h[(c[(c[(c[(c[(c[l>>2]|0)+8>>2]|0)+172>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[q>>2]<<2)>>2]|0)+(c[r>>2]<<3)>>3]=+h[(c[(c[(c[(c[l>>2]|0)+8>>2]|0)+164>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3]*(+h[n+(c[r>>2]<<3)>>3]-+h[(c[(c[(c[(c[l>>2]|0)+8>>2]|0)+160>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3]*+h[n+(c[r>>2]<<3)>>3]/+h[o>>3]);d=(c[(c[(c[(c[l>>2]|0)+8>>2]|0)+168>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[r>>2]<<3)|0;h[d>>3]=+h[d>>3]+ +h[(c[(c[(c[(c[(c[l>>2]|0)+8>>2]|0)+172>>2]|0)+(c[p>>2]<<2)>>2]|0)+(c[q>>2]<<2)>>2]|0)+(c[r>>2]<<3)>>3];c[r>>2]=(c[r>>2]|0)+1}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=e+1}if(!(a[139078]|0)){i=v;return}u=c[24742]|0;h[s>>3]=+oO();p3(u,127231,s)|0;i=v;return}function on(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();m=n+24|0;l=n+8|0;k=n;e=n+40|0;f=n+36|0;g=n+32|0;c[e>>2]=b;c[f>>2]=d;h[4139]=+h[4247]*+h[4247];while(1){d=pn(c[e>>2]|0,c[f>>2]|0)|0;c[g>>2]=d;if(!d)break;qn(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)}if(a[139078]|0){d=c[24742]|0;h[k>>3]=+Fn(c[e>>2]|0,c[f>>2]|0);p3(d,127241,k)|0;k=c[24742]|0;d=c[(c[(c[e>>2]|0)+8>>2]|0)+156>>2]|0;g=(c[(c[(c[e>>2]|0)+8>>2]|0)+156>>2]|0)==(c[13798]|0)?127255:178598;o=+oO();c[l>>2]=d;c[l+4>>2]=g;h[l+8>>3]=o;p3(k,127257,l)|0}if((c[(c[(c[e>>2]|0)+8>>2]|0)+156>>2]|0)!=(c[13798]|0)){i=n;return}k=c[13798]|0;l=MB(c[e>>2]|0)|0;c[m>>2]=k;c[m+4>>2]=l;pA(0,127284,m)|0;i=n;return}function pn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;if((i|0)>=(j|0))ba();r=s+24|0;q=s+16|0;e=s+52|0;f=s+48|0;g=s+44|0;l=s+40|0;m=s+36|0;n=s+8|0;o=s;k=s+32|0;p=s+28|0;c[f>>2]=a;c[g>>2]=b;c[12732]=(c[12732]|0)+1;if((c[(c[(c[f>>2]|0)+8>>2]|0)+156>>2]|0)>=(c[13798]|0)){c[e>>2]=0;r=c[e>>2]|0;i=s;return r|0}h[o>>3]=0.0;c[k>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;c[p>>2]=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+152>>2]|0)+(c[l>>2]<<2)>>2];if((d[(c[(c[p>>2]|0)+8>>2]|0)+119>>0]|0|0)<=1){h[n>>3]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[13799]|0))break;h[n>>3]=+h[n>>3]+ +h[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+168>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]*+h[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+168>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}if(+h[n>>3]>+h[o>>3]){c[k>>2]=c[p>>2];h[o>>3]=+h[n>>3]}}c[l>>2]=(c[l>>2]|0)+1}if(!(+h[o>>3]<+h[4139])){if(((d[139078]|0|0)!=0?((c[12732]|0)%100|0|0)==0:0)?(p=c[24742]|0,h[q>>3]=+O(+(+h[o>>3])),p3(p,127326,q)|0,((c[12732]|0)%1e3|0|0)==0):0)p3(c[24742]|0,193472,r)|0}else c[k>>2]=0;c[e>>2]=c[k>>2];r=c[e>>2]|0;i=s;return r|0}function qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();n=o+8|0;e=o+40|0;f=o+36|0;g=o+32|0;k=o+28|0;l=o+24|0;m=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+120>>2];if(c[12733]|0)a=tK(c[12733]|0,(_(c[13799]|0,c[13799]|0)|0)<<3)|0;else a=rK((_(c[13799]|0,c[13799]|0)|0)<<3)|0;c[12733]=a;sn(c[e>>2]|0,c[f>>2]|0,c[l>>2]|0,c[12733]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[13799]|0))break;h[33120+(c[k>>2]<<3)>>3]=-+h[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+168>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}Ju(c[12733]|0,33200,33120,c[13799]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[13799]|0))break;q=+h[4249];p=(1.0-+h[4249])*2.0;p=q+p*+K2();h[33200+(c[k>>2]<<3)>>3]=p*+h[33200+(c[k>>2]<<3)>>3];b=(c[(c[(c[g>>2]|0)+8>>2]|0)+132>>2]|0)+(c[k>>2]<<3)|0;h[b>>3]=+h[b>>3]+ +h[33200+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}b=(c[(c[e>>2]|0)+8>>2]|0)+156|0;c[b>>2]=(c[b>>2]|0)+1;rn(c[e>>2]|0,c[f>>2]|0,c[l>>2]|0);if(!(LO()|0)){i=o;return}h[m>>3]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[13799]|0))break;q=+N(+(+h[33200+(c[k>>2]<<3)>>3]));h[m>>3]=+h[m>>3]+q;c[k>>2]=(c[k>>2]|0)+1}h[m>>3]=+O(+(+h[m>>3]));l=c[24742]|0;k=MB(c[g>>2]|0)|0;q=+h[m>>3];c[n>>2]=k;h[n+8>>3]=q;p3(l,127332,n)|0;i=o;return}function rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+128|0;if((i|0)>=(j|0))ba();e=r+120|0;f=r+116|0;g=r+112|0;m=r+108|0;n=r+104|0;k=r+16|0;l=r+8|0;o=r;p=r+100|0;q=r+96|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[p>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+152>>2]|0)+(c[g>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[13799]|0))break;h[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+168>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3]=0.0;c[n>>2]=(c[n>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;a:do if((c[g>>2]|0)!=(c[m>>2]|0)){c[q>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+152>>2]|0)+(c[m>>2]<<2)>>2];h[l>>3]=+cn(c[(c[(c[p>>2]|0)+8>>2]|0)+132>>2]|0,c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]|0,k);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[13799]|0))break a;h[o>>3]=+h[(c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3];h[(c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3]=+h[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]*(+h[k+(c[n>>2]<<3)>>3]-+h[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+160>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]*+h[k+(c[n>>2]<<3)>>3]/+h[l>>3]);b=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+168>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[n>>2]<<3)|0;h[b>>3]=+h[b>>3]+ +h[(c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3];h[o>>3]=+h[(c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3];h[(c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3]=-+h[(c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3];b=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+168>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[n>>2]<<3)|0;h[b>>3]=+h[b>>3]+(+h[(c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3]-+h[o>>3]);c[n>>2]=(c[n>>2]|0)+1}}while(0);c[m>>2]=(c[m>>2]|0)+1}i=r;return}function sn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=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;y=i;i=i+144|0;if((i|0)>=(j|0))ba();k=y+136|0;l=y+132|0;m=y+128|0;n=y+124|0;q=y+120|0;s=y+116|0;r=y+112|0;w=y+108|0;x=y+104|0;t=y+88|0;u=y+80|0;v=y;p=y+100|0;o=y+96|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[p>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+164>>2];c[o>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+160>>2];c[x>>2]=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+152>>2]|0)+(c[m>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[13799]|0))break;c[r>>2]=0;while(1){a=c[s>>2]|0;if((c[r>>2]|0)>=(c[13799]|0))break;d=_(a,c[13799]|0)|0;h[(c[n>>2]|0)+(d+(c[r>>2]|0)<<3)>>3]=0.0;c[r>>2]=(c[r>>2]|0)+1}c[s>>2]=a+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;a:do if((c[m>>2]|0)!=(c[q>>2]|0)){c[w>>2]=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+152>>2]|0)+(c[q>>2]<<2)>>2];h[u>>3]=0.0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[13799]|0))break;h[v+(c[r>>2]<<3)>>3]=+h[(c[(c[(c[x>>2]|0)+8>>2]|0)+132>>2]|0)+(c[r>>2]<<3)>>3]-+h[(c[(c[(c[w>>2]|0)+8>>2]|0)+132>>2]|0)+(c[r>>2]<<3)>>3];h[u>>3]=+h[u>>3]+ +h[v+(c[r>>2]<<3)>>3]*+h[v+(c[r>>2]<<3)>>3];c[r>>2]=(c[r>>2]|0)+1}h[t>>3]=1.0/+bn(+h[u>>3]);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[13799]|0))break a;c[s>>2]=0;while(1){f=+h[(c[(c[p>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3];g=+h[(c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3];if((c[s>>2]|0)>=(c[r>>2]|0))break;d=_(c[s>>2]|0,c[13799]|0)|0;d=(c[n>>2]|0)+(d+(c[r>>2]|0)<<3)|0;h[d>>3]=+h[d>>3]+f*g*+h[v+(c[r>>2]<<3)>>3]*+h[v+(c[s>>2]<<3)>>3]*+h[t>>3];c[s>>2]=(c[s>>2]|0)+1}d=_(c[r>>2]|0,c[13799]|0)|0;d=(c[n>>2]|0)+(d+(c[r>>2]|0)<<3)|0;h[d>>3]=+h[d>>3]+f*(1.0-g*(+h[u>>3]-+h[v+(c[r>>2]<<3)>>3]*+h[v+(c[r>>2]<<3)>>3])*+h[t>>3]);c[r>>2]=(c[r>>2]|0)+1}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[r>>2]=1;while(1){if((c[r>>2]|0)>=(c[13799]|0))break;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[r>>2]|0))break;w=_(c[s>>2]|0,c[13799]|0)|0;x=_(c[r>>2]|0,c[13799]|0)|0;h[(c[n>>2]|0)+(x+(c[s>>2]|0)<<3)>>3]=+h[(c[n>>2]|0)+(w+(c[r>>2]|0)<<3)>>3];c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}i=y;return}function tn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[d>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+124>>2];while(1){if((c[d>>2]|0)<=0){b=5;break}c[e>>2]=((c[d>>2]|0)-1|0)/2|0;c[f>>2]=c[(c[12734]|0)+(c[e>>2]<<2)>>2];if(+h[(c[(c[f>>2]|0)+8>>2]|0)+136>>3]<=+h[(c[(c[b>>2]|0)+8>>2]|0)+136>>3]){b=5;break}c[(c[12734]|0)+(c[e>>2]<<2)>>2]=c[b>>2];c[(c[(c[b>>2]|0)+8>>2]|0)+124>>2]=c[e>>2];c[(c[12734]|0)+(c[d>>2]<<2)>>2]=c[f>>2];c[(c[(c[f>>2]|0)+8>>2]|0)+124>>2]=c[d>>2];c[d>>2]=c[e>>2]}if((b|0)==5){i=g;return}}function un(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();b=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;d=l+4|0;k=l;c[b>>2]=a;c[e>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+124>>2];while(1){a=(c[e>>2]<<1)+1|0;c[f>>2]=a;if((a|0)>=(c[12735]|0)){b=9;break}c[g>>2]=(c[f>>2]|0)+1;if((c[g>>2]|0)<(c[12735]|0)?+h[(c[(c[(c[12734]|0)+(c[g>>2]<<2)>>2]|0)+8>>2]|0)+136>>3]<+h[(c[(c[(c[12734]|0)+(c[f>>2]<<2)>>2]|0)+8>>2]|0)+136>>3]:0)c[d>>2]=c[g>>2];else c[d>>2]=c[f>>2];c[k>>2]=c[(c[12734]|0)+(c[d>>2]<<2)>>2];if(+h[(c[(c[b>>2]|0)+8>>2]|0)+136>>3]<=+h[(c[(c[k>>2]|0)+8>>2]|0)+136>>3]){b=9;break}c[(c[12734]|0)+(c[d>>2]<<2)>>2]=c[b>>2];c[(c[(c[b>>2]|0)+8>>2]|0)+124>>2]=c[d>>2];c[(c[12734]|0)+(c[e>>2]<<2)>>2]=c[k>>2];c[(c[(c[k>>2]|0)+8>>2]|0)+124>>2]=c[e>>2];c[e>>2]=c[d>>2]}if((b|0)==9){i=l;return}}function vn(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;if((c[(c[(c[b>>2]|0)+8>>2]|0)+124>>2]|0)>=0)db(127341,127361,645,127369);a=c[12735]|0;c[12735]=a+1;c[d>>2]=a;c[(c[(c[b>>2]|0)+8>>2]|0)+124>>2]=c[d>>2];c[(c[12734]|0)+(c[d>>2]<<2)>>2]=c[b>>2];if((c[d>>2]|0)<=0){i=e;return}tn(c[b>>2]|0);i=e;return}function wn(){var a=0,b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();a=f+12|0;b=f+8|0;d=f+4|0;e=f;if(!(c[12735]|0)){c[a>>2]=0;e=c[a>>2]|0;i=f;return e|0}c[d>>2]=c[c[12734]>>2];g=(c[12735]|0)+-1|0;c[12735]=g;c[b>>2]=g;c[e>>2]=c[(c[12734]|0)+(c[b>>2]<<2)>>2];c[c[12734]>>2]=c[e>>2];c[(c[(c[e>>2]|0)+8>>2]|0)+124>>2]=0;if((c[b>>2]|0)>1)un(c[e>>2]|0);c[(c[(c[d>>2]|0)+8>>2]|0)+124>>2]=-1;c[a>>2]=c[d>>2];g=c[a>>2]|0;i=f;return g|0}function xn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();g=k+8|0;e=k+24|0;l=k+20|0;f=k+16|0;c[e>>2]=b;c[l>>2]=d;c[12734]=qK((c[l>>2]|0)+1<<2)|0;if(a[139078]|0){p3(c[24742]|0,127383,k)|0;nO()}c[f>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;yn(c[e>>2]|0,c[f>>2]|0);c[f>>2]=qC(c[e>>2]|0,c[f>>2]|0)|0}if(!(a[139078]|0)){l=c[12734]|0;B1(l);i=k;return}l=c[24742]|0;h[g>>3]=+oO();p3(l,127231,g)|0;l=c[12734]|0;B1(l);i=k;return}function yn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();d=n+28|0;e=n+24|0;m=n+20|0;l=n+16|0;f=n+12|0;k=n+8|0;g=n;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;while(1){b=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+152>>2]|0)+(c[k>>2]<<2)>>2]|0;c[m>>2]=b;if(!b)break;h[(c[(c[m>>2]|0)+8>>2]|0)+136>>3]=+h[4248];c[k>>2]=(c[k>>2]|0)+1}c[12736]=c[e>>2];h[(c[(c[12736]|0)+8>>2]|0)+136>>3]=0.0;c[(c[(c[12736]|0)+8>>2]|0)+128>>2]=0;vn(c[12736]|0);a:while(1){k=wn()|0;c[m>>2]=k;if(!k)break;if((c[m>>2]|0)!=(c[12736]|0))zn(c[d>>2]|0,c[12736]|0,c[m>>2]|0,+h[(c[(c[m>>2]|0)+8>>2]|0)+136>>3]);c[f>>2]=hB(c[d>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[f>>2]|0))continue a;k=c[f>>2]|0;k=c[((c[c[f>>2]>>2]&3|0)==3?k:k+32|0)+28>>2]|0;c[l>>2]=k;if((k|0)==(c[m>>2]|0)){k=c[f>>2]|0;c[l>>2]=c[((c[c[f>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]}h[g>>3]=+h[(c[(c[m>>2]|0)+8>>2]|0)+136>>3]+ +h[(c[(c[f>>2]|0)+8>>2]|0)+136>>3];do if(+h[(c[(c[l>>2]|0)+8>>2]|0)+136>>3]>+h[g>>3]){h[(c[(c[l>>2]|0)+8>>2]|0)+136>>3]=+h[g>>3];if((c[(c[(c[l>>2]|0)+8>>2]|0)+124>>2]|0)>=0){tn(c[l>>2]|0);break}else{c[(c[(c[l>>2]|0)+8>>2]|0)+128>>2]=(c[(c[(c[m>>2]|0)+8>>2]|0)+128>>2]|0)+1;vn(c[l>>2]|0);break}}while(0);c[f>>2]=iB(c[d>>2]|0,c[f>>2]|0,c[m>>2]|0)|0}}i=n;return}function zn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();l=f+24|0;o=f+20|0;n=f+16|0;m=f;k=f+12|0;g=f+8|0;c[l>>2]=a;c[o>>2]=b;c[n>>2]=d;h[m>>3]=e;c[k>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+120>>2];c[g>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+120>>2];e=+h[m>>3];h[(c[(c[(c[(c[l>>2]|0)+8>>2]|0)+160>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[k>>2]<<3)>>3]=e;h[(c[(c[(c[(c[l>>2]|0)+8>>2]|0)+160>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[g>>2]<<3)>>3]=e;i=f;return}function An(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();l=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;k=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;c[k>>2]=0;c[h>>2]=hB(c[e>>2]|0,c[f>>2]|0)|0;a:while(1){if(!(c[h>>2]|0)){b=15;break}a=c[h>>2]|0;d=c[h>>2]|0;do if((c[((c[c[h>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)!=(c[((c[c[h>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)){b=c[h>>2]|0;b=(c[((c[c[h>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)==(c[f>>2]|0);if((c[m>>2]|0)==1){if(b?(d=c[h>>2]|0,(c[((c[c[h>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)==(c[k>>2]|0)):0)break;d=c[h>>2]|0;if((c[((c[c[h>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)!=(c[k>>2]|0)){b=9;break a}d=c[h>>2]|0;if((c[((c[c[h>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)==(c[f>>2]|0))break;else{b=9;break a}}else{a=c[c[h>>2]>>2]&3;if(b){d=c[h>>2]|0;c[k>>2]=c[((a|0)==2?d:d+-32|0)+28>>2]}else{d=c[h>>2]|0;c[k>>2]=c[((a|0)==3?d:d+32|0)+28>>2]}c[c[g>>2]>>2]=c[k>>2];c[m>>2]=(c[m>>2]|0)+1;break}}while(0);c[h>>2]=iB(c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0}if((b|0)==9){c[l>>2]=2;m=c[l>>2]|0;i=n;return m|0}else if((b|0)==15){c[l>>2]=c[m>>2];m=c[l>>2]|0;i=n;return m|0}return 0}function Bn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=An(c[e>>2]|0,c[f>>2]|0,k)|0;if(!(c[h>>2]|0)){if((c[g>>2]|0)==(c[f>>2]|0))c[g>>2]=qC(c[e>>2]|0,c[f>>2]|0)|0;FC(c[(c[e>>2]|0)+48>>2]|0,c[f>>2]|0)|0;c[f>>2]=0;continue}if((c[h>>2]|0)!=1){c[f>>2]=0;continue}if((c[g>>2]|0)==(c[f>>2]|0))c[g>>2]=qC(c[e>>2]|0,c[f>>2]|0)|0;FC(c[(c[e>>2]|0)+48>>2]|0,c[f>>2]|0)|0;c[f>>2]=c[k>>2]}i=l;return c[g>>2]|0}function Cn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();p=q+24|0;f=q+56|0;r=q+52|0;g=q+48|0;k=q+16|0;l=q+44|0;o=q+8|0;n=q;m=q+40|0;c[f>>2]=a;c[r>>2]=b;c[g>>2]=d;h[k>>3]=e;h[o>>3]=0.0;c[l>>2]=cB(c[f>>2]|0,c[r>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;r=Gn(c[l>>2]|0,c[g>>2]|0,n)|0;c[m>>2]=r;if(r){if((c[m>>2]|0)==2){r=MB(c[f>>2]|0)|0;e=+h[k>>3];c[p>>2]=r;h[p+8>>3]=e;pA(3,127412,p)|0}h[n>>3]=+h[k>>3]}h[(c[(c[l>>2]|0)+8>>2]|0)+136>>3]=+h[n>>3];h[o>>3]=+h[o>>3]+ +h[n>>3];c[l>>2]=eB(c[f>>2]|0,c[l>>2]|0)|0}i=q;return +(+h[o>>3])}function Dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();f=q+32|0;g=q+28|0;k=q+24|0;l=q;p=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;h[l>>3]=e;c[p>>2]=qK((c[f>>2]|0)+1<<2)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;d=qK((c[g>>2]|0)+1<<2)|0;c[(c[p>>2]|0)+(c[m>>2]<<2)>>2]=d;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[g>>2]|0))break;d=qK(c[k>>2]<<3)|0;c[(c[(c[p>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[n>>2]<<2)>>2]=d;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;h[(c[(c[(c[p>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[n>>2]<<2)>>2]|0)+(c[o>>2]<<3)>>3]=+h[l>>3];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}c[(c[(c[p>>2]|0)+(c[m>>2]<<2)>>2]|0)+(c[n>>2]<<2)>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[(c[p>>2]|0)+(c[m>>2]<<2)>>2]=0;i=q;return c[p>>2]|0}function En(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=0;while(1){if(!(c[(c[b>>2]|0)+(c[d>>2]<<2)>>2]|0))break;c[e>>2]=0;while(1){if(!(c[(c[(c[b>>2]|0)+(c[d>>2]<<2)>>2]|0)+(c[e>>2]<<2)>>2]|0))break;B1(c[(c[(c[b>>2]|0)+(c[d>>2]<<2)>>2]|0)+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}B1(c[(c[b>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}B1(c[b>>2]|0);i=f;return}function Fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();d=q+48|0;e=q+44|0;k=q+40|0;m=q+36|0;f=q+32|0;g=q+16|0;o=q+8|0;p=q;l=q+28|0;n=q+24|0;c[d>>2]=a;c[e>>2]=b;h[g>>3]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[e>>2]|0)-1|0))break;c[l>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+152>>2]|0)+(c[k>>2]<<2)>>2];c[m>>2]=(c[k>>2]|0)+1;while(1){if((c[m>>2]|0)>=(c[e>>2]|0))break;c[n>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+152>>2]|0)+(c[m>>2]<<2)>>2];h[o>>3]=0.0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[13799]|0))break;h[p>>3]=+h[(c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0)+(c[f>>2]<<3)>>3]-+h[(c[(c[(c[n>>2]|0)+8>>2]|0)+132>>2]|0)+(c[f>>2]<<3)>>3];h[o>>3]=+h[o>>3]+ +h[p>>3]*+h[p>>3];c[f>>2]=(c[f>>2]|0)+1}h[g>>3]=+h[g>>3]+ +h[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+164>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]*(+h[o>>3]+ +h[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+160>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]*+h[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+160>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]-+h[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+160>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]*2.0*+O(+(+h[o>>3])));c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}i=q;return +(+h[g>>3])}function Gn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();o=p+8|0;n=p;f=p+28|0;g=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[k>>2]|0)){c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}c[m>>2]=PA(c[g>>2]|0,c[k>>2]|0)|0;if(!(a[c[m>>2]>>0]|0)){c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}e=c[m>>2]|0;c[n>>2]=c[l>>2];if(((E3(e,139081,n)|0)>=1?!(+h[c[l>>2]>>3]<0.0):0)?((c[13795]|0)!=0?1:+h[c[l>>2]>>3]!=0.0):0){c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=c[m>>2];pA(0,127439,o)|0;c[f>>2]=2;o=c[f>>2]|0;i=p;return o|0}function Hn(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=a;dP(c[e>>2]|0,2);b[(c[(c[e>>2]|0)+8>>2]|0)+176>>1]=2;c[13799]=2;Kn(c[e>>2]|0);i=d;return}function In(b){b=b|0;var d=0,e=0,f=0,g=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=i;i=i+128|0;if((i|0)>=(j|0))ba();m=x+32|0;l=x+24|0;k=x+16|0;n=x+116|0;q=x+112|0;f=x+108|0;v=x+104|0;g=x;d=x+100|0;e=x+96|0;p=x+92|0;w=x+88|0;o=x+84|0;s=x+80|0;t=x+76|0;r=x+72|0;u=x+40|0;c[n>>2]=b;c[q>>2]=0;c[v>>2]=0;c[d>>2]=0;if(!(AB(c[n>>2]|0)|0)){i=x;return}Hn(c[n>>2]|0);c[f>>2]=OA(c[n>>2]|0,133208)|0;b=OA(c[n>>2]|0,133208)|0;c[f>>2]=b;do if(b){if(!(a[c[f>>2]>>0]|0)){c[v>>2]=1;break}c[q>>2]=vC(c[n>>2]|0,c[f>>2]|0,0)|0;if(!(c[q>>2]|0)){c[k>>2]=c[f>>2];pA(0,127457,k)|0;pA(3,127497,l)|0;c[v>>2]=1}}while(0);l=OA(c[n>>2]|0,178831)|0;c[f>>2]=l;if(((l|0)!=0?(a[c[f>>2]>>0]|0)!=0:0)?(l=c[f>>2]|0,c[m>>2]=g,c[m+4>>2]=g+8,m=E3(l,144045,m)|0,c[e>>2]=m,(m|0)!=0):0){if((c[e>>2]|0)==1)h[g+8>>3]=+h[g>>3];c[d>>2]=1}if(AB(c[n>>2]|0)|0){c[o>>2]=0;c[p>>2]=uG(c[n>>2]|0,t,0)|0;d=c[n>>2]|0;if((c[t>>2]|0)==1){c[o>>2]=Lu(d,c[q>>2]|0)|0;if(!((c[v>>2]|0)==0|(c[q>>2]|0)!=0))c[q>>2]=c[o>>2];c[s>>2]=pC(c[n>>2]|0)|0;B1(c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]|0);c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]=0;yq(c[n>>2]|0)|0;zm(c[n>>2]|0)}else{VG(d,2,8,u)|0;c[u+12>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[t>>2]|0))break;c[w>>2]=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2];if((c[q>>2]|0)!=0?(QC(c[w>>2]|0,c[q>>2]|0)|0)!=0:0)c[o>>2]=c[q>>2];else c[o>>2]=0;xG(c[w>>2]|0)|0;c[o>>2]=Lu(c[w>>2]|0,c[o>>2]|0)|0;if(!((c[v>>2]|0)==0|(c[q>>2]|0)!=0))c[q>>2]=c[o>>2];yq(c[w>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+1}c[s>>2]=pC(c[n>>2]|0)|0;B1(c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]|0);c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]=0;UG(c[t>>2]|0,c[p>>2]|0,c[n>>2]|0,u)|0;zm(c[n>>2]|0)}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[t>>2]|0))break;FC(c[n>>2]|0,c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+1}B1(c[p>>2]|0)}if(c[v>>2]|0){w=c[n>>2]|0;QA(w,133208,MB(c[q>>2]|0)|0)|0}CL(c[n>>2]|0);i=x;return}function Jn(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}while(1){a=c[b>>2]|0;if(!(c[e>>2]|0))break;c[d>>2]=cB(a,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;gP(c[d>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}hP(c[e>>2]|0);c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}Ln(a);i=f;return}function Kn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();b=h+20|0;g=h+16|0;e=h+12|0;f=h+8|0;k=h+4|0;d=h;c[b>>2]=a;c[f>>2]=0;c[k>>2]=AB(c[b>>2]|0)|0;c[d>>2]=qK((c[k>>2]|0)*40|0)|0;a=qK((c[k>>2]|0)+1<<2)|0;c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]=a;c[g>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;Jl(c[g>>2]|0);c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]=(c[d>>2]|0)+((c[f>>2]|0)*40|0);a=c[g>>2]|0;k=c[f>>2]|0;c[f>>2]=k+1;c[(c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]|0)+(k<<2)>>2]=a;c[g>>2]=qC(c[b>>2]|0,c[g>>2]|0)|0}c[g>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;c[e>>2]=cB(c[b>>2]|0,c[g>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;Mn(c[e>>2]|0);c[e>>2]=eB(c[b>>2]|0,c[e>>2]|0)|0}c[g>>2]=qC(c[b>>2]|0,c[g>>2]|0)|0}i=h;return}function Ln(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;B1(c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]|0);a=c[b>>2]|0;if((a|0)==(HC(c[b>>2]|0)|0)){i=d;return}dD(c[b>>2]|0,0,175129);i=d;return}function Mn(a){a=a|0;var b=0,d=0,e=0.0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aD(c[d>>2]|0,175399,176,1)|0;NO(c[d>>2]|0)|0;e=+uO(c[d>>2]|0,c[13851]|0,1.0,0.0);h[(c[(c[d>>2]|0)+8>>2]|0)+128>>3]=e;i=b;return}function Nn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;Pn(c[b>>2]|0);if((AB(c[b>>2]|0)|0)==0?(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0)==0:0){i=d;return}$u(c[b>>2]|0);CL(c[b>>2]|0);i=d;return}function On(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}B1(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0);while(1){a=c[b>>2]|0;if(!(c[e>>2]|0))break;c[d>>2]=cB(a,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;gP(c[d>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}hP(c[e>>2]|0);c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}Qn(a);i=f;return}function Pn(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=a;c[13816]=GA(c[e>>2]|0,1,147742,147748)|0;dP(c[e>>2]|0,2);b[(c[(c[e>>2]|0)+8>>2]|0)+176>>1]=2;c[13799]=2;Rn(c[e>>2]|0,0,c[e>>2]|0);Sn(c[e>>2]|0);i=d;return}function Qn(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;B1(c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]|0);a=c[b>>2]|0;if((a|0)==(HC(c[b>>2]|0)|0)){i=d;return}dD(c[b>>2]|0,0,175129);i=d;return}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+28|0;f=m+24|0;g=m+20|0;l=m+16|0;k=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){c[h>>2]=k;Vn(c[h>>2]|0)}else c[h>>2]=c[f>>2];c[l>>2]=vD(c[e>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;b=(g4(MB(c[l>>2]|0)|0,145693,7)|0)!=0;a=c[l>>2]|0;if(b)Rn(a,c[h>>2]|0,c[g>>2]|0);else{aD(a,175129,280,1)|0;Wn(c[h>>2]|0,c[l>>2]|0);Rn(c[l>>2]|0,0,c[l>>2]|0)}c[l>>2]=wD(c[l>>2]|0)|0}if(c[f>>2]|0){i=m;return}c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]=c[k+8>>2];if(!(c[k+8>>2]|0)){i=m;return}l=tK(c[k>>2]|0,(c[k+8>>2]|0)+1<<2)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]=l;i=m;return}function Sn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();b=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[f>>2]=0;c[d>>2]=qK((AB(c[b>>2]|0)|0)<<2)|0;a=qK((AB(c[b>>2]|0)|0)+1<<2)|0;c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]=a;c[g>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;aD(c[g>>2]|0,175106,304,1)|0;c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]=(c[d>>2]|0)+(c[f>>2]<<2);k=c[g>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]|0)+(a<<2)>>2]=k;Tn(c[g>>2]|0);c[e>>2]=cB(c[b>>2]|0,c[g>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;Un(c[e>>2]|0);c[e>>2]=eB(c[b>>2]|0,c[e>>2]|0)|0}c[g>>2]=qC(c[b>>2]|0,c[g>>2]|0)|0}i=h;return}function Tn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;QA(c[d>>2]|0,147742,147748)|0;i=b;return}function Un(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aD(c[d>>2]|0,175399,304,1)|0;i=b;return}function Vn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[(c[d>>2]|0)+8>>2]=0;i=b;return}function Wn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=(c[d>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+1;if((c[(c[d>>2]|0)+8>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){b=(c[d>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+10;b=tK(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]<<2)|0;c[c[d>>2]>>2]=b}c[(c[c[d>>2]>>2]|0)+(c[(c[d>>2]|0)+8>>2]<<2)>>2]=c[e>>2];i=f;return}function Xn(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+8|0;f=g+4|0;d=g;c[b>>2]=a;Zn(c[b>>2]|0);_n(c[b>>2]|0,0,c[b>>2]|0);$n(c[b>>2]|0,0);ao(c[b>>2]|0,0);a=c[b>>2]|0;if(!(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]|0)){c[d>>2]=(e[(c[a+8>>2]|0)+136>>1]|0)&14;if(!(c[d>>2]|0)){f=c[b>>2]|0;CL(f);i=g;return}wm(c[b>>2]|0,c[d>>2]|0)|0;f=c[b>>2]|0;CL(f);i=g;return}c[f>>2]=pC(a)|0;while(1){if(!(c[f>>2]|0))break;h[c[(c[(c[f>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+16>>3]/72.0;h[(c[(c[(c[f>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+16+8>>3]/72.0;c[f>>2]=qC(c[b>>2]|0,c[f>>2]|0)|0}xm(c[b>>2]|0,1);f=c[b>>2]|0;CL(f);i=g;return}function Yn(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;hP(c[d>>2]|0);c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}bo(c[b>>2]|0);i=e;return}function Zn(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;f=g+4|0;e=g;c[d>>2]=a;dP(c[d>>2]|0,2);b[(c[(c[d>>2]|0)+8>>2]|0)+176>>1]=2;c[13799]=2;c[f>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;Jl(c[f>>2]|0);c[f>>2]=qC(c[d>>2]|0,c[f>>2]|0)|0}c[f>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[e>>2]=cB(c[d>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;aD(c[e>>2]|0,175399,176,1)|0;NO(c[e>>2]|0)|0;c[e>>2]=eB(c[d>>2]|0,c[e>>2]|0)|0}c[f>>2]=qC(c[d>>2]|0,c[f>>2]|0)|0}i=g;return}function _n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+28|0;f=m+24|0;g=m+20|0;l=m+16|0;k=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){c[h>>2]=k;ho(c[h>>2]|0)}else c[h>>2]=c[f>>2];c[l>>2]=vD(c[e>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;b=(g4(MB(c[l>>2]|0)|0,145693,7)|0)!=0;a=c[l>>2]|0;if(b)_n(a,c[h>>2]|0,c[g>>2]|0);else{aD(a,175129,280,1)|0;_J(c[l>>2]|0);io(c[h>>2]|0,c[l>>2]|0);_n(c[l>>2]|0,0,c[l>>2]|0)}c[l>>2]=wD(c[l>>2]|0)|0}if(c[f>>2]|0){i=m;return}c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]=c[k+8>>2];if(!(c[k+8>>2]|0)){i=m;return}l=tK(c[k>>2]|0,(c[k+8>>2]|0)+1<<2)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]=l;i=m;return}function $n(a,b){a=a|0;b=b|0;var e=0,f=0,g=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.0,Y=0.0,Z=0.0,_=0.0;W=i;i=i+608|0;if((i|0)>=(j|0))ba();C=W+480|0;B=W+464|0;V=W+424|0;U=W+400|0;T=W+360|0;z=W+320|0;y=W+296|0;A=W+256|0;q=W+248|0;p=W+240|0;D=W+592|0;E=W+588|0;k=W+584|0;N=W+580|0;S=W+576|0;l=W+572|0;m=W+568|0;O=W+564|0;R=W+560|0;M=W+556|0;P=W+552|0;K=W+208|0;Q=W+176|0;v=W+160|0;x=W+520|0;n=W+512|0;u=W+152|0;L=W+508|0;g=W+504|0;r=W+500|0;o=W+496|0;e=W+136|0;f=W+120|0;s=W+104|0;w=W+88|0;t=W+80|0;F=W+64|0;G=W+48|0;H=W+32|0;I=W+16|0;J=W;c[D>>2]=a;c[E>>2]=b;c[m>>2]=0;c[g>>2]=0;c[r>>2]=0;c[o>>2]=c[(c[D>>2]|0)+48>>2];if((d[139078]|0|0)>1){co(c[E>>2]|0);a=c[24742]|0;c[p>>2]=MB(c[D>>2]|0)|0;p3(a,127795,p)|0}c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[(c[(c[D>>2]|0)+8>>2]|0)+180>>2]|0))break;c[R>>2]=c[(c[(c[(c[D>>2]|0)+8>>2]|0)+184>>2]|0)+(c[k>>2]<<2)>>2];$n(c[R>>2]|0,(c[E>>2]|0)+1|0);p=AB(c[R>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[k>>2]=(c[k>>2]|0)+1}c[l>>2]=AB(c[D>>2]|0)|0;c[S>>2]=(c[l>>2]|0)-(c[m>>2]|0)+(c[(c[(c[D>>2]|0)+8>>2]|0)+180>>2]|0);if((c[S>>2]|0)==0?(c[(c[(c[D>>2]|0)+8>>2]|0)+12>>2]|0)==0:0){h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3]=0.0;h[(c[(c[D>>2]|0)+8>>2]|0)+16>>3]=0.0;h[(c[(c[D>>2]|0)+8>>2]|0)+16+16+8>>3]=18.0;h[(c[(c[D>>2]|0)+8>>2]|0)+16+16>>3]=18.0;i=W;return}c[n>>2]=VG(c[D>>2]|0,4,4,x)|0;if((c[n>>2]|0)>>>0<3)c[x+16>>2]=3;do if((c[x+16>>2]|0)==4?(c[x+28>>2]&2|0)!=0:0){c[g>>2]=GA(c[o>>2]|0,0,136949,0)|0;c[r>>2]=GA(c[o>>2]|0,1,136949,0)|0;if((c[g>>2]|0)!=0|(c[r>>2]|0)!=0){c[x+24>>2]=qK(c[S>>2]|0)|0;break}else{c[q>>2]=MB(c[D>>2]|0)|0;pA(0,127586,q)|0;break}}while(0);c[M>>2]=qK(c[S>>2]<<5)|0;c[L>>2]=qK(c[S>>2]<<2)|0;c[N>>2]=0;c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[(c[(c[D>>2]|0)+8>>2]|0)+180>>2]|0))break;c[R>>2]=c[(c[(c[(c[D>>2]|0)+8>>2]|0)+184>>2]|0)+(c[k>>2]<<2)>>2];q=(c[M>>2]|0)+(c[N>>2]<<5)|0;p=(c[(c[R>>2]|0)+8>>2]|0)+16|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];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];if((c[x+24>>2]|0)!=0&(c[g>>2]|0)!=0){q=tO(c[R>>2]|0,c[g>>2]|0,0,0)|0;c[(c[x+24>>2]|0)+(c[N>>2]<<2)>>2]=q}p=c[R>>2]|0;q=c[N>>2]|0;c[N>>2]=q+1;c[(c[L>>2]|0)+(q<<2)>>2]=p;c[k>>2]=(c[k>>2]|0)+1}a:do if(((c[l>>2]|0)-(c[m>>2]|0)|0)>0){c[O>>2]=pC(c[D>>2]|0)|0;while(1){if(!(c[O>>2]|0))break a;if(!(c[(c[(c[O>>2]|0)+8>>2]|0)+112>>2]|0)){c[(c[(c[O>>2]|0)+8>>2]|0)+112>>2]=c[D>>2];h[K>>3]=0.0;h[K+8>>3]=0.0;h[K+16>>3]=+h[(c[(c[O>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[O>>2]|0)+8>>2]|0)+96>>3];h[K+16+8>>3]=+h[(c[(c[O>>2]|0)+8>>2]|0)+80>>3];q=(c[M>>2]|0)+(c[N>>2]<<5)|0;c[q>>2]=c[K>>2];c[q+4>>2]=c[K+4>>2];c[q+8>>2]=c[K+8>>2];c[q+12>>2]=c[K+12>>2];c[q+16>>2]=c[K+16>>2];c[q+20>>2]=c[K+20>>2];c[q+24>>2]=c[K+24>>2];c[q+28>>2]=c[K+28>>2];if((c[x+24>>2]|0)!=0&(c[r>>2]|0)!=0){q=tO(c[O>>2]|0,c[r>>2]|0,0,0)|0;c[(c[x+24>>2]|0)+(c[N>>2]<<2)>>2]=q}p=c[O>>2]|0;q=c[N>>2]|0;c[N>>2]=q+1;c[(c[L>>2]|0)+(q<<2)>>2]=p}c[O>>2]=qC(c[D>>2]|0,c[O>>2]|0)|0}}while(0);c[P>>2]=RG(c[S>>2]|0,c[M>>2]|0,x)|0;if(c[x+24>>2]|0)B1(c[x+24>>2]|0);eo(e,2147483647.0,2147483647.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];r=Q+16|0;eo(f,-2147483647.0,-2147483647.0);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[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[S>>2]|0))break;h[v>>3]=+(c[(c[P>>2]|0)+(c[N>>2]<<3)>>2]|0);h[v+8>>3]=+(c[(c[P>>2]|0)+(c[N>>2]<<3)+4>>2]|0);e=(c[M>>2]|0)+(c[N>>2]<<5)|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[K+16>>2]=c[e+16>>2];c[K+20>>2]=c[e+20>>2];c[K+24>>2]=c[e+24>>2];c[K+28>>2]=c[e+28>>2];h[K>>3]=+h[K>>3]+ +h[v>>3];e=K+16|0;h[e>>3]=+h[e>>3]+ +h[v>>3];e=K+8|0;h[e>>3]=+h[e>>3]+ +h[v+8>>3];e=K+16+8|0;h[e>>3]=+h[e>>3]+ +h[v+8>>3];h[Q>>3]=+h[Q>>3]<+h[K>>3]?+h[Q>>3]:+h[K>>3];h[Q+8>>3]=+h[Q+8>>3]<+h[K+8>>3]?+h[Q+8>>3]:+h[K+8>>3];h[Q+16>>3]=+h[Q+16>>3]>+h[K+16>>3]?+h[Q+16>>3]:+h[K+16>>3];h[Q+16+8>>3]=+h[Q+16+8>>3]>+h[K+16+8>>3]?+h[Q+16+8>>3]:+h[K+16+8>>3];e=c[(c[L>>2]|0)+(c[N>>2]<<2)>>2]|0;if((c[N>>2]|0)<(c[(c[(c[D>>2]|0)+8>>2]|0)+180>>2]|0)){c[R>>2]=e;r=(c[(c[R>>2]|0)+8>>2]|0)+16|0;c[r>>2]=c[K>>2];c[r+4>>2]=c[K+4>>2];c[r+8>>2]=c[K+8>>2];c[r+12>>2]=c[K+12>>2];c[r+16>>2]=c[K+16>>2];c[r+20>>2]=c[K+20>>2];c[r+24>>2]=c[K+24>>2];c[r+28>>2]=c[K+28>>2];if((d[139078]|0|0)>1){co(c[E>>2]|0);r=c[24742]|0;q=MB(c[R>>2]|0)|0;_=+h[K>>3];Z=+h[K+8>>3];Y=+h[K+16>>3];X=+h[K+16+8>>3];c[A>>2]=q;h[A+8>>3]=_;h[A+16>>3]=Z;h[A+24>>3]=Y;h[A+32>>3]=X;p3(r,127565,A)|0}}else{c[O>>2]=e;r=(c[(c[O>>2]|0)+8>>2]|0)+16|0;q=K+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[C>>2]=c[q>>2];c[C+4>>2]=c[q+4>>2];c[C+8>>2]=c[q+8>>2];c[C+12>>2]=c[q+12>>2];fo(s,B,C);c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];if((d[139078]|0|0)>1){co(c[E>>2]|0);r=c[24742]|0;q=MB(c[O>>2]|0)|0;Z=+h[(c[(c[O>>2]|0)+8>>2]|0)+16>>3];_=+h[(c[(c[O>>2]|0)+8>>2]|0)+16+8>>3];c[y>>2]=q;h[y+8>>3]=Z;h[y+16>>3]=_;p3(r,127553,y)|0}}c[N>>2]=(c[N>>2]|0)+1}if(c[(c[(c[D>>2]|0)+8>>2]|0)+12>>2]|0){A=(c[(c[(c[D>>2]|0)+8>>2]|0)+12>>2]|0)+24|0;c[w>>2]=c[A>>2];c[w+4>>2]=c[A+4>>2];c[w+8>>2]=c[A+8>>2];c[w+12>>2]=c[A+12>>2];if(!(c[S>>2]|0)){h[Q>>3]=0.0;h[Q+8>>3]=0.0;h[Q+16>>3]=+h[w>>3];h[Q+16+8>>3]=+h[w+8>>3]}h[t>>3]=+h[w>>3]-(+h[Q+16>>3]-+h[Q>>3]);if(+h[t>>3]>0.0){h[t>>3]=+h[t>>3]/2.0;h[Q>>3]=+h[Q>>3]-+h[t>>3];A=Q+16|0;h[A>>3]=+h[A>>3]+ +h[t>>3]}}if((c[E>>2]|0)>0)h[u>>3]=+((c[x+8>>2]|0)>>>0)/2.0;else h[u>>3]=0.0;h[Q>>3]=+h[Q>>3]-+h[u>>3];A=Q+16|0;h[A>>3]=+h[A>>3]+ +h[u>>3];A=Q+8|0;h[A>>3]=+h[A>>3]-(+h[u>>3]+ +h[(c[(c[D>>2]|0)+8>>2]|0)+48+8>>3]);A=Q+16+8|0;h[A>>3]=+h[A>>3]+(+h[u>>3]+ +h[(c[(c[D>>2]|0)+8>>2]|0)+48+32+8>>3]);if((d[139078]|0|0)>1){co(c[E>>2]|0);A=c[24742]|0;y=MB(c[D>>2]|0)|0;X=+h[Q>>3];Y=+h[Q+8>>3];Z=+h[Q+16>>3];_=+h[Q+16+8>>3];c[z>>2]=y;h[z+8>>3]=X;h[z+16>>3]=Y;h[z+24>>3]=Z;h[z+32>>3]=_;p3(A,127565,z)|0}c[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[S>>2]|0))break;e=c[(c[L>>2]|0)+(c[N>>2]<<2)>>2]|0;if((c[N>>2]|0)<(c[(c[(c[D>>2]|0)+8>>2]|0)+180>>2]|0)){c[R>>2]=e;A=(c[(c[R>>2]|0)+8>>2]|0)+16|0;c[K>>2]=c[A>>2];c[K+4>>2]=c[A+4>>2];c[K+8>>2]=c[A+8>>2];c[K+12>>2]=c[A+12>>2];c[K+16>>2]=c[A+16>>2];c[K+20>>2]=c[A+20>>2];c[K+24>>2]=c[A+24>>2];c[K+28>>2]=c[A+28>>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];c[C>>2]=c[Q>>2];c[C+4>>2]=c[Q+4>>2];c[C+8>>2]=c[Q+8>>2];c[C+12>>2]=c[Q+12>>2];go(F,B,C);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];A=K+16|0;z=K+16|0;c[B>>2]=c[z>>2];c[B+4>>2]=c[z+4>>2];c[B+8>>2]=c[z+8>>2];c[B+12>>2]=c[z+12>>2];c[C>>2]=c[Q>>2];c[C+4>>2]=c[Q+4>>2];c[C+8>>2]=c[Q+8>>2];c[C+12>>2]=c[Q+12>>2];go(G,B,C);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[(c[R>>2]|0)+8>>2]|0)+16|0;c[A>>2]=c[K>>2];c[A+4>>2]=c[K+4>>2];c[A+8>>2]=c[K+8>>2];c[A+12>>2]=c[K+12>>2];c[A+16>>2]=c[K+16>>2];c[A+20>>2]=c[K+20>>2];c[A+24>>2]=c[K+24>>2];c[A+28>>2]=c[K+28>>2];if((d[139078]|0|0)>1){co(c[E>>2]|0);A=c[24742]|0;z=MB(c[R>>2]|0)|0;X=+h[K>>3];Y=+h[K+8>>3];Z=+h[K+16>>3];_=+h[K+16+8>>3];c[T>>2]=z;h[T+8>>3]=X;h[T+16>>3]=Y;h[T+24>>3]=Z;h[T+32>>3]=_;p3(A,127565,T)|0}}else{c[O>>2]=e;A=(c[(c[O>>2]|0)+8>>2]|0)+16|0;z=(c[(c[O>>2]|0)+8>>2]|0)+16|0;c[B>>2]=c[z>>2];c[B+4>>2]=c[z+4>>2];c[B+8>>2]=c[z+8>>2];c[B+12>>2]=c[z+12>>2];c[C>>2]=c[Q>>2];c[C+4>>2]=c[Q+4>>2];c[C+8>>2]=c[Q+8>>2];c[C+12>>2]=c[Q+12>>2];go(H,B,C);c[A>>2]=c[H>>2];c[A+4>>2]=c[H+4>>2];c[A+8>>2]=c[H+8>>2];c[A+12>>2]=c[H+12>>2];if((d[139078]|0|0)>1){co(c[E>>2]|0);A=c[24742]|0;z=MB(c[O>>2]|0)|0;Z=+h[(c[(c[O>>2]|0)+8>>2]|0)+16>>3];_=+h[(c[(c[O>>2]|0)+8>>2]|0)+16+8>>3];c[U>>2]=z;h[U+8>>3]=Z;h[U+16>>3]=_;p3(A,127553,U)|0}}c[N>>2]=(c[N>>2]|0)+1}U=Q+16|0;T=Q+16|0;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[C>>2]=c[Q>>2];c[C+4>>2]=c[Q+4>>2];c[C+8>>2]=c[Q+8>>2];c[C+12>>2]=c[Q+12>>2];go(I,B,C);c[U>>2]=c[I>>2];c[U+4>>2]=c[I+4>>2];c[U+8>>2]=c[I+8>>2];c[U+12>>2]=c[I+12>>2];c[B>>2]=c[Q>>2];c[B+4>>2]=c[Q+4>>2];c[B+8>>2]=c[Q+8>>2];c[B+12>>2]=c[Q+12>>2];c[C>>2]=c[Q>>2];c[C+4>>2]=c[Q+4>>2];c[C+8>>2]=c[Q+8>>2];c[C+12>>2]=c[Q+12>>2];go(J,B,C);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];U=(c[(c[D>>2]|0)+8>>2]|0)+16|0;c[U>>2]=c[Q>>2];c[U+4>>2]=c[Q+4>>2];c[U+8>>2]=c[Q+8>>2];c[U+12>>2]=c[Q+12>>2];c[U+16>>2]=c[Q+16>>2];c[U+20>>2]=c[Q+20>>2];c[U+24>>2]=c[Q+24>>2];c[U+28>>2]=c[Q+28>>2];if((d[139078]|0|0)>1){co(c[E>>2]|0);U=c[24742]|0;T=MB(c[D>>2]|0)|0;X=+h[Q>>3];Y=+h[Q+8>>3];Z=+h[Q+16>>3];_=+h[Q+16+8>>3];c[V>>2]=T;h[V+8>>3]=X;h[V+16>>3]=Y;h[V+24>>3]=Z;h[V+32>>3]=_;p3(U,127565,V)|0}B1(c[M>>2]|0);B1(c[L>>2]|0);B1(c[P>>2]|0);i=W;return}function ao(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=i;i=i+160|0;if((i|0)>=(j|0))ba();q=r+96|0;p=r+72|0;o=r+64|0;e=r+152|0;f=r+148|0;m=r+32|0;g=r;l=r+144|0;n=r+140|0;k=r+136|0;c[e>>2]=a;c[f>>2]=b;a=(c[(c[e>>2]|0)+8>>2]|0)+16|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];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];if((d[139078]|0|0)>1){co(c[f>>2]|0);a=c[24742]|0;c[o>>2]=MB(c[e>>2]|0)|0;p3(a,127538,o)|0}a:do if(c[f>>2]|0){c[l>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[l>>2]|0))break a;if((c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)==(c[e>>2]|0)?(o=(c[(c[l>>2]|0)+8>>2]|0)+16|0,h[o>>3]=+h[o>>3]+ +h[g>>3],o=(c[(c[l>>2]|0)+8>>2]|0)+16+8|0,h[o>>3]=+h[o>>3]+ +h[g+8>>3],(d[139078]|0|0)>1):0){co(c[f>>2]|0);o=c[24742]|0;a=MB(c[l>>2]|0)|0;t=+h[(c[(c[l>>2]|0)+8>>2]|0)+16>>3];s=+h[(c[(c[l>>2]|0)+8>>2]|0)+16+8>>3];c[p>>2]=a;h[p+8>>3]=t;h[p+16>>3]=s;p3(o,127553,p)|0}c[l>>2]=qC(c[e>>2]|0,c[l>>2]|0)|0}}while(0);c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;c[n>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[k>>2]<<2)>>2];if(c[f>>2]|0){p=(c[(c[n>>2]|0)+8>>2]|0)+16|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];c[m+16>>2]=c[p+16>>2];c[m+20>>2]=c[p+20>>2];c[m+24>>2]=c[p+24>>2];c[m+28>>2]=c[p+28>>2];h[m>>3]=+h[m>>3]+ +h[g>>3];p=m+8|0;h[p>>3]=+h[p>>3]+ +h[g+8>>3];p=m+16|0;h[p>>3]=+h[p>>3]+ +h[g>>3];p=m+16+8|0;h[p>>3]=+h[p>>3]+ +h[g+8>>3];if((d[139078]|0|0)>1){co(c[f>>2]|0);p=c[24742]|0;o=MB(c[n>>2]|0)|0;v=+h[m>>3];u=+h[m+8>>3];s=+h[m+16>>3];t=+h[m+16+8>>3];c[q>>2]=o;h[q+8>>3]=v;h[q+16>>3]=u;h[q+24>>3]=s;h[q+32>>3]=t;p3(p,127565,q)|0}p=(c[(c[n>>2]|0)+8>>2]|0)+16|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[p+16>>2]=c[m+16>>2];c[p+20>>2]=c[m+20>>2];c[p+24>>2]=c[m+24>>2];c[p+28>>2]=c[m+28>>2]}ao(c[n>>2]|0,(c[f>>2]|0)+1|0);c[k>>2]=(c[k>>2]|0)+1}i=r;return}function bo(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=1;while(1){if((c[d>>2]|0)>(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0))break;c[e>>2]=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0)+(c[d>>2]<<2)>>2];hK(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0);bo(c[e>>2]|0);c[d>>2]=(c[d>>2]|0)+1}B1(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0);i=f;return}function co(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;while(1){if((c[b>>2]|0)<=0)break;r3(127583,c[24742]|0)|0;c[b>>2]=(c[b>>2]|0)+-1}i=d;return}function eo(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();k=e+24|0;g=e+16|0;f=e;h[k>>3]=b;h[g>>3]=d;h[f>>3]=+h[k>>3];h[f+8>>3]=+h[g>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function fo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=(+h[b>>3]+ +h[d>>3])/2.0;h[f+8>>3]=(+h[b+8>>3]+ +h[d+8>>3])/2.0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function go(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=+h[b>>3]-+h[d>>3];h[f+8>>3]=+h[b+8>>3]-+h[d+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function ho(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[(c[d>>2]|0)+8>>2]=0;i=b;return}function io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=(c[d>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+1;if((c[(c[d>>2]|0)+8>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){b=(c[d>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+10;b=tK(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]<<2)|0;c[c[d>>2]>>2]=b}c[(c[c[d>>2]>>2]|0)+(c[(c[d>>2]|0)+8>>2]<<2)>>2]=c[e>>2];i=f;return}function jo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();d=h+20|0;e=h+16|0;g=h+12|0;f=h+8|0;k=h+4|0;b=h;c[d>>2]=a;cD(c[d>>2]|0,1,175106,304,1);TO(c[d>>2]|0)|0;c[k>>2]=AB(c[d>>2]|0)|0;a=qK((c[k>>2]|0)+1<<2)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+152>>2]=a;c[b>>2]=0;c[g>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;lo(c[g>>2]|0);c[(c[(c[(c[d>>2]|0)+8>>2]|0)+152>>2]|0)+(c[b>>2]<<2)>>2]=c[g>>2];k=c[b>>2]|0;c[b>>2]=k+1;c[(c[(c[g>>2]|0)+8>>2]|0)+120>>2]=k;c[g>>2]=qC(c[d>>2]|0,c[g>>2]|0)|0}c[e>>2]=GA(c[d>>2]|0,2,129916,0)|0;c[g>>2]=pC(c[d>>2]|0)|0;while(1){a=c[d>>2]|0;if(!(c[g>>2]|0))break;c[f>>2]=cB(a,c[g>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;mo(c[f>>2]|0,c[e>>2]|0);c[f>>2]=eB(c[d>>2]|0,c[f>>2]|0)|0}c[g>>2]=qC(c[d>>2]|0,c[g>>2]|0)|0}no(a);i=h;return}function ko(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;while(1){a=c[b>>2]|0;if(!(c[e>>2]|0))break;c[d>>2]=cB(a,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;gP(c[d>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}hP(c[e>>2]|0);c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}oo(a);i=f;return}function lo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;MO(c[d>>2]|0);a=qK((e[(c[(GC(c[d>>2]|0)|0)+8>>2]|0)+176>>1]|0)<<3)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]=a;a=c[d>>2]|0;iP(a,c[(c[(GC(c[d>>2]|0)|0)+8>>2]|0)+116>>2]&1);i=b;return}function mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;g=d;c[e>>2]=a;c[g>>2]=b;aD(c[e>>2]|0,175399,176,1)|0;f=+uO(c[e>>2]|0,c[13851]|0,1.0,0.0);h[(c[(c[e>>2]|0)+8>>2]|0)+128>>3]=f;f=+uO(c[e>>2]|0,c[g>>2]|0,+h[(c[13790]|0)+32>>3],0.0);h[(c[(c[e>>2]|0)+8>>2]|0)+136>>3]=f;NO(c[e>>2]|0)|0;i=d;return}function no(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();q=r+16|0;p=r;d=r+52|0;f=r+48|0;k=r+44|0;n=r+40|0;m=r+36|0;o=r+32|0;l=r+28|0;e=r+56|0;g=r+24|0;c[d>>2]=b;c[n>>2]=GA(c[d>>2]|0,1,140326,0)|0;if(!(c[n>>2]|0)){i=r;return}c[m>>2]=GA(c[d>>2]|0,1,127669,0)|0;c[f>>2]=0;while(1){b=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+152>>2]|0)+(c[f>>2]<<2)>>2]|0;c[k>>2]=b;if(!b)break;c[l>>2]=PA(c[k>>2]|0,c[n>>2]|0)|0;do if(a[c[l>>2]>>0]|0){c[o>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2];a[e>>0]=0;b=c[l>>2]|0;s=(c[o>>2]|0)+8|0;c[p>>2]=c[o>>2];c[p+4>>2]=s;c[p+8>>2]=e;if((E3(b,139674,p)|0)<2){s=c[24742]|0;t=MB(c[k>>2]|0)|0;b=c[l>>2]|0;c[q>>2]=t;c[q+4>>2]=b;p3(s,127673,q)|0;break}a:do if(+h[4246]>0.0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=2)break a;h[(c[o>>2]|0)+(c[g>>2]<<3)>>3]=+h[(c[o>>2]|0)+(c[g>>2]<<3)>>3]/+h[4246];c[g>>2]=(c[g>>2]|0)+1}}while(0);a[(c[(c[k>>2]|0)+8>>2]|0)+119>>0]=1;if((a[e>>0]|0)!=33){if(!(c[m>>2]|0))break;if(!((zO(PA(c[k>>2]|0,c[m>>2]|0)|0)|0)&255))break}a[(c[(c[k>>2]|0)+8>>2]|0)+119>>0]=3}while(0);c[f>>2]=(c[f>>2]|0)+1}i=r;return}function oo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;po(c[d>>2]|0);B1(c[(c[(c[d>>2]|0)+8>>2]|0)+152>>2]|0);B1(c[(c[(c[d>>2]|0)+8>>2]|0)+140>>2]|0);i=b;return}function po(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=1;while(1){if((c[d>>2]|0)>(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0))break;c[e>>2]=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0)+(c[d>>2]<<2)>>2];hK(c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0);if(c[(c[(c[e>>2]|0)+8>>2]|0)+140>>2]|0){B1(c[c[(c[(c[e>>2]|0)+8>>2]|0)+140>>2]>>2]|0);B1(c[(c[(c[e>>2]|0)+8>>2]|0)+140>>2]|0)}po(c[e>>2]|0);c[d>>2]=(c[d>>2]|0)+1}B1(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0);e=c[b>>2]|0;if((e|0)==(HC(c[b>>2]|0)|0)){i=f;return}bD(c[b>>2]|0,175129)|0;i=f;return}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=GA(c[f>>2]|0,0,127725,0)|0;c[(c[e>>2]|0)+4>>2]=b;b=GA(c[f>>2]|0,0,179205,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=GA(c[f>>2]|0,0,179137,0)|0;c[(c[e>>2]|0)+12>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+16>>2]=0;b=VG(c[f>>2]|0,2,4,(c[e>>2]|0)+20|0)|0;c[(c[e>>2]|0)+20+16>>2]=b;i=d;return}function ro(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f;c[d>>2]=a;dP(c[d>>2]|0,2);a=qK(56)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+140>>2]=a;a=c[d>>2]|0;a=(tO(a,GA(c[d>>2]|0,0,129456,0)|0,2,2)|0)&65535;b[(c[(c[d>>2]|0)+8>>2]|0)+176>>1]=a;if((e[(c[(c[d>>2]|0)+8>>2]|0)+176>>1]|0|0)<10)a=e[(c[(c[d>>2]|0)+8>>2]|0)+176>>1]|0;else a=10;a=a&65535;b[(c[(c[d>>2]|0)+8>>2]|0)+176>>1]=a;c[13799]=a&65535;uo(c[d>>2]|0,0,c[d>>2]|0);Qo(c[d>>2]|0);jo(c[d>>2]|0);i=f;return}function so(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+64|0;if((i|0)>=(j|0))ba();d=b+52|0;e=b;c[d>>2]=a;qo(c[d>>2]|0,e);vo(c[d>>2]|0,e);wo(c[d>>2]|0);xo(c[d>>2]|0,c[d>>2]|0);yo(c[d>>2]|0);i=b;return}function to(a){a=a|0;var b=0,d=0,f=0.0,g=0.0,i=0,j=0,k=0;j=4;i=A1(40)|0;c[i>>2]=0;g=+h[4246];n=0;f=+Ia(1,a|0);d=n;n=0;if((d|0)!=0&(o|0)!=0){b=m5(c[d>>2]|0,i|0,j|0)|0;if(!b)hb(d|0,o|0);C=o}else b=-1;if((b|0)!=1){h[4246]=f;n=0;Aa(93,a|0);d=n;n=0;if((d|0)!=0&(o|0)!=0){b=m5(c[d>>2]|0,i|0,j|0)|0;if(!b)hb(d|0,o|0);C=o}else b=-1;if((b|0)!=1){i=k5(50948,1,i|0,j|0)|0;j=C;n=0;d=n;n=0;if((d|0)!=0&(o|0)!=0){b=m5(c[d>>2]|0,i|0,j|0)|0;if(!b)hb(d|0,o|0);C=o}else b=-1;if((b|0)!=1)b=0;else b=C}else b=C}else b=C;while(1){if(b){k=13;break}n=0;Aa(94,a|0);b=n;n=0;if((b|0)!=0&(o|0)!=0){d=m5(c[b>>2]|0,i|0,j|0)|0;if(!d)hb(b|0,o|0);C=o}else d=-1;if((d|0)==1){b=C;continue}n=0;Ea(21,a|0)|0;d=n;n=0;if((d|0)!=0&(o|0)!=0){b=m5(c[d>>2]|0,i|0,j|0)|0;if(!b)hb(d|0,o|0);C=o}else b=-1;if((b|0)==1){b=C;continue}if((e[(c[a+8>>2]|0)+136>>1]|0)&14){n=0;Aa(95,a|0);d=n;n=0;if((d|0)!=0&(o|0)!=0){b=m5(c[d>>2]|0,i|0,j|0)|0;if(!b)hb(d|0,o|0);C=o}else b=-1;if((b|0)==1){b=C;continue}}n=0;Ca(18,a|0,0);d=n;n=0;if((d|0)!=0&(o|0)!=0){b=m5(c[d>>2]|0,i|0,j|0)|0;if(!b)hb(d|0,o|0);C=o}else b=-1;if((b|0)==1)b=C;else break}if((k|0)==13){B1(i|0);return}h[4246]=g;B1(i|0);return}function uo(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;l=n+4|0;k=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){c[k>>2]=l;Oo(c[k>>2]|0)}else c[k>>2]=c[g>>2];c[m>>2]=vD(c[f>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;d=(g4(MB(c[m>>2]|0)|0,145693,7)|0)!=0;a=c[m>>2]|0;if(d)uo(a,c[k>>2]|0,c[h>>2]|0);else{aD(a,175129,280,1)|0;d=qK(56)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+140>>2]=d;b[(c[(c[m>>2]|0)+8>>2]|0)+176>>1]=b[(c[(c[h>>2]|0)+8>>2]|0)+176>>1]|0;c[(c[(c[(c[m>>2]|0)+8>>2]|0)+140>>2]|0)+44>>2]=(c[(c[(c[(c[h>>2]|0)+8>>2]|0)+140>>2]|0)+44>>2]|0)+1;c[(c[(c[(c[m>>2]|0)+8>>2]|0)+140>>2]|0)+48>>2]=c[h>>2];Po(c[k>>2]|0,c[m>>2]|0);uo(c[m>>2]|0,0,c[m>>2]|0)}c[m>>2]=wD(c[m>>2]|0)|0}if(c[g>>2]|0){i=n;return}c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]=c[l+8>>2];if(!(c[l+8>>2]|0)){i=n;return}m=tK(c[l>>2]|0,(c[l+8>>2]|0)+1<<2)|0;c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]=m;i=n;return}function vo(b,d){b=b|0;d=d|0;var e=0,f=0,g=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;y=i;i=i+128|0;if((i|0)>=(j|0))ba();x=y+64|0;e=y+56|0;r=y+116|0;f=y+112|0;p=y+108|0;t=y+104|0;u=y+100|0;v=y+96|0;l=y+92|0;w=y+88|0;s=y+84|0;m=y+80|0;k=y+76|0;n=y+72|0;q=y+16|0;o=y;g=y+68|0;c[r>>2]=b;c[f>>2]=d;c[p>>2]=0;if(a[139078]|0){d=c[24742]|0;c[e>>2]=MB(c[r>>2]|0)|0;p3(d,127795,e)|0}c[v>>2]=pC(c[r>>2]|0)|0;while(1){if(!(c[v>>2]|0))break;c[(c[(c[v>>2]|0)+8>>2]|0)+164>>2]=0;c[v>>2]=qC(c[r>>2]|0,c[v>>2]|0)|0}c[t>>2]=Ao(c[r>>2]|0,c[f>>2]|0)|0;e=uv(c[t>>2]|0,k,n)|0;c[m>>2]=e;c[s>>2]=e;while(1){e=c[m>>2]|0;c[m>>2]=e+4;e=c[e>>2]|0;c[l>>2]=e;if(!e)break;Ro(c[l>>2]|0,q);c[v>>2]=pC(c[l>>2]|0)|0;while(1){if(!(c[v>>2]|0))break;b=c[v>>2]|0;if(!(c[(c[(c[v>>2]|0)+8>>2]|0)+212>>2]|0)){if((c[(c[(c[b+8>>2]|0)+112>>2]|0)+8>>2]|0)==0?(c[(c[(c[v>>2]|0)+8>>2]|0)+212>>2]|0)==0:0)FC(c[l>>2]|0,c[v>>2]|0)|0}else{c[w>>2]=Bo(b,c[l>>2]|0)|0;vo(c[w>>2]|0,c[f>>2]|0);h[(c[(c[v>>2]|0)+8>>2]|0)+32>>3]=+h[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+8+16>>3];h[(c[(c[v>>2]|0)+8>>2]|0)+40>>3]=+h[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+8+16+8>>3];h[o>>3]=+h[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+8+16>>3]*72.0;h[o+8>>3]=+h[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+8+16+8>>3]*72.0;z=+h[o>>3]/2.0;h[(c[(c[v>>2]|0)+8>>2]|0)+88>>3]=z;h[(c[(c[v>>2]|0)+8>>2]|0)+96>>3]=z;h[(c[(c[v>>2]|0)+8>>2]|0)+80>>3]=+h[o+8>>3]}c[v>>2]=qC(c[l>>2]|0,c[v>>2]|0)|0}if((AB(c[l>>2]|0)|0)<2)continue;if((c[r>>2]|0)==(c[c[f>>2]>>2]|0))uq(c[l>>2]|0)|0;cp(c[l>>2]|0,q)}if((c[k>>2]|0)>1){if(c[n>>2]|0){c[g>>2]=qK(c[k>>2]|0)|0;a[c[g>>2]>>0]=1}else c[g>>2]=0;c[(c[f>>2]|0)+20+20>>2]=c[g>>2];c[p>>2]=QG(c[k>>2]|0,c[s>>2]|0,0,(c[f>>2]|0)+20|0)|0;if(c[g>>2]|0)B1(c[g>>2]|0)}else{c[p>>2]=0;if((c[k>>2]|0)==1)QO(c[c[s>>2]>>2]|0)}Co(c[t>>2]|0,c[k>>2]|0,c[s>>2]|0,c[p>>2]|0,c[r>>2]|0,c[f>>2]|0);B1(c[p>>2]|0);c[u>>2]=pC(c[t>>2]|0)|0;while(1){if(!(c[u>>2]|0))break;q=c[(c[(c[u>>2]|0)+8>>2]|0)+212>>2]|0;c[w>>2]=q;b=c[(c[u>>2]|0)+8>>2]|0;if(!q){q=c[(c[b+112>>2]|0)+8>>2]|0;c[v>>2]=q;if(q){h[c[(c[(c[v>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[c[(c[(c[u>>2]|0)+8>>2]|0)+132>>2]>>3];h[(c[(c[(c[v>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[(c[(c[(c[u>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]}}else{h[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+8>>3]=+h[c[b+132>>2]>>3]-+h[(c[(c[u>>2]|0)+8>>2]|0)+32>>3]/2.0;h[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+8+8>>3]=+h[(c[(c[(c[u>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]-+h[(c[(c[u>>2]|0)+8>>2]|0)+40>>3]/2.0;h[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+8+16>>3]=+h[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+8>>3]+ +h[(c[(c[u>>2]|0)+8>>2]|0)+32>>3];h[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+8+16+8>>3]=+h[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+8+8>>3]+ +h[(c[(c[u>>2]|0)+8>>2]|0)+40>>3]}c[u>>2]=qC(c[t>>2]|0,c[u>>2]|0)|0}w=(c[(c[(c[r>>2]|0)+8>>2]|0)+140>>2]|0)+8|0;v=(c[(c[(c[t>>2]|0)+8>>2]|0)+140>>2]|0)+8|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];c[w+16>>2]=c[v+16>>2];c[w+20>>2]=c[v+20>>2];c[w+24>>2]=c[v+24>>2];c[w+28>>2]=c[v+28>>2];Do(c[t>>2]|0,c[s>>2]|0);B1(c[s>>2]|0);if(!(a[139078]|0)){i=y;return}w=c[24742]|0;c[x>>2]=MB(c[r>>2]|0)|0;p3(w,127806,x)|0;i=y;return}function wo(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=i;i=i+112|0;if((i|0)>=(j|0))ba();d=r+100|0;e=r+56|0;n=r+96|0;f=r+40|0;m=r+92|0;p=r+32|0;g=r+24|0;l=r+16|0;k=r+8|0;q=r;o=r+88|0;c[d>>2]=b;c[m>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;if(a[(c[(c[m>>2]|0)+8>>2]|0)+118>>0]|0){c[n>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+212>>2];b=(c[(c[(c[n>>2]|0)+8>>2]|0)+140>>2]|0)+8|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];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];h[p>>3]=+h[e+16>>3]-+h[e>>3];h[g>>3]=+h[e+16+8>>3]-+h[e+8>>3];h[f>>3]=+h[p>>3]/2.0;h[f+8>>3]=+h[g>>3]/2.0;h[q>>3]=+h[p>>3]/2.0*72.0;h[k>>3]=+h[g>>3]/2.0*72.0;h[l>>3]=+h[g>>3]*72.0;h[c[(c[(c[m>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[f>>3];h[(c[(c[(c[m>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[f+8>>3];h[(c[(c[m>>2]|0)+8>>2]|0)+32>>3]=+h[p>>3];h[(c[(c[m>>2]|0)+8>>2]|0)+40>>3]=+h[g>>3];s=+h[q>>3];h[(c[(c[m>>2]|0)+8>>2]|0)+96>>3]=s;h[(c[(c[m>>2]|0)+8>>2]|0)+88>>3]=s;h[(c[(c[m>>2]|0)+8>>2]|0)+80>>3]=+h[l>>3];c[o>>2]=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+12>>2]|0)+44>>2];h[c[o>>2]>>3]=+h[(c[(c[m>>2]|0)+8>>2]|0)+96>>3];h[(c[o>>2]|0)+8>>3]=+h[k>>3];h[(c[o>>2]|0)+16>>3]=-+h[(c[(c[m>>2]|0)+8>>2]|0)+88>>3];h[(c[o>>2]|0)+16+8>>3]=+h[k>>3];h[(c[o>>2]|0)+32>>3]=-+h[(c[(c[m>>2]|0)+8>>2]|0)+88>>3];h[(c[o>>2]|0)+32+8>>3]=-+h[k>>3];h[(c[o>>2]|0)+48>>3]=+h[(c[(c[m>>2]|0)+8>>2]|0)+96>>3];h[(c[o>>2]|0)+48+8>>3]=-+h[k>>3]}c[m>>2]=qC(c[d>>2]|0,c[m>>2]|0)|0}i=r;return}function xo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+96|0;if((i|0)>=(j|0))ba();d=n+80|0;e=n+76|0;g=n+72|0;m=n+68|0;k=n+64|0;f=n+32|0;l=n;c[d>>2]=a;c[e>>2]=b;b=(c[(c[(c[d>>2]|0)+8>>2]|0)+140>>2]|0)+8|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[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];a:do if((c[d>>2]|0)!=(c[e>>2]|0)){c[k>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[k>>2]|0))break a;if((c[(c[(c[k>>2]|0)+8>>2]|0)+212>>2]|0)==(c[d>>2]|0)){b=c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]|0;h[b>>3]=+h[b>>3]+ +h[f>>3];b=(c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[b>>3]=+h[b>>3]+ +h[f+8>>3]}c[k>>2]=qC(c[d>>2]|0,c[k>>2]|0)|0}}while(0);c[g>>2]=1;while(1){if((c[g>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0))break;c[m>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[g>>2]<<2)>>2];if((c[d>>2]|0)!=(c[e>>2]|0)){b=(c[(c[(c[m>>2]|0)+8>>2]|0)+140>>2]|0)+8|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];c[l+16>>2]=c[b+16>>2];c[l+20>>2]=c[b+20>>2];c[l+24>>2]=c[b+24>>2];c[l+28>>2]=c[b+28>>2];h[l>>3]=+h[l>>3]+ +h[f>>3];b=l+8|0;h[b>>3]=+h[b>>3]+ +h[f+8>>3];b=l+16|0;h[b>>3]=+h[b>>3]+ +h[f>>3];b=l+16+8|0;h[b>>3]=+h[b>>3]+ +h[f+8>>3];b=(c[(c[(c[m>>2]|0)+8>>2]|0)+140>>2]|0)+8|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];c[b+16>>2]=c[l+16>>2];c[b+20>>2]=c[l+20>>2];c[b+24>>2]=c[l+24>>2];c[b+28>>2]=c[l+28>>2]}xo(c[m>>2]|0,c[e>>2]|0);c[g>>2]=(c[g>>2]|0)+1}i=n;return}function yo(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+48|0;if((i|0)>=(j|0))ba();b=e+36|0;d=e+32|0;f=e;c[b>>2]=a;h[f>>3]=+h[(c[(c[(c[b>>2]|0)+8>>2]|0)+140>>2]|0)+8>>3]*72.0;h[f+8>>3]=+h[(c[(c[(c[b>>2]|0)+8>>2]|0)+140>>2]|0)+8+8>>3]*72.0;h[f+16>>3]=+h[(c[(c[(c[b>>2]|0)+8>>2]|0)+140>>2]|0)+8+16>>3]*72.0;h[f+16+8>>3]=+h[(c[(c[(c[b>>2]|0)+8>>2]|0)+140>>2]|0)+8+16+8>>3]*72.0;a=(c[(c[b>>2]|0)+8>>2]|0)+16|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2];c[a+24>>2]=c[f+24>>2];c[a+28>>2]=c[f+28>>2];c[d>>2]=1;while(1){if((c[d>>2]|0)>(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0))break;yo(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}i=e;return}function zo(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();g=h;b=h+12|0;f=h+8|0;d=h+4|0;c[b>>2]=a;c[f>>2]=0;c[d>>2]=(e[(c[(c[b>>2]|0)+8>>2]|0)+136>>1]|0)&14;if((c[d>>2]|0)!=2){if((c[d>>2]|0)==12?(c[f>>2]=vm(c[b>>2]|0,27,10)|0,(c[f>>2]|0)!=0):0)c[13795]=2;do if((c[f>>2]|0)!=0|(c[d>>2]|0)!=12)if((e[(c[(c[b>>2]|0)+8>>2]|0)+136>>1]|0)&1){pA(0,127732,g)|0;break}else{wm(c[b>>2]|0,c[d>>2]|0)|0;break}while(0);c[13795]=0}if((c[13800]|0)>=1){i=h;return}wm(c[b>>2]|0,2)|0;i=h;return}function Ao(e,f){e=e|0;f=f|0;var g=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;F=i;i=i+224|0;if((i|0)>=(j|0))ba();g=F+56|0;q=F+40|0;l=F+32|0;w=F+120|0;m=F+116|0;y=F+112|0;z=F+108|0;p=F+104|0;k=F+124|0;C=F+100|0;u=F+96|0;x=F+92|0;o=F+88|0;A=F+84|0;n=F;s=F+80|0;t=F+76|0;v=F+72|0;D=F+68|0;B=F+64|0;E=F+60|0;c[w>>2]=e;c[m>>2]=f;c[A>>2]=0;e=(c[m>>2]|0)+16|0;f=c[e>>2]|0;c[e>>2]=f+1;c[g>>2]=f;D3(k,127868,g)|0;if((d[139078]|0)>=2){f=c[24742]|0;e=MB(c[w>>2]|0)|0;c[l>>2]=k;c[l+4>>2]=e;p3(f,127875,l)|0};c[g>>2]=c[13066];c[y>>2]=wB(129166,g,0)|0;aD(c[y>>2]|0,175129,280,1)|0;l=qK(56)|0;c[(c[(c[y>>2]|0)+8>>2]|0)+140>>2]=l;b[(c[(c[y>>2]|0)+8>>2]|0)+176>>1]=b[(c[(c[w>>2]|0)+8>>2]|0)+176>>1]|0;Jo(c[w>>2]|0,c[y>>2]|0,129920);Jo(c[w>>2]|0,c[y>>2]|0,129979);Jo(c[w>>2]|0,c[y>>2]|0,129284);c[o>>2]=1;while(1){if((c[o>>2]|0)>(c[(c[(c[w>>2]|0)+8>>2]|0)+180>>2]|0))break;c[n>>2]=c[8320];c[n+4>>2]=c[8321];c[n+8>>2]=c[8322];c[n+12>>2]=c[8323];c[n+16>>2]=c[8324];c[n+20>>2]=c[8325];c[n+24>>2]=c[8326];c[n+28>>2]=c[8327];c[p>>2]=c[(c[(c[(c[w>>2]|0)+8>>2]|0)+184>>2]|0)+(c[o>>2]<<2)>>2];_J(c[p>>2]|0);l=c[y>>2]|0;c[z>>2]=Ko(l,MB(c[p>>2]|0)|0)|0;c[(c[(c[z>>2]|0)+8>>2]|0)+212>>2]=c[p>>2];l=c[A>>2]|0;c[A>>2]=l+1;c[(c[(c[z>>2]|0)+8>>2]|0)+120>>2]=l;if(c[(c[m>>2]|0)+4>>2]|0)Lo(c[p>>2]|0,c[z>>2]|0,c[m>>2]|0,n);c[u>>2]=pC(c[p>>2]|0)|0;while(1){g=c[z>>2]|0;if(!(c[u>>2]|0))break;c[(c[(c[u>>2]|0)+8>>2]|0)+164>>2]=g;c[u>>2]=qC(c[p>>2]|0,c[u>>2]|0)|0}if(a[(c[g+8>>2]|0)+119>>0]|0){h[c[(c[(c[z>>2]|0)+8>>2]|0)+132>>2]>>3]=(+h[n>>3]+ +h[n+16>>3])/2.0;h[(c[(c[(c[z>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=(+h[n+8>>3]+ +h[n+16+8>>3])/2.0}c[o>>2]=(c[o>>2]|0)+1}c[u>>2]=pC(c[w>>2]|0)|0;while(1){if(!(c[u>>2]|0))break;if(!(c[(c[(c[u>>2]|0)+8>>2]|0)+164>>2]|0)){if((c[(c[(c[u>>2]|0)+8>>2]|0)+212>>2]|0)!=0?(c[(c[(c[u>>2]|0)+8>>2]|0)+212>>2]|0)!=(c[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+48>>2]|0):0){r=18;break}c[(c[(c[u>>2]|0)+8>>2]|0)+212>>2]=c[w>>2];if(!(a[(c[(c[u>>2]|0)+8>>2]|0)+118>>0]|0)){p=c[y>>2]|0;c[z>>2]=Ko(p,MB(c[u>>2]|0)|0)|0;c[(c[(c[u>>2]|0)+8>>2]|0)+164>>2]=c[z>>2];p=c[A>>2]|0;c[A>>2]=p+1;c[(c[(c[z>>2]|0)+8>>2]|0)+120>>2]=p;h[(c[(c[z>>2]|0)+8>>2]|0)+32>>3]=+h[(c[(c[u>>2]|0)+8>>2]|0)+32>>3];h[(c[(c[z>>2]|0)+8>>2]|0)+40>>3]=+h[(c[(c[u>>2]|0)+8>>2]|0)+40>>3];h[(c[(c[z>>2]|0)+8>>2]|0)+88>>3]=+h[(c[(c[u>>2]|0)+8>>2]|0)+88>>3];h[(c[(c[z>>2]|0)+8>>2]|0)+96>>3]=+h[(c[(c[u>>2]|0)+8>>2]|0)+96>>3];h[(c[(c[z>>2]|0)+8>>2]|0)+80>>3]=+h[(c[(c[u>>2]|0)+8>>2]|0)+80>>3];c[(c[(c[z>>2]|0)+8>>2]|0)+8>>2]=c[(c[(c[u>>2]|0)+8>>2]|0)+8>>2];c[(c[(c[z>>2]|0)+8>>2]|0)+12>>2]=c[(c[(c[u>>2]|0)+8>>2]|0)+12>>2];if(a[(c[(c[u>>2]|0)+8>>2]|0)+119>>0]|0){h[c[(c[(c[z>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[c[(c[(c[u>>2]|0)+8>>2]|0)+132>>2]>>3];h[(c[(c[(c[z>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[(c[(c[(c[u>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];a[(c[(c[z>>2]|0)+8>>2]|0)+119>>0]=a[(c[(c[u>>2]|0)+8>>2]|0)+119>>0]|0}c[(c[(c[(c[z>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]=c[u>>2]}}c[u>>2]=qC(c[w>>2]|0,c[u>>2]|0)|0}if((r|0)==18){o=MB(c[u>>2]|0)|0;p=MB(c[w>>2]|0)|0;r=MB(c[(c[(c[u>>2]|0)+8>>2]|0)+212>>2]|0)|0;c[q>>2]=o;c[q+4>>2]=p;c[q+8>>2]=r;pA(1,127898,q)|0;hb(50948,1)}c[u>>2]=pC(c[w>>2]|0)|0;while(1){if(!(c[u>>2]|0))break;c[v>>2]=c[(c[(c[u>>2]|0)+8>>2]|0)+164>>2];c[s>>2]=cB(c[w>>2]|0,c[u>>2]|0)|0;while(1){if(!(c[s>>2]|0))break;r=c[s>>2]|0;c[t>>2]=c[(c[(c[((c[c[s>>2]>>2]&3|0)==2?r:r+-32|0)+28>>2]|0)+8>>2]|0)+164>>2];if((c[t>>2]|0)!=(c[v>>2]|0)){g=c[y>>2]|0;if((c[t>>2]|0)>>>0>(c[v>>2]|0)>>>0)c[x>>2]=jB(g,c[v>>2]|0,c[t>>2]|0,0,1)|0;else c[x>>2]=jB(g,c[t>>2]|0,c[v>>2]|0,0,1)|0;aD(c[x>>2]|0,175399,176,1)|0;h[(c[(c[x>>2]|0)+8>>2]|0)+136>>3]=+h[(c[(c[s>>2]|0)+8>>2]|0)+136>>3];h[(c[(c[x>>2]|0)+8>>2]|0)+128>>3]=+h[(c[(c[s>>2]|0)+8>>2]|0)+128>>3];r=(c[(c[(c[t>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1;r=(c[(c[(c[v>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+1;if(!(c[(c[(c[x>>2]|0)+8>>2]|0)+172>>2]|0)){r=c[(c[(c[t>>2]|0)+8>>2]|0)+112>>2]|0;c[r>>2]=(c[r>>2]|0)+1;r=c[(c[(c[v>>2]|0)+8>>2]|0)+112>>2]|0;c[r>>2]=(c[r>>2]|0)+1}Mo(c[x>>2]|0,c[s>>2]|0)}c[s>>2]=eB(c[w>>2]|0,c[s>>2]|0)|0}c[u>>2]=qC(c[w>>2]|0,c[u>>2]|0)|0}v=c[c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]>>2]|0;c[C>>2]=v;if(!v){E=c[y>>2]|0;i=F;return E|0}c[E>>2]=c[(c[(c[(c[w>>2]|0)+8>>2]|0)+140>>2]|0)+4>>2];v=qK((c[E>>2]|0)+1<<4)|0;c[D>>2]=v;c[c[(c[(c[y>>2]|0)+8>>2]|0)+140>>2]>>2]=v;c[E>>2]=0;while(1){if(!(c[c[C>>2]>>2]|0))break;c[B>>2]=c[(c[(c[(c[C>>2]|0)+4>>2]|0)+8>>2]|0)+164>>2];if(c[B>>2]|0){g=c[y>>2]|0;c[z>>2]=Ko(g,No(c[w>>2]|0,c[C>>2]|0)|0)|0;c[E>>2]=(c[E>>2]|0)+1;g=c[A>>2]|0;c[A>>2]=g+1;c[(c[(c[z>>2]|0)+8>>2]|0)+120>>2]=g;g=c[y>>2]|0;if((c[z>>2]|0)>>>0>(c[B>>2]|0)>>>0)c[x>>2]=jB(g,c[B>>2]|0,c[z>>2]|0,0,1)|0;else c[x>>2]=jB(g,c[z>>2]|0,c[B>>2]|0,0,1)|0;aD(c[x>>2]|0,175399,176,1)|0;h[(c[(c[x>>2]|0)+8>>2]|0)+136>>3]=+h[(c[(c[c[C>>2]>>2]|0)+8>>2]|0)+136>>3];h[(c[(c[x>>2]|0)+8>>2]|0)+128>>3]=+h[(c[(c[c[C>>2]>>2]|0)+8>>2]|0)+128>>3];Mo(c[x>>2]|0,c[c[C>>2]>>2]|0);v=(c[(c[(c[z>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[v>>2]=(c[v>>2]|0)+1;v=(c[(c[(c[B>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[v>>2]=(c[v>>2]|0)+1;v=c[(c[(c[z>>2]|0)+8>>2]|0)+112>>2]|0;c[v>>2]=(c[v>>2]|0)+1;v=c[(c[(c[B>>2]|0)+8>>2]|0)+112>>2]|0;c[v>>2]=(c[v>>2]|0)+1;c[(c[D>>2]|0)+4>>2]=c[z>>2];h[(c[D>>2]|0)+8>>3]=+h[(c[C>>2]|0)+8>>3];c[c[D>>2]>>2]=c[x>>2];c[D>>2]=(c[D>>2]|0)+16}c[C>>2]=(c[C>>2]|0)+16}c[(c[(c[(c[y>>2]|0)+8>>2]|0)+140>>2]|0)+4>>2]=c[E>>2];E=c[y>>2]|0;i=F;return E|0}function Bo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();d=q+40|0;e=q+36|0;k=q+32|0;g=q+28|0;m=q+24|0;o=q+20|0;n=q+16|0;p=q+12|0;l=q+8|0;f=q;c[d>>2]=a;c[e>>2]=b;c[o>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+212>>2];c[p>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0)+4>>2];c[l>>2]=0;if(!(c[p>>2]|0)){p=c[o>>2]|0;i=q;return p|0}c[n>>2]=qK((c[p>>2]|0)+1<<4)|0;a=Go(c[d>>2]|0,c[e>>2]|0)|0;c[g>>2]=a;c[k>>2]=a;while(1){if(!(c[c[g>>2]>>2]|0))break;c[m>>2]=(c[g>>2]|0)+24;if(c[c[m>>2]>>2]|0)h[f>>3]=+h[(c[m>>2]|0)+8>>3];else h[f>>3]=+h[(c[k>>2]|0)+8>>3]+6.283185307179586;c[l>>2]=Ho(c[d>>2]|0,c[g>>2]|0,c[n>>2]|0,c[l>>2]|0,+h[f>>3])|0;c[g>>2]=c[m>>2]}if((c[l>>2]|0)!=(c[p>>2]|0))db(127814,127824,767,127833);c[c[(c[(c[o>>2]|0)+8>>2]|0)+140>>2]>>2]=c[n>>2];c[(c[(c[(c[o>>2]|0)+8>>2]|0)+140>>2]|0)+4>>2]=c[p>>2];B1(c[k>>2]|0);p=c[o>>2]|0;i=q;return p|0}function Co(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 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.0;G=i;i=i+192|0;if((i|0)>=(j|0))ba();k=G+176|0;l=G+172|0;m=G+168|0;n=G+164|0;o=G+160|0;H=G+156|0;q=G+152|0;p=G+148|0;u=G+144|0;r=G+128|0;s=G+112|0;t=G+16|0;F=G+104|0;A=G+96|0;v=G+92|0;E=G+88|0;z=G+84|0;y=G+80|0;C=G+72|0;w=G+64|0;D=G+56|0;B=G+48|0;x=G;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[H>>2]=g;c[q>>2]=c[(c[H>>2]|0)+8>>2];c[p>>2]=c[(c[H>>2]|0)+12>>2];c[v>>2]=c[m>>2];c[E>>2]=c[n>>2];c[z>>2]=(c[o>>2]|0)==(c[c[H>>2]>>2]|0)&1;c[y>>2]=0;a:do if(c[l>>2]|0){H=c[v>>2]|0;c[v>>2]=H+4;c[u>>2]=c[H>>2];I=+h[(c[(c[u>>2]|0)+8>>2]|0)+16>>3];c[s>>2]=~~(+h[(c[(c[u>>2]|0)+8>>2]|0)+16>>3]>=0.0?I+.5:I-.5);I=+h[(c[(c[u>>2]|0)+8>>2]|0)+16+8>>3];c[s+4>>2]=~~(+h[(c[(c[u>>2]|0)+8>>2]|0)+16+8>>3]>=0.0?I+.5:I-.5);I=+h[(c[(c[u>>2]|0)+8>>2]|0)+16+16>>3];c[s+8>>2]=~~(+h[(c[(c[u>>2]|0)+8>>2]|0)+16+16>>3]>=0.0?I+.5:I-.5);I=+h[(c[(c[u>>2]|0)+8>>2]|0)+16+16+8>>3];c[s+8+4>>2]=~~(+h[(c[(c[u>>2]|0)+8>>2]|0)+16+16+8>>3]>=0.0?I+.5:I-.5);if((c[l>>2]|0)>1){H=c[E>>2]|0;c[E>>2]=H+8;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];c[s>>2]=(c[s>>2]|0)+(c[F>>2]|0);H=s+4|0;c[H>>2]=(c[H>>2]|0)+(c[F+4>>2]|0);H=s+8|0;c[H>>2]=(c[H>>2]|0)+(c[F>>2]|0);H=s+8+4|0;c[H>>2]=(c[H>>2]|0)+(c[F+4>>2]|0);while(1){H=c[v>>2]|0;c[v>>2]=H+4;H=c[H>>2]|0;c[u>>2]=H;if(!H)break a;I=+h[(c[(c[u>>2]|0)+8>>2]|0)+16>>3];c[r>>2]=~~(+h[(c[(c[u>>2]|0)+8>>2]|0)+16>>3]>=0.0?I+.5:I-.5);I=+h[(c[(c[u>>2]|0)+8>>2]|0)+16+8>>3];c[r+4>>2]=~~(+h[(c[(c[u>>2]|0)+8>>2]|0)+16+8>>3]>=0.0?I+.5:I-.5);I=+h[(c[(c[u>>2]|0)+8>>2]|0)+16+16>>3];c[r+8>>2]=~~(+h[(c[(c[u>>2]|0)+8>>2]|0)+16+16>>3]>=0.0?I+.5:I-.5);I=+h[(c[(c[u>>2]|0)+8>>2]|0)+16+16+8>>3];c[r+8+4>>2]=~~(+h[(c[(c[u>>2]|0)+8>>2]|0)+16+16+8>>3]>=0.0?I+.5:I-.5);H=c[E>>2]|0;c[E>>2]=H+8;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];c[r>>2]=(c[r>>2]|0)+(c[F>>2]|0);H=r+4|0;c[H>>2]=(c[H>>2]|0)+(c[F+4>>2]|0);H=r+8|0;c[H>>2]=(c[H>>2]|0)+(c[F>>2]|0);H=r+8+4|0;c[H>>2]=(c[H>>2]|0)+(c[F+4>>2]|0);c[s>>2]=(c[s>>2]|0)<(c[r>>2]|0)?c[s>>2]|0:c[r>>2]|0;c[s+4>>2]=(c[s+4>>2]|0)<(c[r+4>>2]|0)?c[s+4>>2]|0:c[r+4>>2]|0;c[s+8>>2]=(c[s+8>>2]|0)>(c[r+8>>2]|0)?c[s+8>>2]|0:c[r+8>>2]|0;c[s+8+4>>2]=(c[s+8+4>>2]|0)>(c[r+8+4>>2]|0)?c[s+8+4>>2]|0:c[r+8+4>>2]|0}}}else{c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=tO(c[o>>2]|0,c[q>>2]|0,54,3)|0;c[s+8+4>>2]=tO(c[o>>2]|0,c[p>>2]|0,36,3)|0;c[y>>2]=1}while(0);if((c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2]|0)!=0?(c[y>>2]=0,I=+h[(c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2]|0)+24>>3],c[C>>2]=~~(+h[(c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2]|0)+24>>3]>=0.0?I+.5:I-.5),I=+h[(c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2]|0)+24+8>>3],c[C+4>>2]=~~(+h[(c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2]|0)+24+8>>3]>=0.0?I+.5:I-.5),c[w>>2]=(c[C>>2]|0)-((c[s+8>>2]|0)-(c[s>>2]|0)),(c[w>>2]|0)>0):0){c[w>>2]=(c[w>>2]|0)/2|0;c[s>>2]=(c[s>>2]|0)-(c[w>>2]|0);H=s+8|0;c[H>>2]=(c[H>>2]|0)+(c[w>>2]|0)}if((c[z>>2]|0)!=0|(c[y>>2]|0)!=0)c[A>>2]=0;else c[A>>2]=tO(c[k>>2]|0,c[13813]|0,8,0)|0;c[F>>2]=0-(c[s>>2]|0)+(c[A>>2]|0);c[F+4>>2]=~~(+(0-(c[s+4>>2]|0)+(c[A>>2]|0)|0)+ +h[(c[(c[o>>2]|0)+8>>2]|0)+48+8>>3]);c[s>>2]=0;c[s+4>>2]=0;H=s+8|0;c[H>>2]=(c[H>>2]|0)+((c[F>>2]|0)+(c[A>>2]|0));H=s+8+4|0;c[H>>2]=~~(+(c[H>>2]|0)+(+((c[F+4>>2]|0)+(c[A>>2]|0)|0)+ +h[(c[(c[o>>2]|0)+8>>2]|0)+48+32+8>>3]));if(!(c[l>>2]|0)){H=c[s>>2]|0;I=+(H|0);I=I/72.0;h[t>>3]=I;H=s+4|0;H=c[H>>2]|0;I=+(H|0);I=I/72.0;H=t+8|0;h[H>>3]=I;H=s+8|0;H=c[H>>2]|0;I=+(H|0);I=I/72.0;H=t+16|0;h[H>>3]=I;H=s+8|0;H=H+4|0;H=c[H>>2]|0;I=+(H|0);I=I/72.0;H=t+16|0;H=H+8|0;h[H>>3]=I;H=c[k>>2]|0;H=H+8|0;H=c[H>>2]|0;H=H+140|0;H=c[H>>2]|0;H=H+8|0;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];c[H+16>>2]=c[t+16>>2];c[H+20>>2]=c[t+20>>2];c[H+24>>2]=c[t+24>>2];c[H+28>>2]=c[t+28>>2];i=G;return}c[v>>2]=c[m>>2];c[E>>2]=c[n>>2];b:while(1){H=c[v>>2]|0;c[v>>2]=H+4;H=c[H>>2]|0;c[u>>2]=H;if(!H)break;if(c[E>>2]|0){H=c[E>>2]|0;c[E>>2]=H+8;c[D>>2]=c[H>>2];c[D+4>>2]=c[H+4>>2];c[D>>2]=(c[D>>2]|0)+(c[F>>2]|0);H=D+4|0;c[H>>2]=(c[H>>2]|0)+(c[F+4>>2]|0)}else{c[D>>2]=c[F>>2];c[D+4>>2]=c[F+4>>2]}h[x>>3]=+(c[D>>2]|0)/72.0;h[x+8>>3]=+(c[D+4>>2]|0)/72.0;c[B>>2]=pC(c[u>>2]|0)|0;while(1){if(!(c[B>>2]|0))continue b;H=c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0;h[H>>3]=+h[H>>3]+ +h[x>>3];H=(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[H>>3]=+h[H>>3]+ +h[x+8>>3];c[B>>2]=qC(c[u>>2]|0,c[B>>2]|0)|0}}H=c[s>>2]|0;I=+(H|0);I=I/72.0;h[t>>3]=I;H=s+4|0;H=c[H>>2]|0;I=+(H|0);I=I/72.0;H=t+8|0;h[H>>3]=I;H=s+8|0;H=c[H>>2]|0;I=+(H|0);I=I/72.0;H=t+16|0;h[H>>3]=I;H=s+8|0;H=H+4|0;H=c[H>>2]|0;I=+(H|0);I=I/72.0;H=t+16|0;H=H+8|0;h[H>>3]=I;H=c[k>>2]|0;H=H+8|0;H=c[H>>2]|0;H=H+140|0;H=c[H>>2]|0;H=H+8|0;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];c[H+16>>2]=c[t+16>>2];c[H+20>>2]=c[t+20>>2];c[H+24>>2]=c[t+24>>2];c[H+28>>2]=c[t+28>>2];i=G;return}function Do(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+20|0;d=l+16|0;e=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[d>>2]=b;while(1){a=c[d>>2]|0;c[d>>2]=a+4;a=c[a>>2]|0;c[e>>2]=a;if(!a)break;Eo(c[e>>2]|0);bD(c[e>>2]|0,175129)|0}if(c[c[(c[(c[f>>2]|0)+8>>2]|0)+140>>2]>>2]|0)B1(c[c[(c[(c[f>>2]|0)+8>>2]|0)+140>>2]>>2]|0);Eo(c[f>>2]|0);bD(c[f>>2]|0,175129)|0;c[g>>2]=pC(c[f>>2]|0)|0;while(1){d=c[f>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=qC(d,c[g>>2]|0)|0;c[k>>2]=cB(c[f>>2]|0,c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;B1(c[(c[(c[k>>2]|0)+8>>2]|0)+172>>2]|0);bD(c[k>>2]|0,175399)|0;c[k>>2]=eB(c[f>>2]|0,c[k>>2]|0)|0}Fo(c[g>>2]|0);c[g>>2]=c[h>>2]}zB(d)|0;i=l;return}function Eo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[(c[(c[d>>2]|0)+8>>2]|0)+140>>2]|0);i=b;return}function Fo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0);B1(c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]|0);bD(c[d>>2]|0,175106)|0;i=b;return}function Go(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=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.0;u=i;i=i+80|0;if((i|0)>=(j|0))ba();d=u+76|0;e=u+72|0;q=u+68|0;o=u+64|0;r=u+60|0;f=u+40|0;g=u+32|0;k=u+56|0;l=u+52|0;t=u+48|0;m=u+24|0;s=u+16|0;p=u+8|0;n=u;c[d>>2]=a;c[e>>2]=b;c[o>>2]=c[c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]>>2];c[q>>2]=qK(((c[o>>2]|0)+1|0)*24|0)|0;c[r>>2]=0;c[k>>2]=hB(c[e>>2]|0,c[d>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;a=c[k>>2]|0;b=c[c[k>>2]>>2]&3;if((c[((c[c[k>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)==(c[d>>2]|0)){a=c[k>>2]|0;c[l>>2]=c[((b|0)==3?a:a+32|0)+28>>2]}else{a=c[k>>2]|0;c[l>>2]=c[((b|0)==2?a:a+-32|0)+28>>2]}h[f>>3]=+h[c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]>>3]-+h[c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]>>3];h[g>>3]=+h[(c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]-+h[(c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];c[(c[q>>2]|0)+((c[r>>2]|0)*24|0)>>2]=c[k>>2];v=+W(+(+h[g>>3]),+(+h[f>>3]));h[(c[q>>2]|0)+((c[r>>2]|0)*24|0)+8>>3]=v;h[(c[q>>2]|0)+((c[r>>2]|0)*24|0)+16>>3]=+h[f>>3]*+h[f>>3]+ +h[g>>3]*+h[g>>3];c[r>>2]=(c[r>>2]|0)+1;c[k>>2]=iB(c[e>>2]|0,c[k>>2]|0,c[d>>2]|0)|0}if((c[r>>2]|0)!=(c[o>>2]|0))db(127847,127824,643,127856);P3(c[q>>2]|0,c[o>>2]|0,24,67);if((c[o>>2]|0)<2){t=c[q>>2]|0;i=u;return t|0}c[r>>2]=0;a:while(1){if((c[r>>2]|0)>=((c[o>>2]|0)-1|0))break;h[m>>3]=+h[(c[q>>2]|0)+((c[r>>2]|0)*24|0)+8>>3];c[t>>2]=(c[r>>2]|0)+1;while(1){if((c[t>>2]|0)<(c[o>>2]|0))a=+h[(c[q>>2]|0)+((c[t>>2]|0)*24|0)+8>>3]==+h[m>>3];else a=0;b=c[t>>2]|0;if(!a)break;c[t>>2]=b+1}a=c[t>>2]|0;if((b|0)==((c[r>>2]|0)+1|0)){c[r>>2]=a;continue}if((a|0)==(c[o>>2]|0))h[n>>3]=3.141592653589793;else h[n>>3]=+h[(c[q>>2]|0)+((c[t>>2]|0)*24|0)+8>>3];h[p>>3]=(+h[n>>3]-+h[m>>3])/+((c[t>>2]|0)-(c[r>>2]|0)|0);if(+h[p>>3]>.03490658503988659)h[p>>3]=.03490658503988659;h[s>>3]=0.0;while(1){if((c[r>>2]|0)>=(c[t>>2]|0))continue a;l=(c[q>>2]|0)+((c[r>>2]|0)*24|0)+8|0;h[l>>3]=+h[l>>3]+ +h[s>>3];h[s>>3]=+h[s>>3]+ +h[p>>3];c[r>>2]=(c[r>>2]|0)+1}}t=c[q>>2]|0;i=u;return t|0}function Ho(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=+g;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,w=0,x=0,y=0,z=0;z=i;i=i+80|0;if((i|0)>=(j|0))ba();n=z+68|0;k=z+64|0;o=z+60|0;p=z+56|0;l=z+16|0;m=z+52|0;r=z+48|0;t=z+44|0;u=z+40|0;v=z+36|0;q=z+8|0;s=z;w=z+32|0;y=z+28|0;x=z+24|0;c[n>>2]=a;c[k>>2]=d;c[o>>2]=e;c[p>>2]=f;h[l>>3]=g;c[t>>2]=c[c[k>>2]>>2];c[r>>2]=b[(c[(c[t>>2]|0)+8>>2]|0)+168>>1];e=c[t>>2]|0;d=c[c[t>>2]>>2]&3;if((c[((c[c[t>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)==(c[n>>2]|0)){e=c[t>>2]|0;c[m>>2]=c[((d|0)==3?e:e+32|0)+28>>2]}else{e=c[t>>2]|0;c[m>>2]=c[((d|0)==2?e:e+-32|0)+28>>2]}h[s>>3]=(+h[l>>3]-+h[(c[k>>2]|0)+8>>3])/+(c[r>>2]|0);h[q>>3]=+h[(c[k>>2]|0)+8>>3];if(+h[s>>3]>.03490658503988659)h[s>>3]=.03490658503988659;d=c[p>>2]|0;if((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0){c[w>>2]=d;c[x>>2]=1}else{c[w>>2]=d+(c[r>>2]|0)-1;c[x>>2]=-1;h[q>>3]=+h[q>>3]+ +h[s>>3]*+((c[r>>2]|0)-1|0);h[s>>3]=-+h[s>>3]}m=c[(c[(c[t>>2]|0)+8>>2]|0)+172>>2]|0;c[u>>2]=m;c[v>>2]=m;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(b[(c[(c[t>>2]|0)+8>>2]|0)+168>>1]|0))break;c[u>>2]=c[c[v>>2]>>2];c[(c[o>>2]|0)+(c[w>>2]<<4)>>2]=c[u>>2];m=c[u>>2]|0;d=c[c[u>>2]>>2]&3;if((c[(c[(c[((c[c[u>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]|0)+8>>2]|0)+164>>2]|0)==(c[n>>2]|0)){m=c[u>>2]|0;d=c[((d|0)==3?m:m+32|0)+28>>2]|0}else{m=c[u>>2]|0;d=c[((d|0)==2?m:m+-32|0)+28>>2]|0}c[(c[o>>2]|0)+(c[w>>2]<<4)+4>>2]=d;h[(c[o>>2]|0)+(c[w>>2]<<4)+8>>3]=+h[q>>3];c[w>>2]=(c[w>>2]|0)+(c[x>>2]|0);h[q>>3]=+h[q>>3]+ +h[s>>3];c[y>>2]=(c[y>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+4}i=z;return (c[p>>2]|0)+(c[r>>2]|0)|0}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();d=g+16|0;l=g+12|0;k=g+8|0;e=g+4|0;f=g;c[l>>2]=a;c[k>>2]=b;c[e>>2]=c[l>>2];c[f>>2]=c[k>>2];do if(!(+h[(c[e>>2]|0)+8>>3]>+h[(c[f>>2]|0)+8>>3])){if(+h[(c[e>>2]|0)+8>>3]<+h[(c[f>>2]|0)+8>>3]){c[d>>2]=-1;break}if(+h[(c[e>>2]|0)+16>>3]>+h[(c[f>>2]|0)+16>>3]){c[d>>2]=1;break}if(+h[(c[e>>2]|0)+16>>3]<+h[(c[f>>2]|0)+16>>3]){c[d>>2]=-1;break}else{c[d>>2]=0;break}}else c[d>>2]=1;while(0);i=g;return c[d>>2]|0}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=GA(c[e>>2]|0,0,c[g>>2]|0,0)|0;c[h>>2]=a;if(!a){i=l;return}c[k>>2]=PA(c[e>>2]|0,c[h>>2]|0)|0;c[h>>2]=GA(c[f>>2]|0,0,c[g>>2]|0,0)|0;e=c[f>>2]|0;if(c[h>>2]|0){RA(e,c[h>>2]|0,c[k>>2]|0)|0;i=l;return}else{GA(e,0,c[g>>2]|0,c[k>>2]|0)|0;i=l;return}}function Ko(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+8|0;h=d+4|0;f=d;c[g>>2]=a;c[h>>2]=b;c[f>>2]=vC(c[g>>2]|0,c[h>>2]|0,1)|0;aD(c[f>>2]|0,175106,304,1)|0;b=qK(32)|0;c[(c[(c[f>>2]|0)+8>>2]|0)+112>>2]=b;b=rK((e[(c[(c[g>>2]|0)+8>>2]|0)+176>>1]|0)<<3)|0;c[(c[(c[f>>2]|0)+8>>2]|0)+132>>2]=b;i=d;return c[f>>2]|0}function Lo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=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;v=i;i=i+112|0;if((i|0)>=(j|0))ba();r=v+56|0;q=v+32|0;g=v+92|0;k=v+88|0;l=v+84|0;s=v+80|0;n=v+76|0;p=v+72|0;t=v;u=v+96|0;o=v+68|0;m=v+64|0;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[s>>2]=f;c[m>>2]=c[(c[l>>2]|0)+4>>2];c[n>>2]=PA(c[g>>2]|0,c[m>>2]|0)|0;if(!(a[c[n>>2]>>0]|0)){i=v;return}if((c[g>>2]|0)!=(c[c[l>>2]>>2]|0)){c[o>>2]=xD(c[g>>2]|0)|0;c[p>>2]=PA(c[o>>2]|0,c[m>>2]|0)|0;if((c[p>>2]|0)==(c[n>>2]|0)){i=v;return}if(!(a4(c[n>>2]|0,c[p>>2]|0)|0)){i=v;return}}a[u>>0]=0;p=c[n>>2]|0;c[q>>2]=t;c[q+4>>2]=t+8;c[q+8>>2]=t+16;c[q+12>>2]=t+16+8;c[q+16>>2]=u;if((E3(p,129010,q)|0)<4){t=MB(c[g>>2]|0)|0;u=c[n>>2]|0;c[r>>2]=t;c[r+4>>2]=u;pA(0,129028,r)|0;i=v;return}if(+h[4246]>0.0){h[t>>3]=+h[t>>3]/+h[4246];r=t+8|0;h[r>>3]=+h[r>>3]/+h[4246];r=t+16|0;h[r>>3]=+h[r>>3]/+h[4246];r=t+16+8|0;h[r>>3]=+h[r>>3]/+h[4246]}do if((a[u>>0]|0)!=33){g=(c[(c[k>>2]|0)+8>>2]|0)+119|0;if((a[u>>0]|0)==63){a[g>>0]=2;break}else{a[g>>0]=1;break}}else a[(c[(c[k>>2]|0)+8>>2]|0)+119>>0]=3;while(0);u=c[s>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];i=v;return}function Mo(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+8|0;f=k+4|0;g=k+12|0;h=k;c[e>>2]=a;c[f>>2]=d;b[g>>1]=b[(c[(c[e>>2]|0)+8>>2]|0)+168>>1]|0;c[h>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2];if(c[h>>2]|0)a=tK(c[h>>2]|0,(b[g>>1]|0)+1<<2)|0;else a=rK((b[g>>1]|0)+1<<2)|0;c[h>>2]=a;c[(c[h>>2]|0)+(b[g>>1]<<2)>>2]=c[f>>2];c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]=c[h>>2];h=(c[(c[e>>2]|0)+8>>2]|0)+168|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;i=k;return}function No(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;h=i;i=i+64|0;if((i|0)>=(j|0))ba();g=h+16|0;f=h;m=h+52|0;n=h+48|0;d=h+44|0;e=h+40|0;l=h+36|0;k=h+32|0;c[m>>2]=a;c[n>>2]=b;c[d>>2]=c[c[n>>2]>>2];b=c[d>>2]|0;c[e>>2]=c[((c[c[d>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2];b=c[d>>2]|0;c[l>>2]=c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2];c[k>>2]=8;b=e4(MB(c[m>>2]|0)|0)|0;b=b+(e4(MB(c[e>>2]|0)|0)|0)|0;b=b+(e4(MB(c[l>>2]|0)|0)|0)|0;c[k>>2]=(c[k>>2]|0)+b;k=(c[k>>2]|0)>=1e3;b=MB(c[m>>2]|0)|0;a=c[l>>2]|0;if(k){l=MB(a)|0;m=MB(c[e>>2]|0)|0;n=(c[c[d>>2]>>2]|0)>>>4;c[f>>2]=b;c[f+4>>2]=l;c[f+8>>2]=m;c[f+12>>2]=n;D3(127967,128968,f)|0;i=h;return 127967}else{l=c[(c[a+8>>2]|0)+120>>2]|0;m=c[(c[(c[e>>2]|0)+8>>2]|0)+120>>2]|0;n=(c[c[d>>2]>>2]|0)>>>4;c[g>>2]=b;c[g+4>>2]=l;c[g+8>>2]=m;c[g+12>>2]=n;D3(127967,128987,g)|0;i=h;return 127967}return 0}function Oo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[(c[d>>2]|0)+8>>2]=0;i=b;return}function Po(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=(c[d>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+1;if((c[(c[d>>2]|0)+8>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){b=(c[d>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+10;b=tK(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]<<2)|0;c[c[d>>2]>>2]=b}c[(c[c[d>>2]>>2]|0)+(c[(c[d>>2]|0)+8>>2]<<2)>>2]=c[e>>2];i=f;return}function Qo(a){a=a|0;var b=0,d=0,e=0.0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d+4|0;c[b>>2]=a;c[8328]=c[c[13790]>>2];c[8329]=c[(c[13790]|0)+4>>2];c[8331]=c[(c[13790]|0)+8>>2];c[8333]=c[(c[13790]|0)+12>>2];h[4172]=0.0;h[4167]=+h[(c[13790]|0)+16>>3];h[4168]=+h[(c[13790]|0)+24>>3];a=c[b>>2]|0;c[8332]=tO(a,GA(c[b>>2]|0,0,129071,0)|0,600,0)|0;a=c[b>>2]|0;e=+uO(a,GA(c[b>>2]|0,0,129284,0)|0,.3,0.0);h[4169]=e;h[(c[13790]|0)+32>>3]=e;if(+h[(c[13790]|0)+40>>3]==-1.0){a=c[b>>2]|0;h[4170]=+uO(a,GA(c[b>>2]|0,0,129079,0)|0,-1.0,0.0)}else h[4170]=+h[(c[13790]|0)+40>>3];c[8330]=1;c[8342]=Nl(c[b>>2]|0,2,33320)|0;if(!(c[8342]|0)){pA(0,129082,d)|0;c[8330]=2}c[8358]=(_(c[8333]|0,c[8332]|0)|0)/100|0;h[4174]=+h[4169]*+h[4169];if(!(c[8328]|0)){i=d;return}if(+h[4172]<=0.0)h[4172]=+h[4169]*3.0;h[4173]=+h[4172]*+h[4172];i=d;return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+80|0;if((i|0)>=(j|0))ba();d=p+64|0;r=p+60|0;g=p+56|0;m=p+52|0;l=p+48|0;n=p+32|0;f=p+44|0;e=p+16|0;k=p+40|0;q=p;c[d>>2]=a;c[r>>2]=b;c[l>>2]=c[c[(c[(c[d>>2]|0)+8>>2]|0)+140>>2]>>2];c[m>>2]=So(c[d>>2]|0,c[r>>2]|0)|0;h[n>>3]=+h[4170];To(q,c[d>>2]|0,c[l>>2]|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];a:do if(c[8328]|0){c[f>>2]=wv(AB(c[d>>2]|0)|0)|0;r=c[f>>2]|0;xv(r,AB(c[d>>2]|0)|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[8359]|0))break;h[n>>3]=+Uo(+h[n>>3],c[g>>2]|0);Vo(c[d>>2]|0,+h[n>>3],c[l>>2]|0,c[f>>2]|0);c[g>>2]=(c[g>>2]|0)+1}zv(c[f>>2]|0)}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[8359]|0))break a;h[n>>3]=+Uo(+h[n>>3],c[g>>2]|0);Wo(c[d>>2]|0,+h[n>>3],c[l>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);if(!(!(+h[e>>3]!=0.0)?!(+h[e+8>>3]!=0.0):0))o=11;b:do if((o|0)==11){c[k>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[k>>2]|0))break b;r=c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]|0;h[r>>3]=+h[r>>3]+ +h[e>>3];r=(c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[e+8>>3];c[k>>2]=qC(c[d>>2]|0,c[k>>2]|0)|0}}while(0);if(!(c[m>>2]|0)){i=p;return}Xo();i=p;return}function So(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0.0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();d=k+12|0;f=k+8|0;g=k+4|0;e=k;c[d>>2]=a;c[f>>2]=b;c[g>>2]=0;if(+h[4170]==-1.0){c[e>>2]=AB(c[d>>2]|0)|0;h[4170]=+h[4168]*+h[4169]*+O(+(+(c[e>>2]|0)))/5.0;c[g>>2]=1}l=+Uo(+h[4170],c[8358]|0);h[(c[f>>2]|0)+8>>3]=l;h[(c[f>>2]|0)+16>>3]=+h[4169];h[(c[f>>2]|0)+24>>3]=+h[4167];c[c[f>>2]>>2]=(c[8332]|0)-(c[8358]|0);if((c[8331]|0)<0){c[8359]=c[8358];c[(c[f>>2]|0)+32>>2]=c[c[f>>2]>>2];g=c[g>>2]|0;i=k;return g|0}d=c[8331]|0;if((c[8331]|0)<=(c[8358]|0)){c[8359]=d;c[(c[f>>2]|0)+32>>2]=0;g=c[g>>2]|0;i=k;return g|0}if((d|0)>(c[8332]|0)){g=c[g>>2]|0;i=k;return g|0}c[8359]=c[8358];c[(c[f>>2]|0)+32>>2]=(c[8331]|0)-(c[8358]|0);g=c[g>>2]|0;i=k;return g|0}function To(b,e,f){b=b|0;e=e|0;f=f|0;var g=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,C=0,D=0,E=0,F=0,G=0;G=i;i=i+160|0;if((i|0)>=(j|0))ba();v=G+152|0;k=G+148|0;q=G+144|0;t=G+96|0;B=G+140|0;r=G+136|0;n=G+120|0;z=G+80|0;p=G+116|0;w=G+72|0;l=G+64|0;m=G+56|0;u=G+48|0;o=G+40|0;s=G+32|0;D=G+16|0;y=G+112|0;C=G+108|0;A=G+104|0;x=G+8|0;E=G;c[v>>2]=e;c[k>>2]=f;f=AB(c[v>>2]|0)|0;c[q>>2]=f-(c[(c[(c[(c[v>>2]|0)+8>>2]|0)+140>>2]|0)+4>>2]|0);c[r>>2]=0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;h[w>>3]=6.283185307179586;c[B>>2]=pC(c[v>>2]|0)|0;while(1){if(!(c[B>>2]|0))break;if(a[(c[(c[B>>2]|0)+8>>2]|0)+119>>0]|0){g=+h[c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]>>3];if(c[r>>2]|0){if(g<+(c[n>>2]|0))g=+h[c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]>>3];else g=+(c[n>>2]|0);c[n>>2]=~~g;if(+h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]<+(c[n+4>>2]|0))g=+h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];else g=+(c[n+4>>2]|0);c[n+4>>2]=~~g;if(+h[c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]>>3]>+(c[n+8>>2]|0))g=+h[c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]>>3];else g=+(c[n+8>>2]|0);c[n+8>>2]=~~g;if(+h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]>+(c[n+8+4>>2]|0))g=+h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];else g=+(c[n+8+4>>2]|0);c[n+8+4>>2]=~~g}else{f=~~g;c[n>>2]=f;c[n+8>>2]=f;f=~~+h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];c[n+4>>2]=f;c[n+8+4>>2]=f}c[r>>2]=(c[r>>2]|0)+1}c[B>>2]=qC(c[v>>2]|0,c[B>>2]|0)|0}h[t>>3]=+h[4169]*(+O(+(+(c[q>>2]|0)))+1.0);g=+h[t>>3]/2.0*1.2;h[4176]=g;h[4175]=g;do if((c[r>>2]|0)==1){h[z>>3]=+(c[n>>2]|0);h[z+8>>3]=+(c[n+4>>2]|0)}else{if((c[r>>2]|0)<=1){h[z+8>>3]=0.0;h[z>>3]=0.0;break}h[z>>3]=+((c[n>>2]|0)+(c[n+8>>2]|0)|0)/2.0;h[z+8>>3]=+((c[n+4>>2]|0)+(c[n+8+4>>2]|0)|0)/2.0;h[u>>3]=+((c[n+8>>2]|0)-(c[n>>2]|0)|0)*1.2;h[o>>3]=+((c[n+8+4>>2]|0)-(c[n+4>>2]|0)|0)*1.2;h[m>>3]=+h[4175]*4.0*+h[4176];h[s>>3]=+h[u>>3]*+h[o>>3]/+h[m>>3];do if(!(+h[s>>3]>=1.0)){if(+h[s>>3]>0.0){h[s>>3]=+O(+(+h[s>>3]))*2.0;h[4175]=+h[u>>3]/+h[s>>3];h[4176]=+h[o>>3]/+h[s>>3];break}if(+h[u>>3]>0.0){h[o>>3]=+h[m>>3]/+h[u>>3];h[4175]=+h[u>>3]/2.0;h[4176]=+h[o>>3]/2.0;break}if(+h[o>>3]>0.0){h[u>>3]=+h[m>>3]/+h[o>>3];h[4175]=+h[u>>3]/2.0;h[4176]=+h[o>>3]/2.0}}else{h[4175]=+h[u>>3]/2.0;h[4176]=+h[o>>3]/2.0}while(0);h[l>>3]=+W(+(+h[4176]),+(+h[4175]));h[4175]=+h[4175]/+Q(+(+h[l>>3]));h[4176]=+h[4176]/+R(+(+h[l>>3]))}while(0);h[4177]=+h[4175]*+h[4175];h[4178]=+h[4176]*+h[4176];if((c[8342]|0)==2)c[p>>2]=c[8330];else{u=r4()|0;c[p>>2]=u^(Mb(0)|0)}O2(c[p>>2]|0);if(!(c[k>>2]|0)){F=(c[r>>2]|0)!=0;c[B>>2]=pC(c[v>>2]|0)|0;if(!F){while(1){if(!(c[B>>2]|0))break;g=+h[4175];g=g*(+K2()*2.0-1.0);h[c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]>>3]=g;g=+h[4176];g=g*(+K2()*2.0-1.0);h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=g;c[B>>2]=qC(c[v>>2]|0,c[B>>2]|0)|0}c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];i=G;return}while(1){if(!(c[B>>2]|0))break;if(a[(c[(c[B>>2]|0)+8>>2]|0)+119>>0]|0){F=c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0;h[F>>3]=+h[F>>3]-+h[z>>3];F=(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[F>>3]=+h[F>>3]-+h[z+8>>3]}else{g=+h[4175];g=g*(+K2()*2.0-1.0);h[c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]>>3]=g;g=+h[4176];g=g*(+K2()*2.0-1.0);h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=g}c[B>>2]=qC(c[v>>2]|0,c[B>>2]|0)|0}c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];i=G;return}while(1){if(!(c[c[k>>2]>>2]|0))break;c[B>>2]=c[(c[k>>2]|0)+4>>2];g=+h[4175]*+Q(+(+h[(c[k>>2]|0)+8>>3]));h[c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]>>3]=g+ +h[z>>3];g=+h[4176]*+R(+(+h[(c[k>>2]|0)+8>>3]));h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=g+ +h[z+8>>3];a[(c[(c[B>>2]|0)+8>>2]|0)+119>>0]=1;c[k>>2]=(c[k>>2]|0)+16}c[B>>2]=pC(c[v>>2]|0)|0;while(1){if(!(c[B>>2]|0))break;if(!((c[(c[(c[(c[B>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]|0)==0?(c[(c[(c[B>>2]|0)+8>>2]|0)+212>>2]|0)==0:0))F=44;do if((F|0)==44){F=0;if(a[(c[(c[B>>2]|0)+8>>2]|0)+119>>0]|0){u=c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0;h[u>>3]=+h[u>>3]-+h[z>>3];u=(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[u>>3]=+h[u>>3]-+h[z+8>>3];break};c[D>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[D+12>>2]=0;c[y>>2]=0;c[A>>2]=hB(c[v>>2]|0,c[B>>2]|0)|0;while(1){if(!(c[A>>2]|0))break;t=c[A>>2]|0;u=c[A>>2]|0;if((c[((c[c[A>>2]>>2]&3|0)==2?t:t+-32|0)+28>>2]|0)!=(c[((c[c[A>>2]>>2]&3|0)==3?u:u+32|0)+28>>2]|0)){u=c[A>>2]|0;e=c[c[A>>2]>>2]&3;if((c[((c[c[A>>2]>>2]&3|0)==2?u:u+-32|0)+28>>2]|0)==(c[B>>2]|0)){u=c[A>>2]|0;e=c[((e|0)==3?u:u+32|0)+28>>2]|0}else{u=c[A>>2]|0;e=c[((e|0)==2?u:u+-32|0)+28>>2]|0}c[C>>2]=e;if((d[(c[(c[C>>2]|0)+8>>2]|0)+119>>0]|0)>0){if(c[y>>2]|0){h[D>>3]=(+h[D>>3]*+(c[y>>2]|0)+ +h[c[(c[(c[C>>2]|0)+8>>2]|0)+132>>2]>>3])/+((c[y>>2]|0)+1|0);h[D+8>>3]=(+h[D+8>>3]*+(c[y>>2]|0)+ +h[(c[(c[(c[C>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3])/+((c[y>>2]|0)+1|0)}else{h[D>>3]=+h[c[(c[(c[C>>2]|0)+8>>2]|0)+132>>2]>>3];h[D+8>>3]=+h[(c[(c[(c[C>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]}c[y>>2]=(c[y>>2]|0)+1}}c[A>>2]=iB(c[v>>2]|0,c[A>>2]|0,c[B>>2]|0)|0}do if((c[y>>2]|0)<=1)if((c[y>>2]|0)==1){h[c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[D>>3]*.98+ +h[z>>3]*.1;h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[D+8>>3]*.9+ +h[z+8>>3]*.1;break}else{g=+h[w>>3];h[x>>3]=g*+K2();h[E>>3]=+K2()*.9;g=+h[E>>3]*+h[4175]*+Q(+(+h[x>>3]));h[c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]>>3]=g;g=+h[E>>3]*+h[4176]*+R(+(+h[x>>3]));h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=g;break}else{h[c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[D>>3];h[(c[(c[(c[B>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[D+8>>3]}while(0);a[(c[(c[B>>2]|0)+8>>2]|0)+119>>0]=1}while(0);c[B>>2]=qC(c[v>>2]|0,c[B>>2]|0)|0}c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];i=G;return}function Uo(a,b){a=+a;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+8|0;h[d>>3]=a;c[e>>2]=b;i=d;return +(+h[4170]*+((c[8332]|0)-(c[e>>2]|0)|0)/+(c[8332]|0))}function Vo(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o;k=o+20|0;l=o+16|0;n=o+12|0;m=o+8|0;c[f>>2]=a;h[g>>3]=b;c[k>>2]=d;c[l>>2]=e;if(+h[g>>3]<=0.0){i=o;return}yv(c[l>>2]|0);c[n>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;h[(c[(c[(c[n>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>3]=0.0;h[(c[(c[(c[n>>2]|0)+8>>2]|0)+112>>2]|0)+16>>3]=0.0;e=~~+M(+(+h[c[(c[(c[n>>2]|0)+8>>2]|0)+132>>2]>>3]/+h[4172]));d=~~+M(+(+h[(c[(c[(c[n>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]/+h[4172]));Av(c[l>>2]|0,e,d,c[n>>2]|0);c[n>>2]=qC(c[f>>2]|0,c[n>>2]|0)|0}c[n>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;c[m>>2]=cB(c[f>>2]|0,c[n>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;d=c[m>>2]|0;if((c[n>>2]|0)!=(c[((c[c[m>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)){d=c[m>>2]|0;Zo(c[n>>2]|0,c[((c[c[m>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0,c[m>>2]|0)}c[m>>2]=eB(c[f>>2]|0,c[m>>2]|0)|0}c[n>>2]=qC(c[f>>2]|0,c[n>>2]|0)|0}Bv(c[l>>2]|0,28);_o(c[f>>2]|0,+h[g>>3],c[k>>2]|0);i=o;return}function Wo(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+24|0;f=n;g=n+20|0;l=n+16|0;m=n+12|0;k=n+8|0;c[e>>2]=a;h[f>>3]=b;c[g>>2]=d;if(+h[f>>3]<=0.0){i=n;return}c[l>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;h[(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>3]=0.0;h[(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+16>>3]=0.0;c[l>>2]=qC(c[e>>2]|0,c[l>>2]|0)|0}c[l>>2]=pC(c[e>>2]|0)|0;while(1){a=c[e>>2]|0;if(!(c[l>>2]|0))break;c[m>>2]=qC(a,c[l>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;Yo(c[l>>2]|0,c[m>>2]|0);c[m>>2]=qC(c[e>>2]|0,c[m>>2]|0)|0}c[k>>2]=cB(c[e>>2]|0,c[l>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;d=c[k>>2]|0;if((c[l>>2]|0)!=(c[((c[c[k>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)){d=c[k>>2]|0;Zo(c[l>>2]|0,c[((c[c[k>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0,c[k>>2]|0)}c[k>>2]=eB(c[e>>2]|0,c[k>>2]|0)|0}c[l>>2]=qC(c[e>>2]|0,c[l>>2]|0)|0}_o(a,+h[f>>3],c[g>>2]|0);i=n;return}function Xo(){h[4170]=-1.0;return}function Yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();k=d+20|0;g=d+16|0;f=d+8|0;e=d;c[k>>2]=a;c[g>>2]=b;h[f>>3]=+h[c[(c[(c[g>>2]|0)+8>>2]|0)+132>>2]>>3]-+h[c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]>>3];h[e>>3]=+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]-+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];$o(c[k>>2]|0,c[g>>2]|0,+h[f>>3],+h[e>>3],+h[f>>3]*+h[f>>3]+ +h[e>>3]*+h[e>>3]);i=d;return}function Zo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();k=r+48|0;l=r+44|0;m=r+40|0;p=r+32|0;q=r+24|0;o=r+16|0;n=r+8|0;g=r;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;h[p>>3]=+h[c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]>>3]-+h[c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]>>3];h[q>>3]=+h[(c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]-+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];h[g>>3]=+h[p>>3]*+h[p>>3]+ +h[q>>3]*+h[q>>3];while(1){if(!(+h[g>>3]==0.0))break;h[p>>3]=+(5-((M2()|0)%10|0)|0);h[q>>3]=+(5-((M2()|0)%10|0)|0);h[g>>3]=+h[p>>3]*+h[p>>3]+ +h[q>>3]*+h[q>>3]}h[n>>3]=+O(+(+h[g>>3]));e=+h[(c[(c[m>>2]|0)+8>>2]|0)+128>>3];f=+h[n>>3];if(c[8329]|0)h[o>>3]=e*(f-+h[(c[(c[m>>2]|0)+8>>2]|0)+136>>3])/+h[n>>3];else h[o>>3]=e*f/+h[(c[(c[m>>2]|0)+8>>2]|0)+136>>3];n=(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+16|0;h[n>>3]=+h[n>>3]-+h[p>>3]*+h[o>>3];n=(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+16+8|0;h[n>>3]=+h[n>>3]-+h[q>>3]*+h[o>>3];n=(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16|0;h[n>>3]=+h[n>>3]+ +h[p>>3]*+h[o>>3];p=(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+8|0;h[p>>3]=+h[p>>3]+ +h[q>>3]*+h[o>>3];i=r;return}function _o(a,b,e){a=a|0;b=+b;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+96|0;if((i|0)>=(j|0))ba();f=u+80|0;g=u+64|0;k=u+76|0;q=u+72|0;r=u+56|0;p=u+48|0;s=u+40|0;t=u+32|0;l=u+24|0;m=u+16|0;n=u+8|0;o=u;c[f>>2]=a;h[g>>3]=b;c[k>>2]=e;h[r>>3]=+h[g>>3]*+h[g>>3];c[q>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[q>>2]|0))break;do if(!((d[(c[(c[q>>2]|0)+8>>2]|0)+119>>0]|0)&2)){h[m>>3]=+h[(c[(c[(c[q>>2]|0)+8>>2]|0)+112>>2]|0)+16>>3];h[n>>3]=+h[(c[(c[(c[q>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>3];h[p>>3]=+h[m>>3]*+h[m>>3]+ +h[n>>3]*+h[n>>3];if(+h[p>>3]<+h[r>>3]){h[s>>3]=+h[c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]>>3]+ +h[m>>3];h[t>>3]=+h[(c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]+ +h[n>>3]}else{h[o>>3]=+h[g>>3]/+O(+(+h[p>>3]));h[s>>3]=+h[c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]>>3]+ +h[m>>3]*+h[o>>3];h[t>>3]=+h[(c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]+ +h[n>>3]*+h[o>>3]}b=+h[s>>3];if(!(c[k>>2]|0)){h[c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]>>3]=b;h[(c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[t>>3];break}h[l>>3]=+O(+(b*+h[s>>3]/+h[4177]+ +h[t>>3]*+h[t>>3]/+h[4178]));if((c[(c[(c[(c[q>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]|0)==0?(c[(c[(c[q>>2]|0)+8>>2]|0)+212>>2]|0)==0:0){h[c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[s>>3]/+h[l>>3];h[(c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[t>>3]/+h[l>>3];break}b=+h[s>>3];if(+h[l>>3]>=1.0){h[c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]>>3]=.95*b/+h[l>>3];h[(c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[t>>3]*.95/+h[l>>3];break}else{h[c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]>>3]=b;h[(c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[t>>3];break}}while(0);c[q>>2]=qC(c[f>>2]|0,c[q>>2]|0)|0}i=u;return}function $o(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();g=q+44|0;k=q+40|0;l=q+32|0;m=q+24|0;n=q+16|0;p=q+8|0;o=q;c[g>>2]=a;c[k>>2]=b;h[l>>3]=d;h[m>>3]=e;h[n>>3]=f;while(1){if(!(+h[n>>3]==0.0))break;h[l>>3]=+(5-((M2()|0)%10|0)|0);h[m>>3]=+(5-((M2()|0)%10|0)|0);h[n>>3]=+h[l>>3]*+h[l>>3]+ +h[m>>3]*+h[m>>3]}if(c[8329]|0){h[o>>3]=+O(+(+h[n>>3]));h[p>>3]=+h[4174]/(+h[o>>3]*+h[n>>3])}else h[p>>3]=+h[4174]/+h[n>>3];if((((c[(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]|0)==0?(c[(c[(c[g>>2]|0)+8>>2]|0)+212>>2]|0)==0:0)?(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]|0)==0:0)?(c[(c[(c[k>>2]|0)+8>>2]|0)+212>>2]|0)==0:0)h[p>>3]=+h[p>>3]*10.0;b=(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16|0;h[b>>3]=+h[b>>3]+ +h[l>>3]*+h[p>>3];b=(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+8|0;h[b>>3]=+h[b>>3]+ +h[m>>3]*+h[p>>3];b=(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+16|0;h[b>>3]=+h[b>>3]-+h[l>>3]*+h[p>>3];b=(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+16+8|0;h[b>>3]=+h[b>>3]-+h[m>>3]*+h[p>>3];i=q;return}function ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();n=m+24|0;e=m+20|0;h=m+16|0;f=m+12|0;g=m+8|0;k=m+4|0;l=m;c[m+28>>2]=a;c[n>>2]=b;c[e>>2]=d;c[h>>2]=c[(c[n>>2]|0)+8>>2];c[f>>2]=c[c[n>>2]>>2];c[g>>2]=c[(c[n>>2]|0)+4>>2];c[k>>2]=c[h>>2];while(1){if(!(c[k>>2]|0))break;c[l>>2]=c[h>>2];while(1){b=c[k>>2]|0;if(!(c[l>>2]|0))break;if((b|0)!=(c[l>>2]|0))Yo(c[c[k>>2]>>2]|0,c[c[l>>2]>>2]|0);c[l>>2]=c[(c[l>>2]|0)+4>>2]}c[k>>2]=c[b+4>>2]}bp(c[e>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)-1|0,c[h>>2]|0);bp(c[e>>2]|0,(c[f>>2]|0)-1|0,c[g>>2]|0,c[h>>2]|0);bp(c[e>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+1|0,c[h>>2]|0);bp(c[e>>2]|0,c[f>>2]|0,(c[g>>2]|0)-1|0,c[h>>2]|0);bp(c[e>>2]|0,c[f>>2]|0,(c[g>>2]|0)+1|0,c[h>>2]|0);bp(c[e>>2]|0,(c[f>>2]|0)+1|0,(c[g>>2]|0)-1|0,c[h>>2]|0);bp(c[e>>2]|0,(c[f>>2]|0)+1|0,c[g>>2]|0,c[h>>2]|0);bp(c[e>>2]|0,(c[f>>2]|0)+1|0,(c[g>>2]|0)+1|0,c[h>>2]|0);i=m;return 0}function bp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();t=q+52|0;s=q+48|0;r=q+44|0;f=q+40|0;g=q+36|0;n=q+32|0;l=q+28|0;m=q+24|0;o=q+16|0;p=q+8|0;k=q;c[t>>2]=a;c[s>>2]=b;c[r>>2]=d;c[f>>2]=e;c[g>>2]=Cv(c[t>>2]|0,c[s>>2]|0,c[r>>2]|0)|0;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){i=q;return}do{c[l>>2]=c[c[f>>2]>>2];c[n>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[n>>2]|0))break;c[m>>2]=c[c[n>>2]>>2];h[o>>3]=+h[c[(c[(c[m>>2]|0)+8>>2]|0)+132>>2]>>3]-+h[c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]>>3];h[p>>3]=+h[(c[(c[(c[m>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]-+h[(c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];h[k>>3]=+h[o>>3]*+h[o>>3]+ +h[p>>3]*+h[p>>3];if(+h[k>>3]<+h[4173])$o(c[l>>2]|0,c[m>>2]|0,+h[o>>3],+h[p>>3],+h[k>>3]);c[n>>2]=c[(c[n>>2]|0)+4>>2]}c[f>>2]=c[(c[f>>2]|0)+4>>2]}while((c[f>>2]|0)!=0);i=q;return}function cp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();m=o+8|0;e=o+36|0;f=o+32|0;l=o+28|0;h=o+24|0;g=o+20|0;k=o+16|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=OA(c[e>>2]|0,129920)|0;if(a[139078]|0)p3(c[24742]|0,129126,o)|0;if(!((c[h>>2]|0)!=0?(a[c[h>>2]>>0]|0)!=0:0))c[h>>2]=129135;d=_3(c[h>>2]|0,58)|0;c[g>>2]=d;do if(d){if((c[g>>2]|0)!=(c[h>>2]|0)?(I1(a[c[h>>2]>>0]|0)|0)==0:0){n=10;break}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[g>>2];d=N3(c[h>>2]|0)|0;c[l>>2]=d;c[l>>2]=(c[l>>2]|0)<0?0:d}else n=10;while(0);if((n|0)==10){c[l>>2]=0;c[k>>2]=c[h>>2]}if(a[139078]|0){n=c[24742]|0;d=c[k>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;p3(n,129143,m)|0}if((c[l>>2]|0)!=0?(dp(c[e>>2]|0,c[f>>2]|0,c[l>>2]|0)|0)==0:0){i=o;return}xq(c[e>>2]|0,c[k>>2]|0)|0;i=o;return}function dp(b,d,e){b=b|0;d=d|0;e=e|0;var f=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=i;i=i+112|0;if((i|0)>=(j|0))ba();k=v+100|0;l=v+96|0;f=v+92|0;m=v+88|0;o=v+84|0;t=v+80|0;r=v+76|0;s=v+48|0;q=v+72|0;p=v+68|0;n=v+40|0;u=v;w=v+56|0;c[l>>2]=b;c[f>>2]=d;c[m>>2]=e;c[q>>2]=AB(c[l>>2]|0)|0;c[p>>2]=BB(c[l>>2]|0)|0;zq(w,c[l>>2]|0);c[12776]=c[w>>2];c[12777]=c[w+4>>2];c[12778]=c[w+8>>2];if(a[51112]|0){g[12776]=+g[12776]/72.0;g[12777]=+g[12777]/72.0}c[r>>2]=ep(c[l>>2]|0)|0;if(!(c[r>>2]|0)){c[k>>2]=0;w=c[k>>2]|0;i=v;return w|0}c[t>>2]=0;e=u;d=c[f>>2]|0;b=e+40|0;do{c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(b|0));h[n>>3]=+h[u+16>>3];while(1){if(!(c[r>>2]|0))break;if((c[t>>2]|0)>=(c[m>>2]|0))break;fp(c[l>>2]|0,c[q>>2]|0,u);h[4186]=+h[4183]*+h[4185];h[4187]=+(c[p>>2]|0)*+h[4186]*2.0/+(_(c[q>>2]|0,(c[q>>2]|0)-1|0)|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[8368]|0))break;h[s>>3]=+gp(c[o>>2]|0);if(+h[s>>3]<=0.0)break;c[r>>2]=hp(c[l>>2]|0,+h[s>>3])|0;if(!(c[r>>2]|0))break;c[o>>2]=(c[o>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1;w=u+16|0;h[w>>3]=+h[w>>3]+ +h[n>>3]}c[k>>2]=c[r>>2];w=c[k>>2]|0;i=v;return w|0}function ep(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;c[d>>2]=0;c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;a=kp(c[e>>2]|0,c[f>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+a;c[f>>2]=qC(c[b>>2]|0,c[f>>2]|0)|0}c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}i=g;return c[d>>2]|0}function fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=d;h[4182]=+h[(c[f>>2]|0)+16>>3];c[8360]=c[c[f>>2]>>2];h[4181]=+h[(c[f>>2]|0)+8>>3];c[8368]=c[(c[f>>2]|0)+32>>2];if(+h[(c[f>>2]|0)+24>>3]>0.0)h[4183]=+h[(c[f>>2]|0)+24>>3];h[4185]=+h[4182]*+h[4182];if(!(+h[4181]==0.0)){i=g;return}h[4181]=+h[4182]*+O(+(+(c[e>>2]|0)))/5.0;i=g;return}function gp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return +(+h[4181]*+((c[8360]|0)-(c[d>>2]|0)|0)/+(c[8360]|0))}function hp(a,b){a=a|0;b=+b;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+80|0;if((i|0)>=(j|0))ba();e=t+72|0;f=t+68|0;g=t+40|0;o=t+64|0;p=t+60|0;l=t+56|0;s=t+32|0;m=t+24|0;n=t+16|0;k=t;r=t+52|0;q=t+48|0;c[f>>2]=a;h[g>>3]=b;c[r>>2]=0;c[o>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[o>>2]|0))break;h[(c[(c[(c[o>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>3]=0.0;h[(c[(c[(c[o>>2]|0)+8>>2]|0)+112>>2]|0)+16>>3]=0.0;c[o>>2]=qC(c[f>>2]|0,c[o>>2]|0)|0}c[o>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[o>>2]|0))break;c[p>>2]=qC(c[f>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;c[q>>2]=ip(c[o>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[p>>2]=qC(c[f>>2]|0,c[p>>2]|0)|0}c[l>>2]=cB(c[f>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;a=c[l>>2]|0;jp(c[o>>2]|0,c[((c[c[l>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0);c[l>>2]=eB(c[f>>2]|0,c[l>>2]|0)|0}c[o>>2]=qC(c[f>>2]|0,c[o>>2]|0)|0}if(!(c[r>>2]|0)){c[e>>2]=0;s=c[e>>2]|0;i=t;return s|0}h[s>>3]=+h[g>>3]*+h[g>>3];c[o>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[o>>2]|0))break;do if((d[(c[(c[o>>2]|0)+8>>2]|0)+119>>0]|0|0)!=3){h[k>>3]=+h[(c[(c[(c[o>>2]|0)+8>>2]|0)+112>>2]|0)+16>>3];h[k+8>>3]=+h[(c[(c[(c[o>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>3];h[n>>3]=+h[k>>3]*+h[k>>3]+ +h[k+8>>3]*+h[k+8>>3];if(+h[n>>3]<+h[s>>3]){q=c[(c[(c[o>>2]|0)+8>>2]|0)+132>>2]|0;h[q>>3]=+h[q>>3]+ +h[k>>3];q=(c[(c[(c[o>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[q>>3]=+h[q>>3]+ +h[k+8>>3];break}else{h[m>>3]=+O(+(+h[n>>3]));q=c[(c[(c[o>>2]|0)+8>>2]|0)+132>>2]|0;h[q>>3]=+h[q>>3]+ +h[k>>3]*+h[g>>3]/+h[m>>3];q=(c[(c[(c[o>>2]|0)+8>>2]|0)+132>>2]|0)+8|0;h[q>>3]=+h[q>>3]+ +h[k+8>>3]*+h[g>>3]/+h[m>>3];break}}while(0);c[o>>2]=qC(c[f>>2]|0,c[o>>2]|0)|0}c[e>>2]=c[r>>2];s=c[e>>2]|0;i=t;return s|0}function ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();k=d+20|0;g=d+16|0;f=d+8|0;e=d;c[k>>2]=a;c[g>>2]=b;h[f>>3]=+h[c[(c[(c[g>>2]|0)+8>>2]|0)+132>>2]>>3]-+h[c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]>>3];h[e>>3]=+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]-+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];b=mp(c[k>>2]|0,c[g>>2]|0,+h[f>>3],+h[e>>3],+h[f>>3]*+h[f>>3]+ +h[e>>3]*+h[e>>3])|0;i=d;return b|0}function jp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();d=o+52|0;e=o+48|0;m=o+40|0;n=o+32|0;l=o+24|0;g=o+16|0;k=o+8|0;f=o;c[d>>2]=a;c[e>>2]=b;if(kp(c[d>>2]|0,c[e>>2]|0)|0){i=o;return}h[m>>3]=+h[c[(c[(c[e>>2]|0)+8>>2]|0)+132>>2]>>3]-+h[c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]>>3];h[n>>3]=+h[(c[(c[(c[e>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]-+h[(c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];h[g>>3]=+O(+(+h[m>>3]*+h[m>>3]+ +h[n>>3]*+h[n>>3]));p=+lp(c[d>>2]|0);h[f>>3]=p+ +lp(c[e>>2]|0);h[k>>3]=+h[g>>3]-+h[f>>3];h[l>>3]=+h[k>>3]*+h[k>>3]/((+h[4182]+ +h[f>>3])*+h[g>>3]);b=(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+16|0;h[b>>3]=+h[b>>3]-+h[m>>3]*+h[l>>3];b=(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+16+8|0;h[b>>3]=+h[b>>3]-+h[n>>3]*+h[l>>3];b=(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0)+16|0;h[b>>3]=+h[b>>3]+ +h[m>>3]*+h[l>>3];m=(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0)+16+8|0;h[m>>3]=+h[m>>3]+ +h[n>>3]*+h[l>>3];i=o;return}function kp(a,b){a=a|0;b=b|0;var e=0.0,f=0.0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();k=p+24|0;m=p+20|0;l=p+8|0;o=p;n=p+16|0;c[k>>2]=a;c[m>>2]=b;h[l>>3]=+h[c[(c[(c[m>>2]|0)+8>>2]|0)+132>>2]>>3]-+h[c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]>>3];if(+h[l>>3]<0.0)h[l>>3]=-+h[l>>3];h[o>>3]=+h[(c[(c[(c[m>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]-+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];if(+h[o>>3]<0.0)h[o>>3]=-+h[o>>3];f=+h[(c[(c[k>>2]|0)+8>>2]|0)+32>>3];if(d[51112]|0)e=f/2.0+ +g[12776];else e=f*+g[12776]/2.0;f=+h[(c[(c[m>>2]|0)+8>>2]|0)+32>>3];if(d[51112]|0)f=f/2.0+ +g[12776];else f=f*+g[12776]/2.0;if(!(+h[l>>3]<=e+f)){o=0;o=o&1;c[n>>2]=o;o=c[n>>2]|0;i=p;return o|0}e=+h[(c[(c[k>>2]|0)+8>>2]|0)+40>>3];if(d[51112]|0)f=e/2.0+ +g[12777];else f=e*+g[12777]/2.0;e=+h[(c[(c[m>>2]|0)+8>>2]|0)+40>>3];if(d[51112]|0)e=e/2.0+ +g[12777];else e=e*+g[12777]/2.0;o=+h[o>>3]<=f+e;o=o&1;c[n>>2]=o;o=c[n>>2]|0;i=p;return o|0}function lp(a){a=a|0;var b=0.0,e=0,f=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;k=l+8|0;f=l;c[e>>2]=a;b=+h[(c[(c[e>>2]|0)+8>>2]|0)+32>>3];if(d[51112]|0)b=b/2.0+ +g[12776];else b=b*+g[12776]/2.0;h[k>>3]=b;b=+h[(c[(c[e>>2]|0)+8>>2]|0)+40>>3];if(d[51112]|0)b=b/2.0+ +g[12777];else b=b*+g[12777]/2.0;h[f>>3]=b;b=+O(+(+h[k>>3]*+h[k>>3]+ +h[f>>3]*+h[f>>3]));i=l;return +b}function mp(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();g=q+40|0;k=q+36|0;l=q+24|0;m=q+16|0;n=q+8|0;p=q+32|0;o=q;c[g>>2]=a;c[k>>2]=b;h[l>>3]=d;h[m>>3]=e;h[n>>3]=f;while(1){if(!(+h[n>>3]==0.0))break;h[l>>3]=+(5-((M2()|0)%10|0)|0);h[m>>3]=+(5-((M2()|0)%10|0)|0);h[n>>3]=+h[l>>3]*+h[l>>3]+ +h[m>>3]*+h[m>>3]}b=kp(c[g>>2]|0,c[k>>2]|0)|0;c[p>>2]=b;if(b)h[o>>3]=+h[4186]/+h[n>>3];else h[o>>3]=+h[4187]/+h[n>>3];b=(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16|0;h[b>>3]=+h[b>>3]+ +h[l>>3]*+h[o>>3];b=(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+8|0;h[b>>3]=+h[b>>3]+ +h[m>>3]*+h[o>>3];b=(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+16|0;h[b>>3]=+h[b>>3]-+h[l>>3]*+h[o>>3];b=(c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]|0)+16+8|0;h[b>>3]=+h[b>>3]-+h[m>>3]*+h[o>>3];i=q;return c[p>>2]|0}function np(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=a;dP(c[e>>2]|0,2);b[(c[(c[e>>2]|0)+8>>2]|0)+176>>1]=2;c[13799]=2;sp(c[e>>2]|0);i=d;return}function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;if((i|0)>=(j|0))ba();u=t+56|0;d=t+52|0;e=t+48|0;f=t+44|0;g=t+40|0;h=t+36|0;p=t+32|0;s=t+28|0;l=t+24|0;k=t+20|0;m=t+16|0;r=t+12|0;o=t+8|0;n=t+4|0;q=t;c[d>>2]=a;c[e>>2]=b;c[u>>2]=c[13068];c[h>>2]=wB(129166,u,0)|0;aD(c[h>>2]|0,129174,280,1)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+140>>2]=c[h>>2];c[s>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[s>>2]|0))break;if(!(c[c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]>>2]|0)){a=c[h>>2]|0;u=MB(c[s>>2]|0)|0;c[p>>2]=tp(a,u,1,c[s>>2]|0)|0;c[c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]>>2]=c[p>>2]}c[s>>2]=qC(c[d>>2]|0,c[s>>2]|0)|0}c[s>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[s>>2]|0))break;c[m>>2]=cB(c[d>>2]|0,c[s>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;u=c[m>>2]|0;c[l>>2]=c[c[(c[(c[((c[c[m>>2]>>2]&3|0)==3?u:u+32|0)+28>>2]|0)+8>>2]|0)+112>>2]>>2];u=c[m>>2]|0;c[k>>2]=c[c[(c[(c[((c[c[m>>2]>>2]&3|0)==2?u:u+-32|0)+28>>2]|0)+8>>2]|0)+112>>2]>>2];if((c[l>>2]|0)!=(c[k>>2]|0))aD(jB(c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,0,1)|0,175399,176,1)|0;c[m>>2]=eB(c[d>>2]|0,c[m>>2]|0)|0}c[s>>2]=qC(c[d>>2]|0,c[s>>2]|0)|0}c[g>>2]=uG(c[h>>2]|0,f,0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[f>>2]|0))break;c[r>>2]=c[(c[g>>2]|0)+(c[o>>2]<<2)>>2];c[p>>2]=pC(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;c[q>>2]=c[c[(c[(c[p>>2]|0)+8>>2]|0)+112>>2]>>2];c[m>>2]=cB(c[d>>2]|0,c[q>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;u=c[m>>2]|0;c[k>>2]=c[c[(c[(c[((c[c[m>>2]>>2]&3|0)==2?u:u+-32|0)+28>>2]|0)+8>>2]|0)+112>>2]>>2];if((c[p>>2]|0)!=(c[k>>2]|0)){c[n>>2]=jB(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,0,1)|0;aD(c[n>>2]|0,175399,176,1)|0;mB(c[r>>2]|0,c[n>>2]|0,1)|0}c[m>>2]=eB(c[d>>2]|0,c[m>>2]|0)|0}c[p>>2]=qC(c[r>>2]|0,c[p>>2]|0)|0}c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=pC(c[h>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;c[m>>2]=cB(c[h>>2]|0,c[p>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;u=qK(8)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+120>>2]=u;c[m>>2]=eB(c[h>>2]|0,c[m>>2]|0)|0}c[p>>2]=qC(c[h>>2]|0,c[p>>2]|0)|0}c[c[e>>2]>>2]=c[f>>2];i=t;return c[g>>2]|0}function pp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+64|0;if((i|0)>=(j|0))ba();b=l+52|0;d=l+48|0;k=l+44|0;g=l+40|0;f=l+36|0;e=l+32|0;h=l;c[b>>2]=a;if(!(AB(c[b>>2]|0)|0)){i=l;return}c[d>>2]=op(c[b>>2]|0,g)|0;a=c[c[d>>2]>>2]|0;a:do if((c[g>>2]|0)==1){Vw(a,c[b>>2]|0);up(c[c[d>>2]>>2]|0);yq(c[b>>2]|0)|0}else{c[e>>2]=c[a+48>>2];VG(c[b>>2]|0,2,8,h)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;c[k>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];Vw(c[k>>2]|0,c[b>>2]|0);yq(c[k>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}UG(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,h)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break a;up(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);B1(c[d>>2]|0);i=l;return}function qp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(AB(c[b>>2]|0)|0)){i=d;return}np(c[b>>2]|0);pp(c[b>>2]|0);B1(c[(c[(pC(c[b>>2]|0)|0)+8>>2]|0)+112>>2]|0);zm(c[b>>2]|0);CL(c[b>>2]|0);i=d;return}function rp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}vp(c[(c[(c[b>>2]|0)+8>>2]|0)+140>>2]|0);while(1){a=c[b>>2]|0;if(!(c[e>>2]|0))break;c[d>>2]=cB(a,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;gP(c[d>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}hP(c[e>>2]|0);c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}B1(c[(c[a+8>>2]|0)+152>>2]|0);e=c[b>>2]|0;if((e|0)==(HC(c[b>>2]|0)|0)){i=f;return}dD(c[b>>2]|0,0,175129);i=f;return}function sp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();b=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[f>>2]=0;c[d>>2]=qK((AB(c[b>>2]|0)|0)<<2)|0;a=qK((AB(c[b>>2]|0)|0)+1<<2)|0;c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]=a;c[g>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;Jl(c[g>>2]|0);c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]=(c[d>>2]|0)+(c[f>>2]<<2);k=c[g>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]|0)+(a<<2)>>2]=k;c[g>>2]=qC(c[b>>2]|0,c[g>>2]|0)|0}c[g>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;c[e>>2]=cB(c[b>>2]|0,c[g>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;wp(c[e>>2]|0);c[e>>2]=eB(c[b>>2]|0,c[e>>2]|0)|0}c[g>>2]=qC(c[b>>2]|0,c[g>>2]|0)|0}i=h;return}function tp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();n=k+16|0;m=k+12|0;l=k+8|0;f=k+4|0;g=k;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[f>>2]=e;c[g>>2]=vC(c[n>>2]|0,c[m>>2]|0,1)|0;aD(c[g>>2]|0,175106,304,1)|0;e=qK(40)|0;c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]=e;if(c[l>>2]|0){n=qK(c[13799]<<3)|0;c[(c[(c[g>>2]|0)+8>>2]|0)+132>>2]=n;h[(c[(c[g>>2]|0)+8>>2]|0)+88>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+88>>3];h[(c[(c[g>>2]|0)+8>>2]|0)+96>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+96>>3];h[(c[(c[g>>2]|0)+8>>2]|0)+80>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+80>>3];c[c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]>>2]=c[f>>2];n=c[g>>2]|0;i=k;return n|0}else{c[c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]>>2]=c[f>>2];n=c[g>>2]|0;i=k;return n|0}return 0}function up(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]>>2];h[c[(c[(c[e>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]>>3];h[(c[(c[(c[e>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[(c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}i=f;return}function vp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;while(1){a=c[b>>2]|0;if(!(c[e>>2]|0))break;c[d>>2]=cB(a,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;B1(c[(c[(c[d>>2]|0)+8>>2]|0)+120>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}B1(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0);B1(c[(c[(c[e>>2]|0)+8>>2]|0)+132>>2]|0);c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}zB(a)|0;i=f;return}function wp(a){a=a|0;var b=0,d=0,e=0.0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aD(c[d>>2]|0,175399,176,1)|0;NO(c[d>>2]|0)|0;e=+uO(c[d>>2]|0,c[13851]|0,1.0,0.0);h[(c[(c[d>>2]|0)+8>>2]|0)+128>>3]=e;i=b;return}function xp(b){b=b|0;var d=0,e=0,f=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;v=i;i=i+144|0;if((i|0)>=(j|0))ba();s=v+40|0;f=v+140|0;n=v+136|0;k=v+16|0;o=v+132|0;l=v+128|0;u=v+124|0;q=v+120|0;p=v+116|0;e=v+104|0;r=v;m=v+100|0;d=v+88|0;t=v+56|0;c[f>>2]=b;c[o>>2]=-1;zp(c[f>>2]|0);c[n>>2]=(c[13799]|0)==2&1;if(!(AB(c[f>>2]|0)|0)){u=c[f>>2]|0;CL(u);i=v;return}c[m>>2]=Ip()|0;Ap(c[f>>2]|0,c[m>>2]|0);vq(c[f>>2]|0,k,0)|0;do if((c[k>>2]|0)==18&(c[n>>2]|0)!=0){c[n>>2]=0;c[(c[m>>2]|0)+124>>2]=c[k+8>>2];h[(c[m>>2]|0)+144>>3]=+h[k+16>>3];zq(d,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];if(a[e+8>>0]|0){h[r>>3]=+g[e>>2]/72.0;h[r+8>>3]=+g[e+4>>2]/72.0;break}else{h[r>>3]=.05555555555555555;h[r+8>>3]=.05555555555555555;break}}else c[(c[m>>2]|0)+124>>2]=-1;while(0);c[l>>2]=uG(c[f>>2]|0,q,0)|0;d=c[f>>2]|0;if((c[q>>2]|0)==1){t=c[m>>2]|0;u=c[o>>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];Bp(d,t,u,s);if(c[n>>2]|0)wq(c[f>>2]|0,k)|0;zm(c[f>>2]|0)}else{VG(d,2,8,t)|0;c[t+12>>2]=1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break;c[u>>2]=c[(c[l>>2]|0)+(c[p>>2]<<2)>>2];xG(c[u>>2]|0)|0;d=c[u>>2]|0;b=c[m>>2]|0;e=c[o>>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];Bp(d,b,e,s);if(c[n>>2]|0)wq(c[u>>2]|0,k)|0;dP(c[u>>2]|0,2);zm(c[u>>2]|0);c[p>>2]=(c[p>>2]|0)+1}UG(c[q>>2]|0,c[l>>2]|0,c[f>>2]|0,t)|0}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break;FC(c[f>>2]|0,c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}B1(c[l>>2]|0);Jp(c[m>>2]|0);u=c[f>>2]|0;CL(u);i=v;return}function yp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;while(1){a=c[b>>2]|0;if(!(c[e>>2]|0))break;c[d>>2]=cB(a,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;gP(c[d>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}hP(c[e>>2]|0);c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}Cp(a);i=f;return}function zp(a){a=a|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+4|0;f=g;c[d>>2]=a;dP(c[d>>2]|0,2);h=c[d>>2]|0;c[f>>2]=tO(h,GA(c[d>>2]|0,0,129450,0)|0,2,2)|0;h=c[d>>2]|0;a=GA(c[d>>2]|0,0,129456,0)|0;a=(tO(h,a,c[f>>2]|0,2)|0)&65535;b[(c[(HC(c[d>>2]|0)|0)+8>>2]|0)+176>>1]=a;if((e[(c[(HC(c[d>>2]|0)|0)+8>>2]|0)+176>>1]|0|0)<10)a=e[(c[(HC(c[d>>2]|0)|0)+8>>2]|0)+176>>1]|0;else a=10;h=a&65535;b[(c[(HC(c[d>>2]|0)|0)+8>>2]|0)+176>>1]=h;c[13799]=h&65535;h=((c[f>>2]|0)<(c[13799]|0)?c[f>>2]|0:c[13799]|0)&65535;b[(c[(HC(c[d>>2]|0)|0)+8>>2]|0)+178>>1]=h;Gp(c[d>>2]|0);i=g;return}function Ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0.0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();g=k+8|0;d=k+24|0;e=k+20|0;f=k+16|0;l=k+12|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+108>>2];c[l>>2]=Nl(c[d>>2]|0,2,f)|0;if((c[l>>2]|0)!=2)pA(0,129251,k)|0;c[(c[e>>2]|0)+108>>2]=c[f>>2];l=c[d>>2]|0;m=+uO(l,GA(c[d>>2]|0,0,129284,0)|0,-1.0,0.0);h[(c[e>>2]|0)+24>>3]=m;l=c[d>>2]|0;m=+uO(l,GA(c[d>>2]|0,0,129286,0)|0,1.0001234,0.0)*-1.0;h[c[e>>2]>>3]=m;l=c[d>>2]|0;l=tO(l,GA(c[d>>2]|0,0,129301,0)|0,2147483647,0)|0;c[(c[e>>2]|0)+40>>2]=l;l=c[d>>2]|0;l=Ep(l,GA(c[d>>2]|0,0,129308,0)|0,0)|0;c[(c[e>>2]|0)+120>>2]=l;l=c[d>>2]|0;l=Fp(l,GA(c[d>>2]|0,0,129318,0)|0,1)|0;c[(c[e>>2]|0)+132>>2]=l;c[(c[e>>2]|0)+136>>2]=0;l=(JO(OA(c[d>>2]|0,129327)|0,0)|0)&255;c[(c[e>>2]|0)+112>>2]=l;l=(JO(OA(c[d>>2]|0,129336)|0,1)|0)&255;c[(c[e>>2]|0)+128>>2]=l;l=c[d>>2]|0;m=+uO(l,GA(c[d>>2]|0,0,129351,0)|0,0.0,-1797693134862315708145274.0e284);h[(c[e>>2]|0)+152>>3]=m;l=c[d>>2]|0;l=tO(l,GA(c[d>>2]|0,0,129360,0)|0,0,0)|0;c[(c[e>>2]|0)+160>>2]=l;if((c[(c[e>>2]|0)+160>>2]|0)<=4){i=k;return}c[g>>2]=c[(c[e>>2]|0)+160>>2];pA(0,129373,g)|0;c[(c[e>>2]|0)+160>>2]=0;i=k;return}function Bp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=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;C=i;i=i+112|0;if((i|0)>=(j|0))ba();w=C+24|0;A=C+8|0;g=C+100|0;k=C+96|0;l=C+92|0;y=C+88|0;x=C+84|0;t=C+80|0;q=C+76|0;r=C+72|0;u=C+68|0;p=C+64|0;n=C+60|0;m=C+56|0;s=C+52|0;z=C;B=C+48|0;o=C+44|0;v=C+40|0;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[u>>2]=0;c[p>>2]=0;c[n>>2]=0;b=c[g>>2]|0;d=c[13799]|0;if((c[(c[k>>2]|0)+136>>2]|0)==1)c[m>>2]=tq(b,d,n)|0;else c[m>>2]=tq(b,d,0)|0;do if((c[(c[k>>2]|0)+124>>2]|0)>=0){b=c[g>>2]|0;if((c[(c[k>>2]|0)+160>>2]|0)>0){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[y>>2]=sq(b,w,u,p)|0;break}else{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[y>>2]=sq(b,w,0,0)|0;break}}else c[y>>2]=0;while(0);c[x>>2]=Dp(c[g>>2]|0,c[k>>2]|0)|0;switch(c[(c[k>>2]|0)+136>>2]|0){case 1:case 0:{$p(c[13799]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,0,c[y>>2]|0,c[x>>2]|0,c[u>>2]|0,c[p>>2]|0,q);break}case 5:{rq(c[13799]|0,c[m>>2]|0,c[x>>2]|0,q);break}case 4:{c[s>>2]=200;h[z>>3]=.001;c[B>>2]=1;if(c[n>>2]|0){c[n>>2]=iw(c[n>>2]|0,0)|0;c[B>>2]=1}else{c[n>>2]=uw(c[m>>2]|0)|0;c[B>>2]=0}if((c[l>>2]|0)>0){c[o>>2]=yw(c[l>>2]|0,c[n>>2]|0,c[B>>2]|0)|0;if(a[139078]|0){B=c[24742]|0;f=(c[(c[o>>2]|0)+8>>2]|0)/2|0;w=(c[(c[n>>2]|0)+8>>2]|0)/2|0;c[A>>2]=c[l>>2];c[A+4>>2]=f;c[A+8>>2]=w;p3(B,129179,A)|0}cw(c[n>>2]|0);c[n>>2]=c[o>>2]}mq(c[13799]|0,c[m>>2]|0,c[n>>2]|0,x,1,c[s>>2]|0,+h[z>>3],q);break}default:{}}c[t>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;c[v>>2]=(c[x>>2]|0)+((_(c[13799]|0,c[(c[(c[t>>2]|0)+8>>2]|0)+120>>2]|0)|0)<<3);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[13799]|0))break;h[(c[(c[(c[t>>2]|0)+8>>2]|0)+132>>2]|0)+(c[r>>2]<<3)>>3]=+h[(c[v>>2]|0)+(c[r>>2]<<3)>>3];c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=qC(c[g>>2]|0,c[t>>2]|0)|0}B1(c[y>>2]|0);B1(c[x>>2]|0);cw(c[m>>2]|0);if(c[n>>2]|0)cw(c[n>>2]|0);if(!(c[p>>2]|0)){i=C;return}B1(c[p>>2]|0);i=C;return}function Cp(a){a=a|0;var b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c[b>>2]=a;i=b;return}function Dp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+24|0;f=n+20|0;l=n+12|0;m=n+8|0;k=n+4|0;g=n;c[f>>2]=a;c[n+16>>2]=b;a=c[13799]|0;c[m>>2]=qK((_(a,AB(c[f>>2]|0)|0)|0)<<3)|0;if(!(GA(c[f>>2]|0,1,140326,0)|0)){c[e>>2]=c[m>>2];m=c[e>>2]|0;i=n;return m|0}c[l>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;c[g>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+120>>2];a:do if((d[(c[(c[l>>2]|0)+8>>2]|0)+119>>0]|0|0)>0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[13799]|0))break a;a=_(c[g>>2]|0,c[13799]|0)|0;h[(c[m>>2]|0)+(a+(c[k>>2]|0)<<3)>>3]=+h[(c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0)+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}}while(0);c[l>>2]=qC(c[f>>2]|0,c[l>>2]|0)|0}c[e>>2]=c[m>>2];m=c[e>>2]|0;i=n;return m|0}function Ep(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o+24|0;f=o+20|0;g=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){c[h>>2]=c[k>>2];n=c[h>>2]|0;i=o;return n|0}c[m>>2]=PA(c[f>>2]|0,c[g>>2]|0)|0;d=(I1(a[c[m>>2]>>0]|0)|0)!=0;f=c[m>>2]|0;do if(d){m=N3(f)|0;c[n>>2]=m;if((m|0)<=4){c[l>>2]=c[n>>2];break}else{c[l>>2]=c[k>>2];break}}else{if(!(F1(a[f>>0]|0)|0)){c[l>>2]=c[k>>2];break}if(!(Y3(c[m>>2]|0,129412)|0)){c[l>>2]=2;break}if(!(Y3(c[m>>2]|0,129421)|0)){c[l>>2]=1;break}if(!(Y3(c[m>>2]|0,173392)|0)){c[l>>2]=0;break}if(!(Y3(c[m>>2]|0,129432)|0)){c[l>>2]=3;break}if(Y3(c[m>>2]|0,129443)|0){c[l>>2]=c[k>>2];break}else{c[l>>2]=4;break}}while(0);c[h>>2]=c[l>>2];n=c[h>>2]|0;i=o;return n|0}function Fp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o+24|0;f=o+20|0;g=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){c[h>>2]=c[k>>2];n=c[h>>2]|0;i=o;return n|0}c[m>>2]=PA(c[f>>2]|0,c[g>>2]|0)|0;d=(I1(a[c[m>>2]>>0]|0)|0)!=0;f=c[m>>2]|0;do if(d){m=N3(f)|0;c[n>>2]=m;if((m|0)<=2&(c[n>>2]|0)>=0){c[l>>2]=c[n>>2];break}else{c[l>>2]=c[k>>2];break}}else{if(!(F1(a[f>>0]|0)|0)){c[l>>2]=c[k>>2];break}if((Y3(c[m>>2]|0,173392)|0)!=0?(Y3(c[m>>2]|0,174991)|0)!=0:0){if(((Y3(c[m>>2]|0,137489)|0)!=0?(Y3(c[m>>2]|0,145664)|0)!=0:0)?(Y3(c[m>>2]|0,145669)|0)!=0:0)if(Y3(c[m>>2]|0,129407)|0){c[l>>2]=c[k>>2];break}else{c[l>>2]=2;break}c[l>>2]=1;break}c[l>>2]=0}while(0);c[h>>2]=c[l>>2];n=c[h>>2]|0;i=o;return n|0}function Gp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;Jl(c[e>>2]|0);c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[d>>2]=cB(c[b>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;Hp(c[d>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}i=f;return}function Hp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aD(c[d>>2]|0,175399,176,1)|0;NO(c[d>>2]|0)|0;i=b;return}function Ip(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=a;c[b>>2]=rK(168)|0;h[c[b>>2]>>3]=-1.0001234;h[(c[b>>2]|0)+8>>3]=1.0;c[(c[b>>2]|0)+16>>2]=1;h[(c[b>>2]|0)+24>>3]=-1.0;h[(c[b>>2]|0)+32>>3]=.2;c[(c[b>>2]|0)+40>>2]=0;c[(c[b>>2]|0)+44>>2]=4;c[(c[b>>2]|0)+48>>2]=1;c[(c[b>>2]|0)+52>>2]=45;c[(c[b>>2]|0)+56>>2]=10;h[(c[b>>2]|0)+64>>3]=.6;h[(c[b>>2]|0)+72>>3]=.001;c[(c[b>>2]|0)+80>>2]=500;h[(c[b>>2]|0)+88>>3]=.9;h[(c[b>>2]|0)+96>>3]=.1;c[(c[b>>2]|0)+104>>2]=1;c[(c[b>>2]|0)+108>>2]=123;c[(c[b>>2]|0)+112>>2]=0;c[(c[b>>2]|0)+116>>2]=0;c[(c[b>>2]|0)+120>>2]=0;c[(c[b>>2]|0)+124>>2]=0;c[(c[b>>2]|0)+128>>2]=1;c[(c[b>>2]|0)+132>>2]=3;c[(c[b>>2]|0)+136>>2]=0;h[(c[b>>2]|0)+144>>3]=-4.0;h[(c[b>>2]|0)+152>>3]=0.0;c[(c[b>>2]|0)+160>>2]=0;i=a;return c[b>>2]|0}function Jp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[d>>2]|0);i=b;return}function Kp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[d>>2]|0);i=b;return}function Lp(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=rK(184)|0;c[c[d>>2]>>2]=c[e>>2];c[(c[d>>2]|0)+176>>2]=0;i=b;return c[d>>2]|0}function Mp(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g+12|0;d=g;e=g+8|0;c[f>>2]=a;h[d>>3]=b;c[e>>2]=c[c[f>>2]>>2];h[(c[f>>2]|0)+8+(c[e>>2]<<3)>>3]=+h[d>>3];d=c[f>>2]|0;if(!(c[(c[f>>2]|0)+176>>2]|0)){a=(c[f>>2]|0)+176|0;if((c[d>>2]|0)==20){c[a>>2]=-1;c[c[f>>2]>>2]=(c[c[f>>2]>>2]|0)-1;i=g;return}c[a>>2]=1;if(20<((c[c[f>>2]>>2]|0)+1|0))a=20;else a=(c[c[f>>2]>>2]|0)+1|0;c[c[f>>2]>>2]=a;i=g;return}b=+h[(c[f>>2]|0)+8+(c[e>>2]<<3)>>3];a=c[e>>2]|0;if((c[d+176>>2]|0)==1){if(b<+h[(c[f>>2]|0)+8+(a-1<<3)>>3]?(c[c[f>>2]>>2]|0)<20:0){if(20<((c[c[f>>2]>>2]|0)+1|0))a=20;else a=(c[c[f>>2]>>2]|0)+1|0;c[c[f>>2]>>2]=a;i=g;return}e=c[f>>2]|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[f>>2]|0)+176>>2]=-1;i=g;return}else{if(b<+h[(c[f>>2]|0)+8+(a+1<<3)>>3]?(c[c[f>>2]>>2]|0)>0:0){if(0>((c[c[f>>2]>>2]|0)-1|0))a=0;else a=(c[c[f>>2]>>2]|0)-1|0;c[c[f>>2]>>2]=a;i=g;return}e=c[f>>2]|0;c[e>>2]=(c[e>>2]|0)+1;c[(c[f>>2]|0)+176>>2]=1;i=g;return}}function Np(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[c[d>>2]>>2]|0}function Op(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;s=i;i=i+64|0;if((i|0)>=(j|0))ba();e=s+16|0;f=s+52|0;g=s+48|0;k=s+44|0;m=s+8|0;l=s;o=s+40|0;q=s+36|0;n=s+32|0;p=s+28|0;r=s+24|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;h[m>>3]=0.0;c[o>>2]=c[(c[f>>2]|0)+20>>2];c[q>>2]=c[(c[f>>2]|0)+24>>2];if(!(c[(c[o>>2]|0)+(c[c[f>>2]>>2]<<2)>>2]|0)){h[e>>3]=1.0;t=+h[e>>3];i=s;return +t}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[f>>2]>>2]|0))break;c[p>>2]=c[(c[o>>2]|0)+(c[n>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[o>>2]|0)+((c[n>>2]|0)+1<<2)>>2]|0))break;h[l>>3]=0.0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[g>>2]|0))break;u=_(c[g>>2]|0,c[n>>2]|0)|0;a=_(c[g>>2]|0,c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;d=_(c[g>>2]|0,c[n>>2]|0)|0;b=_(c[g>>2]|0,c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;h[l>>3]=+h[l>>3]+(+h[(c[k>>2]|0)+(u+(c[r>>2]|0)<<3)>>3]-+h[(c[k>>2]|0)+(a<<3)>>3])*(+h[(c[k>>2]|0)+(d+(c[r>>2]|0)<<3)>>3]-+h[(c[k>>2]|0)+(b<<3)>>3]);c[r>>2]=(c[r>>2]|0)+1}t=+O(+(+h[l>>3]));h[m>>3]=+h[m>>3]+t;c[p>>2]=(c[p>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}h[e>>3]=+h[m>>3]/+(c[(c[o>>2]|0)+(c[c[f>>2]>>2]<<2)>>2]|0);t=+h[e>>3];i=s;return +t}function Pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<(c[c[g>>2]>>2]|0)){i=h;return}c[c[g>>2]>>2]=(c[f>>2]|0)+(0>10?0:10);d=tK(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]<<3)|0;c[c[e>>2]>>2]=d;i=h;return}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<(c[c[g>>2]>>2]|0)){i=h;return}c[c[g>>2]>>2]=(c[f>>2]|0)+(0>10?0:10);d=tK(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]<<2)|0;c[c[e>>2]>>2]=d;i=h;return}function Rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=i;i=i+64|0;if((i|0)>=(j|0))ba();o=s+32|0;g=s+56|0;k=s+52|0;l=s+48|0;m=s+44|0;n=s+40|0;r=s+16|0;q=s+8|0;p=s;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;h[p>>3]=1.0e-05;c[n>>2]=0;while(1){if((c[n>>2]|0)>=2)break;e=_(c[m>>2]|0,c[k>>2]|0)|0;a=_(c[l>>2]|0,c[k>>2]|0)|0;h[r+(c[n>>2]<<3)>>3]=+h[(c[g>>2]|0)+(e+(c[n>>2]|0)<<3)>>3]-+h[(c[g>>2]|0)+(a+(c[n>>2]|0)<<3)>>3];c[n>>2]=(c[n>>2]|0)+1}u=+h[r>>3];t=+h[r+8>>3];f=+h[r+8>>3];if((+h[r>>3]>=0.0?u:-u)<=(+h[r+8>>3]>=0.0?t:-t)*+h[p>>3])if(f>0.0){h[o>>3]=1.5707963267948966;u=+h[o>>3];i=s;return +u}else{h[o>>3]=4.71238898038469;u=+h[o>>3];i=s;return +u}h[q>>3]=+V(+(f/+h[r>>3]));if(+h[r>>3]>0.0){if(+h[r+8>>3]<0.0)h[q>>3]=+h[q>>3]+6.283185307179586}else if(+h[r>>3]<0.0)h[q>>3]=+h[q>>3]+3.141592653589793;h[o>>3]=+h[q>>3];u=+h[o>>3];i=s;return +u}function Sp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();d=g+16|0;l=g+12|0;k=g+8|0;e=g+4|0;f=g;c[l>>2]=a;c[k>>2]=b;c[e>>2]=c[l>>2];c[f>>2]=c[k>>2];do if(!(+h[c[e>>2]>>3]>+h[c[f>>2]>>3]))if(+h[c[e>>2]>>3]<+h[c[f>>2]>>3]){c[d>>2]=-1;break}else{c[d>>2]=0;break}else c[d>>2]=1;while(0);i=g;return c[d>>2]|0}function Tp(b,d,e,f,g,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|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,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,$=0.0,aa=0.0;Y=i;i=i+272|0;if((i|0)>=(j|0))ba();W=Y+136|0;n=Y+260|0;o=Y+256|0;p=Y+252|0;q=Y+248|0;r=Y+244|0;s=Y+240|0;t=Y+236|0;m=Y+232|0;Q=Y+228|0;G=Y+224|0;J=Y+220|0;L=Y+216|0;R=Y+128|0;y=Y+120|0;l=Y+112|0;u=Y+104|0;V=Y+96|0;N=Y+88|0;B=Y+80|0;U=Y+72|0;z=Y+64|0;H=Y+212|0;K=Y+208|0;X=Y+204|0;E=Y+200|0;D=Y+56|0;v=Y+48|0;w=Y+40|0;x=Y+32|0;I=Y+196|0;A=Y+192|0;S=Y+188|0;C=Y;F=Y+184|0;M=Y+180|0;T=Y+176|0;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=k;c[t>>2]=c[o>>2];h[R>>3]=+h[c[p>>2]>>3];h[y>>3]=+h[(c[p>>2]|0)+24>>3];h[l>>3]=+h[(c[p>>2]|0)+32>>3];h[V>>3]=+h[(c[p>>2]|0)+72>>3];h[N>>3]=+(c[(c[p>>2]|0)+80>>2]|0);h[B>>3]=+h[(c[p>>2]|0)+88>>3];h[U>>3]=+h[(c[p>>2]|0)+96>>3];c[H>>2]=0;c[K>>2]=0;c[X>>2]=0;c[E>>2]=0;h[w>>3]=0.0;c[I>>2]=0;c[A>>2]=c[(c[p>>2]|0)+104>>2];c[S>>2]=0;c[F>>2]=0;c[M>>2]=c[(c[p>>2]|0)+56>>2];c[T>>2]=0;if((c[t>>2]|0)==0|+h[N>>3]<=0.0){i=Y;return}c[m>>2]=c[c[t>>2]>>2];c[Q>>2]=c[(c[t>>2]|0)+4>>2];if((c[Q>>2]|0)<=0|(c[n>>2]|0)<=0){i=Y;return}c[T>>2]=Lp(c[M>>2]|0)|0;c[c[s>>2]>>2]=0;if((c[m>>2]|0)==(c[Q>>2]|0)){c[t>>2]=dw(c[t>>2]|0,1)|0;c[H>>2]=c[(c[t>>2]|0)+20>>2];c[K>>2]=c[(c[t>>2]|0)+24>>2];a:do if(c[(c[p>>2]|0)+16>>2]|0){L2(c[(c[p>>2]|0)+108>>2]|0);c[G>>2]=0;while(1){if((c[G>>2]|0)>=(_(c[n>>2]|0,c[Q>>2]|0)|0))break a;Z=+Kw();h[(c[r>>2]|0)+(c[G>>2]<<3)>>3]=Z;c[G>>2]=(c[G>>2]|0)+1}}while(0);if(+h[y>>3]<0.0){Z=+Op(c[t>>2]|0,c[n>>2]|0,c[r>>2]|0);h[y>>3]=Z;h[(c[p>>2]|0)+24>>3]=Z}if(+h[l>>3]<0.0){h[l>>3]=.2;h[(c[p>>2]|0)+32>>3]=.2}if(+h[R>>3]>=0.0){h[R>>3]=-1.0;h[c[p>>2]>>3]=-1.0}h[z>>3]=+P(+(+h[y>>3]),+(1.0-+h[R>>3]));Z=+P(+(+h[l>>3]),+((2.0-+h[R>>3])/3.0));h[u>>3]=Z/+h[y>>3];c[X>>2]=rK(_(c[n>>2]<<3,c[Q>>2]|0)|0)|0;c[F>>2]=rK(_(c[n>>2]<<3,c[Q>>2]|0)|0)|0;do{c[I>>2]=(c[I>>2]|0)+1;b=c[X>>2]|0;n5(b|0,c[r>>2]|0,_(c[n>>2]<<3,c[Q>>2]|0)|0)|0;c[X>>2]=b;h[x>>3]=+h[w>>3];h[w>>3]=0.0;c[M>>2]=Np(c[T>>2]|0)|0;b=c[n>>2]|0;e=c[Q>>2]|0;l=c[M>>2]|0;d=c[r>>2]|0;if(c[(c[p>>2]|0)+116>>2]|0)c[S>>2]=Rv(b,e,l,d,c[q>>2]|0)|0;else c[S>>2]=Rv(b,e,l,d,0)|0;Qv(c[S>>2]|0,c[F>>2]|0,c[r>>2]|0,+h[(c[p>>2]|0)+64>>3],+h[R>>3],+h[z>>3],C,c[s>>2]|0);c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[Q>>2]|0))break;g=_(c[G>>2]|0,c[n>>2]|0)|0;c[E>>2]=(c[F>>2]|0)+(g<<3);c[J>>2]=c[(c[H>>2]|0)+(c[G>>2]<<2)>>2];while(1){if((c[J>>2]|0)>=(c[(c[H>>2]|0)+((c[G>>2]|0)+1<<2)>>2]|0))break;b:do if((c[(c[K>>2]|0)+(c[J>>2]<<2)>>2]|0)!=(c[G>>2]|0)){h[D>>3]=+Sw(c[r>>2]|0,c[n>>2]|0,c[G>>2]|0,c[(c[K>>2]|0)+(c[J>>2]<<2)>>2]|0);c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[n>>2]|0))break b;m=_(c[G>>2]|0,c[n>>2]|0)|0;f=_(c[(c[K>>2]|0)+(c[J>>2]<<2)>>2]|0,c[n>>2]|0)|0;g=(c[E>>2]|0)+(c[L>>2]<<3)|0;h[g>>3]=+h[g>>3]-+h[u>>3]*(+h[(c[r>>2]|0)+(m+(c[L>>2]|0)<<3)>>3]-+h[(c[r>>2]|0)+(f+(c[L>>2]|0)<<3)>>3])*+h[D>>3];c[L>>2]=(c[L>>2]|0)+1}}while(0);c[J>>2]=(c[J>>2]|0)+1}c[G>>2]=(c[G>>2]|0)+1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[Q>>2]|0))break;g=_(c[G>>2]|0,c[n>>2]|0)|0;c[E>>2]=(c[F>>2]|0)+(g<<3);h[v>>3]=0.0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[n>>2]|0))break;h[v>>3]=+h[v>>3]+ +h[(c[E>>2]|0)+(c[L>>2]<<3)>>3]*+h[(c[E>>2]|0)+(c[L>>2]<<3)>>3];c[L>>2]=(c[L>>2]|0)+1}h[v>>3]=+O(+(+h[v>>3]));h[w>>3]=+h[w>>3]+ +h[v>>3];c:do if(+h[v>>3]>0.0){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[n>>2]|0))break c;g=(c[E>>2]|0)+(c[L>>2]<<3)|0;h[g>>3]=+h[g>>3]/+h[v>>3];c[L>>2]=(c[L>>2]|0)+1}}while(0);c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[n>>2]|0))break;g=_(c[G>>2]|0,c[n>>2]|0)|0;g=(c[r>>2]|0)+(g+(c[L>>2]|0)<<3)|0;h[g>>3]=+h[g>>3]+ +h[U>>3]*+h[(c[E>>2]|0)+(c[L>>2]<<3)>>3];c[L>>2]=(c[L>>2]|0)+1}c[G>>2]=(c[G>>2]|0)+1}if(!(c[S>>2]|0)){if(a[139078]|0){g=c[24742]|0;aa=+h[U>>3];$=+h[w>>3];f=c[(c[t>>2]|0)+8>>2]|0;Z=+h[y>>3];c[W>>2]=c[I>>2];h[W+8>>3]=aa;h[W+16>>3]=$;c[W+24>>2]=f;h[W+32>>3]=Z;p3(g,129460,W)|0}}else{Uv(c[S>>2]|0);Mp(c[T>>2]|0,+h[C>>3]+ +h[C+8>>3]*.85+ +h[C+16>>3]*3.3)}h[U>>3]=+aq(c[A>>2]|0,+h[U>>3],+h[w>>3],+h[x>>3],+h[B>>3]);if(!(+h[U>>3]>+h[V>>3]))break}while(+(c[I>>2]|0)<+h[N>>3]);if(c[(c[p>>2]|0)+112>>2]|0)bq(c[n>>2]|0,c[t>>2]|0,c[r>>2]|0)}else c[c[s>>2]>>2]=-100;Kp(c[T>>2]|0);c[(c[p>>2]|0)+56>>2]=c[M>>2];if(c[X>>2]|0)B1(c[X>>2]|0);if((c[t>>2]|0)!=(c[o>>2]|0))cw(c[t>>2]|0);if(!(c[F>>2]|0)){i=Y;return}B1(c[F>>2]|0);i=Y;return}function Up(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 k=0.0,l=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,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,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=i;i=i+256|0;if((i|0)>=(j|0))ba();p=ga+240|0;q=ga+236|0;r=ga+232|0;s=ga+228|0;t=ga+224|0;u=ga+220|0;v=ga+216|0;o=ga+212|0;V=ga+208|0;L=ga+204|0;Q=ga+200|0;S=ga+196|0;Z=ga+120|0;m=ga+112|0;n=ga+104|0;w=ga+96|0;ea=ga+88|0;U=ga+80|0;E=ga+72|0;ca=ga+64|0;A=ga+56|0;M=ga+192|0;R=ga+188|0;fa=ga+184|0;J=ga+180|0;H=ga+48|0;x=ga+40|0;y=ga+32|0;z=ga+24|0;N=ga+176|0;C=ga+172|0;$=ga+168|0;B=ga+164|0;W=ga+160|0;Y=ga+156|0;D=ga+152|0;da=ga+148|0;I=ga+144|0;X=ga+16|0;F=ga+8|0;G=ga;K=ga+140|0;T=ga+136|0;aa=ga+132|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=c[q>>2];h[Z>>3]=+h[c[r>>2]>>3];h[m>>3]=+h[(c[r>>2]|0)+24>>3];h[n>>3]=+h[(c[r>>2]|0)+32>>3];h[ea>>3]=+h[(c[r>>2]|0)+72>>3];h[U>>3]=+(c[(c[r>>2]|0)+80>>2]|0);h[E>>3]=+h[(c[r>>2]|0)+88>>3];h[ca>>3]=+h[(c[r>>2]|0)+96>>3];c[M>>2]=0;c[R>>2]=0;c[fa>>2]=0;c[J>>2]=0;h[y>>3]=0.0;c[N>>2]=0;c[C>>2]=c[(c[r>>2]|0)+104>>2];c[$>>2]=0;c[B>>2]=0;c[W>>2]=0;c[Y>>2]=10;c[D>>2]=0;c[da>>2]=0;c[I>>2]=0;h[F>>3]=0.0;h[G>>3]=0.0;c[T>>2]=c[(c[r>>2]|0)+56>>2];c[aa>>2]=0;p3(c[24742]|0,129559,ga+128|0)|0;if((c[v>>2]|0)==0|+h[U>>3]<=0.0){i=ga;return}c[o>>2]=c[c[v>>2]>>2];c[V>>2]=c[(c[v>>2]|0)+4>>2];if((c[V>>2]|0)<=0|(c[p>>2]|0)<=0){i=ga;return}c[K>>2]=rK(_(c[V>>2]<<3,c[p>>2]|0)|0)|0;if((c[V>>2]|0)>=(c[(c[r>>2]|0)+52>>2]|0)){c[B>>2]=1;c[aa>>2]=Lp(c[T>>2]|0)|0;c[D>>2]=rK(_(c[Y>>2]<<3,c[p>>2]|0)|0)|0;c[da>>2]=rK(c[Y>>2]<<3)|0;c[I>>2]=rK(c[Y>>2]<<3)|0}c[B>>2]=0;c[c[u>>2]>>2]=0;a:do if((c[o>>2]|0)==(c[V>>2]|0)){c[v>>2]=dw(c[v>>2]|0,1)|0;c[M>>2]=c[(c[v>>2]|0)+20>>2];c[R>>2]=c[(c[v>>2]|0)+24>>2];b:do if(c[(c[r>>2]|0)+16>>2]|0){L2(c[(c[r>>2]|0)+108>>2]|0);c[L>>2]=0;while(1){if((c[L>>2]|0)>=(_(c[p>>2]|0,c[V>>2]|0)|0))break b;l=+Kw();h[(c[t>>2]|0)+(c[L>>2]<<3)>>3]=l;c[L>>2]=(c[L>>2]|0)+1}}while(0);if(+h[m>>3]<0.0){l=+Op(c[v>>2]|0,c[p>>2]|0,c[t>>2]|0);h[m>>3]=l;h[(c[r>>2]|0)+24>>3]=l}if(+h[n>>3]<0.0){h[n>>3]=.2;h[(c[r>>2]|0)+32>>3]=.2}if(+h[Z>>3]>=0.0){h[Z>>3]=-1.0;h[c[r>>2]>>3]=-1.0}h[A>>3]=+P(+(+h[m>>3]),+(1.0-+h[Z>>3]));l=+P(+(+h[n>>3]),+((2.0-+h[Z>>3])/3.0));h[w>>3]=l/+h[m>>3];c[J>>2]=rK(c[p>>2]<<3)|0;c[fa>>2]=rK(_(c[p>>2]<<3,c[V>>2]|0)|0)|0;do{c[L>>2]=0;while(1){if((c[L>>2]|0)>=(_(c[p>>2]|0,c[V>>2]|0)|0))break;h[(c[K>>2]|0)+(c[L>>2]<<3)>>3]=0.0;c[L>>2]=(c[L>>2]|0)+1}c[N>>2]=(c[N>>2]|0)+1;f=c[fa>>2]|0;n5(f|0,c[t>>2]|0,_(c[p>>2]<<3,c[V>>2]|0)|0)|0;c[fa>>2]=f;h[z>>3]=+h[y>>3];h[y>>3]=0.0;h[X>>3]=0.0;do if(c[B>>2]|0){c[T>>2]=Np(c[aa>>2]|0)|0;d=c[p>>2]|0;m=c[V>>2]|0;n=c[T>>2]|0;b=c[t>>2]|0;if(c[(c[r>>2]|0)+116>>2]|0){c[$>>2]=Rv(d,m,n,b,c[s>>2]|0)|0;break}else{c[$>>2]=Rv(d,m,n,b,0)|0;break}}while(0);c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[V>>2]|0))break;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break;h[(c[J>>2]|0)+(c[S>>2]<<3)>>3]=0.0;c[S>>2]=(c[S>>2]|0)+1}c:do if(!(c[B>>2]|0)){f=(c[s>>2]|0)!=0?(c[(c[r>>2]|0)+116>>2]|0)!=0:0;c[Q>>2]=0;if(f)while(1){if((c[Q>>2]|0)>=(c[V>>2]|0))break c;d:do if((c[Q>>2]|0)!=(c[L>>2]|0)){h[H>>3]=+Rw(c[t>>2]|0,c[p>>2]|0,c[L>>2]|0,c[Q>>2]|0);c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break d;e=_(c[L>>2]|0,c[p>>2]|0)|0;f=_(c[Q>>2]|0,c[p>>2]|0)|0;l=+h[(c[s>>2]|0)+(c[Q>>2]<<3)>>3]*+h[A>>3]*(+h[(c[t>>2]|0)+(e+(c[S>>2]|0)<<3)>>3]-+h[(c[t>>2]|0)+(f+(c[S>>2]|0)<<3)>>3]);k=+h[H>>3];if(+h[Z>>3]==-1.0){f=(c[J>>2]|0)+(c[S>>2]<<3)|0;h[f>>3]=+h[f>>3]+l/(k*+h[H>>3])}else{l=l/+P(+k,+(1.0-+h[Z>>3]));f=(c[J>>2]|0)+(c[S>>2]<<3)|0;h[f>>3]=+h[f>>3]+l}c[S>>2]=(c[S>>2]|0)+1}}while(0);c[Q>>2]=(c[Q>>2]|0)+1}else while(1){if((c[Q>>2]|0)>=(c[V>>2]|0))break c;e:do if((c[Q>>2]|0)!=(c[L>>2]|0)){h[H>>3]=+Rw(c[t>>2]|0,c[p>>2]|0,c[L>>2]|0,c[Q>>2]|0);c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break e;e=_(c[L>>2]|0,c[p>>2]|0)|0;f=_(c[Q>>2]|0,c[p>>2]|0)|0;l=+h[A>>3]*(+h[(c[t>>2]|0)+(e+(c[S>>2]|0)<<3)>>3]-+h[(c[t>>2]|0)+(f+(c[S>>2]|0)<<3)>>3]);k=+h[H>>3];if(+h[Z>>3]==-1.0){f=(c[J>>2]|0)+(c[S>>2]<<3)|0;h[f>>3]=+h[f>>3]+l/(k*+h[H>>3])}else{l=l/+P(+k,+(1.0-+h[Z>>3]));f=(c[J>>2]|0)+(c[S>>2]<<3)|0;h[f>>3]=+h[f>>3]+l}c[S>>2]=(c[S>>2]|0)+1}}while(0);c[Q>>2]=(c[Q>>2]|0)+1}}else{f=_(c[p>>2]|0,c[L>>2]|0)|0;Pv(c[$>>2]|0,+h[(c[r>>2]|0)+64>>3],(c[t>>2]|0)+(f<<3)|0,c[L>>2]|0,W,Y,D,da,I,F,c[u>>2]|0);h[G>>3]=+h[G>>3]+ +h[F>>3];h[X>>3]=+h[X>>3]+ +(c[W>>2]|0);if(c[c[u>>2]>>2]|0)break a;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[W>>2]|0))break c;if(+h[(c[I>>2]|0)+(c[Q>>2]<<3)>>3]>1.0e-15)k=+h[(c[I>>2]|0)+(c[Q>>2]<<3)>>3];else k=1.0e-15;h[H>>3]=k;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break;e=_(c[L>>2]|0,c[p>>2]|0)|0;f=_(c[Q>>2]|0,c[p>>2]|0)|0;k=+h[(c[da>>2]|0)+(c[Q>>2]<<3)>>3]*+h[A>>3]*(+h[(c[t>>2]|0)+(e+(c[S>>2]|0)<<3)>>3]-+h[(c[D>>2]|0)+(f+(c[S>>2]|0)<<3)>>3]);l=+h[H>>3];if(+h[Z>>3]==-1.0){f=(c[J>>2]|0)+(c[S>>2]<<3)|0;h[f>>3]=+h[f>>3]+k/(l*+h[H>>3])}else{l=k/+P(+l,+(1.0-+h[Z>>3]));f=(c[J>>2]|0)+(c[S>>2]<<3)|0;h[f>>3]=+h[f>>3]+l}c[S>>2]=(c[S>>2]|0)+1}c[Q>>2]=(c[Q>>2]|0)+1}}while(0);c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break;f=_(c[L>>2]|0,c[p>>2]|0)|0;f=(c[K>>2]|0)+(f+(c[S>>2]|0)<<3)|0;h[f>>3]=+h[f>>3]+ +h[(c[J>>2]|0)+(c[S>>2]<<3)>>3];c[S>>2]=(c[S>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1}c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[V>>2]|0))break;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break;h[(c[J>>2]|0)+(c[S>>2]<<3)>>3]=0.0;c[S>>2]=(c[S>>2]|0)+1}c[Q>>2]=c[(c[M>>2]|0)+(c[L>>2]<<2)>>2];while(1){if((c[Q>>2]|0)>=(c[(c[M>>2]|0)+((c[L>>2]|0)+1<<2)>>2]|0))break;f:do if((c[(c[R>>2]|0)+(c[Q>>2]<<2)>>2]|0)!=(c[L>>2]|0)){h[H>>3]=+Sw(c[t>>2]|0,c[p>>2]|0,c[L>>2]|0,c[(c[R>>2]|0)+(c[Q>>2]<<2)>>2]|0);c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break f;o=_(c[L>>2]|0,c[p>>2]|0)|0;e=_(c[(c[R>>2]|0)+(c[Q>>2]<<2)>>2]|0,c[p>>2]|0)|0;f=(c[J>>2]|0)+(c[S>>2]<<3)|0;h[f>>3]=+h[f>>3]-+h[w>>3]*(+h[(c[t>>2]|0)+(o+(c[S>>2]|0)<<3)>>3]-+h[(c[t>>2]|0)+(e+(c[S>>2]|0)<<3)>>3])*+h[H>>3];c[S>>2]=(c[S>>2]|0)+1}}while(0);c[Q>>2]=(c[Q>>2]|0)+1}c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break;f=_(c[L>>2]|0,c[p>>2]|0)|0;f=(c[K>>2]|0)+(f+(c[S>>2]|0)<<3)|0;h[f>>3]=+h[f>>3]+ +h[(c[J>>2]|0)+(c[S>>2]<<3)>>3];c[S>>2]=(c[S>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1}c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[V>>2]|0))break;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break;f=_(c[L>>2]|0,c[p>>2]|0)|0;h[(c[J>>2]|0)+(c[S>>2]<<3)>>3]=+h[(c[K>>2]|0)+(f+(c[S>>2]|0)<<3)>>3];c[S>>2]=(c[S>>2]|0)+1}h[x>>3]=0.0;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break;h[x>>3]=+h[x>>3]+ +h[(c[J>>2]|0)+(c[S>>2]<<3)>>3]*+h[(c[J>>2]|0)+(c[S>>2]<<3)>>3];c[S>>2]=(c[S>>2]|0)+1}h[x>>3]=+O(+(+h[x>>3]));h[y>>3]=+h[y>>3]+ +h[x>>3];g:do if(+h[x>>3]>0.0){c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break g;f=(c[J>>2]|0)+(c[S>>2]<<3)|0;h[f>>3]=+h[f>>3]/+h[x>>3];c[S>>2]=(c[S>>2]|0)+1}}while(0);c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[p>>2]|0))break;f=_(c[L>>2]|0,c[p>>2]|0)|0;f=(c[t>>2]|0)+(f+(c[S>>2]|0)<<3)|0;h[f>>3]=+h[f>>3]+ +h[ca>>3]*+h[(c[J>>2]|0)+(c[S>>2]<<3)>>3];c[S>>2]=(c[S>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1}if(c[$>>2]|0){Uv(c[$>>2]|0);h[X>>3]=+h[X>>3]/+(c[V>>2]|0);h[G>>3]=+h[G>>3]/+(c[V>>2]|0);Mp(c[aa>>2]|0,+h[X>>3]*5.0+ +h[G>>3])}h[ca>>3]=+aq(c[C>>2]|0,+h[ca>>3],+h[y>>3],+h[z>>3],+h[E>>3]);if(!(+h[ca>>3]>+h[ea>>3]))break}while(+(c[N>>2]|0)<+h[U>>3]);if(c[(c[r>>2]|0)+112>>2]|0)bq(c[p>>2]|0,c[v>>2]|0,c[t>>2]|0)}else c[c[u>>2]>>2]=-100;while(0);if(c[B>>2]|0){Kp(c[aa>>2]|0);c[(c[r>>2]|0)+56>>2]=c[T>>2]}if(c[fa>>2]|0)B1(c[fa>>2]|0);if((c[v>>2]|0)!=(c[q>>2]|0))cw(c[v>>2]|0);if(c[J>>2]|0)B1(c[J>>2]|0);if(c[D>>2]|0)B1(c[D>>2]|0);if(c[da>>2]|0)B1(c[da>>2]|0);if(c[I>>2]|0)B1(c[I>>2]|0);B1(c[K>>2]|0);i=ga;return}function Vp(a,b,e,f,g,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;k=k|0;var l=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,L=0,M=0,N=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+272|0;if((i|0)>=(j|0))ba();fa=ha+128|0;q=ha+256|0;r=ha+252|0;s=ha+248|0;t=ha+244|0;u=ha+240|0;v=ha+236|0;w=ha+232|0;p=ha+228|0;V=ha+224|0;L=ha+220|0;Q=ha+216|0;S=ha+212|0;Z=ha+120|0;n=ha+112|0;o=ha+104|0;x=ha+96|0;ea=ha+88|0;U=ha+80|0;F=ha+72|0;ca=ha+64|0;B=ha+56|0;M=ha+208|0;R=ha+204|0;ga=ha+200|0;K=ha+196|0;I=ha+48|0;y=ha+40|0;z=ha+32|0;A=ha+24|0;N=ha+192|0;D=ha+188|0;$=ha+184|0;C=ha+180|0;W=ha+176|0;Y=ha+172|0;E=ha+168|0;da=ha+164|0;J=ha+160|0;X=ha+16|0;G=ha+8|0;H=ha;T=ha+156|0;aa=ha+152|0;c[q>>2]=a;c[r>>2]=b;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=k;c[w>>2]=c[r>>2];h[Z>>3]=+h[c[s>>2]>>3];h[n>>3]=+h[(c[s>>2]|0)+24>>3];h[o>>3]=+h[(c[s>>2]|0)+32>>3];h[ea>>3]=+h[(c[s>>2]|0)+72>>3];h[U>>3]=+(c[(c[s>>2]|0)+80>>2]|0);h[F>>3]=+h[(c[s>>2]|0)+88>>3];h[ca>>3]=+h[(c[s>>2]|0)+96>>3];c[M>>2]=0;c[R>>2]=0;c[ga>>2]=0;c[K>>2]=0;h[z>>3]=0.0;c[N>>2]=0;c[D>>2]=c[(c[s>>2]|0)+104>>2];c[$>>2]=0;c[C>>2]=0;c[W>>2]=0;c[Y>>2]=10;c[E>>2]=0;c[da>>2]=0;c[J>>2]=0;h[G>>3]=0.0;h[H>>3]=0.0;c[T>>2]=c[(c[s>>2]|0)+56>>2];c[aa>>2]=0;if((c[w>>2]|0)==0|+h[U>>3]<=0.0){i=ha;return}c[p>>2]=c[c[w>>2]>>2];c[V>>2]=c[(c[w>>2]|0)+4>>2];if((c[V>>2]|0)<=0|(c[q>>2]|0)<=0){i=ha;return}if((c[V>>2]|0)>=(c[(c[s>>2]|0)+52>>2]|0)){c[C>>2]=1;c[aa>>2]=Lp(c[T>>2]|0)|0;c[E>>2]=rK(_(c[Y>>2]<<3,c[q>>2]|0)|0)|0;c[da>>2]=rK(c[Y>>2]<<3)|0;c[J>>2]=rK(c[Y>>2]<<3)|0}c[c[v>>2]>>2]=0;a:do if((c[p>>2]|0)==(c[V>>2]|0)){c[w>>2]=dw(c[w>>2]|0,1)|0;c[M>>2]=c[(c[w>>2]|0)+20>>2];c[R>>2]=c[(c[w>>2]|0)+24>>2];b:do if(c[(c[s>>2]|0)+16>>2]|0){L2(c[(c[s>>2]|0)+108>>2]|0);c[L>>2]=0;while(1){if((c[L>>2]|0)>=(_(c[q>>2]|0,c[V>>2]|0)|0))break b;m=+Kw();h[(c[u>>2]|0)+(c[L>>2]<<3)>>3]=m;c[L>>2]=(c[L>>2]|0)+1}}while(0);if(+h[n>>3]<0.0){m=+Op(c[w>>2]|0,c[q>>2]|0,c[u>>2]|0);h[n>>3]=m;h[(c[s>>2]|0)+24>>3]=m}if(+h[o>>3]<0.0){h[o>>3]=.2;h[(c[s>>2]|0)+32>>3]=.2}if(+h[Z>>3]>=0.0){h[Z>>3]=-1.0;h[c[s>>2]>>3]=-1.0}h[B>>3]=+P(+(+h[n>>3]),+(1.0-+h[Z>>3]));m=+P(+(+h[o>>3]),+((2.0-+h[Z>>3])/3.0));h[x>>3]=m/+h[n>>3];c[K>>2]=rK(c[q>>2]<<3)|0;c[ga>>2]=rK(_(c[q>>2]<<3,c[V>>2]|0)|0)|0;do{c[N>>2]=(c[N>>2]|0)+1;g=c[ga>>2]|0;n5(g|0,c[u>>2]|0,_(c[q>>2]<<3,c[V>>2]|0)|0)|0;c[ga>>2]=g;h[A>>3]=+h[z>>3];h[z>>3]=0.0;h[X>>3]=0.0;h[H>>3]=0.0;do if(c[C>>2]|0){c[T>>2]=Np(c[aa>>2]|0)|0;e=c[q>>2]|0;n=c[V>>2]|0;o=c[T>>2]|0;b=c[u>>2]|0;if(c[(c[s>>2]|0)+116>>2]|0){c[$>>2]=Rv(e,n,o,b,c[t>>2]|0)|0;break}else{c[$>>2]=Rv(e,n,o,b,0)|0;break}}while(0);c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[V>>2]|0))break;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[q>>2]|0))break;h[(c[K>>2]|0)+(c[S>>2]<<3)>>3]=0.0;c[S>>2]=(c[S>>2]|0)+1}c[Q>>2]=c[(c[M>>2]|0)+(c[L>>2]<<2)>>2];while(1){if((c[Q>>2]|0)>=(c[(c[M>>2]|0)+((c[L>>2]|0)+1<<2)>>2]|0))break;c:do if((c[(c[R>>2]|0)+(c[Q>>2]<<2)>>2]|0)!=(c[L>>2]|0)){h[I>>3]=+Sw(c[u>>2]|0,c[q>>2]|0,c[L>>2]|0,c[(c[R>>2]|0)+(c[Q>>2]<<2)>>2]|0);c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[q>>2]|0))break c;p=_(c[L>>2]|0,c[q>>2]|0)|0;f=_(c[(c[R>>2]|0)+(c[Q>>2]<<2)>>2]|0,c[q>>2]|0)|0;g=(c[K>>2]|0)+(c[S>>2]<<3)|0;h[g>>3]=+h[g>>3]-+h[x>>3]*(+h[(c[u>>2]|0)+(p+(c[S>>2]|0)<<3)>>3]-+h[(c[u>>2]|0)+(f+(c[S>>2]|0)<<3)>>3])*+h[I>>3];c[S>>2]=(c[S>>2]|0)+1}}while(0);c[Q>>2]=(c[Q>>2]|0)+1}d:do if(!(c[C>>2]|0)){g=(c[t>>2]|0)!=0?(c[(c[s>>2]|0)+116>>2]|0)!=0:0;c[Q>>2]=0;if(g)while(1){if((c[Q>>2]|0)>=(c[V>>2]|0))break d;e:do if((c[Q>>2]|0)!=(c[L>>2]|0)){h[I>>3]=+Rw(c[u>>2]|0,c[q>>2]|0,c[L>>2]|0,c[Q>>2]|0);c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[q>>2]|0))break e;f=_(c[L>>2]|0,c[q>>2]|0)|0;g=_(c[Q>>2]|0,c[q>>2]|0)|0;m=+h[(c[t>>2]|0)+(c[Q>>2]<<3)>>3]*+h[B>>3]*(+h[(c[u>>2]|0)+(f+(c[S>>2]|0)<<3)>>3]-+h[(c[u>>2]|0)+(g+(c[S>>2]|0)<<3)>>3]);l=+h[I>>3];if(+h[Z>>3]==-1.0){g=(c[K>>2]|0)+(c[S>>2]<<3)|0;h[g>>3]=+h[g>>3]+m/(l*+h[I>>3])}else{m=m/+P(+l,+(1.0-+h[Z>>3]));g=(c[K>>2]|0)+(c[S>>2]<<3)|0;h[g>>3]=+h[g>>3]+m}c[S>>2]=(c[S>>2]|0)+1}}while(0);c[Q>>2]=(c[Q>>2]|0)+1}else while(1){if((c[Q>>2]|0)>=(c[V>>2]|0))break d;f:do if((c[Q>>2]|0)!=(c[L>>2]|0)){h[I>>3]=+Rw(c[u>>2]|0,c[q>>2]|0,c[L>>2]|0,c[Q>>2]|0);c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[q>>2]|0))break f;f=_(c[L>>2]|0,c[q>>2]|0)|0;g=_(c[Q>>2]|0,c[q>>2]|0)|0;m=+h[B>>3]*(+h[(c[u>>2]|0)+(f+(c[S>>2]|0)<<3)>>3]-+h[(c[u>>2]|0)+(g+(c[S>>2]|0)<<3)>>3]);l=+h[I>>3];if(+h[Z>>3]==-1.0){g=(c[K>>2]|0)+(c[S>>2]<<3)|0;h[g>>3]=+h[g>>3]+m/(l*+h[I>>3])}else{m=m/+P(+l,+(1.0-+h[Z>>3]));g=(c[K>>2]|0)+(c[S>>2]<<3)|0;h[g>>3]=+h[g>>3]+m}c[S>>2]=(c[S>>2]|0)+1}}while(0);c[Q>>2]=(c[Q>>2]|0)+1}}else{g=_(c[q>>2]|0,c[L>>2]|0)|0;Pv(c[$>>2]|0,+h[(c[s>>2]|0)+64>>3],(c[u>>2]|0)+(g<<3)|0,c[L>>2]|0,W,Y,E,da,J,G,c[v>>2]|0);h[H>>3]=+h[H>>3]+ +h[G>>3];h[X>>3]=+h[X>>3]+ +(c[W>>2]|0);if(c[c[v>>2]>>2]|0)break a;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[W>>2]|0))break d;if(+h[(c[J>>2]|0)+(c[Q>>2]<<3)>>3]>1.0e-15)l=+h[(c[J>>2]|0)+(c[Q>>2]<<3)>>3];else l=1.0e-15;h[I>>3]=l;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[q>>2]|0))break;f=_(c[L>>2]|0,c[q>>2]|0)|0;g=_(c[Q>>2]|0,c[q>>2]|0)|0;l=+h[(c[da>>2]|0)+(c[Q>>2]<<3)>>3]*+h[B>>3]*(+h[(c[u>>2]|0)+(f+(c[S>>2]|0)<<3)>>3]-+h[(c[E>>2]|0)+(g+(c[S>>2]|0)<<3)>>3]);m=+h[I>>3];if(+h[Z>>3]==-1.0){g=(c[K>>2]|0)+(c[S>>2]<<3)|0;h[g>>3]=+h[g>>3]+l/(m*+h[I>>3])}else{m=l/+P(+m,+(1.0-+h[Z>>3]));g=(c[K>>2]|0)+(c[S>>2]<<3)|0;h[g>>3]=+h[g>>3]+m}c[S>>2]=(c[S>>2]|0)+1}c[Q>>2]=(c[Q>>2]|0)+1}}while(0);h[y>>3]=0.0;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[q>>2]|0))break;h[y>>3]=+h[y>>3]+ +h[(c[K>>2]|0)+(c[S>>2]<<3)>>3]*+h[(c[K>>2]|0)+(c[S>>2]<<3)>>3];c[S>>2]=(c[S>>2]|0)+1}h[y>>3]=+O(+(+h[y>>3]));h[z>>3]=+h[z>>3]+ +h[y>>3];g:do if(+h[y>>3]>0.0){c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[q>>2]|0))break g;g=(c[K>>2]|0)+(c[S>>2]<<3)|0;h[g>>3]=+h[g>>3]/+h[y>>3];c[S>>2]=(c[S>>2]|0)+1}}while(0);c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[q>>2]|0))break;g=_(c[L>>2]|0,c[q>>2]|0)|0;g=(c[u>>2]|0)+(g+(c[S>>2]|0)<<3)|0;h[g>>3]=+h[g>>3]+ +h[ca>>3]*+h[(c[K>>2]|0)+(c[S>>2]<<3)>>3];c[S>>2]=(c[S>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1}if(c[$>>2]|0){Uv(c[$>>2]|0);h[X>>3]=+h[X>>3]/+(c[V>>2]|0);h[H>>3]=+h[H>>3]/+(c[V>>2]|0);if((d[139078]|0)&0){g=c[24742]|0;l=+h[H>>3];m=+h[X>>3]*2.0+ +h[H>>3];h[fa>>3]=+h[X>>3];h[fa+8>>3]=l;h[fa+16>>3]=m;p3(g,129592,fa)|0}Mp(c[aa>>2]|0,+h[X>>3]*5.0+ +h[H>>3])}h[ca>>3]=+aq(c[D>>2]|0,+h[ca>>3],+h[z>>3],+h[A>>3],+h[F>>3]);if(!(+h[ca>>3]>+h[ea>>3]))break}while(+(c[N>>2]|0)<+h[U>>3]);if(c[(c[s>>2]|0)+112>>2]|0)bq(c[q>>2]|0,c[w>>2]|0,c[u>>2]|0)}else c[c[v>>2]>>2]=-100;while(0);if(c[C>>2]|0){Kp(c[aa>>2]|0);c[(c[s>>2]|0)+56>>2]=c[T>>2]}if(c[ga>>2]|0)B1(c[ga>>2]|0);if((c[w>>2]|0)!=(c[r>>2]|0))cw(c[w>>2]|0);if(c[K>>2]|0)B1(c[K>>2]|0);if(c[E>>2]|0)B1(c[E>>2]|0);if(c[da>>2]|0)B1(c[da>>2]|0);if(!(c[J>>2]|0)){i=ha;return}B1(c[J>>2]|0);i=ha;return}function Wp(a,b,d,e,f,g,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=+k;l=l|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,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,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;la=i;i=i+272|0;if((i|0)>=(j|0))ba();u=la+144|0;t=la+128|0;v=la+264|0;w=la+260|0;o=la+256|0;x=la+252|0;y=la+248|0;z=la+244|0;A=la+120|0;B=la+240|0;C=la+236|0;s=la+232|0;$=la+228|0;S=la+224|0;V=la+220|0;X=la+216|0;ea=la+112|0;n=la+104|0;ia=la+96|0;Z=la+88|0;J=la+80|0;ga=la+72|0;ja=la+64|0;Q=la+56|0;q=la+212|0;r=la+208|0;T=la+204|0;W=la+200|0;L=la+196|0;p=la+48|0;ka=la+192|0;R=la+188|0;M=la+40|0;D=la+32|0;E=la+24|0;F=la+16|0;U=la+184|0;H=la+180|0;fa=la+176|0;G=la+172|0;aa=la+168|0;da=la+164|0;I=la+160|0;ha=la+156|0;N=la+152|0;ca=la+8|0;K=la;Y=la+148|0;c[v>>2]=a;c[w>>2]=b;c[o>>2]=d;c[x>>2]=e;c[y>>2]=f;c[z>>2]=g;h[A>>3]=k;c[B>>2]=l;c[C>>2]=c[w>>2];h[ea>>3]=+h[c[x>>2]>>3];h[n>>3]=+h[(c[x>>2]|0)+32>>3];h[ia>>3]=+h[(c[x>>2]|0)+72>>3];h[Z>>3]=+(c[(c[x>>2]|0)+80>>2]|0);h[J>>3]=+h[(c[x>>2]|0)+88>>3];h[ga>>3]=+h[(c[x>>2]|0)+96>>3];h[Q>>3]=1.0;c[q>>2]=0;c[r>>2]=0;c[T>>2]=0;c[W>>2]=0;c[ka>>2]=0;c[R>>2]=0;h[E>>3]=0.0;c[U>>2]=0;c[H>>2]=c[(c[x>>2]|0)+104>>2];c[fa>>2]=0;c[G>>2]=0;c[aa>>2]=0;c[da>>2]=10;c[I>>2]=0;c[ha>>2]=0;c[N>>2]=0;h[K>>3]=0.0;c[Y>>2]=10;if((c[C>>2]|0)==0|+h[Z>>3]<=0.0){i=la;return}c[s>>2]=c[c[C>>2]>>2];c[$>>2]=c[(c[C>>2]|0)+4>>2];if((c[$>>2]|0)<=0|(c[v>>2]|0)<=0){i=la;return}if((c[(c[x>>2]|0)+132>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[x>>2]|0)+52>>2]|0):0){c[G>>2]=1;c[I>>2]=rK(_(c[da>>2]<<3,c[v>>2]|0)|0)|0;c[ha>>2]=rK(c[da>>2]<<3)|0;c[N>>2]=rK(c[da>>2]<<3)|0}c[c[B>>2]>>2]=0;a:do if((c[s>>2]|0)==(c[$>>2]|0)){c[C>>2]=dw(c[C>>2]|0,1)|0;c[q>>2]=c[(c[C>>2]|0)+20>>2];c[r>>2]=c[(c[C>>2]|0)+24>>2];if(c[o>>2]|0){c[T>>2]=c[(c[o>>2]|0)+20>>2];c[W>>2]=c[(c[o>>2]|0)+24>>2];c[L>>2]=c[(c[o>>2]|0)+28>>2]}else{c[T>>2]=c[q>>2];c[W>>2]=c[r>>2];c[L>>2]=0}if(+h[A>>3]<0.0){h[p>>3]=+cq(c[$>>2]|0,c[T>>2]|0,c[W>>2]|0,c[L>>2]|0);h[A>>3]=+h[A>>3]*(+(c[(c[T>>2]|0)+(c[$>>2]<<2)>>2]|0)/(+(c[$>>2]|0)*+(c[$>>2]|0)-+(c[(c[T>>2]|0)+(c[$>>2]<<2)>>2]|0)))/+P(+(+h[p>>3]),+(+h[ea>>3]+1.0));g=c[24742]|0;k=+h[A>>3];h[t>>3]=+h[p>>3];h[t+8>>3]=k;p3(g,129643,t)|0}b:do if(c[(c[x>>2]|0)+16>>2]|0){p3(c[24742]|0,129665,u)|0;L2(c[(c[x>>2]|0)+108>>2]|0);c[S>>2]=0;while(1){if((c[S>>2]|0)>=(_(c[v>>2]|0,c[$>>2]|0)|0))break b;k=+Kw();h[(c[z>>2]|0)+(c[S>>2]<<3)>>3]=k;c[S>>2]=(c[S>>2]|0)+1}}while(0);dq(c[$>>2]|0,c[v>>2]|0,c[z>>2]|0,c[T>>2]|0,c[W>>2]|0,c[L>>2]|0,+h[Q>>3]);if(+h[n>>3]<0.0){h[n>>3]=.2;h[(c[x>>2]|0)+32>>3]=.2}if(+h[ea>>3]>=0.0){h[ea>>3]=-1.0;h[c[x>>2]>>3]=-1.0}c[R>>2]=rK(c[v>>2]<<3)|0;c[ka>>2]=rK(_(c[v>>2]<<3,c[$>>2]|0)|0)|0;do{c[U>>2]=(c[U>>2]|0)+1;g=c[ka>>2]|0;n5(g|0,c[z>>2]|0,_(c[v>>2]<<3,c[$>>2]|0)|0)|0;c[ka>>2]=g;h[F>>3]=+h[E>>3];h[E>>3]=0.0;h[ca>>3]=0.0;do if(c[G>>2]|0){d=c[v>>2]|0;n=c[$>>2]|0;b=c[Y>>2]|0;o=c[z>>2]|0;if(c[(c[x>>2]|0)+116>>2]|0){c[fa>>2]=Rv(d,n,b,o,c[y>>2]|0)|0;break}else{c[fa>>2]=Rv(d,n,b,o,0)|0;break}}while(0);c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[$>>2]|0))break;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break;h[(c[R>>2]|0)+(c[X>>2]<<3)>>3]=0.0;c[X>>2]=(c[X>>2]|0)+1}c[V>>2]=c[(c[T>>2]|0)+(c[S>>2]<<2)>>2];while(1){if((c[V>>2]|0)>=(c[(c[T>>2]|0)+((c[S>>2]|0)+1<<2)>>2]|0))break;c:do if((c[(c[W>>2]|0)+(c[V>>2]<<2)>>2]|0)!=(c[S>>2]|0)){h[M>>3]=+Rw(c[z>>2]|0,c[v>>2]|0,c[S>>2]|0,c[(c[W>>2]|0)+(c[V>>2]<<2)>>2]|0);if(c[L>>2]|0)h[Q>>3]=+h[(c[L>>2]|0)+(c[V>>2]<<3)>>3];d:do if(!(+h[(c[x>>2]|0)+8>>3]==2.0)){m=+h[Q>>3];if(+h[(c[x>>2]|0)+8>>3]==1.0){h[ja>>3]=1.0/(m*+h[Q>>3]);c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break d;t=_(c[S>>2]|0,c[v>>2]|0)|0;u=_(c[(c[W>>2]|0)+(c[V>>2]<<2)>>2]|0,c[v>>2]|0)|0;g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]+-+h[ja>>3]*(+h[(c[z>>2]|0)+(t+(c[X>>2]|0)<<3)>>3]-+h[(c[z>>2]|0)+(u+(c[X>>2]|0)<<3)>>3])*(+h[M>>3]-+h[Q>>3])/+h[M>>3];c[X>>2]=(c[X>>2]|0)+1}}else{h[ja>>3]=1.0/+P(+m,+(+h[(c[x>>2]|0)+8>>3]+1.0));c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break d;u=_(c[S>>2]|0,c[v>>2]|0)|0;g=_(c[(c[W>>2]|0)+(c[V>>2]<<2)>>2]|0,c[v>>2]|0)|0;k=-+h[ja>>3]*(+h[(c[z>>2]|0)+(u+(c[X>>2]|0)<<3)>>3]-+h[(c[z>>2]|0)+(g+(c[X>>2]|0)<<3)>>3])*+P(+(+h[M>>3]-+h[Q>>3]),+(+h[(c[x>>2]|0)+8>>3]));g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]+k/+h[M>>3];c[X>>2]=(c[X>>2]|0)+1}}}else{h[ja>>3]=1.0/(+h[Q>>3]*+h[Q>>3]*+h[Q>>3]);c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break d;t=_(c[S>>2]|0,c[v>>2]|0)|0;u=_(c[(c[W>>2]|0)+(c[V>>2]<<2)>>2]|0,c[v>>2]|0)|0;g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]+-+h[ja>>3]*(+h[(c[z>>2]|0)+(t+(c[X>>2]|0)<<3)>>3]-+h[(c[z>>2]|0)+(u+(c[X>>2]|0)<<3)>>3])*(+h[M>>3]-+h[Q>>3])*(+h[M>>3]-+h[Q>>3])/+h[M>>3];c[X>>2]=(c[X>>2]|0)+1}}while(0);g=(c[y>>2]|0)!=0?(c[(c[x>>2]|0)+116>>2]|0)!=0:0;c[X>>2]=0;if(g)while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break c;u=_(c[S>>2]|0,c[v>>2]|0)|0;g=_(c[(c[W>>2]|0)+(c[V>>2]<<2)>>2]|0,c[v>>2]|0)|0;m=+h[A>>3]*+h[(c[y>>2]|0)+(c[V>>2]<<3)>>3]*(+h[(c[z>>2]|0)+(u+(c[X>>2]|0)<<3)>>3]-+h[(c[z>>2]|0)+(g+(c[X>>2]|0)<<3)>>3]);k=+h[M>>3];if(+h[ea>>3]==-1.0){g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]-m/(k*+h[M>>3])}else{k=m/+P(+k,+(1.0-+h[ea>>3]));g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]-k}c[X>>2]=(c[X>>2]|0)+1}else while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break c;u=_(c[S>>2]|0,c[v>>2]|0)|0;g=_(c[(c[W>>2]|0)+(c[V>>2]<<2)>>2]|0,c[v>>2]|0)|0;k=+h[A>>3]*(+h[(c[z>>2]|0)+(u+(c[X>>2]|0)<<3)>>3]-+h[(c[z>>2]|0)+(g+(c[X>>2]|0)<<3)>>3]);m=+h[M>>3];if(+h[ea>>3]==-1.0){g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]-k/(m*+h[M>>3])}else{k=k/+P(+m,+(1.0-+h[ea>>3]));g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]-k}c[X>>2]=(c[X>>2]|0)+1}}while(0);c[V>>2]=(c[V>>2]|0)+1}e:do if(!(c[G>>2]|0)){g=(c[y>>2]|0)!=0?(c[(c[x>>2]|0)+116>>2]|0)!=0:0;c[V>>2]=0;if(g)while(1){if((c[V>>2]|0)>=(c[$>>2]|0))break e;f:do if((c[V>>2]|0)!=(c[S>>2]|0)){h[M>>3]=+Rw(c[z>>2]|0,c[v>>2]|0,c[S>>2]|0,c[V>>2]|0);c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break f;u=_(c[S>>2]|0,c[v>>2]|0)|0;g=_(c[V>>2]|0,c[v>>2]|0)|0;k=+h[A>>3]*+h[(c[y>>2]|0)+(c[V>>2]<<3)>>3]*(+h[(c[z>>2]|0)+(u+(c[X>>2]|0)<<3)>>3]-+h[(c[z>>2]|0)+(g+(c[X>>2]|0)<<3)>>3]);m=+h[M>>3];if(+h[ea>>3]==-1.0){g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]+k/(m*+h[M>>3])}else{k=k/+P(+m,+(1.0-+h[ea>>3]));g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]+k}c[X>>2]=(c[X>>2]|0)+1}}while(0);c[V>>2]=(c[V>>2]|0)+1}else while(1){if((c[V>>2]|0)>=(c[$>>2]|0))break e;g:do if((c[V>>2]|0)!=(c[S>>2]|0)){h[M>>3]=+Rw(c[z>>2]|0,c[v>>2]|0,c[S>>2]|0,c[V>>2]|0);c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break g;u=_(c[S>>2]|0,c[v>>2]|0)|0;g=_(c[V>>2]|0,c[v>>2]|0)|0;k=+h[A>>3]*(+h[(c[z>>2]|0)+(u+(c[X>>2]|0)<<3)>>3]-+h[(c[z>>2]|0)+(g+(c[X>>2]|0)<<3)>>3]);m=+h[M>>3];if(+h[ea>>3]==-1.0){g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]+k/(m*+h[M>>3])}else{k=k/+P(+m,+(1.0-+h[ea>>3]));g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]+k}c[X>>2]=(c[X>>2]|0)+1}}while(0);c[V>>2]=(c[V>>2]|0)+1}}else{g=_(c[v>>2]|0,c[S>>2]|0)|0;Pv(c[fa>>2]|0,+h[(c[x>>2]|0)+64>>3],(c[z>>2]|0)+(g<<3)|0,c[S>>2]|0,aa,da,I,ha,N,K,c[B>>2]|0);h[ca>>3]=+h[ca>>3]+ +(c[aa>>2]|0);if(c[c[B>>2]>>2]|0)break a;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[aa>>2]|0))break e;if(+h[(c[N>>2]|0)+(c[V>>2]<<3)>>3]>1.0e-15)m=+h[(c[N>>2]|0)+(c[V>>2]<<3)>>3];else m=1.0e-15;h[M>>3]=m;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break;u=_(c[S>>2]|0,c[v>>2]|0)|0;g=_(c[V>>2]|0,c[v>>2]|0)|0;k=+h[A>>3]*+h[(c[ha>>2]|0)+(c[V>>2]<<3)>>3]*(+h[(c[z>>2]|0)+(u+(c[X>>2]|0)<<3)>>3]-+h[(c[I>>2]|0)+(g+(c[X>>2]|0)<<3)>>3]);m=+h[M>>3];if(+h[ea>>3]==-1.0){g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]+k/(m*+h[M>>3])}else{k=k/+P(+m,+(1.0-+h[ea>>3]));g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]+k}c[X>>2]=(c[X>>2]|0)+1}c[V>>2]=(c[V>>2]|0)+1}}while(0);h[D>>3]=0.0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break;h[D>>3]=+h[D>>3]+ +h[(c[R>>2]|0)+(c[X>>2]<<3)>>3]*+h[(c[R>>2]|0)+(c[X>>2]<<3)>>3];c[X>>2]=(c[X>>2]|0)+1}h[D>>3]=+O(+(+h[D>>3]));h[E>>3]=+h[E>>3]+ +h[D>>3];h:do if(+h[D>>3]>0.0){c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break h;g=(c[R>>2]|0)+(c[X>>2]<<3)|0;h[g>>3]=+h[g>>3]/+h[D>>3];c[X>>2]=(c[X>>2]|0)+1}}while(0);c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[v>>2]|0))break;g=_(c[S>>2]|0,c[v>>2]|0)|0;g=(c[z>>2]|0)+(g+(c[X>>2]|0)<<3)|0;h[g>>3]=+h[g>>3]+ +h[ga>>3]*+h[(c[R>>2]|0)+(c[X>>2]<<3)>>3];c[X>>2]=(c[X>>2]|0)+1}c[S>>2]=(c[S>>2]|0)+1}if(c[fa>>2]|0)Uv(c[fa>>2]|0);h[ca>>3]=+h[ca>>3]/+(c[$>>2]|0);h[ga>>3]=+aq(c[H>>2]|0,+h[ga>>3],+h[E>>3],+h[F>>3],+h[J>>3]);if(!(+h[ga>>3]>+h[ia>>3]))break}while(+(c[U>>2]|0)<+h[Z>>3]);if(c[(c[x>>2]|0)+112>>2]|0)bq(c[v>>2]|0,c[C>>2]|0,c[z>>2]|0)}else c[c[B>>2]>>2]=-100;while(0);if(c[ka>>2]|0)B1(c[ka>>2]|0);if((c[C>>2]|0)!=(c[w>>2]|0))cw(c[C>>2]|0);if(c[R>>2]|0)B1(c[R>>2]|0);if(c[I>>2]|0)B1(c[I>>2]|0);if(c[ha>>2]|0)B1(c[ha>>2]|0);if(!(c[N>>2]|0)){i=la;return}B1(c[N>>2]|0);i=la;return}function Xp(a,b,d,e,f,g,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=k|0;var l=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,L=0,M=0,N=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=i;i=i+240|0;if((i|0)>=(j|0))ba();r=ia+236|0;s=ia+232|0;o=ia+228|0;t=ia+224|0;u=ia+220|0;v=ia+216|0;w=ia+212|0;x=ia+208|0;q=ia+204|0;Y=ia+200|0;M=ia+196|0;S=ia+192|0;V=ia+188|0;ca=ia+112|0;p=ia+104|0;n=ia+96|0;y=ia+88|0;ga=ia+80|0;X=ia+72|0;G=ia+64|0;ea=ia+56|0;C=ia+48|0;N=ia+184|0;T=ia+180|0;Q=ia+176|0;U=ia+172|0;I=ia+168|0;ha=ia+164|0;L=ia+160|0;J=ia+40|0;z=ia+32|0;A=ia+24|0;B=ia+16|0;R=ia+156|0;E=ia+152|0;da=ia+148|0;D=ia+144|0;Z=ia+140|0;aa=ia+136|0;F=ia+132|0;fa=ia+128|0;K=ia+124|0;$=ia+8|0;H=ia;W=ia+120|0;c[r>>2]=a;c[s>>2]=b;c[o>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[w>>2]=k;c[x>>2]=c[s>>2];h[ca>>3]=+h[c[t>>2]>>3];h[p>>3]=+h[(c[t>>2]|0)+24>>3];h[n>>3]=+h[(c[t>>2]|0)+32>>3];h[ga>>3]=+h[(c[t>>2]|0)+72>>3];h[X>>3]=+(c[(c[t>>2]|0)+80>>2]|0);h[G>>3]=+h[(c[t>>2]|0)+88>>3];h[ea>>3]=+h[(c[t>>2]|0)+96>>3];c[N>>2]=0;c[T>>2]=0;c[Q>>2]=0;c[U>>2]=0;c[ha>>2]=0;c[L>>2]=0;h[A>>3]=0.0;c[R>>2]=0;c[E>>2]=c[(c[t>>2]|0)+104>>2];c[da>>2]=0;c[D>>2]=0;c[Z>>2]=0;c[aa>>2]=10;c[F>>2]=0;c[fa>>2]=0;c[K>>2]=0;h[H>>3]=0.0;c[W>>2]=10;if((c[x>>2]|0)==0|+h[X>>3]<=0.0){i=ia;return}c[q>>2]=c[c[x>>2]>>2];c[Y>>2]=c[(c[x>>2]|0)+4>>2];if((c[Y>>2]|0)<=0|(c[r>>2]|0)<=0){i=ia;return}if((c[Y>>2]|0)>=(c[(c[t>>2]|0)+52>>2]|0)){c[D>>2]=1;c[F>>2]=rK(_(c[aa>>2]<<3,c[r>>2]|0)|0)|0;c[fa>>2]=rK(c[aa>>2]<<3)|0;c[K>>2]=rK(c[aa>>2]<<3)|0}c[c[w>>2]>>2]=0;a:do if((c[q>>2]|0)==(c[Y>>2]|0)){c[x>>2]=dw(c[x>>2]|0,1)|0;c[N>>2]=c[(c[x>>2]|0)+20>>2];c[T>>2]=c[(c[x>>2]|0)+24>>2];c[Q>>2]=c[(c[o>>2]|0)+20>>2];c[U>>2]=c[(c[o>>2]|0)+24>>2];c[I>>2]=c[(c[o>>2]|0)+28>>2];b:do if(c[(c[t>>2]|0)+16>>2]|0){L2(c[(c[t>>2]|0)+108>>2]|0);c[M>>2]=0;while(1){if((c[M>>2]|0)>=(_(c[r>>2]|0,c[Y>>2]|0)|0))break b;m=+Kw();h[(c[v>>2]|0)+(c[M>>2]<<3)>>3]=m;c[M>>2]=(c[M>>2]|0)+1}}while(0);if(+h[p>>3]<0.0){m=+Op(c[x>>2]|0,c[r>>2]|0,c[v>>2]|0);h[p>>3]=m;h[(c[t>>2]|0)+24>>3]=m}if(+h[n>>3]<0.0){h[n>>3]=.2;h[(c[t>>2]|0)+32>>3]=.2}if(+h[ca>>3]>=0.0){h[ca>>3]=-1.0;h[c[t>>2]>>3]=-1.0}h[C>>3]=+P(+(+h[p>>3]),+(1.0-+h[ca>>3]));m=+P(+(+h[n>>3]),+((2.0-+h[ca>>3])/3.0));h[y>>3]=m/+h[p>>3];c[L>>2]=rK(c[r>>2]<<3)|0;c[ha>>2]=rK(_(c[r>>2]<<3,c[Y>>2]|0)|0)|0;do{c[R>>2]=(c[R>>2]|0)+1;g=c[ha>>2]|0;n5(g|0,c[v>>2]|0,_(c[r>>2]<<3,c[Y>>2]|0)|0)|0;c[ha>>2]=g;h[B>>3]=+h[A>>3];h[A>>3]=0.0;h[$>>3]=0.0;do if(c[D>>2]|0){d=c[r>>2]|0;n=c[Y>>2]|0;b=c[W>>2]|0;o=c[v>>2]|0;if(c[(c[t>>2]|0)+116>>2]|0){c[da>>2]=Rv(d,n,b,o,c[u>>2]|0)|0;break}else{c[da>>2]=Rv(d,n,b,o,0)|0;break}}while(0);c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[Y>>2]|0))break;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[r>>2]|0))break;h[(c[L>>2]|0)+(c[V>>2]<<3)>>3]=0.0;c[V>>2]=(c[V>>2]|0)+1}c[S>>2]=c[(c[N>>2]|0)+(c[M>>2]<<2)>>2];while(1){if((c[S>>2]|0)>=(c[(c[N>>2]|0)+((c[M>>2]|0)+1<<2)>>2]|0))break;c:do if((c[(c[T>>2]|0)+(c[S>>2]<<2)>>2]|0)!=(c[M>>2]|0)){h[J>>3]=+Sw(c[v>>2]|0,c[r>>2]|0,c[M>>2]|0,c[(c[T>>2]|0)+(c[S>>2]<<2)>>2]|0);c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[r>>2]|0))break c;q=_(c[M>>2]|0,c[r>>2]|0)|0;f=_(c[(c[T>>2]|0)+(c[S>>2]<<2)>>2]|0,c[r>>2]|0)|0;g=(c[L>>2]|0)+(c[V>>2]<<3)|0;h[g>>3]=+h[g>>3]-+h[y>>3]*(+h[(c[v>>2]|0)+(q+(c[V>>2]|0)<<3)>>3]-+h[(c[v>>2]|0)+(f+(c[V>>2]|0)<<3)>>3])*+h[J>>3];c[V>>2]=(c[V>>2]|0)+1}}while(0);c[S>>2]=(c[S>>2]|0)+1}c[S>>2]=c[(c[Q>>2]|0)+(c[M>>2]<<2)>>2];while(1){if((c[S>>2]|0)>=(c[(c[Q>>2]|0)+((c[M>>2]|0)+1<<2)>>2]|0))break;d:do if((c[(c[U>>2]|0)+(c[S>>2]<<2)>>2]|0)!=(c[M>>2]|0)){h[J>>3]=+Rw(c[v>>2]|0,c[r>>2]|0,c[M>>2]|0,c[(c[U>>2]|0)+(c[S>>2]<<2)>>2]|0);c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[r>>2]|0))break d;g=_(c[M>>2]|0,c[r>>2]|0)|0;d=_(c[(c[U>>2]|0)+(c[S>>2]<<2)>>2]|0,c[r>>2]|0)|0;m=+h[y>>3]*.2*(+h[(c[v>>2]|0)+(g+(c[V>>2]|0)<<3)>>3]-+h[(c[v>>2]|0)+(d+(c[V>>2]|0)<<3)>>3])*(+h[J>>3]-+h[(c[I>>2]|0)+(c[S>>2]<<3)>>3])*(+h[J>>3]-+h[(c[I>>2]|0)+(c[S>>2]<<3)>>3])/+h[J>>3];d=(c[L>>2]|0)+(c[V>>2]<<3)|0;l=+h[d>>3];if(+h[J>>3]<+h[(c[I>>2]|0)+(c[S>>2]<<3)>>3])h[d>>3]=l+m;else h[d>>3]=l-m;c[V>>2]=(c[V>>2]|0)+1}}while(0);c[S>>2]=(c[S>>2]|0)+1}e:do if(!(c[D>>2]|0)){g=(c[u>>2]|0)!=0?(c[(c[t>>2]|0)+116>>2]|0)!=0:0;c[S>>2]=0;if(g)while(1){if((c[S>>2]|0)>=(c[Y>>2]|0))break e;f:do if((c[S>>2]|0)!=(c[M>>2]|0)){h[J>>3]=+Rw(c[v>>2]|0,c[r>>2]|0,c[M>>2]|0,c[S>>2]|0);c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[r>>2]|0))break f;f=_(c[M>>2]|0,c[r>>2]|0)|0;g=_(c[S>>2]|0,c[r>>2]|0)|0;m=+h[(c[u>>2]|0)+(c[S>>2]<<3)>>3]*+h[C>>3]*(+h[(c[v>>2]|0)+(f+(c[V>>2]|0)<<3)>>3]-+h[(c[v>>2]|0)+(g+(c[V>>2]|0)<<3)>>3]);l=+h[J>>3];if(+h[ca>>3]==-1.0){g=(c[L>>2]|0)+(c[V>>2]<<3)|0;h[g>>3]=+h[g>>3]+m/(l*+h[J>>3])}else{m=m/+P(+l,+(1.0-+h[ca>>3]));g=(c[L>>2]|0)+(c[V>>2]<<3)|0;h[g>>3]=+h[g>>3]+m}c[V>>2]=(c[V>>2]|0)+1}}while(0);c[S>>2]=(c[S>>2]|0)+1}else while(1){if((c[S>>2]|0)>=(c[Y>>2]|0))break e;g:do if((c[S>>2]|0)!=(c[M>>2]|0)){h[J>>3]=+Rw(c[v>>2]|0,c[r>>2]|0,c[M>>2]|0,c[S>>2]|0);c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[r>>2]|0))break g;f=_(c[M>>2]|0,c[r>>2]|0)|0;g=_(c[S>>2]|0,c[r>>2]|0)|0;m=+h[C>>3]*(+h[(c[v>>2]|0)+(f+(c[V>>2]|0)<<3)>>3]-+h[(c[v>>2]|0)+(g+(c[V>>2]|0)<<3)>>3]);l=+h[J>>3];if(+h[ca>>3]==-1.0){g=(c[L>>2]|0)+(c[V>>2]<<3)|0;h[g>>3]=+h[g>>3]+m/(l*+h[J>>3])}else{m=m/+P(+l,+(1.0-+h[ca>>3]));g=(c[L>>2]|0)+(c[V>>2]<<3)|0;h[g>>3]=+h[g>>3]+m}c[V>>2]=(c[V>>2]|0)+1}}while(0);c[S>>2]=(c[S>>2]|0)+1}}else{g=_(c[r>>2]|0,c[M>>2]|0)|0;Pv(c[da>>2]|0,+h[(c[t>>2]|0)+64>>3],(c[v>>2]|0)+(g<<3)|0,c[M>>2]|0,Z,aa,F,fa,K,H,c[w>>2]|0);h[$>>3]=+h[$>>3]+ +(c[Z>>2]|0);if(c[c[w>>2]>>2]|0)break a;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[Z>>2]|0))break e;if(+h[(c[K>>2]|0)+(c[S>>2]<<3)>>3]>1.0e-15)l=+h[(c[K>>2]|0)+(c[S>>2]<<3)>>3];else l=1.0e-15;h[J>>3]=l;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[r>>2]|0))break;f=_(c[M>>2]|0,c[r>>2]|0)|0;g=_(c[S>>2]|0,c[r>>2]|0)|0;l=+h[(c[fa>>2]|0)+(c[S>>2]<<3)>>3]*+h[C>>3]*(+h[(c[v>>2]|0)+(f+(c[V>>2]|0)<<3)>>3]-+h[(c[F>>2]|0)+(g+(c[V>>2]|0)<<3)>>3]);m=+h[J>>3];if(+h[ca>>3]==-1.0){g=(c[L>>2]|0)+(c[V>>2]<<3)|0;h[g>>3]=+h[g>>3]+l/(m*+h[J>>3])}else{m=l/+P(+m,+(1.0-+h[ca>>3]));g=(c[L>>2]|0)+(c[V>>2]<<3)|0;h[g>>3]=+h[g>>3]+m}c[V>>2]=(c[V>>2]|0)+1}c[S>>2]=(c[S>>2]|0)+1}}while(0);h[z>>3]=0.0;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[r>>2]|0))break;h[z>>3]=+h[z>>3]+ +h[(c[L>>2]|0)+(c[V>>2]<<3)>>3]*+h[(c[L>>2]|0)+(c[V>>2]<<3)>>3];c[V>>2]=(c[V>>2]|0)+1}h[z>>3]=+O(+(+h[z>>3]));h[A>>3]=+h[A>>3]+ +h[z>>3];h:do if(+h[z>>3]>0.0){c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[r>>2]|0))break h;g=(c[L>>2]|0)+(c[V>>2]<<3)|0;h[g>>3]=+h[g>>3]/+h[z>>3];c[V>>2]=(c[V>>2]|0)+1}}while(0);c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[r>>2]|0))break;g=_(c[M>>2]|0,c[r>>2]|0)|0;g=(c[v>>2]|0)+(g+(c[V>>2]|0)<<3)|0;h[g>>3]=+h[g>>3]+ +h[ea>>3]*+h[(c[L>>2]|0)+(c[V>>2]<<3)>>3];c[V>>2]=(c[V>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+1}if(c[da>>2]|0)Uv(c[da>>2]|0);h[$>>3]=+h[$>>3]/+(c[Y>>2]|0);h[ea>>3]=+aq(c[E>>2]|0,+h[ea>>3],+h[A>>3],+h[B>>3],+h[G>>3]);if(!(+h[ea>>3]>+h[ga>>3]))break}while(+(c[R>>2]|0)<+h[X>>3]);if(c[(c[t>>2]|0)+112>>2]|0)bq(c[r>>2]|0,c[x>>2]|0,c[v>>2]|0)}else c[c[w>>2]>>2]=-100;while(0);if(c[ha>>2]|0)B1(c[ha>>2]|0);if((c[x>>2]|0)!=(c[s>>2]|0))cw(c[x>>2]|0);if(c[L>>2]|0)B1(c[L>>2]|0);if(c[F>>2]|0)B1(c[F>>2]|0);if(c[fa>>2]|0)B1(c[fa>>2]|0);if(!(c[K>>2]|0)){i=ia;return}B1(c[K>>2]|0);i=ia;return}function Yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;if((i|0)>=(j|0))ba();e=t+52|0;f=t+48|0;g=t+44|0;m=t+40|0;o=t+36|0;q=t+32|0;n=t+28|0;p=t+24|0;r=t+20|0;k=t+8|0;l=t;s=t+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=c[(c[f>>2]|0)+20>>2];c[p>>2]=c[(c[f>>2]|0)+24>>2];h[k>>3]=.5;c[s>>2]=rK(c[e>>2]<<3)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[f>>2]>>2]|0))break;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[e>>2]|0))break;h[(c[s>>2]|0)+(c[q>>2]<<3)>>3]=0.0;c[q>>2]=(c[q>>2]|0)+1}c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[o>>2]|0)>=(c[(c[n>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;a:do if((c[(c[p>>2]|0)+(c[o>>2]<<2)>>2]|0)!=(c[m>>2]|0)){c[r>>2]=(c[r>>2]|0)+1;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[e>>2]|0))break a;a=_(c[(c[p>>2]|0)+(c[o>>2]<<2)>>2]|0,c[e>>2]|0)|0;d=(c[s>>2]|0)+(c[q>>2]<<3)|0;h[d>>3]=+h[d>>3]+ +h[(c[g>>2]|0)+(a+(c[q>>2]|0)<<3)>>3];c[q>>2]=(c[q>>2]|0)+1}}while(0);c[o>>2]=(c[o>>2]|0)+1}b:do if((c[r>>2]|0)>0){h[l>>3]=(1.0-+h[k>>3])/+(c[r>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[e>>2]|0))break b;a=_(c[m>>2]|0,c[e>>2]|0)|0;d=_(c[m>>2]|0,c[e>>2]|0)|0;h[(c[g>>2]|0)+(d+(c[q>>2]|0)<<3)>>3]=+h[k>>3]*+h[(c[g>>2]|0)+(a+(c[q>>2]|0)<<3)>>3]+ +h[l>>3]*+h[(c[s>>2]|0)+(c[q>>2]<<3)>>3];c[q>>2]=(c[q>>2]|0)+1}}while(0);c[m>>2]=(c[m>>2]|0)+1}B1(c[s>>2]|0);i=t;return}function Zp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();o=n+36|0;k=n+32|0;h=n+28|0;l=n+24|0;d=n+20|0;e=n+16|0;g=n+12|0;f=n+8|0;b=n+4|0;m=n;c[o>>2]=a;c[l>>2]=0;c[e>>2]=c[(c[o>>2]|0)+20>>2];c[g>>2]=c[(c[o>>2]|0)+24>>2];c[m>>2]=0;c[h>>2]=c[c[o>>2]>>2];c[k>>2]=rK((c[h>>2]|0)+1<<2)|0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=((c[h>>2]|0)+1|0))break;c[(c[k>>2]|0)+(c[d>>2]<<2)>>2]=0;c[d>>2]=(c[d>>2]|0)+1}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[h>>2]|0))break;c[b>>2]=0;c[f>>2]=c[(c[e>>2]|0)+(c[d>>2]<<2)>>2];while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+((c[d>>2]|0)+1<<2)>>2]|0))break;if((c[d>>2]|0)!=(c[(c[g>>2]|0)+(c[f>>2]<<2)>>2]|0))c[b>>2]=(c[b>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}o=(c[k>>2]|0)+(c[b>>2]<<2)|0;c[o>>2]=(c[o>>2]|0)+1;if((c[l>>2]|0)>(c[(c[k>>2]|0)+(c[b>>2]<<2)>>2]|0))a=c[l>>2]|0;else a=c[(c[k>>2]|0)+(c[b>>2]<<2)>>2]|0;c[l>>2]=a;c[d>>2]=(c[d>>2]|0)+1}if(!(+(c[(c[k>>2]|0)+4>>2]|0)>+(c[l>>2]|0)*.8)){o=c[k>>2]|0;B1(o);o=c[m>>2]|0;i=n;return o|0}if(!(+(c[(c[k>>2]|0)+4>>2]|0)>+(c[h>>2]|0)*.3)){o=c[k>>2]|0;B1(o);o=c[m>>2]|0;i=n;return o|0}c[m>>2]=1;o=c[k>>2]|0;B1(o);o=c[m>>2]|0;i=n;return o|0}function _p(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=i;i=i+112|0;if((i|0)>=(j|0))ba();e=t+108|0;f=t+104|0;g=t+100|0;n=t+96|0;o=t+92|0;p=t+88|0;s=t+56|0;k=t+40|0;l=t+24|0;m=t+16|0;q=t+8|0;r=t;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(_(c[f>>2]|0,c[f>>2]|0)|0))break;h[s+(c[n>>2]<<3)>>3]=0.0;c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[f>>2]|0))break;h[l+(c[n>>2]<<3)>>3]=0.0;c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[e>>2]|0))break;c[o>>2]=0;while(1){b=c[n>>2]|0;if((c[o>>2]|0)>=(c[f>>2]|0))break;a=_(b,c[f>>2]|0)|0;d=l+(c[o>>2]<<3)|0;h[d>>3]=+h[d>>3]+ +h[(c[g>>2]|0)+(a+(c[o>>2]|0)<<3)>>3];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=b+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[f>>2]|0))break;d=l+(c[n>>2]<<3)|0;h[d>>3]=+h[d>>3]/+(c[e>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[e>>2]|0))break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[f>>2]|0))break;a=_(c[f>>2]|0,c[n>>2]|0)|0;d=_(c[f>>2]|0,c[n>>2]|0)|0;h[(c[g>>2]|0)+(d+(c[o>>2]|0)<<3)>>3]=+h[(c[g>>2]|0)+(a+(c[o>>2]|0)<<3)>>3]-+h[l+(c[o>>2]<<3)>>3];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[e>>2]|0))break;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[f>>2]|0))break;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[f>>2]|0))break;a=_(c[n>>2]|0,c[f>>2]|0)|0;d=_(c[n>>2]|0,c[f>>2]|0)|0;l=_(c[f>>2]|0,c[o>>2]|0)|0;l=s+(l+(c[p>>2]|0)<<3)|0;h[l>>3]=+h[l>>3]+ +h[(c[g>>2]|0)+(a+(c[o>>2]|0)<<3)>>3]*+h[(c[g>>2]|0)+(d+(c[p>>2]|0)<<3)>>3];c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if(+h[s+8>>3]==0.0){h[k>>3]=0.0;h[k+8>>3]=1.0}else{u=-(-+h[s>>3]+ +h[s+24>>3]-+O(+(+h[s>>3]*+h[s>>3]+ +h[s+8>>3]*4.0*+h[s+8>>3]-+h[s>>3]*2.0*+h[s+24>>3]+ +h[s+24>>3]*+h[s+24>>3])));h[k>>3]=u/(+h[s+8>>3]*2.0);h[k+8>>3]=1.0}h[m>>3]=+O(+(+h[k>>3]*+h[k>>3]+1.0));h[k>>3]=+h[k>>3]/+h[m>>3];h[k+8>>3]=+h[k+8>>3]/+h[m>>3];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[e>>2]|0))break;s=_(c[f>>2]|0,c[n>>2]|0)|0;p=(_(c[f>>2]|0,c[n>>2]|0)|0)+1|0;h[q>>3]=+h[(c[g>>2]|0)+(s<<3)>>3]*+h[k>>3]+ +h[(c[g>>2]|0)+(p<<3)>>3]*+h[k+8>>3];p=_(c[f>>2]|0,c[n>>2]|0)|0;s=(_(c[f>>2]|0,c[n>>2]|0)|0)+1|0;h[r>>3]=-+h[(c[g>>2]|0)+(p<<3)>>3]*+h[k+8>>3]+ +h[(c[g>>2]|0)+(s<<3)>>3]*+h[k>>3];s=_(c[f>>2]|0,c[n>>2]|0)|0;h[(c[g>>2]|0)+(s<<3)>>3]=+h[q>>3];s=(_(c[f>>2]|0,c[n>>2]|0)|0)+1|0;h[(c[g>>2]|0)+(s<<3)>>3]=+h[r>>3];c[n>>2]=(c[n>>2]|0)+1}i=t;return}function $p(a,b,d,e,f,g,h,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;n=i;i=i+48|0;if((i|0)>=(j|0))ba();x=n+36|0;w=n+32|0;v=n+28|0;u=n+24|0;t=n+20|0;s=n+16|0;r=n+12|0;q=n+8|0;p=n+4|0;o=n;c[x>>2]=a;c[w>>2]=b;c[v>>2]=d;c[u>>2]=e;c[t>>2]=f;c[s>>2]=g;c[r>>2]=h;c[q>>2]=k;c[p>>2]=l;c[o>>2]=m;eq(c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0);i=n;return}function aq(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();g=o+32|0;p=o+40|0;k=o+24|0;l=o+16|0;m=o+8|0;n=o;c[p>>2]=a;h[k>>3]=b;h[l>>3]=d;h[m>>3]=e;h[n>>3]=f;if(!(c[p>>2]|0)){h[g>>3]=+h[n>>3]*+h[k>>3];b=+h[g>>3];i=o;return +b}if(!(+h[l>>3]>=+h[m>>3])){if(!(+h[l>>3]>+h[m>>3]*.95))h[k>>3]=+h[k>>3]*.99/+h[n>>3]}else h[k>>3]=+h[n>>3]*+h[k>>3];h[g>>3]=+h[k>>3];b=+h[g>>3];i=o;return +b}function bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=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;E=i;i=i+128|0;if((i|0)>=(j|0))ba();f=E+112|0;F=E+108|0;g=E+104|0;v=E+100|0;p=E+96|0;r=E+92|0;q=E+88|0;s=E+84|0;t=E+80|0;n=E+76|0;B=E+72|0;o=E+40|0;z=E+68|0;A=E+64|0;m=E+60|0;w=E+32|0;k=E+24|0;l=E+16|0;C=E+8|0;D=E;u=E+56|0;y=E+52|0;x=E+48|0;c[f>>2]=a;c[F>>2]=b;c[g>>2]=d;c[v>>2]=c[c[F>>2]>>2];c[q>>2]=c[(c[F>>2]|0)+20>>2];c[s>>2]=c[(c[F>>2]|0)+24>>2];c[A>>2]=10;h[k>>3]=0.0;h[l>>3]=0.0;c[y>>2]=10;c[n>>2]=rK(c[v>>2]<<2)|0;c[m>>2]=rK(c[y>>2]<<3)|0;c[u>>2]=rK(c[A>>2]<<2)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[v>>2]|0))break;c[(c[n>>2]|0)+(c[p>>2]<<2)>>2]=0;c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[v>>2]|0))break;a:do if((((c[(c[q>>2]|0)+((c[p>>2]|0)+1<<2)>>2]|0)-(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]|0)|0)==1?(c[(c[n>>2]|0)+(c[p>>2]<<2)>>2]|0)==0:0)?(c[B>>2]=c[(c[s>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2],(c[(c[n>>2]|0)+(c[B>>2]<<2)>>2]|0)==0):0){c[(c[n>>2]|0)+(c[B>>2]<<2)>>2]=1;h[o>>3]=0.0;c[z>>2]=0;c[x>>2]=0;c[r>>2]=c[(c[q>>2]|0)+(c[B>>2]<<2)>>2];while(1){if((c[r>>2]|0)>=(c[(c[q>>2]|0)+((c[B>>2]|0)+1<<2)>>2]|0))break;if(((c[(c[q>>2]|0)+((c[(c[s>>2]|0)+(c[r>>2]<<2)>>2]|0)+1<<2)>>2]|0)-(c[(c[q>>2]|0)+(c[(c[s>>2]|0)+(c[r>>2]<<2)>>2]<<2)>>2]|0)|0)==1){c[(c[n>>2]|0)+(c[(c[s>>2]|0)+(c[r>>2]<<2)>>2]<<2)>>2]=1;Qp(u,c[z>>2]|0,A);e=+Sw(c[g>>2]|0,c[f>>2]|0,c[B>>2]|0,c[(c[s>>2]|0)+(c[r>>2]<<2)>>2]|0);h[o>>3]=+h[o>>3]+e;c[(c[u>>2]|0)+(c[z>>2]<<2)>>2]=c[(c[s>>2]|0)+(c[r>>2]<<2)>>2];c[z>>2]=(c[z>>2]|0)+1}else{Pp(m,c[x>>2]|0,y);e=+Rp(c[g>>2]|0,c[f>>2]|0,c[B>>2]|0,c[(c[s>>2]|0)+(c[r>>2]<<2)>>2]|0);F=c[x>>2]|0;c[x>>2]=F+1;h[(c[m>>2]|0)+(F<<3)>>3]=e}c[r>>2]=(c[r>>2]|0)+1}h[o>>3]=+h[o>>3]/+(c[z>>2]|0);if((c[x>>2]|0)>0){jq(c[x>>2]|0,c[m>>2]|0);h[w>>3]=0.0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=((c[x>>2]|0)-1|0))break;if(+h[(c[m>>2]|0)+((c[t>>2]|0)+1<<3)>>3]-+h[(c[m>>2]|0)+(c[t>>2]<<3)>>3]>+h[w>>3]){h[w>>3]=+h[(c[m>>2]|0)+((c[t>>2]|0)+1<<3)>>3]-+h[(c[m>>2]|0)+(c[t>>2]<<3)>>3];h[k>>3]=+h[(c[m>>2]|0)+(c[t>>2]<<3)>>3];h[l>>3]=+h[(c[m>>2]|0)+((c[t>>2]|0)+1<<3)>>3]}c[t>>2]=(c[t>>2]|0)+1}if(+h[c[m>>2]>>3]+6.283185307179586-+h[(c[m>>2]|0)+((c[x>>2]|0)-1<<3)>>3]>+h[w>>3]){h[w>>3]=+h[c[m>>2]>>3]+6.283185307179586-+h[(c[m>>2]|0)+((c[x>>2]|0)-1<<3)>>3];h[k>>3]=+h[(c[m>>2]|0)+((c[x>>2]|0)-1<<3)>>3];h[l>>3]=+h[c[m>>2]>>3]+6.283185307179586}}else{h[k>>3]=0.0;h[l>>3]=6.283185307179586;h[w>>3]=6.283185307179586}if(+h[w>>3]-+((c[z>>2]|0)-1|0)*.52359982279585>0.0)e=+h[w>>3]-+((c[z>>2]|0)-1|0)*.52359982279585;else e=0.0;h[C>>3]=e*.5;h[k>>3]=+h[k>>3]+ +h[C>>3]*.95;h[l>>3]=+h[l>>3]-+h[C>>3]*.95;h[k>>3]=0.0;h[l>>3]=6.283185307179586;h[w>>3]=6.283185307179586;h[D>>3]=0.0;if((c[z>>2]|0)>1)h[D>>3]=(+h[l>>3]-+h[k>>3])/+((c[z>>2]|0)-1|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[z>>2]|0))break a;kq(c[g>>2]|0,c[f>>2]|0,+h[o>>3],+h[k>>3],c[B>>2]|0,c[(c[u>>2]|0)+(c[p>>2]<<2)>>2]|0);h[k>>3]=+h[k>>3]+ +h[D>>3];c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=(c[p>>2]|0)+1}B1(c[n>>2]|0);B1(c[m>>2]|0);B1(c[u>>2]|0);i=E;return}function cq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();f=p+8|0;g=p+36|0;k=p+32|0;l=p+24|0;m=p;n=p+20|0;o=p+16|0;c[g>>2]=a;c[k>>2]=b;c[p+28>>2]=d;c[l>>2]=e;h[m>>3]=0.0;if(!(c[l>>2]|0)){h[f>>3]=1.0;q=+h[f>>3];i=p;return +q}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[g>>2]|0))break;c[o>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];while(1){if((c[o>>2]|0)>=(c[(c[k>>2]|0)+((c[n>>2]|0)+1<<2)>>2]|0))break;h[m>>3]=+h[m>>3]+ +h[(c[l>>2]|0)+(c[o>>2]<<3)>>3];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}h[f>>3]=+h[m>>3]/+(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0);q=+h[f>>3];i=p;return +q}function dq(a,b,d,e,f,g,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=+k;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;C=i;i=i+112|0;if((i|0)>=(j|0))ba();A=C+56|0;l=C+96|0;m=C+92|0;n=C+88|0;o=C+84|0;p=C+80|0;q=C+76|0;r=C+48|0;t=C+72|0;u=C+68|0;v=C+64|0;B=C+40|0;s=C+32|0;x=C+24|0;z=C+16|0;y=C+8|0;w=C;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;h[r>>3]=k;h[x>>3]=0.0;h[z>>3]=0.0;h[y>>3]=0.0;h[w>>3]=0.0;if(+h[r>>3]==0.0){i=C;return}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[l>>2]|0))break;c[u>>2]=c[(c[o>>2]|0)+(c[t>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[o>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0))break;if((c[(c[p>>2]|0)+(c[u>>2]<<2)>>2]|0)!=(c[t>>2]|0)){h[s>>3]=+Rw(c[n>>2]|0,c[m>>2]|0,c[t>>2]|0,c[(c[p>>2]|0)+(c[u>>2]<<2)>>2]|0);if(c[q>>2]|0)h[r>>3]=+h[(c[q>>2]|0)+(c[u>>2]<<3)>>3];h[B>>3]=1.0/(+h[r>>3]*+h[r>>3]);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[m>>2]|0))break;h[z>>3]=+h[z>>3]+ +h[B>>3]*+h[r>>3]*+h[s>>3];h[y>>3]=+h[y>>3]+ +h[B>>3]*+h[s>>3]*+h[s>>3];c[v>>2]=(c[v>>2]|0)+1}h[x>>3]=+h[x>>3]+ +h[s>>3];h[w>>3]=+h[w>>3]+1.0}c[u>>2]=(c[u>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}h[x>>3]=+h[z>>3]/+h[y>>3];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[l>>2]|0,c[m>>2]|0)|0))break;B=(c[n>>2]|0)+(c[t>>2]<<3)|0;h[B>>3]=+h[B>>3]*+h[x>>3];c[t>>2]=(c[t>>2]|0)+1}B=c[24742]|0;h[A>>3]=+h[x>>3];p3(B,129789,A)|0;i=C;return}function eq(b,e,f,g,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;g=g|0;k=k|0;l=l|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,N=0,O=0,P=0,Q=0,R=0,S=0;S=i;i=i+288|0;if((i|0)>=(j|0))ba();P=S+184|0;O=S+176|0;u=S+276|0;v=S+272|0;w=S+268|0;x=S+264|0;y=S+260|0;z=S+256|0;A=S+252|0;B=S+248|0;C=S+244|0;D=S+240|0;L=S+236|0;M=S+232|0;r=S+228|0;H=S+224|0;E=S+220|0;F=S+216|0;G=S+212|0;J=S+208|0;K=S+204|0;Q=S+200|0;R=S+196|0;I=S+8|0;q=S+192|0;s=S+188|0;N=S;c[u>>2]=b;c[v>>2]=e;c[w>>2]=f;c[x>>2]=g;c[y>>2]=k;c[z>>2]=l;c[A>>2]=m;c[B>>2]=n;c[C>>2]=o;c[D>>2]=p;c[L>>2]=0;c[E>>2]=c[v>>2];c[F>>2]=c[w>>2];c[G>>2]=0;c[Q>>2]=0;c[R>>2]=0;n5(I|0,c[x>>2]|0,168)|0;c[c[D>>2]>>2]=0;if(!(c[E>>2]|0)){i=S;return}c[M>>2]=c[(c[E>>2]|0)+4>>2];if((c[M>>2]|0)<=0|(c[u>>2]|0)<=0){i=S;return}if((fw(c[E>>2]|0,0)|0)!=0?(c[(c[E>>2]|0)+16>>2]|0)==1:0){if((c[(c[x>>2]|0)+136>>2]|0)==1)c[F>>2]=jw(c[F>>2]|0)|0;c[E>>2]=jw(c[E>>2]|0)|0}else t=5;do if((t|0)==5){e=c[E>>2]|0;if((c[(c[x>>2]|0)+136>>2]|0)==1){c[E>>2]=iw(e,0)|0;c[F>>2]=iw(c[F>>2]|0,0)|0;break}else{c[E>>2]=uw(e)|0;break}}while(0);if((c[(c[x>>2]|0)+160>>2]|0)==3){if((c[B>>2]|0)>0)t=14}else if((c[B>>2]|0)>0?(c[(c[x>>2]|0)+160>>2]|0)==4:0)t=14;if((t|0)==14){c[s>>2]=rK(_(c[c[E>>2]>>2]<<3,c[u>>2]|0)|0)|0;c[q>>2]=fq(c[E>>2]|0,c[B>>2]|0,c[C>>2]|0)|0;$p(c[u>>2]|0,c[q>>2]|0,0,c[x>>2]|0,0,0,c[s>>2]|0,0,0,c[D>>2]|0);gq(c[u>>2]|0,c[E>>2]|0,c[B>>2]|0,c[C>>2]|0,c[A>>2]|0,c[s>>2]|0);Zt(c[u>>2]|0,c[E>>2]|0,c[A>>2]|0,c[z>>2]|0,c[(c[x>>2]|0)+124>>2]|0,+h[(c[x>>2]|0)+144>>3],c[(c[x>>2]|0)+160>>2]|0,c[B>>2]|0,c[C>>2]|0);cw(c[q>>2]|0);B1(c[s>>2]|0);if((c[E>>2]|0)==(c[v>>2]|0)){i=S;return}cw(c[E>>2]|0);i=S;return}c[L>>2]=Zw(c[(c[x>>2]|0)+44>>2]|0,c[(c[x>>2]|0)+48>>2]|0)|0;c[(c[L>>2]|0)+16>>2]=c[(c[x>>2]|0)+40>>2];c[K>>2]=ex(c[E>>2]|0,c[F>>2]|0,c[y>>2]|0,c[L>>2]|0)|0;c[J>>2]=fx(c[K>>2]|0)|0;if(c[(c[J>>2]|0)+32>>2]|0)c[Q>>2]=rK(_(c[(c[J>>2]|0)+4>>2]<<3,c[u>>2]|0)|0)|0;else c[Q>>2]=c[A>>2];c[r>>2]=Zp(c[E>>2]|0)|0;if(+h[c[x>>2]>>3]==-1.0001234?(h[c[x>>2]>>3]=-1.0,(c[r>>2]|0)!=0):0)h[c[x>>2]>>3]=-1.8;while(1){e=c[x>>2]|0;a:do if(c[(c[x>>2]|0)+136>>2]|0){if((c[e+136>>2]|0)==1){h[N>>3]=.05;h[(c[x>>2]|0)+96>>3]=1.0;c[(c[x>>2]|0)+104>>2]=1;e=(c[x>>2]|0)+80|0;if(c[(c[J>>2]|0)+28>>2]|0)c[e>>2]=100;else{c[e>>2]=500;h[N>>3]=.5}t=(c[(c[J>>2]|0)+32>>2]|0)!=0;Wp(c[u>>2]|0,c[(c[J>>2]|0)+8>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[x>>2]|0,c[(c[J>>2]|0)+24>>2]|0,c[Q>>2]|0,+h[N>>3],c[D>>2]|0);if(!t){c[(c[x>>2]|0)+16>>2]=0;h[(c[x>>2]|0)+96>>3]=.05;c[(c[x>>2]|0)+104>>2]=0;Wp(c[u>>2]|0,c[(c[J>>2]|0)+8>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[x>>2]|0,c[(c[J>>2]|0)+24>>2]|0,c[Q>>2]|0,+h[N>>3]/2.0,c[D>>2]|0);Wp(c[u>>2]|0,c[(c[J>>2]|0)+8>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[x>>2]|0,c[(c[J>>2]|0)+24>>2]|0,c[Q>>2]|0,+h[N>>3]/8.0,c[D>>2]|0);Wp(c[u>>2]|0,c[(c[J>>2]|0)+8>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[x>>2]|0,c[(c[J>>2]|0)+24>>2]|0,c[Q>>2]|0,+h[N>>3]/32.0,c[D>>2]|0)}}}else{if(!(c[e+132>>2]|0)){Up(c[u>>2]|0,c[(c[J>>2]|0)+8>>2]|0,c[x>>2]|0,c[(c[J>>2]|0)+24>>2]|0,c[Q>>2]|0,c[D>>2]|0);break}do if((c[(c[x>>2]|0)+132>>2]|0)!=2){if((c[(c[x>>2]|0)+132>>2]|0)==3?(c[c[(c[J>>2]|0)+8>>2]>>2]|0)>1e4:0)break;Vp(c[u>>2]|0,c[(c[J>>2]|0)+8>>2]|0,c[x>>2]|0,c[(c[J>>2]|0)+24>>2]|0,c[Q>>2]|0,c[D>>2]|0);break a}while(0);if(((c[(c[x>>2]|0)+132>>2]|0)==3?(c[c[(c[J>>2]|0)+8>>2]>>2]|0)>10:0)?(d[139078]|0)!=0:0){t=c[24742]|0;c[O>>2]=1e4;p3(t,129690,O)|0}Tp(c[u>>2]|0,c[(c[J>>2]|0)+8>>2]|0,c[x>>2]|0,c[(c[J>>2]|0)+24>>2]|0,c[Q>>2]|0,c[D>>2]|0)}while(0);if(!(c[(c[J>>2]|0)+32>>2]|0)){t=51;break}if(c[c[D>>2]>>2]|0){t=42;break}c[G>>2]=c[(c[J>>2]|0)+16>>2];c[H>>2]=c[(c[J>>2]|0)+40>>2];c[J>>2]=c[(c[J>>2]|0)+32>>2];if(c[(c[J>>2]|0)+32>>2]|0)c[R>>2]=rK(_(c[(c[J>>2]|0)+4>>2]<<3,c[u>>2]|0)|0)|0;else c[R>>2]=c[A>>2];hq(c[u>>2]|0,c[(c[J>>2]|0)+8>>2]|0,c[G>>2]|0,c[(c[J>>2]|0)+20>>2]|0,c[Q>>2]|0,c[R>>2]|0,c[H>>2]|0,+h[(c[x>>2]|0)+24>>3]*.001);B1(c[Q>>2]|0);c[Q>>2]=c[R>>2];c[(c[x>>2]|0)+16>>2]=0;h[(c[x>>2]|0)+24>>3]=+h[(c[x>>2]|0)+24>>3]*.75;c[(c[x>>2]|0)+104>>2]=0;if((c[(c[(c[J>>2]|0)+28>>2]|0)+40>>2]|0)>8?(c[(c[(c[J>>2]|0)+28>>2]|0)+40>>2]|0)<11:0)h[(c[x>>2]|0)+96>>3]=1.0;else h[(c[x>>2]|0)+96>>3]=.1;if(!(c[J>>2]|0)){t=51;break}}if((t|0)==42)B1(c[Q>>2]|0);else if((t|0)==51){Lx(c[u>>2]|0,c[E>>2]|0,c[x>>2]|0,c[y>>2]|0,c[A>>2]|0,c[D>>2]|0);if(a[139078]|0){R=c[24742]|0;c[P>>2]=c[(c[x>>2]|0)+124>>2];p3(R,129753,P)|0}if((c[u>>2]|0)==2)_p(c[M>>2]|0,c[u>>2]|0,c[A>>2]|0);if(+h[(c[x>>2]|0)+152>>3]!=0.0)iq(c[M>>2]|0,c[u>>2]|0,c[A>>2]|0,+h[(c[x>>2]|0)+152>>3]);Zt(c[u>>2]|0,c[E>>2]|0,c[A>>2]|0,c[z>>2]|0,c[(c[x>>2]|0)+124>>2]|0,+h[(c[x>>2]|0)+144>>3],c[(c[x>>2]|0)+160>>2]|0,c[B>>2]|0,c[C>>2]|0)}n5(c[x>>2]|0,I|0,168)|0;if((c[E>>2]|0)!=(c[v>>2]|0))cw(c[E>>2]|0);if((c[F>>2]|0)!=0?(c[F>>2]|0)!=(c[w>>2]|0):0)cw(c[F>>2]|0);_w(c[L>>2]|0);$w(c[K>>2]|0);i=S;return}function fq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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=i;i=i+80|0;if((i|0)>=(j|0))ba();w=x+8|0;v=x;e=x+72|0;f=x+68|0;g=x+64|0;t=x+60|0;k=x+56|0;m=x+52|0;u=x+48|0;p=x+44|0;s=x+40|0;n=x+36|0;l=x+32|0;q=x+28|0;o=x+24|0;r=x+20|0;h=x+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;c[l>>2]=c[(c[e>>2]|0)+20>>2];c[q>>2]=c[(c[e>>2]|0)+24>>2];c[o>>2]=0;c[r>>2]=0;c[t>>2]=rK(c[c[e>>2]>>2]<<2)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[(c[t>>2]|0)+(c[k>>2]<<2)>>2]=1;c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[f>>2]|0))break;c[(c[t>>2]|0)+(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]<<2)>>2]=-1;c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[e>>2]>>2]|0))break;if((c[(c[t>>2]|0)+(c[k>>2]<<2)>>2]|0)>0){b=c[m>>2]|0;c[m>>2]=b+1;c[(c[t>>2]|0)+(c[k>>2]<<2)>>2]=b}c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[e>>2]>>2]|0))break;a:do if((c[(c[t>>2]|0)+(c[k>>2]<<2)>>2]|0)>=0){c[p>>2]=c[(c[l>>2]|0)+(c[k>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0))break a;b:do if((c[(c[t>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]|0)>=0)c[u>>2]=(c[u>>2]|0)+1;else{c[n>>2]=c[(c[q>>2]|0)+(c[p>>2]<<2)>>2];c[s>>2]=c[(c[l>>2]|0)+(c[n>>2]<<2)>>2];while(1){if((c[s>>2]|0)>=(c[(c[l>>2]|0)+((c[n>>2]|0)+1<<2)>>2]|0))break b;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)!=(c[k>>2]|0)?(c[(c[t>>2]|0)+(c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]<<2)>>2]|0)>=0:0)c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1}}while(0);c[p>>2]=(c[p>>2]|0)+1}}while(0);c[k>>2]=(c[k>>2]|0)+1}if((c[u>>2]|0)>0){c[o>>2]=rK(c[u>>2]<<2)|0;c[r>>2]=rK(c[u>>2]<<2)|0}c[u>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[e>>2]>>2]|0))break;c:do if((c[(c[t>>2]|0)+(c[k>>2]<<2)>>2]|0)>=0){c[p>>2]=c[(c[l>>2]|0)+(c[k>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0))break c;d:do if((c[(c[t>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]|0)>=0){c[(c[o>>2]|0)+(c[u>>2]<<2)>>2]=c[(c[t>>2]|0)+(c[k>>2]<<2)>>2];d=c[(c[t>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]|0;b=c[u>>2]|0;c[u>>2]=b+1;c[(c[r>>2]|0)+(b<<2)>>2]=d;if((c[(c[t>>2]|0)+(c[k>>2]<<2)>>2]|0)!=68?(c[(c[t>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]|0)!=68:0)break;b=c[24742]|0;d=c[(c[t>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]|0;c[v>>2]=c[(c[t>>2]|0)+(c[k>>2]<<2)>>2];c[v+4>>2]=d;p3(b,129771,v)|0;c[(c[t>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[t>>2]|0)+(c[k>>2]<<2)>>2]}else{c[n>>2]=c[(c[q>>2]|0)+(c[p>>2]<<2)>>2];c[s>>2]=c[(c[l>>2]|0)+(c[n>>2]<<2)>>2];while(1){if((c[s>>2]|0)>=(c[(c[l>>2]|0)+((c[n>>2]|0)+1<<2)>>2]|0))break d;do if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)!=(c[k>>2]|0)?(c[(c[t>>2]|0)+(c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]<<2)>>2]|0)>=0:0){c[(c[o>>2]|0)+(c[u>>2]<<2)>>2]=c[(c[t>>2]|0)+(c[k>>2]<<2)>>2];d=c[(c[t>>2]|0)+(c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]<<2)>>2]|0;b=c[u>>2]|0;c[u>>2]=b+1;c[(c[r>>2]|0)+(b<<2)>>2]=d;if((c[(c[t>>2]|0)+(c[k>>2]<<2)>>2]|0)!=68?(c[(c[t>>2]|0)+(c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]<<2)>>2]|0)!=68:0)break;b=c[24742]|0;d=c[(c[t>>2]|0)+(c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]<<2)>>2]|0;c[w>>2]=c[(c[t>>2]|0)+(c[k>>2]<<2)>>2];c[w+4>>2]=d;p3(b,129782,w)|0;c[(c[t>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[t>>2]|0)+(c[k>>2]<<2)>>2]}while(0);c[s>>2]=(c[s>>2]|0)+1}}while(0);c[p>>2]=(c[p>>2]|0)+1}}while(0);c[k>>2]=(c[k>>2]|0)+1}c[h>>2]=mw(c[u>>2]|0,c[m>>2]|0,c[m>>2]|0,c[o>>2]|0,c[r>>2]|0,0,8,8)|0;B1(c[o>>2]|0);B1(c[r>>2]|0);B1(c[t>>2]|0);i=x;return c[h>>2]|0}function gq(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 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=i;i=i+64|0;if((i|0)>=(j|0))ba();m=x+52|0;n=x+48|0;o=x+44|0;p=x+40|0;q=x+36|0;k=x+32|0;w=x+28|0;r=x+24|0;s=x+20|0;t=x+16|0;u=x+12|0;l=x+8|0;v=x;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[l>>2]=0;c[w>>2]=rK(c[c[n>>2]>>2]<<2)|0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[(c[w>>2]|0)+(c[r>>2]<<2)>>2]=1;c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break;if((c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0)>=0?(c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0)<(c[c[n>>2]>>2]|0):0)c[(c[w>>2]|0)+(c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]<<2)>>2]=-1;c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0))break;if((c[(c[w>>2]|0)+(c[r>>2]<<2)>>2]|0)>=0){g=c[l>>2]|0;c[l>>2]=g+1;c[(c[w>>2]|0)+(c[r>>2]<<2)>>2]=g}c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0))break;a:do if((c[(c[w>>2]|0)+(c[r>>2]<<2)>>2]|0)>=0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[m>>2]|0))break a;f=_(c[(c[w>>2]|0)+(c[r>>2]<<2)>>2]|0,c[m>>2]|0)|0;g=_(c[r>>2]|0,c[m>>2]|0)|0;h[(c[q>>2]|0)+(g+(c[u>>2]|0)<<3)>>3]=+h[(c[k>>2]|0)+(f+(c[u>>2]|0)<<3)>>3];c[u>>2]=(c[u>>2]|0)+1}}while(0);c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break;c[s>>2]=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2];h[v>>3]=+((c[(c[(c[n>>2]|0)+20>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0)-(c[(c[(c[n>>2]|0)+20>>2]|0)+(c[s>>2]<<2)>>2]|0)|0);c[u>>2]=0;while(1){k=c[s>>2]|0;if((c[u>>2]|0)>=(c[m>>2]|0))break;g=_(k,c[m>>2]|0)|0;h[(c[q>>2]|0)+(g+(c[u>>2]|0)<<3)>>3]=0.0;c[u>>2]=(c[u>>2]|0)+1}c[t>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+(k<<2)>>2];while(1){g=(c[t>>2]|0)<(c[(c[(c[n>>2]|0)+20>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0);c[u>>2]=0;if(!g)break;while(1){k=c[t>>2]|0;if((c[u>>2]|0)>=(c[m>>2]|0))break;f=_(c[(c[(c[n>>2]|0)+24>>2]|0)+(k<<2)>>2]|0,c[m>>2]|0)|0;g=_(c[s>>2]|0,c[m>>2]|0)|0;g=(c[q>>2]|0)+(g+(c[u>>2]|0)<<3)|0;h[g>>3]=+h[g>>3]+ +h[(c[q>>2]|0)+(f+(c[u>>2]|0)<<3)>>3];c[u>>2]=(c[u>>2]|0)+1}c[t>>2]=k+1}while(1){if((c[u>>2]|0)>=(c[m>>2]|0))break;g=_(c[s>>2]|0,c[m>>2]|0)|0;g=(c[q>>2]|0)+(g+(c[u>>2]|0)<<3)|0;h[g>>3]=+h[g>>3]/+h[v>>3];c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}B1(c[w>>2]|0);i=x;return}function hq(a,b,d,e,f,g,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=k|0;l=+l;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;x=i;i=i+64|0;if((i|0)>=(j|0))ba();m=x+56|0;n=x+52|0;A=x+48|0;o=x+44|0;z=x+40|0;p=x+36|0;y=x+32|0;q=x;w=x+28|0;s=x+24|0;u=x+20|0;r=x+16|0;t=x+12|0;v=x+8|0;c[m>>2]=a;c[n>>2]=b;c[A>>2]=d;c[o>>2]=e;c[z>>2]=f;c[p>>2]=g;c[y>>2]=k;h[q>>3]=l;nw(c[A>>2]|0,0,c[z>>2]|0,0,p,0,c[m>>2]|0);if(!((c[y>>2]|0)>0&(c[y>>2]|0)<7)){i=x;return}Yp(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0);c[w>>2]=c[c[o>>2]>>2];c[s>>2]=c[(c[o>>2]|0)+20>>2];c[u>>2]=c[(c[o>>2]|0)+24>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[w>>2]|0))break;c[t>>2]=(c[(c[s>>2]|0)+(c[r>>2]<<2)>>2]|0)+1;while(1){if((c[t>>2]|0)>=(c[(c[s>>2]|0)+((c[r>>2]|0)+1<<2)>>2]|0))break;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[m>>2]|0))break;l=+h[q>>3];l=l*(+Kw()-.5);A=_(c[(c[u>>2]|0)+(c[t>>2]<<2)>>2]|0,c[m>>2]|0)|0;A=(c[p>>2]|0)+(A+(c[v>>2]|0)<<3)|0;h[A>>3]=+h[A>>3]+l;c[v>>2]=(c[v>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}i=x;return} +function Wv(a,b,d,e,f,g,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;k=+k;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=0,N=0,O=0,Q=0;Q=i;i=i+160|0;if((i|0)>=(j|0))ba();r=Q+144|0;s=Q+140|0;t=Q+136|0;u=Q+132|0;m=Q+64|0;F=Q+56|0;G=Q+48|0;v=Q+128|0;y=Q+124|0;z=Q+120|0;N=Q+116|0;O=Q+112|0;I=Q+40|0;C=Q+32|0;D=Q+24|0;J=Q+16|0;K=Q+108|0;L=Q+104|0;A=Q+8|0;B=Q;H=Q+100|0;n=Q+96|0;o=Q+92|0;w=Q+88|0;x=Q+84|0;M=Q+80|0;p=Q+76|0;q=Q+72|0;c[r>>2]=a;c[s>>2]=b;c[t>>2]=d;c[u>>2]=e;h[m>>3]=f;h[F>>3]=g;h[G>>3]=k;c[v>>2]=l;if(!((c[r>>2]|0)!=0&(c[s>>2]|0)!=0)){i=Q;return}if((c[c[r>>2]>>2]|0)<=0)db(132080,131912,175,132105);if((c[c[s>>2]>>2]|0)<=0)db(132080,131912,175,132105);c[H>>2]=c[(c[r>>2]|0)+16>>2];c[y>>2]=c[(c[r>>2]|0)+40>>2];c[z>>2]=c[(c[s>>2]|0)+40>>2];h[I>>3]=+Tw(c[(c[r>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+32>>2]|0,c[H>>2]|0);if(+h[(c[r>>2]|0)+24>>3]+ +h[(c[s>>2]|0)+24>>3]<+h[m>>3]*+h[I>>3]){E=c[v>>2]|0;h[E>>3]=+h[E>>3]+1.0;c[N>>2]=c[(c[r>>2]|0)+32>>2];h[A>>3]=+h[(c[r>>2]|0)+8>>3];c[K>>2]=$v(c[r>>2]|0,c[H>>2]|0)|0;c[O>>2]=c[(c[s>>2]|0)+32>>2];h[B>>3]=+h[(c[s>>2]|0)+8>>3];c[L>>2]=$v(c[s>>2]|0,c[H>>2]|0)|0;if(!(+h[I>>3]>0.0))db(132139,131912,191,132105);c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[H>>2]|0))break;f=+h[A>>3]*+h[B>>3]*+h[G>>3]*(+h[(c[N>>2]|0)+(c[M>>2]<<3)>>3]-+h[(c[O>>2]|0)+(c[M>>2]<<3)>>3]);k=+h[I>>3];if(+h[F>>3]==-1.0)h[J>>3]=f/(k*+h[I>>3]);else h[J>>3]=f/+P(+k,+(1.0-+h[F>>3]));E=(c[K>>2]|0)+(c[M>>2]<<3)|0;h[E>>3]=+h[E>>3]+ +h[J>>3];E=(c[L>>2]|0)+(c[M>>2]<<3)|0;h[E>>3]=+h[E>>3]-+h[J>>3];c[M>>2]=(c[M>>2]|0)+1}i=Q;return}if((c[y>>2]|0)!=0&(c[z>>2]|0)!=0){while(1){if(!(c[y>>2]|0))break;c[N>>2]=Lv(Ky(c[y>>2]|0)|0)|0;h[C>>3]=+Kv(Ky(c[y>>2]|0)|0);c[w>>2]=Mv(Ky(c[y>>2]|0)|0)|0;c[K>>2]=aw(c[u>>2]|0,c[w>>2]|0,c[y>>2]|0,c[H>>2]|0)|0;c[z>>2]=c[(c[s>>2]|0)+40>>2];while(1){if(!(c[z>>2]|0))break;c[O>>2]=Lv(Ky(c[z>>2]|0)|0)|0;h[D>>3]=+Kv(Ky(c[z>>2]|0)|0);c[x>>2]=Mv(Ky(c[z>>2]|0)|0)|0;c[L>>2]=aw(c[u>>2]|0,c[x>>2]|0,c[z>>2]|0,c[H>>2]|0)|0;if(!((c[r>>2]|0)==(c[s>>2]|0)?(c[x>>2]|0)<(c[w>>2]|0):0))E=20;if((E|0)==20?(E=0,(c[w>>2]|0)!=(c[x>>2]|0)):0){B=(c[v>>2]|0)+8|0;h[B>>3]=+h[B>>3]+1.0;h[I>>3]=+Rw(c[t>>2]|0,c[H>>2]|0,c[w>>2]|0,c[x>>2]|0);c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[H>>2]|0))break;k=+h[C>>3]*+h[D>>3]*+h[G>>3]*(+h[(c[N>>2]|0)+(c[M>>2]<<3)>>3]-+h[(c[O>>2]|0)+(c[M>>2]<<3)>>3]);f=+h[I>>3];if(+h[F>>3]==-1.0)h[J>>3]=k/(f*+h[I>>3]);else h[J>>3]=k/+P(+f,+(1.0-+h[F>>3]));B=(c[K>>2]|0)+(c[M>>2]<<3)|0;h[B>>3]=+h[B>>3]+ +h[J>>3];B=(c[L>>2]|0)+(c[M>>2]<<3)|0;h[B>>3]=+h[B>>3]-+h[J>>3];c[M>>2]=(c[M>>2]|0)+1}c[z>>2]=Ly(c[z>>2]|0)|0;continue}c[z>>2]=Ly(c[z>>2]|0)|0}c[y>>2]=Ly(c[y>>2]|0)|0}i=Q;return}if((c[r>>2]|0)==(c[s>>2]|0)){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(1<>2]|0))break;c[p>>2]=c[(c[(c[r>>2]|0)+36>>2]|0)+(c[n>>2]<<2)>>2];c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=(1<>2]|0))break;c[q>>2]=c[(c[(c[r>>2]|0)+36>>2]|0)+(c[o>>2]<<2)>>2];Wv(c[p>>2]|0,c[q>>2]|0,c[t>>2]|0,c[u>>2]|0,+h[m>>3],+h[F>>3],+h[G>>3],c[v>>2]|0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}i=Q;return}if(!((c[y>>2]|0)!=0?1:!(+h[(c[r>>2]|0)+24>>3]>+h[(c[s>>2]|0)+24>>3]))){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(1<>2]|0))break;c[p>>2]=c[(c[(c[r>>2]|0)+36>>2]|0)+(c[n>>2]<<2)>>2];Wv(c[p>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,+h[m>>3],+h[F>>3],+h[G>>3],c[v>>2]|0);c[n>>2]=(c[n>>2]|0)+1}i=Q;return}if(!((c[z>>2]|0)!=0?1:!(+h[(c[s>>2]|0)+24>>3]>+h[(c[r>>2]|0)+24>>3]))){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(1<>2]|0))break;c[p>>2]=c[(c[(c[s>>2]|0)+36>>2]|0)+(c[n>>2]<<2)>>2];Wv(c[p>>2]|0,c[r>>2]|0,c[t>>2]|0,c[u>>2]|0,+h[m>>3],+h[F>>3],+h[G>>3],c[v>>2]|0);c[n>>2]=(c[n>>2]|0)+1}i=Q;return}if(!(c[y>>2]|0)){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(1<>2]|0))break;c[p>>2]=c[(c[(c[r>>2]|0)+36>>2]|0)+(c[n>>2]<<2)>>2];Wv(c[p>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,+h[m>>3],+h[F>>3],+h[G>>3],c[v>>2]|0);c[n>>2]=(c[n>>2]|0)+1}i=Q;return}if(c[z>>2]|0)db(176179,131912,273,132105);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(1<>2]|0))break;c[p>>2]=c[(c[(c[s>>2]|0)+36>>2]|0)+(c[n>>2]<<2)>>2];Wv(c[p>>2]|0,c[r>>2]|0,c[t>>2]|0,c[u>>2]|0,+h[m>>3],+h[F>>3],+h[G>>3],c[v>>2]|0);c[n>>2]=(c[n>>2]|0)+1}i=Q;return}function Xv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;if((i|0)>=(j|0))ba();e=t+52|0;f=t+48|0;g=t+44|0;r=t+8|0;s=t;l=t+40|0;m=t+36|0;p=t+32|0;n=t+28|0;o=t+24|0;k=t+20|0;q=t+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[p>>2]=c[(c[e>>2]|0)+40>>2];c[k>>2]=c[(c[e>>2]|0)+16>>2];h[r>>3]=+h[(c[e>>2]|0)+8>>3];c[l>>2]=$v(c[e>>2]|0,c[k>>2]|0)|0;if(!(+h[r>>3]>0.0))db(132025,131912,289,132033);a=(c[g>>2]|0)+16|0;h[a>>3]=+h[a>>3]+1.0;if(c[p>>2]|0){while(1){if(!(c[p>>2]|0))break;c[n>>2]=Mv(Ky(c[p>>2]|0)|0)|0;c[m>>2]=aw(c[f>>2]|0,c[n>>2]|0,c[p>>2]|0,c[k>>2]|0)|0;h[s>>3]=+Kv(Ky(c[p>>2]|0)|0);h[s>>3]=+h[s>>3]/+h[r>>3];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;q=(c[m>>2]|0)+(c[o>>2]<<3)|0;h[q>>3]=+h[q>>3]+ +h[s>>3]*+h[(c[l>>2]|0)+(c[o>>2]<<3)>>3];c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=Ly(c[p>>2]|0)|0}i=t;return}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(1<>2]|0)){e=19;break}c[q>>2]=c[(c[(c[e>>2]|0)+36>>2]|0)+(c[n>>2]<<2)>>2];if(c[q>>2]|0){if((c[c[q>>2]>>2]|0)<=0){e=13;break}c[m>>2]=$v(c[q>>2]|0,c[k>>2]|0)|0;h[s>>3]=+h[(c[q>>2]|0)+8>>3];h[s>>3]=+h[s>>3]/+h[r>>3];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;a=(c[m>>2]|0)+(c[o>>2]<<3)|0;h[a>>3]=+h[a>>3]+ +h[s>>3]*+h[(c[l>>2]|0)+(c[o>>2]<<3)>>3];c[o>>2]=(c[o>>2]|0)+1}Xv(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}if((e|0)==13)db(132069,131912,307,132033);else if((e|0)==19){i=t;return}}function Yv(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;if((i|0)>=(j|0))ba();g=u+44|0;k=u+40|0;l=u;m=u+36|0;n=u+32|0;p=u+28|0;o=u+24|0;r=u+20|0;t=u+16|0;s=u+12|0;q=u+8|0;c[g>>2]=a;c[k>>2]=b;h[l>>3]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[(c[g>>2]|0)+16>>2];c[t>>2]=0;c[s>>2]=c[(c[g>>2]|0)+44>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}if(!(c[c[g>>2]>>2]|0)){c[c[g>>2]>>2]=1;h[(c[g>>2]|0)+8>>3]=+h[l>>3];a=rK(c[o>>2]<<3)|0;c[(c[g>>2]|0)+32>>2]=a;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0))break;h[(c[(c[g>>2]|0)+32>>2]|0)+(c[p>>2]<<3)>>3]=+h[(c[k>>2]|0)+(c[p>>2]<<3)>>3];c[p>>2]=(c[p>>2]|0)+1}c[t>>2]=Zv(c[(c[g>>2]|0)+16>>2]|0,+h[l>>3],c[k>>2]|0,c[m>>2]|0)|0;if(c[(c[g>>2]|0)+40>>2]|0)db(131936,131912,497,131944);a=Hy(c[t>>2]|0)|0;c[(c[g>>2]|0)+40>>2]=a;a=c[g>>2]|0;i=u;return a|0}if((c[n>>2]|0)>=(c[s>>2]|0)){if(c[(c[g>>2]|0)+36>>2]|0)db(132010,131912,536,131944);a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[g>>2]|0)+8|0;h[a>>3]=+h[a>>3]+ +h[l>>3];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0))break;h[(c[(c[g>>2]|0)+32>>2]|0)+(c[p>>2]<<3)>>3]=(+h[(c[(c[g>>2]|0)+32>>2]|0)+(c[p>>2]<<3)>>3]*+(c[c[g>>2]>>2]|0)+ +h[(c[k>>2]|0)+(c[p>>2]<<3)>>3])/+((c[c[g>>2]>>2]|0)+1|0);c[p>>2]=(c[p>>2]|0)+1}c[t>>2]=Zv(c[(c[g>>2]|0)+16>>2]|0,+h[l>>3],c[k>>2]|0,c[m>>2]|0)|0;if(!(c[(c[g>>2]|0)+40>>2]|0))db(132020,131912,542,131944);a=Jy(c[(c[g>>2]|0)+40>>2]|0,c[t>>2]|0)|0;c[(c[g>>2]|0)+40>>2]=a;a=c[g>>2]|0;i=u;return a|0}a=(c[g>>2]|0)+8|0;h[a>>3]=+h[a>>3]+ +h[l>>3];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[g>>2]|0)+16>>2]|0))break;h[(c[(c[g>>2]|0)+32>>2]|0)+(c[p>>2]<<3)>>3]=(+h[(c[(c[g>>2]|0)+32>>2]|0)+(c[p>>2]<<3)>>3]*+(c[c[g>>2]>>2]|0)+ +h[(c[k>>2]|0)+(c[p>>2]<<3)>>3])/+((c[c[g>>2]>>2]|0)+1|0);c[p>>2]=(c[p>>2]|0)+1}a:do if(!(c[(c[g>>2]|0)+36>>2]|0)){a=rK(1<>2]<<2)|0;c[(c[g>>2]|0)+36>>2]=a;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(1<>2]|0))break a;c[(c[(c[g>>2]|0)+36>>2]|0)+(c[p>>2]<<2)>>2]=0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[r>>2]=_v(c[o>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[k>>2]|0)|0;if(!((c[r>>2]|0)>=0?(c[r>>2]|0)<(1<>2]|0):0))db(131966,131912,510,131944);if(!(c[(c[(c[g>>2]|0)+36>>2]|0)+(c[r>>2]<<2)>>2]|0)){a=Vv(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+20>>2]|0,+h[(c[g>>2]|0)+24>>3]/2.0,c[s>>2]|0,c[r>>2]|0)|0;c[(c[(c[g>>2]|0)+36>>2]|0)+(c[r>>2]<<2)>>2]=a}a=Yv(c[(c[(c[g>>2]|0)+36>>2]|0)+(c[r>>2]<<2)>>2]|0,c[k>>2]|0,+h[l>>3],c[m>>2]|0,(c[n>>2]|0)+1|0)|0;c[(c[(c[g>>2]|0)+36>>2]|0)+(c[r>>2]<<2)>>2]=a;if(!(c[(c[(c[g>>2]|0)+36>>2]|0)+(c[r>>2]<<2)>>2]|0))db(131989,131912,514,131944);do if(c[(c[g>>2]|0)+40>>2]|0){c[q>>2]=Mv(Ky(c[(c[g>>2]|0)+40>>2]|0)|0)|0;if((c[c[g>>2]>>2]|0)!=1)db(132e3,131912,518,131944);c[k>>2]=Lv(Ky(c[(c[g>>2]|0)+40>>2]|0)|0)|0;h[l>>3]=+Kv(Ky(c[(c[g>>2]|0)+40>>2]|0)|0);c[r>>2]=_v(c[o>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[k>>2]|0)|0;if(!((c[r>>2]|0)>=0?(c[r>>2]|0)<(1<>2]|0):0))db(131966,131912,522,131944);if(!(c[(c[(c[g>>2]|0)+36>>2]|0)+(c[r>>2]<<2)>>2]|0)){a=Vv(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+20>>2]|0,+h[(c[g>>2]|0)+24>>3]/2.0,c[s>>2]|0,c[r>>2]|0)|0;c[(c[(c[g>>2]|0)+36>>2]|0)+(c[r>>2]<<2)>>2]=a}a=Yv(c[(c[(c[g>>2]|0)+36>>2]|0)+(c[r>>2]<<2)>>2]|0,c[k>>2]|0,+h[l>>3],c[q>>2]|0,(c[n>>2]|0)+1|0)|0;c[(c[(c[g>>2]|0)+36>>2]|0)+(c[r>>2]<<2)>>2]=a;if(c[(c[(c[g>>2]|0)+36>>2]|0)+(c[r>>2]<<2)>>2]|0){Iy(c[(c[g>>2]|0)+40>>2]|0,97);c[(c[g>>2]|0)+40>>2]=0;break}else db(131989,131912,527,131944)}while(0);a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+1;a=c[g>>2]|0;i=u;return a|0}function Zv(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+24|0;o=m;g=m+20|0;n=m+16|0;l=m+12|0;k=m+8|0;c[f>>2]=a;h[o>>3]=b;c[g>>2]=d;c[n>>2]=e;c[l>>2]=rK(32)|0;h[c[l>>2]>>3]=+h[o>>3];e=rK(c[f>>2]<<3)|0;c[(c[l>>2]|0)+8>>2]=e;h[(c[l>>2]|0)+16>>3]=+(c[n>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[f>>2]|0))break;h[(c[(c[l>>2]|0)+8>>2]|0)+(c[k>>2]<<3)>>3]=+h[(c[g>>2]|0)+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}c[(c[l>>2]|0)+24>>2]=0;i=m;return c[l>>2]|0}function _v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();m=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;k=l;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[k>>2]=(c[m>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;b=c[g>>2]<<1;if(+h[(c[f>>2]|0)+(c[k>>2]<<3)>>3]-+h[(c[e>>2]|0)+(c[k>>2]<<3)>>3]<0.0)c[g>>2]=b;else c[g>>2]=b+1;c[k>>2]=(c[k>>2]|0)+-1}i=l;return c[g>>2]|0}function $v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();d=k+12|0;e=k+8|0;g=k+4|0;f=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+48>>2];if(c[f>>2]|0){a=c[f>>2]|0;i=k;return a|0}a=rK(c[e>>2]<<3)|0;c[(c[d>>2]|0)+48>>2]=a;c[f>>2]=c[(c[d>>2]|0)+48>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[e>>2]|0))break;h[(c[f>>2]|0)+(c[g>>2]<<3)>>3]=0.0;c[g>>2]=(c[g>>2]|0)+1}a=c[f>>2]|0;i=k;return a|0}function aw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=c[(Ky(c[h>>2]|0)|0)+24>>2];if(c[l>>2]|0){d=c[l>>2]|0;i=m;return d|0}d=_(c[g>>2]|0,c[k>>2]|0)|0;d=(c[f>>2]|0)+(d<<3)|0;c[(Ky(c[h>>2]|0)|0)+24>>2]=d;c[l>>2]=c[(Ky(c[h>>2]|0)|0)+24>>2];d=c[l>>2]|0;i=m;return d|0}function bw(a){a=a|0;var b=0,d=0,e=0,f=0,g=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.0;z=i;i=i+80|0;if((i|0)>=(j|0))ba();p=z+76|0;b=z+72|0;s=z+68|0;v=z+64|0;t=z+60|0;w=z+56|0;e=z+52|0;x=z+48|0;y=z+44|0;f=z+40|0;d=z+36|0;q=z+32|0;r=z+28|0;u=z+24|0;g=z+20|0;m=z+16|0;k=z+12|0;n=z+8|0;l=z+4|0;o=z;c[b>>2]=a;c[s>>2]=c[(c[b>>2]|0)+20>>2];c[v>>2]=c[(c[b>>2]|0)+24>>2];c[e>>2]=c[(c[b>>2]|0)+8>>2];c[x>>2]=c[c[b>>2]>>2];c[y>>2]=c[(c[b>>2]|0)+4>>2];c[f>>2]=c[(c[b>>2]|0)+16>>2];c[d>>2]=c[(c[b>>2]|0)+32>>2];if(!(c[b>>2]|0)){c[p>>2]=0;y=c[p>>2]|0;i=z;return y|0}if((c[(c[b>>2]|0)+32>>2]|0)!=1)db(132148,132172,75,132187);c[q>>2]=ew(c[y>>2]|0,c[x>>2]|0,c[e>>2]|0,c[f>>2]|0,c[d>>2]|0)|0;c[(c[q>>2]|0)+8>>2]=c[e>>2];c[t>>2]=c[(c[q>>2]|0)+20>>2];c[w>>2]=c[(c[q>>2]|0)+24>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>(c[y>>2]|0))break;c[(c[t>>2]|0)+(c[r>>2]<<2)>>2]=0;c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[x>>2]|0))break;c[u>>2]=c[(c[s>>2]|0)+(c[r>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[s>>2]|0)+((c[r>>2]|0)+1<<2)>>2]|0))break;f=(c[t>>2]|0)+((c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0)+1<<2)|0;c[f>>2]=(c[f>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[y>>2]|0))break;f=(c[t>>2]|0)+((c[r>>2]|0)+1<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[(c[t>>2]|0)+(c[r>>2]<<2)>>2]|0);c[r>>2]=(c[r>>2]|0)+1}a:do switch(c[(c[b>>2]|0)+16>>2]|0){case 1:{c[g>>2]=c[(c[b>>2]|0)+28>>2];c[m>>2]=c[(c[q>>2]|0)+28>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[x>>2]|0))break a;c[u>>2]=c[(c[s>>2]|0)+(c[r>>2]<<2)>>2];while(1){b=c[r>>2]|0;if((c[u>>2]|0)>=(c[(c[s>>2]|0)+((c[r>>2]|0)+1<<2)>>2]|0))break;c[(c[w>>2]|0)+(c[(c[t>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]<<2)>>2]=b;A=+h[(c[g>>2]|0)+(c[u>>2]<<3)>>3];n=(c[t>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)|0;o=c[n>>2]|0;c[n>>2]=o+1;h[(c[m>>2]|0)+(o<<3)>>3]=A;c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=b+1}}case 2:{c[k>>2]=c[(c[b>>2]|0)+28>>2];c[n>>2]=c[(c[q>>2]|0)+28>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[x>>2]|0))break a;c[u>>2]=c[(c[s>>2]|0)+(c[r>>2]<<2)>>2];while(1){b=c[r>>2]|0;if((c[u>>2]|0)>=(c[(c[s>>2]|0)+((c[r>>2]|0)+1<<2)>>2]|0))break;c[(c[w>>2]|0)+(c[(c[t>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]<<2)>>2]=b;h[(c[n>>2]|0)+(c[(c[t>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]<<1<<3)>>3]=+h[(c[k>>2]|0)+(c[u>>2]<<1<<3)>>3];h[(c[n>>2]|0)+((c[(c[t>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]<<1)+1<<3)>>3]=+h[(c[k>>2]|0)+((c[u>>2]<<1)+1<<3)>>3];o=(c[t>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)|0;c[o>>2]=(c[o>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=b+1}}case 4:{c[l>>2]=c[(c[b>>2]|0)+28>>2];c[o>>2]=c[(c[q>>2]|0)+28>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[x>>2]|0))break a;c[u>>2]=c[(c[s>>2]|0)+(c[r>>2]<<2)>>2];while(1){b=c[r>>2]|0;if((c[u>>2]|0)>=(c[(c[s>>2]|0)+((c[r>>2]|0)+1<<2)>>2]|0))break;c[(c[w>>2]|0)+(c[(c[t>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]<<2)>>2]=b;m=c[(c[l>>2]|0)+(c[u>>2]<<2)>>2]|0;k=(c[t>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)|0;n=c[k>>2]|0;c[k>>2]=n+1;c[(c[o>>2]|0)+(n<<2)>>2]=m;c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=b+1}}case 8:{c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[x>>2]|0))break a;c[u>>2]=c[(c[s>>2]|0)+(c[r>>2]<<2)>>2];while(1){b=c[r>>2]|0;if((c[u>>2]|0)>=(c[(c[s>>2]|0)+((c[r>>2]|0)+1<<2)>>2]|0))break;n=(c[t>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)|0;o=c[n>>2]|0;c[n>>2]=o+1;c[(c[w>>2]|0)+(o<<2)>>2]=b;c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=b+1}}case 16:{cw(c[q>>2]|0);c[p>>2]=0;y=c[p>>2]|0;i=z;return y|0}default:{cw(c[q>>2]|0);c[p>>2]=0;y=c[p>>2]|0;i=z;return y|0}}while(0);c[r>>2]=(c[y>>2]|0)-1;while(1){if((c[r>>2]|0)<0)break;c[(c[t>>2]|0)+((c[r>>2]|0)+1<<2)>>2]=c[(c[t>>2]|0)+(c[r>>2]<<2)>>2];c[r>>2]=(c[r>>2]|0)+-1}c[c[t>>2]>>2]=0;c[p>>2]=c[q>>2];y=c[p>>2]|0;i=z;return y|0}function cw(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[(c[b>>2]|0)+20>>2]|0)B1(c[(c[b>>2]|0)+20>>2]|0);if(c[(c[b>>2]|0)+24>>2]|0)B1(c[(c[b>>2]|0)+24>>2]|0);if(c[(c[b>>2]|0)+28>>2]|0)B1(c[(c[b>>2]|0)+28>>2]|0);B1(c[b>>2]|0);i=d;return}function dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;b=(fw(c[e>>2]|0,c[h>>2]|0)|0)!=0;a=c[e>>2]|0;if(b){c[d>>2]=gw(a)|0;h=c[d>>2]|0;i=g;return h|0}c[f>>2]=bw(a)|0;if(c[f>>2]|0){c[e>>2]=hw(c[e>>2]|0,c[f>>2]|0)|0;cw(c[f>>2]|0);c[(c[e>>2]|0)+36>>2]=c[(c[e>>2]|0)+36>>2]|2;c[(c[e>>2]|0)+36>>2]=c[(c[e>>2]|0)+36>>2]|1;c[d>>2]=c[e>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=0;h=c[d>>2]|0;i=g;return h|0}return 0}function ew(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,k=0,l=0,m=0,n=0,o=0,p=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();p=k+24|0;o=k+20|0;g=k+16|0;n=k+12|0;l=k+8|0;h=k+4|0;m=k;c[p>>2]=a;c[o>>2]=b;c[g>>2]=d;c[n>>2]=e;c[l>>2]=f;c[m>>2]=zw(c[n>>2]|0)|0;c[h>>2]=Aw(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;if((c[g>>2]|0)<=0){p=c[h>>2]|0;i=k;return p|0}c[h>>2]=Bw(c[h>>2]|0,c[g>>2]|0)|0;p=c[h>>2]|0;i=k;return p|0}function fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=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.0;B=i;i=i+80|0;if((i|0)>=(j|0))ba();v=B+76|0;w=B+72|0;x=B+68|0;y=B+64|0;n=B+60|0;q=B+56|0;o=B+52|0;r=B+48|0;t=B+44|0;s=B+40|0;z=B+36|0;A=B+32|0;m=B+28|0;p=B+24|0;d=B+20|0;g=B+16|0;e=B+12|0;k=B+8|0;f=B+4|0;l=B;c[w>>2]=a;c[x>>2]=b;c[A>>2]=0;if((c[(c[w>>2]|0)+32>>2]|0)!=1)db(132148,132172,184,132210);if(!(c[w>>2]|0)){c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}if(c[(c[w>>2]|0)+36>>2]&2){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if((c[x>>2]|0)!=0?(c[(c[w>>2]|0)+36>>2]&1|0)!=0:0){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if((c[c[w>>2]>>2]|0)!=(c[(c[w>>2]|0)+4>>2]|0)){c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}c[y>>2]=bw(c[w>>2]|0)|0;if(!(c[y>>2]|0)){c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}c[n>>2]=c[(c[w>>2]|0)+20>>2];c[q>>2]=c[(c[w>>2]|0)+24>>2];c[o>>2]=c[(c[y>>2]|0)+20>>2];c[r>>2]=c[(c[y>>2]|0)+24>>2];c[s>>2]=c[c[w>>2]>>2];c[z>>2]=rK(c[s>>2]<<2)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[s>>2]|0))break;c[(c[z>>2]|0)+(c[m>>2]<<2)>>2]=-1;c[m>>2]=(c[m>>2]|0)+1}b=c[(c[w>>2]|0)+16>>2]|0;c[t>>2]=b;c[t>>2]=(c[x>>2]|0)!=0?8:b;a:do switch(c[t>>2]|0){case 1:{c[d>>2]=c[(c[w>>2]|0)+28>>2];c[g>>2]=c[(c[y>>2]|0)+28>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[s>>2]|0))break;if((c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0)!=(c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0))break a;c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[s>>2]|0))break;c[p>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[n>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;c[(c[z>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=c[(c[o>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[o>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;if((c[(c[z>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0))break a;c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=c[(c[o>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[o>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;C=+h[(c[g>>2]|0)+(c[p>>2]<<3)>>3]-+h[(c[d>>2]|0)+(c[(c[z>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]<<3)>>3];if((+h[(c[g>>2]|0)+(c[p>>2]<<3)>>3]-+h[(c[d>>2]|0)+(c[(c[z>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]<<3)>>3]>=0.0?C:-C)>1.0e-07)break a;c[p>>2]=(c[p>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}c[A>>2]=1;u=83;break}case 2:{c[e>>2]=c[(c[w>>2]|0)+28>>2];c[k>>2]=c[(c[y>>2]|0)+28>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[s>>2]|0))break;if((c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0)!=(c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0))break a;c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[s>>2]|0))break;c[p>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[n>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;c[(c[z>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=c[(c[o>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[o>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;if((c[(c[z>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0))break a;c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=c[(c[o>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[o>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;C=+h[(c[k>>2]|0)+(c[p>>2]<<1<<3)>>3]-+h[(c[e>>2]|0)+(c[(c[z>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]<<1<<3)>>3];if((+h[(c[k>>2]|0)+(c[p>>2]<<1<<3)>>3]-+h[(c[e>>2]|0)+(c[(c[z>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]<<1<<3)>>3]>=0.0?C:-C)>1.0e-07)break a;C=+h[(c[k>>2]|0)+((c[p>>2]<<1)+1<<3)>>3]-+h[(c[e>>2]|0)+((c[(c[z>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]<<1)+1<<3)>>3];if((+h[(c[k>>2]|0)+((c[p>>2]<<1)+1<<3)>>3]-+h[(c[e>>2]|0)+((c[(c[z>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]<<1)+1<<3)>>3]>=0.0?C:-C)>1.0e-07)break a;c[p>>2]=(c[p>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}c[A>>2]=1;u=83;break}case 4:{c[f>>2]=c[(c[w>>2]|0)+28>>2];c[l>>2]=c[(c[y>>2]|0)+28>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[s>>2]|0))break;c[p>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[n>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;c[(c[z>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=c[(c[o>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[o>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;if((c[(c[z>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0))break a;c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=c[(c[o>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[o>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;if((c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)!=(c[(c[f>>2]|0)+(c[(c[z>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]<<2)>>2]|0))break a;c[p>>2]=(c[p>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}c[A>>2]=1;u=83;break}case 8:{c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[s>>2]|0))break;c[p>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[n>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;c[(c[z>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=c[(c[o>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[o>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;if((c[(c[z>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0))break a;c[p>>2]=(c[p>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}c[A>>2]=1;u=83;break}default:{}}while(0);do if((u|0)==83){a=c[(c[w>>2]|0)+36>>2]|0;if(c[x>>2]|0){c[(c[w>>2]|0)+36>>2]=a|1;break}else{c[(c[w>>2]|0)+36>>2]=a|2;c[(c[w>>2]|0)+36>>2]=c[(c[w>>2]|0)+36>>2]|1;break}}while(0);B1(c[z>>2]|0);cw(c[y>>2]|0);c[v>>2]=c[A>>2];A=c[v>>2]|0;i=B;return A|0}function gw(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;a=c[d>>2]|0;if(!(c[d>>2]|0)){c[b>>2]=a;e=c[b>>2]|0;i=f;return e|0}c[e>>2]=ew(c[a>>2]|0,c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+8>>2]|0,c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+32>>2]|0)|0;n5(c[(c[e>>2]|0)+20>>2]|0,c[(c[d>>2]|0)+20>>2]|0,(c[c[d>>2]>>2]|0)+1<<2|0)|0;n5(c[(c[e>>2]|0)+24>>2]|0,c[(c[d>>2]|0)+24>>2]|0,c[(c[(c[d>>2]|0)+20>>2]|0)+(c[c[d>>2]>>2]<<2)>>2]<<2|0)|0;if(c[(c[d>>2]|0)+28>>2]|0)n5(c[(c[e>>2]|0)+28>>2]|0,c[(c[d>>2]|0)+28>>2]|0,_(c[(c[d>>2]|0)+40>>2]|0,c[(c[d>>2]|0)+8>>2]|0)|0)|0;c[(c[e>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];c[(c[e>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];c[b>>2]=c[e>>2];e=c[b>>2]|0;i=f;return e|0}function hw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=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.0;G=i;i=i+112|0;if((i|0)>=(j|0))ba();t=G+100|0;d=G+96|0;e=G+92|0;D=G+88|0;f=G+84|0;u=G+80|0;E=G+76|0;w=G+72|0;A=G+68|0;x=G+64|0;B=G+60|0;y=G+56|0;C=G+52|0;v=G+48|0;z=G+44|0;F=G+40|0;g=G+36|0;k=G+32|0;n=G+28|0;q=G+24|0;l=G+20|0;o=G+16|0;r=G+12|0;m=G+8|0;p=G+4|0;s=G;c[d>>2]=a;c[e>>2]=b;c[u>>2]=0;c[E>>2]=0;c[w>>2]=c[(c[d>>2]|0)+20>>2];c[A>>2]=c[(c[d>>2]|0)+24>>2];c[x>>2]=c[(c[e>>2]|0)+20>>2];c[B>>2]=c[(c[e>>2]|0)+24>>2];if(!((c[d>>2]|0)!=0&(c[e>>2]|0)!=0))db(132236,132172,972,132243);if((c[(c[d>>2]|0)+32>>2]|0)!=(c[(c[e>>2]|0)+32>>2]|0))db(132260,132172,973,132243);if((c[(c[d>>2]|0)+32>>2]|0)!=1)db(132260,132172,973,132243);if((c[(c[d>>2]|0)+16>>2]|0)!=(c[(c[e>>2]|0)+16>>2]|0))db(132310,132172,974,132243);c[D>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+4>>2];if((c[D>>2]|0)==(c[c[e>>2]>>2]|0)?(c[f>>2]|0)==(c[(c[e>>2]|0)+4>>2]|0):0){c[g>>2]=(c[(c[d>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0);c[u>>2]=ew(c[D>>2]|0,c[f>>2]|0,c[g>>2]|0,c[(c[d>>2]|0)+16>>2]|0,1)|0;if(c[u>>2]|0){c[y>>2]=c[(c[u>>2]|0)+20>>2];c[C>>2]=c[(c[u>>2]|0)+24>>2];c[E>>2]=rK(c[f>>2]<<2)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[f>>2]|0))break;c[(c[E>>2]|0)+(c[v>>2]<<2)>>2]=-1;c[v>>2]=(c[v>>2]|0)+1}c[F>>2]=0;c[c[y>>2]>>2]=0;a:do switch(c[(c[d>>2]|0)+16>>2]|0){case 1:{c[k>>2]=c[(c[d>>2]|0)+28>>2];c[n>>2]=c[(c[e>>2]|0)+28>>2];c[q>>2]=c[(c[u>>2]|0)+28>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[D>>2]|0))break a;c[z>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[w>>2]|0)+((c[v>>2]|0)+1<<2)>>2]|0))break;c[(c[E>>2]|0)+(c[(c[A>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]=c[F>>2];c[(c[C>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[A>>2]|0)+(c[z>>2]<<2)>>2];h[(c[q>>2]|0)+(c[F>>2]<<3)>>3]=+h[(c[k>>2]|0)+(c[z>>2]<<3)>>3];c[F>>2]=(c[F>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=c[(c[x>>2]|0)+(c[v>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[x>>2]|0)+((c[v>>2]|0)+1<<2)>>2]|0))break;d=c[z>>2]|0;if((c[(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[y>>2]|0)+(c[v>>2]<<2)>>2]|0)){c[(c[C>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[B>>2]|0)+(d<<2)>>2];H=+h[(c[n>>2]|0)+(c[z>>2]<<3)>>3];s=c[F>>2]|0;c[F>>2]=s+1;h[(c[q>>2]|0)+(s<<3)>>3]=H}else{s=(c[q>>2]|0)+(c[(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]<<3)|0;h[s>>3]=+h[s>>3]+ +h[(c[n>>2]|0)+(d<<3)>>3]}c[z>>2]=(c[z>>2]|0)+1}c[(c[y>>2]|0)+((c[v>>2]|0)+1<<2)>>2]=c[F>>2];c[v>>2]=(c[v>>2]|0)+1}}case 2:{c[l>>2]=c[(c[d>>2]|0)+28>>2];c[o>>2]=c[(c[e>>2]|0)+28>>2];c[r>>2]=c[(c[u>>2]|0)+28>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[D>>2]|0))break a;c[z>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[w>>2]|0)+((c[v>>2]|0)+1<<2)>>2]|0))break;c[(c[E>>2]|0)+(c[(c[A>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]=c[F>>2];c[(c[C>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[A>>2]|0)+(c[z>>2]<<2)>>2];h[(c[r>>2]|0)+(c[F>>2]<<1<<3)>>3]=+h[(c[l>>2]|0)+(c[z>>2]<<1<<3)>>3];h[(c[r>>2]|0)+((c[F>>2]<<1)+1<<3)>>3]=+h[(c[l>>2]|0)+((c[z>>2]<<1)+1<<3)>>3];c[F>>2]=(c[F>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=c[(c[x>>2]|0)+(c[v>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[x>>2]|0)+((c[v>>2]|0)+1<<2)>>2]|0))break;d=c[z>>2]|0;if((c[(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[y>>2]|0)+(c[v>>2]<<2)>>2]|0)){c[(c[C>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[B>>2]|0)+(d<<2)>>2];h[(c[r>>2]|0)+(c[F>>2]<<1<<3)>>3]=+h[(c[o>>2]|0)+(c[z>>2]<<1<<3)>>3];h[(c[r>>2]|0)+((c[F>>2]<<1)+1<<3)>>3]=+h[(c[o>>2]|0)+((c[z>>2]<<1)+1<<3)>>3];c[F>>2]=(c[F>>2]|0)+1}else{s=(c[r>>2]|0)+(c[(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]<<1<<3)|0;h[s>>3]=+h[s>>3]+ +h[(c[o>>2]|0)+(d<<1<<3)>>3];s=(c[r>>2]|0)+((c[(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]<<1)+1<<3)|0;h[s>>3]=+h[s>>3]+ +h[(c[o>>2]|0)+((c[z>>2]<<1)+1<<3)>>3]}c[z>>2]=(c[z>>2]|0)+1}c[(c[y>>2]|0)+((c[v>>2]|0)+1<<2)>>2]=c[F>>2];c[v>>2]=(c[v>>2]|0)+1}}case 4:{c[m>>2]=c[(c[d>>2]|0)+28>>2];c[p>>2]=c[(c[e>>2]|0)+28>>2];c[s>>2]=c[(c[u>>2]|0)+28>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[D>>2]|0))break a;c[z>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[w>>2]|0)+((c[v>>2]|0)+1<<2)>>2]|0))break;c[(c[E>>2]|0)+(c[(c[A>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]=c[F>>2];c[(c[C>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[A>>2]|0)+(c[z>>2]<<2)>>2];c[(c[s>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[z>>2]<<2)>>2];c[F>>2]=(c[F>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=c[(c[x>>2]|0)+(c[v>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[x>>2]|0)+((c[v>>2]|0)+1<<2)>>2]|0))break;d=c[z>>2]|0;if((c[(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[y>>2]|0)+(c[v>>2]<<2)>>2]|0)){c[(c[C>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[B>>2]|0)+(d<<2)>>2];c[(c[s>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[z>>2]<<2)>>2];c[F>>2]=(c[F>>2]|0)+1}else{r=(c[s>>2]|0)+(c[(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]<<2)|0;c[r>>2]=(c[r>>2]|0)+(c[(c[p>>2]|0)+(d<<2)>>2]|0)}c[z>>2]=(c[z>>2]|0)+1}c[(c[y>>2]|0)+((c[v>>2]|0)+1<<2)>>2]=c[F>>2];c[v>>2]=(c[v>>2]|0)+1}}case 8:{c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[D>>2]|0))break a;c[z>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[w>>2]|0)+((c[v>>2]|0)+1<<2)>>2]|0))break;c[(c[E>>2]|0)+(c[(c[A>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]=c[F>>2];c[(c[C>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[A>>2]|0)+(c[z>>2]<<2)>>2];c[F>>2]=(c[F>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=c[(c[x>>2]|0)+(c[v>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[x>>2]|0)+((c[v>>2]|0)+1<<2)>>2]|0))break;if((c[(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[y>>2]|0)+(c[v>>2]<<2)>>2]|0)){c[(c[C>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[B>>2]|0)+(c[z>>2]<<2)>>2];c[F>>2]=(c[F>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}c[(c[y>>2]|0)+((c[v>>2]|0)+1<<2)>>2]=c[F>>2];c[v>>2]=(c[v>>2]|0)+1}}default:{}}while(0);c[(c[u>>2]|0)+8>>2]=c[F>>2]}if(c[E>>2]|0)B1(c[E>>2]|0);c[t>>2]=c[u>>2];F=c[t>>2]|0;i=G;return F|0}c[t>>2]=0;F=c[t>>2]|0;i=G;return F|0}function iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;b=(fw(c[e>>2]|0,c[h>>2]|0)|0)!=0;a=c[e>>2]|0;if(b){c[f>>2]=gw(a)|0;c[d>>2]=jw(c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}c[f>>2]=bw(a)|0;if(c[f>>2]|0){c[e>>2]=hw(c[e>>2]|0,c[f>>2]|0)|0;cw(c[f>>2]|0);c[(c[e>>2]|0)+36>>2]=c[(c[e>>2]|0)+36>>2]|2;c[(c[e>>2]|0)+36>>2]=c[(c[e>>2]|0)+36>>2]|1;c[d>>2]=jw(c[e>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=0;h=c[d>>2]|0;i=g;return h|0}return 0}function jw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();b=q+40|0;d=q+36|0;k=q+32|0;m=q+28|0;l=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;e=q+8|0;f=q+4|0;g=q;c[d>>2]=a;if(!(c[d>>2]|0)){c[b>>2]=c[d>>2];p=c[b>>2]|0;i=q;return p|0}c[o>>2]=0;c[l>>2]=c[(c[d>>2]|0)+20>>2];c[n>>2]=c[(c[d>>2]|0)+24>>2];c[p>>2]=c[c[l>>2]>>2];switch(c[(c[d>>2]|0)+16>>2]|0){case 1:{c[e>>2]=c[(c[d>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[d>>2]>>2]|0))break;c[m>>2]=c[p>>2];while(1){if((c[m>>2]|0)>=(c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0))break;if((c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0)!=(c[k>>2]|0)){c[(c[n>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];r=+h[(c[e>>2]|0)+(c[m>>2]<<3)>>3];g=c[o>>2]|0;c[o>>2]=g+1;h[(c[e>>2]|0)+(g<<3)>>3]=r}c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2];c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[o>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[d>>2]|0)+8>>2]=c[o>>2];break}case 2:{c[f>>2]=c[(c[d>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[d>>2]>>2]|0))break;c[m>>2]=c[p>>2];while(1){if((c[m>>2]|0)>=(c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0))break;if((c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0)!=(c[k>>2]|0)){c[(c[n>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];h[(c[f>>2]|0)+(c[o>>2]<<1<<3)>>3]=+h[(c[f>>2]|0)+(c[m>>2]<<1<<3)>>3];h[(c[f>>2]|0)+((c[o>>2]<<1)+1<<3)>>3]=+h[(c[f>>2]|0)+((c[m>>2]<<1)+1<<3)>>3];c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2];c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[o>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[d>>2]|0)+8>>2]=c[o>>2];break}case 4:{c[g>>2]=c[(c[d>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[d>>2]>>2]|0))break;c[m>>2]=c[p>>2];while(1){if((c[m>>2]|0)>=(c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0))break;if((c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0)!=(c[k>>2]|0)){c[(c[n>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];e=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]|0;f=c[o>>2]|0;c[o>>2]=f+1;c[(c[g>>2]|0)+(f<<2)>>2]=e}c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2];c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[o>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[d>>2]|0)+8>>2]=c[o>>2];break}case 8:{c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[d>>2]>>2]|0))break;c[m>>2]=c[p>>2];while(1){if((c[m>>2]|0)>=(c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0))break;if((c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0)!=(c[k>>2]|0)){f=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0;g=c[o>>2]|0;c[o>>2]=g+1;c[(c[n>>2]|0)+(g<<2)>>2]=f}c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2];c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[o>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[d>>2]|0)+8>>2]=c[o>>2];break}case 16:{c[b>>2]=0;p=c[b>>2]|0;i=q;return p|0}default:{c[b>>2]=0;p=c[b>>2]|0;i=q;return p|0}}c[b>>2]=c[d>>2];p=c[b>>2]|0;i=q;return p|0}function kw(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();q=l+24|0;p=l+20|0;h=l+16|0;o=l+12|0;n=l+8|0;m=l+4|0;k=l;c[q>>2]=a;c[p>>2]=b;c[h>>2]=d;c[o>>2]=e;c[n>>2]=f;c[m>>2]=g;c[k>>2]=Aw(c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;if((c[h>>2]|0)<=0){q=c[k>>2]|0;i=l;return q|0}c[k>>2]=Bw(c[k>>2]|0,c[h>>2]|0)|0;q=c[k>>2]|0;i=l;return q|0}function lw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+28>>2];if((c[(c[d>>2]|0)+32>>2]|0)!=2)db(132329,132172,802,132355);if((c[(c[d>>2]|0)+32>>2]|0)!=2){c[b>>2]=0;g=c[b>>2]|0;i=h;return g|0}else{c[f>>2]=c[(c[d>>2]|0)+20>>2];c[g>>2]=c[(c[d>>2]|0)+24>>2];c[b>>2]=mw(c[(c[d>>2]|0)+8>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0,c[e>>2]|0,c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+40>>2]|0)|0;g=c[b>>2]|0;i=h;return g|0}return 0}function mw(a,b,d,e,f,g,h,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();t=l+28|0;s=l+24|0;r=l+20|0;q=l+16|0;p=l+12|0;o=l+8|0;n=l+4|0;m=l;c[t>>2]=a;c[s>>2]=b;c[r>>2]=d;c[q>>2]=e;c[p>>2]=f;c[o>>2]=g;c[n>>2]=h;c[m>>2]=k;g=Cw(c[t>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,1)|0;i=l;return g|0}function nw(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 k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();r=k+24|0;n=k+20|0;q=k+16|0;l=k+12|0;p=k+8|0;m=k+4|0;o=k;c[r>>2]=a;c[n>>2]=b;c[q>>2]=d;c[l>>2]=e;c[p>>2]=f;c[m>>2]=g;c[o>>2]=h;a=c[r>>2]|0;d=c[q>>2]|0;g=c[p>>2]|0;f=c[o>>2]|0;h=c[n>>2]|0;b=c[m>>2]|0;if(c[l>>2]|0){Ew(a,d,g,f,h,b);i=k;return}else{Dw(a,d,g,f,h,b);i=k;return}}function ow(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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;v=i;i=i+64|0;if((i|0)>=(j|0))ba();g=v+48|0;m=v+44|0;n=v+40|0;f=v+36|0;o=v+32|0;q=v+28|0;p=v+24|0;r=v+20|0;t=v+16|0;s=v+12|0;k=v+8|0;u=v+4|0;l=v;c[g>>2]=a;c[m>>2]=b;c[n>>2]=d;c[f>>2]=e;c[u>>2]=0;if((c[(c[g>>2]|0)+32>>2]|0)!=1)db(132148,132172,1221,132391);if((c[(c[g>>2]|0)+16>>2]|0)!=1?(c[(c[g>>2]|0)+16>>2]|0)!=4:0)db(132420,132172,1222,132391);c[p>>2]=c[(c[g>>2]|0)+20>>2];c[r>>2]=c[(c[g>>2]|0)+24>>2];c[s>>2]=c[c[g>>2]>>2];c[t>>2]=c[(c[g>>2]|0)+4>>2];c[u>>2]=c[c[n>>2]>>2];switch(c[(c[g>>2]|0)+16>>2]|0){case 1:{c[k>>2]=c[(c[g>>2]|0)+28>>2];g=(c[f>>2]|0)!=0;f=(c[u>>2]|0)!=0;if(c[m>>2]|0){if(!g){if(!f)c[u>>2]=rK(c[s>>2]<<3)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;h[(c[u>>2]|0)+(c[o>>2]<<3)>>3]=0.0;c[q>>2]=c[(c[p>>2]|0)+(c[o>>2]<<2)>>2];while(1){if((c[q>>2]|0)>=(c[(c[p>>2]|0)+((c[o>>2]|0)+1<<2)>>2]|0))break;t=(c[u>>2]|0)+(c[o>>2]<<3)|0;h[t>>3]=+h[t>>3]+ +h[(c[k>>2]|0)+(c[q>>2]<<3)>>3]*+h[(c[m>>2]|0)+(c[(c[r>>2]|0)+(c[q>>2]<<2)>>2]<<3)>>3];c[q>>2]=(c[q>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}t=c[u>>2]|0;u=c[n>>2]|0;c[u>>2]=t;i=v;return}if(!f)c[u>>2]=rK(c[t>>2]<<3)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[t>>2]|0))break;h[(c[u>>2]|0)+(c[o>>2]<<3)>>3]=0.0;c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[q>>2]=c[(c[p>>2]|0)+(c[o>>2]<<2)>>2];while(1){if((c[q>>2]|0)>=(c[(c[p>>2]|0)+((c[o>>2]|0)+1<<2)>>2]|0))break;t=(c[u>>2]|0)+(c[(c[r>>2]|0)+(c[q>>2]<<2)>>2]<<3)|0;h[t>>3]=+h[t>>3]+ +h[(c[k>>2]|0)+(c[q>>2]<<3)>>3]*+h[(c[m>>2]|0)+(c[o>>2]<<3)>>3];c[q>>2]=(c[q>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}t=c[u>>2]|0;u=c[n>>2]|0;c[u>>2]=t;i=v;return}else{if(!g){if(!f)c[u>>2]=rK(c[s>>2]<<3)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;h[(c[u>>2]|0)+(c[o>>2]<<3)>>3]=0.0;c[q>>2]=c[(c[p>>2]|0)+(c[o>>2]<<2)>>2];while(1){if((c[q>>2]|0)>=(c[(c[p>>2]|0)+((c[o>>2]|0)+1<<2)>>2]|0))break;t=(c[u>>2]|0)+(c[o>>2]<<3)|0;h[t>>3]=+h[t>>3]+ +h[(c[k>>2]|0)+(c[q>>2]<<3)>>3];c[q>>2]=(c[q>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}t=c[u>>2]|0;u=c[n>>2]|0;c[u>>2]=t;i=v;return}if(!f)c[u>>2]=rK(c[t>>2]<<3)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[t>>2]|0))break;h[(c[u>>2]|0)+(c[o>>2]<<3)>>3]=0.0;c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[q>>2]=c[(c[p>>2]|0)+(c[o>>2]<<2)>>2];while(1){if((c[q>>2]|0)>=(c[(c[p>>2]|0)+((c[o>>2]|0)+1<<2)>>2]|0))break;t=(c[u>>2]|0)+(c[(c[r>>2]|0)+(c[q>>2]<<2)>>2]<<3)|0;h[t>>3]=+h[t>>3]+ +h[(c[k>>2]|0)+(c[q>>2]<<3)>>3];c[q>>2]=(c[q>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}t=c[u>>2]|0;u=c[n>>2]|0;c[u>>2]=t;i=v;return}}case 4:{c[l>>2]=c[(c[g>>2]|0)+28>>2];f=(c[f>>2]|0)!=0;g=(c[u>>2]|0)!=0;if(c[m>>2]|0){if(!f){if(!g)c[u>>2]=rK(c[s>>2]<<3)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;h[(c[u>>2]|0)+(c[o>>2]<<3)>>3]=0.0;c[q>>2]=c[(c[p>>2]|0)+(c[o>>2]<<2)>>2];while(1){if((c[q>>2]|0)>=(c[(c[p>>2]|0)+((c[o>>2]|0)+1<<2)>>2]|0))break;t=(c[u>>2]|0)+(c[o>>2]<<3)|0;h[t>>3]=+h[t>>3]+ +(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)*+h[(c[m>>2]|0)+(c[(c[r>>2]|0)+(c[q>>2]<<2)>>2]<<3)>>3];c[q>>2]=(c[q>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}t=c[u>>2]|0;u=c[n>>2]|0;c[u>>2]=t;i=v;return}if(!g)c[u>>2]=rK(c[t>>2]<<3)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[t>>2]|0))break;h[(c[u>>2]|0)+(c[o>>2]<<3)>>3]=0.0;c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[q>>2]=c[(c[p>>2]|0)+(c[o>>2]<<2)>>2];while(1){if((c[q>>2]|0)>=(c[(c[p>>2]|0)+((c[o>>2]|0)+1<<2)>>2]|0))break;t=(c[u>>2]|0)+(c[(c[r>>2]|0)+(c[q>>2]<<2)>>2]<<3)|0;h[t>>3]=+h[t>>3]+ +(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)*+h[(c[m>>2]|0)+(c[o>>2]<<3)>>3];c[q>>2]=(c[q>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}t=c[u>>2]|0;u=c[n>>2]|0;c[u>>2]=t;i=v;return}else{if(!f){if(!g)c[u>>2]=rK(c[s>>2]<<3)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;h[(c[u>>2]|0)+(c[o>>2]<<3)>>3]=0.0;c[q>>2]=c[(c[p>>2]|0)+(c[o>>2]<<2)>>2];while(1){if((c[q>>2]|0)>=(c[(c[p>>2]|0)+((c[o>>2]|0)+1<<2)>>2]|0))break;t=(c[u>>2]|0)+(c[o>>2]<<3)|0;h[t>>3]=+h[t>>3]+ +(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}t=c[u>>2]|0;u=c[n>>2]|0;c[u>>2]=t;i=v;return}if(!g)c[u>>2]=rK(c[t>>2]<<3)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[t>>2]|0))break;h[(c[u>>2]|0)+(c[o>>2]<<3)>>3]=0.0;c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[q>>2]=c[(c[p>>2]|0)+(c[o>>2]<<2)>>2];while(1){if((c[q>>2]|0)>=(c[(c[p>>2]|0)+((c[o>>2]|0)+1<<2)>>2]|0))break;t=(c[u>>2]|0)+(c[(c[r>>2]|0)+(c[q>>2]<<2)>>2]<<3)|0;h[t>>3]=+h[t>>3]+ +(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}t=c[u>>2]|0;u=c[n>>2]|0;c[u>>2]=t;i=v;return}}default:db(176179,132172,1314,132391)}}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=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;I=i;i=i+112|0;if((i|0)>=(j|0))ba();d=I+104|0;e=I+100|0;f=I+96|0;D=I+92|0;g=I+88|0;E=I+84|0;u=I+80|0;y=I+76|0;v=I+72|0;z=I+68|0;w=I+64|0;A=I+60|0;t=I+56|0;x=I+52|0;C=I+48|0;B=I+44|0;G=I+40|0;F=I+36|0;k=I+32|0;n=I+28|0;q=I+24|0;l=I+20|0;o=I+16|0;r=I+12|0;m=I+8|0;p=I+4|0;s=I;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[E>>2]=0;c[u>>2]=c[(c[e>>2]|0)+20>>2];c[y>>2]=c[(c[e>>2]|0)+24>>2];c[v>>2]=c[(c[f>>2]|0)+20>>2];c[z>>2]=c[(c[f>>2]|0)+24>>2];if((c[(c[e>>2]|0)+32>>2]|0)!=(c[(c[f>>2]|0)+32>>2]|0))db(132260,132172,1407,132510);if((c[(c[e>>2]|0)+32>>2]|0)!=1)db(132260,132172,1407,132510);c[D>>2]=c[c[e>>2]>>2];if((c[(c[e>>2]|0)+4>>2]|0)!=(c[c[f>>2]>>2]|0)){c[d>>2]=0;H=c[d>>2]|0;i=I;return H|0}if((c[(c[e>>2]|0)+16>>2]|0)!=(c[(c[f>>2]|0)+16>>2]|0)){c[d>>2]=0;H=c[d>>2]|0;i=I;return H|0}c[G>>2]=c[(c[e>>2]|0)+16>>2];c[E>>2]=rK(c[(c[f>>2]|0)+4>>2]<<2)|0;if(!(c[E>>2]|0)){c[d>>2]=0;H=c[d>>2]|0;i=I;return H|0}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[(c[E>>2]|0)+(c[t>>2]<<2)>>2]=-1;c[t>>2]=(c[t>>2]|0)+1}c[F>>2]=0;c[t>>2]=0;a:while(1){if((c[t>>2]|0)>=(c[D>>2]|0))break;c[x>>2]=c[(c[u>>2]|0)+(c[t>>2]<<2)>>2];while(1){if((c[x>>2]|0)>=(c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0))break;c[B>>2]=c[(c[y>>2]|0)+(c[x>>2]<<2)>>2];c[C>>2]=c[(c[v>>2]|0)+(c[B>>2]<<2)>>2];while(1){if((c[C>>2]|0)>=(c[(c[v>>2]|0)+((c[B>>2]|0)+1<<2)>>2]|0))break;if((c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]|0)!=(0-(c[t>>2]|0)-2|0)){if(((c[F>>2]|0)+1|0)<=(c[F>>2]|0)){H=21;break a}c[F>>2]=(c[F>>2]|0)+1;c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]=0-(c[t>>2]|0)-2}c[C>>2]=(c[C>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}if((H|0)==21){c[d>>2]=0;H=c[d>>2]|0;i=I;return H|0}c[g>>2]=ew(c[D>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[F>>2]|0,c[G>>2]|0,1)|0;b:do if(c[g>>2]|0){c[w>>2]=c[(c[g>>2]|0)+20>>2];c[A>>2]=c[(c[g>>2]|0)+24>>2];c[F>>2]=0;c:do switch(c[G>>2]|0){case 1:{c[k>>2]=c[(c[e>>2]|0)+28>>2];c[n>>2]=c[(c[f>>2]|0)+28>>2];c[q>>2]=c[(c[g>>2]|0)+28>>2];c[c[w>>2]>>2]=0;c[t>>2]=0;d:while(1){if((c[t>>2]|0)>=(c[D>>2]|0))break c;c[x>>2]=c[(c[u>>2]|0)+(c[t>>2]<<2)>>2];while(1){if((c[x>>2]|0)>=(c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0))break;c[B>>2]=c[(c[y>>2]|0)+(c[x>>2]<<2)>>2];c[C>>2]=c[(c[v>>2]|0)+(c[B>>2]<<2)>>2];while(1){if((c[C>>2]|0)>=(c[(c[v>>2]|0)+((c[B>>2]|0)+1<<2)>>2]|0))break;if((c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[w>>2]|0)+(c[t>>2]<<2)>>2]|0)){c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]=c[F>>2];c[(c[A>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[z>>2]|0)+(c[C>>2]<<2)>>2];h[(c[q>>2]|0)+(c[F>>2]<<3)>>3]=+h[(c[k>>2]|0)+(c[x>>2]<<3)>>3]*+h[(c[n>>2]|0)+(c[C>>2]<<3)>>3];c[F>>2]=(c[F>>2]|0)+1}else{if((c[(c[A>>2]|0)+(c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]<<2)>>2]|0)!=(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]|0))break d;H=(c[q>>2]|0)+(c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]<<3)|0;h[H>>3]=+h[H>>3]+ +h[(c[k>>2]|0)+(c[x>>2]<<3)>>3]*+h[(c[n>>2]|0)+(c[C>>2]<<3)>>3]}c[C>>2]=(c[C>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}c[(c[w>>2]|0)+((c[t>>2]|0)+1<<2)>>2]=c[F>>2];c[t>>2]=(c[t>>2]|0)+1}db(132532,132172,1467,132510);break}case 2:{c[l>>2]=c[(c[e>>2]|0)+28>>2];c[o>>2]=c[(c[f>>2]|0)+28>>2];c[r>>2]=c[(c[g>>2]|0)+28>>2];c[l>>2]=c[(c[e>>2]|0)+28>>2];c[o>>2]=c[(c[f>>2]|0)+28>>2];c[r>>2]=c[(c[g>>2]|0)+28>>2];c[c[w>>2]>>2]=0;c[t>>2]=0;e:while(1){if((c[t>>2]|0)>=(c[D>>2]|0))break c;c[x>>2]=c[(c[u>>2]|0)+(c[t>>2]<<2)>>2];while(1){if((c[x>>2]|0)>=(c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0))break;c[B>>2]=c[(c[y>>2]|0)+(c[x>>2]<<2)>>2];c[C>>2]=c[(c[v>>2]|0)+(c[B>>2]<<2)>>2];while(1){if((c[C>>2]|0)>=(c[(c[v>>2]|0)+((c[B>>2]|0)+1<<2)>>2]|0))break;if((c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[w>>2]|0)+(c[t>>2]<<2)>>2]|0)){c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]=c[F>>2];c[(c[A>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[z>>2]|0)+(c[C>>2]<<2)>>2];h[(c[r>>2]|0)+(c[F>>2]<<1<<3)>>3]=+h[(c[l>>2]|0)+(c[x>>2]<<1<<3)>>3]*+h[(c[o>>2]|0)+(c[C>>2]<<1<<3)>>3]-+h[(c[l>>2]|0)+((c[x>>2]<<1)+1<<3)>>3]*+h[(c[o>>2]|0)+((c[C>>2]<<1)+1<<3)>>3];h[(c[r>>2]|0)+((c[F>>2]<<1)+1<<3)>>3]=+h[(c[l>>2]|0)+(c[x>>2]<<1<<3)>>3]*+h[(c[o>>2]|0)+((c[C>>2]<<1)+1<<3)>>3]+ +h[(c[l>>2]|0)+((c[x>>2]<<1)+1<<3)>>3]*+h[(c[o>>2]|0)+(c[C>>2]<<1<<3)>>3];c[F>>2]=(c[F>>2]|0)+1}else{if((c[(c[A>>2]|0)+(c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]<<2)>>2]|0)!=(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]|0))break e;H=(c[r>>2]|0)+(c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]<<1<<3)|0;h[H>>3]=+h[H>>3]+(+h[(c[l>>2]|0)+(c[x>>2]<<1<<3)>>3]*+h[(c[o>>2]|0)+(c[C>>2]<<1<<3)>>3]-+h[(c[l>>2]|0)+((c[x>>2]<<1)+1<<3)>>3]*+h[(c[o>>2]|0)+((c[C>>2]<<1)+1<<3)>>3]);H=(c[r>>2]|0)+((c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]<<1)+1<<3)|0;h[H>>3]=+h[H>>3]+(+h[(c[l>>2]|0)+(c[x>>2]<<1<<3)>>3]*+h[(c[o>>2]|0)+((c[C>>2]<<1)+1<<3)>>3]+ +h[(c[l>>2]|0)+((c[x>>2]<<1)+1<<3)>>3]*+h[(c[o>>2]|0)+(c[C>>2]<<1<<3)>>3])}c[C>>2]=(c[C>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}c[(c[w>>2]|0)+((c[t>>2]|0)+1<<2)>>2]=c[F>>2];c[t>>2]=(c[t>>2]|0)+1}db(132532,132172,1496,132510);break}case 4:{c[m>>2]=c[(c[e>>2]|0)+28>>2];c[p>>2]=c[(c[f>>2]|0)+28>>2];c[s>>2]=c[(c[g>>2]|0)+28>>2];c[c[w>>2]>>2]=0;c[t>>2]=0;f:while(1){if((c[t>>2]|0)>=(c[D>>2]|0))break c;c[x>>2]=c[(c[u>>2]|0)+(c[t>>2]<<2)>>2];while(1){if((c[x>>2]|0)>=(c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0))break;c[B>>2]=c[(c[y>>2]|0)+(c[x>>2]<<2)>>2];c[C>>2]=c[(c[v>>2]|0)+(c[B>>2]<<2)>>2];while(1){if((c[C>>2]|0)>=(c[(c[v>>2]|0)+((c[B>>2]|0)+1<<2)>>2]|0))break;if((c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[w>>2]|0)+(c[t>>2]<<2)>>2]|0)){c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]=c[F>>2];c[(c[A>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[z>>2]|0)+(c[C>>2]<<2)>>2];H=_(c[(c[m>>2]|0)+(c[x>>2]<<2)>>2]|0,c[(c[p>>2]|0)+(c[C>>2]<<2)>>2]|0)|0;c[(c[s>>2]|0)+(c[F>>2]<<2)>>2]=H;c[F>>2]=(c[F>>2]|0)+1}else{if((c[(c[A>>2]|0)+(c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]<<2)>>2]|0)!=(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]|0))break f;G=_(c[(c[m>>2]|0)+(c[x>>2]<<2)>>2]|0,c[(c[p>>2]|0)+(c[C>>2]<<2)>>2]|0)|0;H=(c[s>>2]|0)+(c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]<<2)|0;c[H>>2]=(c[H>>2]|0)+G}c[C>>2]=(c[C>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}c[(c[w>>2]|0)+((c[t>>2]|0)+1<<2)>>2]=c[F>>2];c[t>>2]=(c[t>>2]|0)+1}db(132532,132172,1522,132510);break}case 8:{c[c[w>>2]>>2]=0;c[t>>2]=0;g:while(1){if((c[t>>2]|0)>=(c[D>>2]|0))break c;c[x>>2]=c[(c[u>>2]|0)+(c[t>>2]<<2)>>2];while(1){if((c[x>>2]|0)>=(c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0))break;c[B>>2]=c[(c[y>>2]|0)+(c[x>>2]<<2)>>2];c[C>>2]=c[(c[v>>2]|0)+(c[B>>2]<<2)>>2];while(1){if((c[C>>2]|0)>=(c[(c[v>>2]|0)+((c[B>>2]|0)+1<<2)>>2]|0))break;if((c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]|0)>=(c[(c[w>>2]|0)+(c[t>>2]<<2)>>2]|0)){if((c[(c[A>>2]|0)+(c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]<<2)>>2]|0)!=(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]|0))break g}else{c[(c[E>>2]|0)+(c[(c[z>>2]|0)+(c[C>>2]<<2)>>2]<<2)>>2]=c[F>>2];c[(c[A>>2]|0)+(c[F>>2]<<2)>>2]=c[(c[z>>2]|0)+(c[C>>2]<<2)>>2];c[F>>2]=(c[F>>2]|0)+1}c[C>>2]=(c[C>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}c[(c[w>>2]|0)+((c[t>>2]|0)+1<<2)>>2]=c[F>>2];c[t>>2]=(c[t>>2]|0)+1}db(132532,132172,1542,132510);break}default:{cw(c[g>>2]|0);c[g>>2]=0;break b}}while(0);c[(c[g>>2]|0)+8>>2]=c[F>>2]}while(0);B1(c[E>>2]|0);c[d>>2]=c[g>>2];H=c[d>>2]|0;i=I;return H|0}function qw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=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;R=i;i=i+144|0;if((i|0)>=(j|0))ba();e=R+136|0;f=R+132|0;g=R+128|0;k=R+124|0;M=R+120|0;l=R+116|0;N=R+112|0;z=R+108|0;E=R+104|0;A=R+100|0;F=R+96|0;B=R+92|0;G=R+88|0;C=R+84|0;H=R+80|0;y=R+76|0;D=R+72|0;J=R+68|0;K=R+64|0;L=R+60|0;I=R+56|0;P=R+52|0;O=R+48|0;m=R+44|0;p=R+40|0;s=R+36|0;v=R+32|0;n=R+28|0;q=R+24|0;t=R+20|0;w=R+16|0;o=R+12|0;r=R+8|0;u=R+4|0;x=R;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=0;c[N>>2]=0;c[z>>2]=c[(c[f>>2]|0)+20>>2];c[E>>2]=c[(c[f>>2]|0)+24>>2];c[A>>2]=c[(c[g>>2]|0)+20>>2];c[F>>2]=c[(c[g>>2]|0)+24>>2];c[B>>2]=c[(c[k>>2]|0)+20>>2];c[G>>2]=c[(c[k>>2]|0)+24>>2];if((c[(c[f>>2]|0)+32>>2]|0)!=(c[(c[g>>2]|0)+32>>2]|0))db(132260,132172,1573,132557);if((c[(c[f>>2]|0)+32>>2]|0)!=1)db(132260,132172,1573,132557);c[M>>2]=c[c[f>>2]>>2];if((c[(c[f>>2]|0)+4>>2]|0)!=(c[c[g>>2]>>2]|0)){c[e>>2]=0;Q=c[e>>2]|0;i=R;return Q|0}if((c[(c[g>>2]|0)+4>>2]|0)!=(c[c[k>>2]>>2]|0)){c[e>>2]=0;Q=c[e>>2]|0;i=R;return Q|0}if((c[(c[f>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+16>>2]|0)?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[k>>2]|0)+16>>2]|0):0){c[P>>2]=c[(c[f>>2]|0)+16>>2];c[N>>2]=rK(c[(c[k>>2]|0)+4>>2]<<2)|0;if(!(c[N>>2]|0)){c[e>>2]=0;Q=c[e>>2]|0;i=R;return Q|0}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[(c[k>>2]|0)+4>>2]|0))break;c[(c[N>>2]|0)+(c[y>>2]<<2)>>2]=-1;c[y>>2]=(c[y>>2]|0)+1}c[O>>2]=0;c[y>>2]=0;a:while(1){if((c[y>>2]|0)>=(c[M>>2]|0))break;c[D>>2]=c[(c[z>>2]|0)+(c[y>>2]<<2)>>2];while(1){if((c[D>>2]|0)>=(c[(c[z>>2]|0)+((c[y>>2]|0)+1<<2)>>2]|0))break;c[I>>2]=c[(c[E>>2]|0)+(c[D>>2]<<2)>>2];c[K>>2]=c[(c[A>>2]|0)+(c[I>>2]<<2)>>2];while(1){if((c[K>>2]|0)>=(c[(c[A>>2]|0)+((c[I>>2]|0)+1<<2)>>2]|0))break;c[L>>2]=c[(c[F>>2]|0)+(c[K>>2]<<2)>>2];c[J>>2]=c[(c[B>>2]|0)+(c[L>>2]<<2)>>2];while(1){if((c[J>>2]|0)>=(c[(c[B>>2]|0)+((c[L>>2]|0)+1<<2)>>2]|0))break;if((c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]|0)!=(0-(c[y>>2]|0)-2|0)){if(((c[O>>2]|0)+1|0)<=(c[O>>2]|0)){Q=26;break a}c[O>>2]=(c[O>>2]|0)+1;c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]=0-(c[y>>2]|0)-2}c[J>>2]=(c[J>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}if((Q|0)==26){c[e>>2]=0;Q=c[e>>2]|0;i=R;return Q|0}c[l>>2]=ew(c[M>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[O>>2]|0,c[P>>2]|0,1)|0;b:do if(c[l>>2]|0){c[C>>2]=c[(c[l>>2]|0)+20>>2];c[H>>2]=c[(c[l>>2]|0)+24>>2];c[O>>2]=0;c:do switch(c[P>>2]|0){case 1:{c[m>>2]=c[(c[f>>2]|0)+28>>2];c[p>>2]=c[(c[g>>2]|0)+28>>2];c[s>>2]=c[(c[k>>2]|0)+28>>2];c[v>>2]=c[(c[l>>2]|0)+28>>2];c[c[C>>2]>>2]=0;c[y>>2]=0;d:while(1){if((c[y>>2]|0)>=(c[M>>2]|0))break c;c[D>>2]=c[(c[z>>2]|0)+(c[y>>2]<<2)>>2];while(1){if((c[D>>2]|0)>=(c[(c[z>>2]|0)+((c[y>>2]|0)+1<<2)>>2]|0))break;c[I>>2]=c[(c[E>>2]|0)+(c[D>>2]<<2)>>2];c[K>>2]=c[(c[A>>2]|0)+(c[I>>2]<<2)>>2];while(1){if((c[K>>2]|0)>=(c[(c[A>>2]|0)+((c[I>>2]|0)+1<<2)>>2]|0))break;c[L>>2]=c[(c[F>>2]|0)+(c[K>>2]<<2)>>2];c[J>>2]=c[(c[B>>2]|0)+(c[L>>2]<<2)>>2];while(1){if((c[J>>2]|0)>=(c[(c[B>>2]|0)+((c[L>>2]|0)+1<<2)>>2]|0))break;if((c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[C>>2]|0)+(c[y>>2]<<2)>>2]|0)){c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]=c[O>>2];c[(c[H>>2]|0)+(c[O>>2]<<2)>>2]=c[(c[G>>2]|0)+(c[J>>2]<<2)>>2];h[(c[v>>2]|0)+(c[O>>2]<<3)>>3]=+h[(c[m>>2]|0)+(c[D>>2]<<3)>>3]*+h[(c[p>>2]|0)+(c[K>>2]<<3)>>3]*+h[(c[s>>2]|0)+(c[J>>2]<<3)>>3];c[O>>2]=(c[O>>2]|0)+1}else{if((c[(c[H>>2]|0)+(c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]<<2)>>2]|0)!=(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]|0))break d;Q=(c[v>>2]|0)+(c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]<<3)|0;h[Q>>3]=+h[Q>>3]+ +h[(c[m>>2]|0)+(c[D>>2]<<3)>>3]*+h[(c[p>>2]|0)+(c[K>>2]<<3)>>3]*+h[(c[s>>2]|0)+(c[J>>2]<<3)>>3]}c[J>>2]=(c[J>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+1}c[(c[C>>2]|0)+((c[y>>2]|0)+1<<2)>>2]=c[O>>2];c[y>>2]=(c[y>>2]|0)+1}db(132580,132172,1641,132557);break}case 2:{c[n>>2]=c[(c[f>>2]|0)+28>>2];c[q>>2]=c[(c[g>>2]|0)+28>>2];c[t>>2]=c[(c[k>>2]|0)+28>>2];c[w>>2]=c[(c[l>>2]|0)+28>>2];c[c[C>>2]>>2]=0;c[y>>2]=0;e:while(1){if((c[y>>2]|0)>=(c[M>>2]|0))break c;c[D>>2]=c[(c[z>>2]|0)+(c[y>>2]<<2)>>2];while(1){if((c[D>>2]|0)>=(c[(c[z>>2]|0)+((c[y>>2]|0)+1<<2)>>2]|0))break;c[I>>2]=c[(c[E>>2]|0)+(c[D>>2]<<2)>>2];c[K>>2]=c[(c[A>>2]|0)+(c[I>>2]<<2)>>2];while(1){if((c[K>>2]|0)>=(c[(c[A>>2]|0)+((c[I>>2]|0)+1<<2)>>2]|0))break;c[L>>2]=c[(c[F>>2]|0)+(c[K>>2]<<2)>>2];c[J>>2]=c[(c[B>>2]|0)+(c[L>>2]<<2)>>2];while(1){if((c[J>>2]|0)>=(c[(c[B>>2]|0)+((c[L>>2]|0)+1<<2)>>2]|0))break;if((c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[C>>2]|0)+(c[y>>2]<<2)>>2]|0)){c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]=c[O>>2];c[(c[H>>2]|0)+(c[O>>2]<<2)>>2]=c[(c[G>>2]|0)+(c[J>>2]<<2)>>2];h[(c[w>>2]|0)+(c[O>>2]<<1<<3)>>3]=(+h[(c[n>>2]|0)+(c[D>>2]<<1<<3)>>3]*+h[(c[q>>2]|0)+(c[K>>2]<<1<<3)>>3]-+h[(c[n>>2]|0)+((c[D>>2]<<1)+1<<3)>>3]*+h[(c[q>>2]|0)+((c[K>>2]<<1)+1<<3)>>3])*+h[(c[t>>2]|0)+(c[J>>2]<<1<<3)>>3]-(+h[(c[n>>2]|0)+(c[D>>2]<<1<<3)>>3]*+h[(c[q>>2]|0)+((c[K>>2]<<1)+1<<3)>>3]+ +h[(c[n>>2]|0)+((c[D>>2]<<1)+1<<3)>>3]*+h[(c[q>>2]|0)+(c[K>>2]<<1<<3)>>3])*+h[(c[t>>2]|0)+((c[J>>2]<<1)+1<<3)>>3];h[(c[w>>2]|0)+((c[O>>2]<<1)+1<<3)>>3]=(+h[(c[n>>2]|0)+(c[D>>2]<<1<<3)>>3]*+h[(c[q>>2]|0)+((c[K>>2]<<1)+1<<3)>>3]+ +h[(c[n>>2]|0)+((c[D>>2]<<1)+1<<3)>>3]*+h[(c[q>>2]|0)+(c[K>>2]<<1<<3)>>3])*+h[(c[t>>2]|0)+(c[J>>2]<<1<<3)>>3]+(+h[(c[n>>2]|0)+(c[D>>2]<<1<<3)>>3]*+h[(c[q>>2]|0)+(c[K>>2]<<1<<3)>>3]-+h[(c[n>>2]|0)+((c[D>>2]<<1)+1<<3)>>3]*+h[(c[q>>2]|0)+((c[K>>2]<<1)+1<<3)>>3])*+h[(c[t>>2]|0)+((c[J>>2]<<1)+1<<3)>>3];c[O>>2]=(c[O>>2]|0)+1}else{if((c[(c[H>>2]|0)+(c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]<<2)>>2]|0)!=(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]|0))break e;Q=(c[w>>2]|0)+(c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]<<1<<3)|0;h[Q>>3]=+h[Q>>3]+((+h[(c[n>>2]|0)+(c[D>>2]<<1<<3)>>3]*+h[(c[q>>2]|0)+(c[K>>2]<<1<<3)>>3]-+h[(c[n>>2]|0)+((c[D>>2]<<1)+1<<3)>>3]*+h[(c[q>>2]|0)+((c[K>>2]<<1)+1<<3)>>3])*+h[(c[t>>2]|0)+(c[J>>2]<<1<<3)>>3]-(+h[(c[n>>2]|0)+(c[D>>2]<<1<<3)>>3]*+h[(c[q>>2]|0)+((c[K>>2]<<1)+1<<3)>>3]+ +h[(c[n>>2]|0)+((c[D>>2]<<1)+1<<3)>>3]*+h[(c[q>>2]|0)+(c[K>>2]<<1<<3)>>3])*+h[(c[t>>2]|0)+((c[J>>2]<<1)+1<<3)>>3]);Q=(c[w>>2]|0)+((c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]<<1)+1<<3)|0;h[Q>>3]=+h[Q>>3]+((+h[(c[n>>2]|0)+(c[D>>2]<<1<<3)>>3]*+h[(c[q>>2]|0)+((c[K>>2]<<1)+1<<3)>>3]+ +h[(c[n>>2]|0)+((c[D>>2]<<1)+1<<3)>>3]*+h[(c[q>>2]|0)+(c[K>>2]<<1<<3)>>3])*+h[(c[t>>2]|0)+(c[J>>2]<<1<<3)>>3]+(+h[(c[n>>2]|0)+(c[D>>2]<<1<<3)>>3]*+h[(c[q>>2]|0)+(c[K>>2]<<1<<3)>>3]-+h[(c[n>>2]|0)+((c[D>>2]<<1)+1<<3)>>3]*+h[(c[q>>2]|0)+((c[K>>2]<<1)+1<<3)>>3])*+h[(c[t>>2]|0)+((c[J>>2]<<1)+1<<3)>>3])}c[J>>2]=(c[J>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+1}c[(c[C>>2]|0)+((c[y>>2]|0)+1<<2)>>2]=c[O>>2];c[y>>2]=(c[y>>2]|0)+1}db(132580,132172,1673,132557);break}case 4:{c[o>>2]=c[(c[f>>2]|0)+28>>2];c[r>>2]=c[(c[g>>2]|0)+28>>2];c[u>>2]=c[(c[k>>2]|0)+28>>2];c[x>>2]=c[(c[l>>2]|0)+28>>2];c[c[C>>2]>>2]=0;c[y>>2]=0;f:while(1){if((c[y>>2]|0)>=(c[M>>2]|0))break c;c[D>>2]=c[(c[z>>2]|0)+(c[y>>2]<<2)>>2];while(1){if((c[D>>2]|0)>=(c[(c[z>>2]|0)+((c[y>>2]|0)+1<<2)>>2]|0))break;c[I>>2]=c[(c[E>>2]|0)+(c[D>>2]<<2)>>2];c[K>>2]=c[(c[A>>2]|0)+(c[I>>2]<<2)>>2];while(1){if((c[K>>2]|0)>=(c[(c[A>>2]|0)+((c[I>>2]|0)+1<<2)>>2]|0))break;c[L>>2]=c[(c[F>>2]|0)+(c[K>>2]<<2)>>2];c[J>>2]=c[(c[B>>2]|0)+(c[L>>2]<<2)>>2];while(1){if((c[J>>2]|0)>=(c[(c[B>>2]|0)+((c[L>>2]|0)+1<<2)>>2]|0))break;if((c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[C>>2]|0)+(c[y>>2]<<2)>>2]|0)){c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]=c[O>>2];c[(c[H>>2]|0)+(c[O>>2]<<2)>>2]=c[(c[G>>2]|0)+(c[J>>2]<<2)>>2];P=_(c[(c[o>>2]|0)+(c[D>>2]<<2)>>2]|0,c[(c[r>>2]|0)+(c[K>>2]<<2)>>2]|0)|0;P=_(P,c[(c[u>>2]|0)+(c[J>>2]<<2)>>2]|0)|0;Q=(c[x>>2]|0)+(c[O>>2]<<2)|0;c[Q>>2]=(c[Q>>2]|0)+P;c[O>>2]=(c[O>>2]|0)+1}else{if((c[(c[H>>2]|0)+(c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]<<2)>>2]|0)!=(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]|0))break f;P=_(c[(c[o>>2]|0)+(c[D>>2]<<2)>>2]|0,c[(c[r>>2]|0)+(c[K>>2]<<2)>>2]|0)|0;P=_(P,c[(c[u>>2]|0)+(c[J>>2]<<2)>>2]|0)|0;Q=(c[x>>2]|0)+(c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]<<2)|0;c[Q>>2]=(c[Q>>2]|0)+P}c[J>>2]=(c[J>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+1}c[(c[C>>2]|0)+((c[y>>2]|0)+1<<2)>>2]=c[O>>2];c[y>>2]=(c[y>>2]|0)+1}db(132580,132172,1705,132557);break}case 8:{c[c[C>>2]>>2]=0;c[y>>2]=0;g:while(1){if((c[y>>2]|0)>=(c[M>>2]|0))break c;c[D>>2]=c[(c[z>>2]|0)+(c[y>>2]<<2)>>2];while(1){if((c[D>>2]|0)>=(c[(c[z>>2]|0)+((c[y>>2]|0)+1<<2)>>2]|0))break;c[I>>2]=c[(c[E>>2]|0)+(c[D>>2]<<2)>>2];c[K>>2]=c[(c[A>>2]|0)+(c[I>>2]<<2)>>2];while(1){if((c[K>>2]|0)>=(c[(c[A>>2]|0)+((c[I>>2]|0)+1<<2)>>2]|0))break;c[L>>2]=c[(c[F>>2]|0)+(c[K>>2]<<2)>>2];c[J>>2]=c[(c[B>>2]|0)+(c[L>>2]<<2)>>2];while(1){if((c[J>>2]|0)>=(c[(c[B>>2]|0)+((c[L>>2]|0)+1<<2)>>2]|0))break;if((c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]|0)>=(c[(c[C>>2]|0)+(c[y>>2]<<2)>>2]|0)){if((c[(c[H>>2]|0)+(c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]<<2)>>2]|0)!=(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]|0))break g}else{c[(c[N>>2]|0)+(c[(c[G>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]=c[O>>2];c[(c[H>>2]|0)+(c[O>>2]<<2)>>2]=c[(c[G>>2]|0)+(c[J>>2]<<2)>>2];c[O>>2]=(c[O>>2]|0)+1}c[J>>2]=(c[J>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1}c[D>>2]=(c[D>>2]|0)+1}c[(c[C>>2]|0)+((c[y>>2]|0)+1<<2)>>2]=c[O>>2];c[y>>2]=(c[y>>2]|0)+1}db(132580,132172,1728,132557);break}default:{cw(c[l>>2]|0);c[l>>2]=0;break b}}while(0);c[(c[l>>2]|0)+8>>2]=c[O>>2]}while(0);B1(c[N>>2]|0);c[e>>2]=c[l>>2];Q=c[e>>2]|0;i=R;return Q|0}c[e>>2]=0;Q=c[e>>2]|0;i=R;return Q|0}function rw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=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=i;i=i+96|0;if((i|0)>=(j|0))ba();x=B+80|0;y=B+76|0;g=B+72|0;t=B+68|0;v=B+64|0;d=B+60|0;p=B+56|0;z=B+52|0;A=B+48|0;s=B+44|0;u=B+40|0;w=B+36|0;e=B+32|0;n=B+28|0;r=B+24|0;q=B+20|0;o=B+16|0;m=B+12|0;l=B+8|0;k=B+4|0;f=B;c[y>>2]=a;c[g>>2]=b;c[t>>2]=c[(c[y>>2]|0)+20>>2];c[v>>2]=c[(c[y>>2]|0)+24>>2];c[d>>2]=c[(c[y>>2]|0)+16>>2];c[p>>2]=c[(c[y>>2]|0)+4>>2];c[z>>2]=0;c[A>>2]=0;if(!(c[g>>2]|0)){c[x>>2]=c[y>>2];A=c[x>>2]|0;i=B;return A|0}c[z>>2]=rK(c[p>>2]<<2)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[p>>2]|0))break;c[(c[z>>2]|0)+(c[s>>2]<<2)>>2]=-1;c[s>>2]=(c[s>>2]|0)+1}a:do switch(c[d>>2]|0){case 1:{c[e>>2]=c[(c[y>>2]|0)+28>>2];c[A>>2]=0;c[w>>2]=c[c[t>>2]>>2];c[s>>2]=0;b:while(1){if((c[s>>2]|0)>=(c[c[y>>2]>>2]|0))break a;c[u>>2]=c[w>>2];while(1){if((c[u>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;a=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0;if((c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[t>>2]|0)+(c[s>>2]<<2)>>2]|0)){c[(c[v>>2]|0)+(c[A>>2]<<2)>>2]=a;h[(c[e>>2]|0)+(c[A>>2]<<3)>>3]=+h[(c[e>>2]|0)+(c[u>>2]<<3)>>3];r=c[A>>2]|0;c[A>>2]=r+1;c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]=r}else{if((c[(c[v>>2]|0)+(c[(c[z>>2]|0)+(a<<2)>>2]<<2)>>2]|0)!=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0))break b;r=(c[e>>2]|0)+(c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]<<3)|0;h[r>>3]=+h[r>>3]+ +h[(c[e>>2]|0)+(c[u>>2]<<3)>>3]}c[u>>2]=(c[u>>2]|0)+1}c[w>>2]=c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2];c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]=c[A>>2];c[s>>2]=(c[s>>2]|0)+1}db(132605,132172,1791,132630);break}case 2:{c[n>>2]=c[(c[y>>2]|0)+28>>2];if((c[g>>2]|0)==1){c[A>>2]=0;c[w>>2]=c[c[t>>2]>>2];c[s>>2]=0;c:while(1){if((c[s>>2]|0)>=(c[c[y>>2]>>2]|0))break a;c[u>>2]=c[w>>2];while(1){if((c[u>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;a=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0;if((c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[t>>2]|0)+(c[s>>2]<<2)>>2]|0)){c[(c[v>>2]|0)+(c[A>>2]<<2)>>2]=a;h[(c[n>>2]|0)+(c[A>>2]<<1<<3)>>3]=+h[(c[n>>2]|0)+(c[u>>2]<<1<<3)>>3];h[(c[n>>2]|0)+((c[A>>2]<<1)+1<<3)>>3]=+h[(c[n>>2]|0)+((c[u>>2]<<1)+1<<3)>>3];f=c[A>>2]|0;c[A>>2]=f+1;c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]=f}else{if((c[(c[v>>2]|0)+(c[(c[z>>2]|0)+(a<<2)>>2]<<2)>>2]|0)!=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0))break c;f=(c[n>>2]|0)+(c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]<<1<<3)|0;h[f>>3]=+h[f>>3]+ +h[(c[n>>2]|0)+(c[u>>2]<<1<<3)>>3];f=(c[n>>2]|0)+((c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]<<1)+1<<3)|0;h[f>>3]=+h[f>>3]+ +h[(c[n>>2]|0)+((c[u>>2]<<1)+1<<3)>>3]}c[u>>2]=(c[u>>2]|0)+1}c[w>>2]=c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2];c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]=c[A>>2];c[s>>2]=(c[s>>2]|0)+1}db(132605,132172,1814,132630)}if((c[g>>2]|0)==4){c[A>>2]=0;c[w>>2]=c[c[t>>2]>>2];c[s>>2]=0;d:while(1){if((c[s>>2]|0)>=(c[c[y>>2]>>2]|0))break a;c[u>>2]=c[w>>2];while(1){if((c[u>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;a=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0;if((c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[t>>2]|0)+(c[s>>2]<<2)>>2]|0)){c[(c[v>>2]|0)+(c[A>>2]<<2)>>2]=a;h[(c[n>>2]|0)+(c[A>>2]<<1<<3)>>3]=+h[(c[n>>2]|0)+(c[u>>2]<<1<<3)>>3];h[(c[n>>2]|0)+((c[A>>2]<<1)+1<<3)>>3]=+h[(c[n>>2]|0)+((c[u>>2]<<1)+1<<3)>>3];f=c[A>>2]|0;c[A>>2]=f+1;c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]=f}else{if((c[(c[v>>2]|0)+(c[(c[z>>2]|0)+(a<<2)>>2]<<2)>>2]|0)!=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0))break d;f=(c[n>>2]|0)+(c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]<<1<<3)|0;h[f>>3]=+h[f>>3]+ +h[(c[n>>2]|0)+(c[u>>2]<<1<<3)>>3];h[(c[n>>2]|0)+((c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]<<1)+1<<3)>>3]=+h[(c[n>>2]|0)+((c[u>>2]<<1)+1<<3)>>3]}c[u>>2]=(c[u>>2]|0)+1}c[w>>2]=c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2];c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]=c[A>>2];c[s>>2]=(c[s>>2]|0)+1}db(132605,132172,1834,132630)}if((c[g>>2]|0)!=2){if((c[g>>2]|0)!=3)break a;g=~~+h[(c[n>>2]|0)+8>>3];c[m>>2]=g;c[l>>2]=g;c[A>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[y>>2]>>2]|0))break;c[u>>2]=c[(c[t>>2]|0)+(c[s>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;if((c[l>>2]|0)>(~~+h[(c[n>>2]|0)+(c[A>>2]<<1<<3)>>3]|0))a=c[l>>2]|0;else a=~~+h[(c[n>>2]|0)+(c[A>>2]<<1<<3)>>3];c[l>>2]=a;if((c[m>>2]|0)>(~~+h[(c[n>>2]|0)+(c[A>>2]<<1<<3)>>3]|0))a=c[m>>2]|0;else a=~~+h[(c[n>>2]|0)+(c[A>>2]<<1<<3)>>3];c[m>>2]=a;c[A>>2]=(c[A>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}B1(c[z>>2]|0);c[z>>2]=rK(_(c[p>>2]<<2,(c[l>>2]|0)-(c[m>>2]|0)+1|0)|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,(c[l>>2]|0)-(c[m>>2]|0)+1|0)|0))break;c[(c[z>>2]|0)+(c[s>>2]<<2)>>2]=-1;c[s>>2]=(c[s>>2]|0)+1}c[A>>2]=0;c[w>>2]=c[c[t>>2]>>2];c[s>>2]=0;e:while(1){if((c[s>>2]|0)>=(c[c[y>>2]>>2]|0))break a;c[u>>2]=c[w>>2];while(1){if((c[u>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;c[k>>2]=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0)+(_(~~+h[(c[n>>2]|0)+(c[u>>2]<<1<<3)>>3]-(c[m>>2]|0)|0,c[p>>2]|0)|0);if((c[(c[z>>2]|0)+(c[k>>2]<<2)>>2]|0)<(c[(c[t>>2]|0)+(c[s>>2]<<2)>>2]|0)){c[(c[v>>2]|0)+(c[A>>2]<<2)>>2]=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2];h[(c[n>>2]|0)+(c[A>>2]<<1<<3)>>3]=+h[(c[n>>2]|0)+(c[u>>2]<<1<<3)>>3];h[(c[n>>2]|0)+((c[A>>2]<<1)+1<<3)>>3]=+h[(c[n>>2]|0)+((c[u>>2]<<1)+1<<3)>>3];l=c[A>>2]|0;c[A>>2]=l+1;c[(c[z>>2]|0)+(c[k>>2]<<2)>>2]=l}else{if((c[(c[v>>2]|0)+(c[(c[z>>2]|0)+(c[k>>2]<<2)>>2]<<2)>>2]|0)!=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0))break e;h[(c[n>>2]|0)+(c[(c[z>>2]|0)+(c[k>>2]<<2)>>2]<<1<<3)>>3]=+h[(c[n>>2]|0)+(c[u>>2]<<1<<3)>>3];l=(c[n>>2]|0)+((c[(c[z>>2]|0)+(c[k>>2]<<2)>>2]<<1)+1<<3)|0;h[l>>3]=+h[l>>3]+ +h[(c[n>>2]|0)+((c[u>>2]<<1)+1<<3)>>3]}c[u>>2]=(c[u>>2]|0)+1}c[w>>2]=c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2];c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]=c[A>>2];c[s>>2]=(c[s>>2]|0)+1}db(132683,132172,1904,132630)}m=~~+h[(c[n>>2]|0)+8>>3];c[r>>2]=m;c[q>>2]=m;c[A>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[y>>2]>>2]|0))break;c[u>>2]=c[(c[t>>2]|0)+(c[s>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;if((c[q>>2]|0)>(~~+h[(c[n>>2]|0)+((c[A>>2]<<1)+1<<3)>>3]|0))a=c[q>>2]|0;else a=~~+h[(c[n>>2]|0)+((c[A>>2]<<1)+1<<3)>>3];c[q>>2]=a;if((c[r>>2]|0)<(~~+h[(c[n>>2]|0)+((c[A>>2]<<1)+1<<3)>>3]|0))a=c[r>>2]|0;else a=~~+h[(c[n>>2]|0)+((c[A>>2]<<1)+1<<3)>>3];c[r>>2]=a;c[A>>2]=(c[A>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}B1(c[z>>2]|0);c[z>>2]=rK(_(c[p>>2]<<2,(c[q>>2]|0)-(c[r>>2]|0)+1|0)|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,(c[q>>2]|0)-(c[r>>2]|0)+1|0)|0))break;c[(c[z>>2]|0)+(c[s>>2]<<2)>>2]=-1;c[s>>2]=(c[s>>2]|0)+1}c[A>>2]=0;c[w>>2]=c[c[t>>2]>>2];c[s>>2]=0;f:while(1){if((c[s>>2]|0)>=(c[c[y>>2]>>2]|0))break a;c[u>>2]=c[w>>2];while(1){if((c[u>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;c[o>>2]=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0)+(_(~~+h[(c[n>>2]|0)+((c[u>>2]<<1)+1<<3)>>3]-(c[r>>2]|0)|0,c[p>>2]|0)|0);if((c[(c[z>>2]|0)+(c[o>>2]<<2)>>2]|0)<(c[(c[t>>2]|0)+(c[s>>2]<<2)>>2]|0)){c[(c[v>>2]|0)+(c[A>>2]<<2)>>2]=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2];h[(c[n>>2]|0)+(c[A>>2]<<1<<3)>>3]=+h[(c[n>>2]|0)+(c[u>>2]<<1<<3)>>3];h[(c[n>>2]|0)+((c[A>>2]<<1)+1<<3)>>3]=+h[(c[n>>2]|0)+((c[u>>2]<<1)+1<<3)>>3];m=c[A>>2]|0;c[A>>2]=m+1;c[(c[z>>2]|0)+(c[o>>2]<<2)>>2]=m}else{if((c[o>>2]|0)>=(_(c[p>>2]|0,(c[q>>2]|0)-(c[r>>2]|0)+1|0)|0)){a=65;break f}if((c[(c[v>>2]|0)+(c[(c[z>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2]|0)!=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0)){a=67;break f}m=(c[n>>2]|0)+(c[(c[z>>2]|0)+(c[o>>2]<<2)>>2]<<1<<3)|0;h[m>>3]=+h[m>>3]+ +h[(c[n>>2]|0)+(c[u>>2]<<1<<3)>>3];h[(c[n>>2]|0)+((c[(c[z>>2]|0)+(c[o>>2]<<2)>>2]<<1)+1<<3)>>3]=+h[(c[n>>2]|0)+((c[u>>2]<<1)+1<<3)>>3]}c[u>>2]=(c[u>>2]|0)+1}c[w>>2]=c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2];c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]=c[A>>2];c[s>>2]=(c[s>>2]|0)+1}if((a|0)==65)db(132662,132172,1868,132630);else if((a|0)==67)db(132683,132172,1869,132630);break}case 4:{c[f>>2]=c[(c[y>>2]|0)+28>>2];c[A>>2]=0;c[w>>2]=c[c[t>>2]>>2];c[s>>2]=0;g:while(1){if((c[s>>2]|0)>=(c[c[y>>2]>>2]|0))break a;c[u>>2]=c[w>>2];while(1){if((c[u>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;a=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0;if((c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]|0)<(c[(c[t>>2]|0)+(c[s>>2]<<2)>>2]|0)){c[(c[v>>2]|0)+(c[A>>2]<<2)>>2]=a;c[(c[f>>2]|0)+(c[A>>2]<<2)>>2]=c[(c[f>>2]|0)+(c[u>>2]<<2)>>2];r=c[A>>2]|0;c[A>>2]=r+1;c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]=r}else{if((c[(c[v>>2]|0)+(c[(c[z>>2]|0)+(a<<2)>>2]<<2)>>2]|0)!=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0))break g;r=(c[f>>2]|0)+(c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]<<2)|0;c[r>>2]=(c[r>>2]|0)+(c[(c[f>>2]|0)+(c[u>>2]<<2)>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}c[w>>2]=c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2];c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]=c[A>>2];c[s>>2]=(c[s>>2]|0)+1}db(132605,132172,1928,132630);break}case 8:{c[A>>2]=0;c[w>>2]=c[c[t>>2]>>2];c[s>>2]=0;h:while(1){if((c[s>>2]|0)>=(c[c[y>>2]>>2]|0))break a;c[u>>2]=c[w>>2];while(1){if((c[u>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;a=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0;if((c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]|0)>=(c[(c[t>>2]|0)+(c[s>>2]<<2)>>2]|0)){if((c[(c[v>>2]|0)+(c[(c[z>>2]|0)+(a<<2)>>2]<<2)>>2]|0)!=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0))break h}else{c[(c[v>>2]|0)+(c[A>>2]<<2)>>2]=a;r=c[A>>2]|0;c[A>>2]=r+1;c[(c[z>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]=r}c[u>>2]=(c[u>>2]|0)+1}c[w>>2]=c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2];c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]=c[A>>2];c[s>>2]=(c[s>>2]|0)+1}db(132605,132172,1947,132630);break}case 16:{c[x>>2]=0;A=c[x>>2]|0;i=B;return A|0}default:{c[x>>2]=0;A=c[x>>2]|0;i=B;return A|0}}while(0);c[(c[y>>2]|0)+8>>2]=c[A>>2];B1(c[z>>2]|0);c[x>>2]=c[y>>2];A=c[x>>2]|0;i=B;return A|0}function sw(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();g=r+32|0;h=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;q=r+4|0;o=r;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if((c[(c[h>>2]|0)+32>>2]|0)!=2)db(132329,132172,1970,132705);a=c[h>>2]|0;if((c[k>>2]|0)<=0){c[g>>2]=a;q=c[g>>2]|0;i=r;return q|0}c[p>>2]=c[a+8>>2];c[q>>2]=c[(c[h>>2]|0)+12>>2];if(((c[p>>2]|0)+(c[k>>2]|0)|0)>=(c[(c[h>>2]|0)+12>>2]|0)){c[q>>2]=(c[p>>2]|0)+(c[k>>2]|0);c[q>>2]=(10>0?10:0)+(c[q>>2]|0);c[h>>2]=Fw(c[h>>2]|0,c[q>>2]|0)|0}n5((c[(c[h>>2]|0)+20>>2]|0)+((c[p>>2]<<2>>>0)/1|0)|0,c[l>>2]|0,c[k>>2]<<2|0)|0;n5((c[(c[h>>2]|0)+24>>2]|0)+((c[p>>2]<<2>>>0)/1|0)|0,c[m>>2]|0,c[k>>2]<<2|0)|0;if(c[(c[h>>2]|0)+40>>2]|0){q=(c[(c[h>>2]|0)+28>>2]|0)+(((_(c[p>>2]|0,c[(c[h>>2]|0)+40>>2]|0)|0)>>>0)/1|0)|0;n5(q|0,c[n>>2]|0,_(c[(c[h>>2]|0)+40>>2]|0,c[k>>2]|0)|0)|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;if((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)>=(c[c[h>>2]>>2]|0))c[c[h>>2]>>2]=(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)+1;if((c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]|0)>=(c[(c[h>>2]|0)+4>>2]|0))c[(c[h>>2]|0)+4>>2]=(c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}q=(c[h>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+(c[k>>2]|0);c[g>>2]=c[h>>2];q=c[g>>2]|0;i=r;return q|0}function tw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();b=o+36|0;d=o+32|0;k=o+28|0;m=o+24|0;l=o+20|0;n=o+16|0;g=o;e=o+12|0;f=o+8|0;c[d>>2]=a;a=c[d>>2]|0;if(!(c[d>>2]|0)){c[b>>2]=a;n=c[b>>2]|0;i=o;return n|0}c[l>>2]=c[a+20>>2];c[n>>2]=c[(c[d>>2]|0)+24>>2];a:do switch(c[(c[d>>2]|0)+16>>2]|0){case 1:{c[e>>2]=c[(c[d>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[d>>2]>>2]|0))break a;h[g>>3]=+((c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0)-(c[(c[l>>2]|0)+(c[k>>2]<<2)>>2]|0)|0);c[m>>2]=c[(c[l>>2]|0)+(c[k>>2]<<2)>>2];while(1){if((c[m>>2]|0)>=(c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0))break;h[(c[e>>2]|0)+(c[m>>2]<<3)>>3]=+h[(c[e>>2]|0)+(c[m>>2]<<3)>>3]/+h[g>>3];c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}}case 2:{c[f>>2]=c[(c[d>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[d>>2]>>2]|0))break a;h[g>>3]=+((c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0)-(c[(c[l>>2]|0)+(c[k>>2]<<2)>>2]|0)|0);c[m>>2]=c[(c[l>>2]|0)+(c[k>>2]<<2)>>2];while(1){if((c[m>>2]|0)>=(c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0))break;if((c[(c[n>>2]|0)+(c[m>>2]<<2)>>2]|0)!=(c[k>>2]|0)){h[(c[f>>2]|0)+(c[m>>2]<<1<<3)>>3]=+h[(c[f>>2]|0)+(c[m>>2]<<1<<3)>>3]/+h[g>>3];h[(c[f>>2]|0)+((c[m>>2]<<1)+1<<3)>>3]=+h[(c[f>>2]|0)+((c[m>>2]<<1)+1<<3)>>3]/+h[g>>3]}c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}}case 4:{db(176179,132172,2191,132746);break}case 8:break;case 16:{c[b>>2]=0;n=c[b>>2]|0;i=o;return n|0}default:{c[b>>2]=0;n=c[b>>2]|0;i=o;return n|0}}while(0);c[b>>2]=c[d>>2];n=c[b>>2]|0;i=o;return n|0}function uw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();b=p+36|0;d=p+32|0;g=p+28|0;k=p+24|0;l=p+20|0;o=p+16|0;m=p+12|0;n=p+8|0;f=p+4|0;e=p;c[d>>2]=a;a=c[d>>2]|0;if(!(c[d>>2]|0)){c[b>>2]=a;o=c[b>>2]|0;i=p;return o|0}c[o>>2]=c[a+8>>2];c[k>>2]=c[(c[d>>2]|0)+20>>2];c[l>>2]=c[(c[d>>2]|0)+24>>2];c[n>>2]=c[(c[d>>2]|0)+4>>2];c[m>>2]=c[c[d>>2]>>2];if((c[n>>2]|0)!=(c[m>>2]|0)){c[b>>2]=0;o=c[b>>2]|0;i=p;return o|0}c[e>>2]=ew(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,8,1)|0;n5(c[(c[e>>2]|0)+20>>2]|0,c[k>>2]|0,(c[m>>2]|0)+1<<2|0)|0;n5(c[(c[e>>2]|0)+24>>2]|0,c[l>>2]|0,c[o>>2]<<2|0)|0;c[(c[e>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];c[d>>2]=dw(c[e>>2]|0,1)|0;cw(c[e>>2]|0);c[d>>2]=jw(c[d>>2]|0)|0;o=rK(c[(c[d>>2]|0)+8>>2]<<3)|0;c[(c[d>>2]|0)+28>>2]=o;c[f>>2]=c[(c[d>>2]|0)+28>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+8>>2]|0))break;h[(c[f>>2]|0)+(c[g>>2]<<3)>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1}c[(c[d>>2]|0)+16>>2]=1;c[(c[d>>2]|0)+40>>2]=8;c[b>>2]=c[d>>2];o=c[b>>2]|0;i=p;return o|0}function vw(a,b,d,e,f,g,h,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;B=i;i=i+80|0;if((i|0)>=(j|0))ba();l=B+64|0;C=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+44|0;q=B+40|0;r=B+36|0;s=B+32|0;v=B+28|0;z=B+24|0;A=B+20|0;y=B+16|0;u=B+12|0;x=B+8|0;t=B+4|0;w=B;c[l>>2]=a;c[C>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=k;c[z>>2]=0;c[A>>2]=1;c[x>>2]=c[c[C>>2]>>2];c[t>>2]=c[(c[C>>2]|0)+20>>2];c[w>>2]=c[(c[C>>2]|0)+24>>2];if(!(c[c[o>>2]>>2]|0)){C=rK((c[x>>2]|0)+2<<2)|0;c[c[o>>2]>>2]=C}if(!(c[c[p>>2]>>2]|0)){C=rK(c[x>>2]<<2)|0;c[c[p>>2]>>2]=C}a:do if(!(c[c[q>>2]>>2]|0)){C=A1(c[x>>2]<<2)|0;c[c[q>>2]>>2]=C;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[x>>2]|0))break a;c[(c[c[q>>2]>>2]|0)+(c[s>>2]<<2)>>2]=-10;c[s>>2]=(c[s>>2]|0)+1}}while(0);c[c[n>>2]>>2]=0;if((c[m>>2]|0)<0)db(132780,132172,2515,132802);if((c[m>>2]|0)>=(c[x>>2]|0))db(132780,132172,2515,132802);c[c[c[o>>2]>>2]>>2]=0;c[(c[c[o>>2]>>2]|0)+4>>2]=1;c[c[c[p>>2]>>2]>>2]=c[m>>2];c[(c[c[q>>2]>>2]|0)+(c[m>>2]<<2)>>2]=1;c[c[n>>2]>>2]=1;c[y>>2]=1;c[z>>2]=0;c[A>>2]=1;while(1){if((c[A>>2]|0)<=(c[z>>2]|0))break;if((c[l>>2]|0)>=0?(c[c[n>>2]>>2]|0)>(c[l>>2]|0):0)break;c[s>>2]=c[z>>2];while(1){if((c[s>>2]|0)>=(c[A>>2]|0))break;c[u>>2]=c[(c[c[p>>2]>>2]|0)+(c[s>>2]<<2)>>2];c[v>>2]=c[(c[t>>2]|0)+(c[u>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[t>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0))break;if((c[u>>2]|0)!=(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0)?(c[(c[c[q>>2]>>2]|0)+(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]|0)<0:0){d=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0;C=c[y>>2]|0;c[y>>2]=C+1;c[(c[c[p>>2]>>2]|0)+(C<<2)>>2]=d;c[(c[c[q>>2]>>2]|0)+(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]=(c[c[n>>2]>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}d=c[y>>2]|0;k=c[n>>2]|0;C=(c[k>>2]|0)+1|0;c[k>>2]=C;c[(c[c[o>>2]>>2]|0)+(C<<2)>>2]=d;c[z>>2]=c[A>>2];c[A>>2]=c[y>>2]}if(!((c[l>>2]|0)>=0?(c[c[n>>2]>>2]|0)>(c[l>>2]|0):0)){C=c[n>>2]|0;c[C>>2]=(c[C>>2]|0)+-1}if(!(c[r>>2]|0)){i=B;return}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[c[o>>2]>>2]|0)+(c[c[n>>2]>>2]<<2)>>2]|0))break;c[(c[c[q>>2]>>2]|0)+(c[(c[c[p>>2]>>2]|0)+(c[s>>2]<<2)>>2]<<2)>>2]=-10;c[s>>2]=(c[s>>2]|0)+1}i=B;return}function ww(a,b,d,e,f,g,h,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();t=l+28|0;s=l+24|0;r=l+20|0;q=l+16|0;p=l+12|0;o=l+8|0;n=l+4|0;m=l;c[t>>2]=a;c[s>>2]=b;c[r>>2]=d;c[q>>2]=e;c[p>>2]=f;c[o>>2]=g;c[n>>2]=h;c[m>>2]=k;vw(c[t>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0);i=l;return}function xw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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;w=i;i=i+64|0;if((i|0)>=(j|0))ba();x=w+60|0;f=w+56|0;g=w+52|0;h=w+48|0;l=w+44|0;p=w+40|0;s=w+36|0;q=w+32|0;v=w+28|0;u=w+24|0;k=w+20|0;o=w+16|0;r=w+12|0;m=w+8|0;t=w+4|0;n=w;c[x>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[x>>2]|0)+20>>2];c[p>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[x>>2]|0)+4>>2];c[q>>2]=c[c[x>>2]>>2];c[v>>2]=0;c[u>>2]=0;c[r>>2]=0;c[v>>2]=rK(c[s>>2]<<2)|0;c[u>>2]=rK((c[s>>2]|0)+1<<2)|0;c[r>>2]=rK(c[s>>2]<<2)|0;c[t>>2]=rK(c[s>>2]<<2)|0;c[u>>2]=(c[u>>2]|0)+4;c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[s>>2]|0))break;c[(c[v>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[k>>2]=(c[k>>2]|0)+1}c[c[u>>2]>>2]=c[s>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[s>>2]|0))break;c[(c[r>>2]|0)+(c[k>>2]<<2)>>2]=-1;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=c[(c[l>>2]|0)+(c[k>>2]<<2)>>2];while(1){if((c[o>>2]|0)>=(c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0))break;c[n>>2]=c[(c[v>>2]|0)+(c[(c[p>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2];x=(c[u>>2]|0)+(c[n>>2]<<2)|0;c[x>>2]=(c[x>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=c[(c[l>>2]|0)+(c[k>>2]<<2)>>2];while(1){if((c[o>>2]|0)>=(c[(c[l>>2]|0)+((c[k>>2]|0)+1<<2)>>2]|0))break;c[n>>2]=c[(c[v>>2]|0)+(c[(c[p>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2];do if((c[(c[r>>2]|0)+(c[n>>2]<<2)>>2]|0)<(c[k>>2]|0)){c[(c[r>>2]|0)+(c[n>>2]<<2)>>2]=c[k>>2];if(!(c[(c[u>>2]|0)+(c[n>>2]<<2)>>2]|0)){c[(c[u>>2]|0)+(c[n>>2]<<2)>>2]=1;c[(c[t>>2]|0)+(c[n>>2]<<2)>>2]=c[n>>2];break}else{c[(c[t>>2]|0)+(c[n>>2]<<2)>>2]=c[m>>2];c[(c[u>>2]|0)+(c[m>>2]<<2)>>2]=1;x=c[m>>2]|0;c[m>>2]=x+1;c[(c[v>>2]|0)+(c[(c[p>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2]=x;break}}else{c[(c[v>>2]|0)+(c[(c[p>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2]=c[(c[t>>2]|0)+(c[n>>2]<<2)>>2];x=(c[u>>2]|0)+(c[(c[t>>2]|0)+(c[n>>2]<<2)>>2]<<2)|0;c[x>>2]=(c[x>>2]|0)+1}while(0);c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+-4;c[c[u>>2]>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;x=(c[u>>2]|0)+((c[k>>2]|0)+1<<2)|0;c[x>>2]=(c[x>>2]|0)+(c[(c[u>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[c[g>>2]>>2]=c[t>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[s>>2]|0))break;c[n>>2]=c[(c[v>>2]|0)+(c[k>>2]<<2)>>2];t=c[k>>2]|0;b=(c[u>>2]|0)+(c[n>>2]<<2)|0;x=c[b>>2]|0;c[b>>2]=x+1;c[(c[c[g>>2]>>2]|0)+(x<<2)>>2]=t;c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=c[m>>2];while(1){if((c[k>>2]|0)<=0)break;c[(c[u>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[u>>2]|0)+((c[k>>2]|0)-1<<2)>>2];c[k>>2]=(c[k>>2]|0)+-1}c[c[u>>2]>>2]=0;c[c[h>>2]>>2]=c[u>>2];c[c[f>>2]>>2]=c[m>>2];B1(c[r>>2]|0);B1(c[v>>2]|0);i=w;return}function yw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=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;D=i;i=i+96|0;if((i|0)>=(j|0))ba();e=D+92|0;u=D+88|0;f=D+84|0;x=D+80|0;v=D+76|0;w=D+72|0;q=D+68|0;r=D+64|0;A=D+60|0;z=D+56|0;C=D+52|0;y=D+48|0;t=D+44|0;B=D+40|0;l=D+36|0;m=D+32|0;o=D+28|0;p=D+24|0;n=D+20|0;s=D+16|0;g=D+8|0;k=D;c[e>>2]=a;c[u>>2]=b;c[f>>2]=d;c[x>>2]=c[u>>2];c[q>>2]=c[c[x>>2]>>2];c[r>>2]=c[(c[x>>2]|0)+4>>2];c[A>>2]=0;c[z>>2]=0;c[C>>2]=0;c[y>>2]=0;c[B>>2]=0;c[l>>2]=0;if(!(fw(c[x>>2]|0,0)|0))c[x>>2]=dw(c[x>>2]|0,0)|0;if((c[q>>2]|0)!=(c[r>>2]|0))db(132880,132172,3768,132887);c[v>>2]=ew(c[r>>2]|0,c[r>>2]|0,1,1,2)|0;a:do if(c[f>>2]|0){c[B>>2]=rK(c[r>>2]<<2)|0;c[y>>2]=rK(c[r>>2]<<3)|0;c[p>>2]=0;b:while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;ww(c[e>>2]|0,c[x>>2]|0,c[p>>2]|0,s,A,z,C,0);if(((c[s>>2]|0)-1|0)>(c[e>>2]|0)){e=20;break}c[l>>2]=Gw(c[x>>2]|0,c[p>>2]|0,c[y>>2]|0,t,c[B>>2]|0,g,c[C>>2]|0)|0;if(c[l>>2]|0){e=22;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[s>>2]|0))break;c[o>>2]=c[(c[A>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[o>>2]|0)>=(c[(c[A>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;if((c[(c[C>>2]|0)+(c[(c[z>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2]|0)!=((c[m>>2]|0)+1|0)){e=28;break b}c[(c[C>>2]|0)+(c[(c[z>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[t>>2]|0))break;c[n>>2]=c[(c[B>>2]|0)+(c[o>>2]<<2)>>2];h[k>>3]=+h[(c[y>>2]|0)+(c[n>>2]<<3)>>3];if((c[p>>2]|0)!=(c[n>>2]|0))c[v>>2]=sw(c[v>>2]|0,1,p,n,k)|0;c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}if((e|0)==20)db(132922,132172,3802,132887);else if((e|0)==22)db(133615,132172,3804,132887);else if((e|0)==28)db(132940,132172,3807,132887)}else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;ww(c[e>>2]|0,c[x>>2]|0,c[p>>2]|0,s,A,z,C,1);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[s>>2]|0))break;c[o>>2]=c[(c[A>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[o>>2]|0)>=(c[(c[A>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break;c[n>>2]=c[(c[z>>2]|0)+(c[o>>2]<<2)>>2];h[k>>3]=+(c[m>>2]|0);if((c[p>>2]|0)!=(c[n>>2]|0))c[v>>2]=sw(c[v>>2]|0,1,p,n,k)|0;c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}}while(0);c[w>>2]=lw(c[v>>2]|0)|0;cw(c[v>>2]|0);if(c[A>>2]|0)B1(c[A>>2]|0);if(c[z>>2]|0)B1(c[z>>2]|0);if(c[C>>2]|0)B1(c[C>>2]|0);if(c[y>>2]|0)B1(c[y>>2]|0);if((c[x>>2]|0)!=(c[u>>2]|0))cw(c[x>>2]|0);if(!(c[B>>2]|0)){C=c[w>>2]|0;C=dw(C,0)|0;c[x>>2]=C;C=c[w>>2]|0;cw(C);C=c[x>>2]|0;i=D;return C|0}B1(c[B>>2]|0);C=c[w>>2]|0;C=dw(C,0)|0;c[x>>2]=C;C=c[w>>2]|0;cw(C);C=c[x>>2]|0;i=D;return C|0}function zw(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;switch(c[e>>2]|0){case 1:{c[b>>2]=8;break}case 2:{c[b>>2]=16;break}case 4:{c[b>>2]=4;break}case 8:{c[b>>2]=0;break}case 16:{c[b>>2]=0;break}default:c[b>>2]=0}i=d;return c[b>>2]|0}function Aw(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,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;o=l+16|0;n=l+12|0;m=l+8|0;h=l+4|0;k=l;c[g>>2]=a;c[o>>2]=b;c[n>>2]=d;c[m>>2]=e;c[h>>2]=f;c[k>>2]=rK(44)|0;c[c[k>>2]>>2]=c[g>>2];c[(c[k>>2]|0)+4>>2]=c[o>>2];c[(c[k>>2]|0)+8>>2]=0;c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=c[n>>2];c[(c[k>>2]|0)+40>>2]=c[m>>2];if((c[h>>2]|0)==2)c[(c[k>>2]|0)+20>>2]=0;else{o=rK((c[g>>2]|0)+1<<2)|0;c[(c[k>>2]|0)+20>>2]=o}c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=0;c[(c[k>>2]|0)+32>>2]=c[h>>2];c[(c[k>>2]|0)+36>>2]=0;o=(c[k>>2]|0)+36|0;c[o>>2]=c[o>>2]&-2;o=(c[k>>2]|0)+36|0;c[o>>2]=c[o>>2]&-3;o=(c[k>>2]|0)+36|0;c[o>>2]=c[o>>2]&-5;o=(c[k>>2]|0)+36|0;c[o>>2]=c[o>>2]&-9;i=l;return c[k>>2]|0}function Bw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+32>>2];c[f>>2]=c[e>>2];c[(c[d>>2]|0)+28>>2]=0;h=(c[h>>2]|0)==2;b=rK(c[f>>2]<<2)|0;a=c[d>>2]|0;if(!h){c[a+24>>2]=b;if((c[f>>2]|0)>>>0>0?(c[(c[d>>2]|0)+40>>2]|0)>0:0){h=rK(_(c[(c[d>>2]|0)+40>>2]|0,c[f>>2]|0)|0)|0;c[(c[d>>2]|0)+28>>2]=h}}else{c[a+20>>2]=b;h=rK(c[f>>2]<<2)|0;c[(c[d>>2]|0)+24>>2]=h;h=rK(_(c[(c[d>>2]|0)+40>>2]|0,c[f>>2]|0)|0)|0;c[(c[d>>2]|0)+28>>2]=h}c[(c[d>>2]|0)+12>>2]=c[e>>2];i=g;return c[d>>2]|0}function Cw(a,b,d,e,f,g,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|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;F=i;i=i+80|0;if((i|0)>=(j|0))ba();q=F+68|0;r=F+64|0;s=F+60|0;n=F+56|0;t=F+52|0;u=F+48|0;v=F+44|0;o=F+40|0;p=F+36|0;w=F+32|0;x=F+28|0;B=F+24|0;C=F+20|0;y=F+16|0;D=F+12|0;z=F+8|0;E=F+4|0;A=F;c[r>>2]=a;c[s>>2]=b;c[n>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[o>>2]=k;c[p>>2]=l;c[w>>2]=m;c[x>>2]=0;if(!((c[s>>2]|0)>0&(c[n>>2]|0)>0&(c[r>>2]|0)>=0))db(133079,132172,842,133105);if((c[s>>2]|0)<=0|(c[n>>2]|0)<=0|(c[r>>2]|0)<0){c[q>>2]=0;E=c[q>>2]|0;i=F;return E|0}c[x>>2]=kw(c[s>>2]|0,c[n>>2]|0,c[r>>2]|0,c[o>>2]|0,c[p>>2]|0,1)|0;if(!(c[x>>2]|0))db(133150,132172,846,133105);if(!(c[x>>2]|0)){c[q>>2]=0;E=c[q>>2]|0;i=F;return E|0}c[B>>2]=c[(c[x>>2]|0)+20>>2];c[C>>2]=c[(c[x>>2]|0)+24>>2];c[A>>2]=0;while(1){if((c[A>>2]|0)>(c[s>>2]|0))break;c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]=0;c[A>>2]=(c[A>>2]|0)+1}a:do switch(c[o>>2]|0){case 1:{c[D>>2]=c[v>>2];c[y>>2]=c[(c[x>>2]|0)+28>>2];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[r>>2]|0)){n=21;break}if((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)<0){n=19;break}if((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)>=(c[s>>2]|0)){n=19;break}if((c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0)<0){n=19;break}if((c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0)>=(c[n>>2]|0)){n=19;break}E=(c[B>>2]|0)+((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)+1<<2)|0;c[E>>2]=(c[E>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}if((n|0)==19)db(176179,132172,861,133105);else if((n|0)==21){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[s>>2]|0))break;E=(c[B>>2]|0)+((c[A>>2]|0)+1<<2)|0;c[E>>2]=(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]|0);c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[r>>2]|0))break;h[(c[y>>2]|0)+(c[(c[B>>2]|0)+(c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]<<2)>>2]<<3)>>3]=+h[(c[D>>2]|0)+(c[A>>2]<<3)>>3];z=c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0;v=(c[B>>2]|0)+(c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]<<2)|0;E=c[v>>2]|0;c[v>>2]=E+1;c[(c[C>>2]|0)+(E<<2)>>2]=z;c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=c[s>>2];while(1){if((c[A>>2]|0)<=0)break;c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]=c[(c[B>>2]|0)+((c[A>>2]|0)-1<<2)>>2];c[A>>2]=(c[A>>2]|0)+-1}c[c[B>>2]>>2]=0;break a}break}case 2:{c[D>>2]=c[v>>2];c[y>>2]=c[(c[x>>2]|0)+28>>2];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[r>>2]|0)){n=39;break}if((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)<0){n=37;break}if((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)>=(c[s>>2]|0)){n=37;break}if((c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0)<0){n=37;break}if((c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0)>=(c[n>>2]|0)){n=37;break}E=(c[B>>2]|0)+((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)+1<<2)|0;c[E>>2]=(c[E>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}if((n|0)==37)db(176179,132172,879,133105);else if((n|0)==39){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[s>>2]|0))break;E=(c[B>>2]|0)+((c[A>>2]|0)+1<<2)|0;c[E>>2]=(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]|0);c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[r>>2]|0))break;z=c[D>>2]|0;c[D>>2]=z+8;h[(c[y>>2]|0)+(c[(c[B>>2]|0)+(c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]<<2)>>2]<<1<<3)>>3]=+h[z>>3];z=c[D>>2]|0;c[D>>2]=z+8;h[(c[y>>2]|0)+((c[(c[B>>2]|0)+(c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]<<2)>>2]<<1)+1<<3)>>3]=+h[z>>3];z=c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0;v=(c[B>>2]|0)+(c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]<<2)|0;E=c[v>>2]|0;c[v>>2]=E+1;c[(c[C>>2]|0)+(E<<2)>>2]=z;c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=c[s>>2];while(1){if((c[A>>2]|0)<=0)break;c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]=c[(c[B>>2]|0)+((c[A>>2]|0)-1<<2)>>2];c[A>>2]=(c[A>>2]|0)+-1}c[c[B>>2]>>2]=0;break a}break}case 4:{c[E>>2]=c[v>>2];c[z>>2]=c[(c[x>>2]|0)+28>>2];c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[r>>2]|0)){n=57;break}if((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)<0){n=55;break}if((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)>=(c[s>>2]|0)){n=55;break}if((c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0)<0){n=55;break}if((c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0)>=(c[n>>2]|0)){n=55;break}D=(c[B>>2]|0)+((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)+1<<2)|0;c[D>>2]=(c[D>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}if((n|0)==55)db(176179,132172,898,133105);else if((n|0)==57){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[s>>2]|0))break;D=(c[B>>2]|0)+((c[A>>2]|0)+1<<2)|0;c[D>>2]=(c[D>>2]|0)+(c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]|0);c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[r>>2]|0))break;c[(c[z>>2]|0)+(c[(c[B>>2]|0)+(c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]<<2)>>2]<<2)>>2]=c[(c[E>>2]|0)+(c[A>>2]<<2)>>2];y=c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0;v=(c[B>>2]|0)+(c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]<<2)|0;D=c[v>>2]|0;c[v>>2]=D+1;c[(c[C>>2]|0)+(D<<2)>>2]=y;c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=c[s>>2];while(1){if((c[A>>2]|0)<=0)break;c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]=c[(c[B>>2]|0)+((c[A>>2]|0)-1<<2)>>2];c[A>>2]=(c[A>>2]|0)+-1}c[c[B>>2]>>2]=0;break a}break}case 8:{c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[r>>2]|0)){n=75;break}if((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)<0){n=73;break}if((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)>=(c[s>>2]|0)){n=73;break}if((c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0)<0){n=73;break}if((c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0)>=(c[n>>2]|0)){n=73;break}E=(c[B>>2]|0)+((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)+1<<2)|0;c[E>>2]=(c[E>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}if((n|0)==73)db(176179,132172,914,133105);else if((n|0)==75){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[s>>2]|0))break;E=(c[B>>2]|0)+((c[A>>2]|0)+1<<2)|0;c[E>>2]=(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]|0);c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[r>>2]|0))break;D=c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0;z=(c[B>>2]|0)+(c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]<<2)|0;E=c[z>>2]|0;c[z>>2]=E+1;c[(c[C>>2]|0)+(E<<2)>>2]=D;c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=c[s>>2];while(1){if((c[A>>2]|0)<=0)break;c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]=c[(c[B>>2]|0)+((c[A>>2]|0)-1<<2)>>2];c[A>>2]=(c[A>>2]|0)+-1}c[c[B>>2]>>2]=0;break a}break}case 16:{c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[r>>2]|0)){n=93;break}if((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)<0){n=91;break}if((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)>=(c[s>>2]|0)){n=91;break}if((c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0)<0){n=91;break}if((c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0)>=(c[n>>2]|0)){n=91;break}E=(c[B>>2]|0)+((c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]|0)+1<<2)|0;c[E>>2]=(c[E>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+1}if((n|0)==91)db(176179,132172,929,133105);else if((n|0)==93){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[s>>2]|0))break;E=(c[B>>2]|0)+((c[A>>2]|0)+1<<2)|0;c[E>>2]=(c[E>>2]|0)+(c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]|0);c[A>>2]=(c[A>>2]|0)+1}n5(c[(c[x>>2]|0)+28>>2]|0,c[v>>2]|0,_(c[(c[x>>2]|0)+40>>2]|0,c[r>>2]|0)|0)|0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[r>>2]|0))break;D=c[(c[u>>2]|0)+(c[A>>2]<<2)>>2]|0;z=(c[B>>2]|0)+(c[(c[t>>2]|0)+(c[A>>2]<<2)>>2]<<2)|0;E=c[z>>2]|0;c[z>>2]=E+1;c[(c[C>>2]|0)+(E<<2)>>2]=D;c[A>>2]=(c[A>>2]|0)+1}c[A>>2]=c[s>>2];while(1){if((c[A>>2]|0)<=0)break;c[(c[B>>2]|0)+(c[A>>2]<<2)>>2]=c[(c[B>>2]|0)+((c[A>>2]|0)-1<<2)>>2];c[A>>2]=(c[A>>2]|0)+-1}c[c[B>>2]>>2]=0;break a}break}default:db(176179,132172,943,133105)}while(0);c[(c[x>>2]|0)+8>>2]=c[r>>2];if(c[w>>2]|0)c[x>>2]=rw(c[x>>2]|0,c[w>>2]|0)|0;c[q>>2]=c[x>>2];E=c[q>>2]|0;i=F;return E|0}function Dw(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 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=i;i=i+64|0;if((i|0)>=(j|0))ba();k=z+56|0;n=z+52|0;o=z+48|0;p=z+44|0;l=z+40|0;q=z+36|0;s=z+32|0;u=z+28|0;w=z+24|0;t=z+20|0;v=z+16|0;m=z+12|0;x=z+8|0;r=z+4|0;y=z;c[k>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[l>>2]=f;c[q>>2]=g;if((c[(c[k>>2]|0)+32>>2]|0)!=1)db(132148,132172,1120,133050);if((c[(c[k>>2]|0)+16>>2]|0)!=1)db(132482,132172,1121,133050);c[r>>2]=c[(c[k>>2]|0)+28>>2];c[t>>2]=c[(c[k>>2]|0)+20>>2];c[v>>2]=c[(c[k>>2]|0)+24>>2];c[x>>2]=c[c[k>>2]>>2];c[m>>2]=c[(c[k>>2]|0)+4>>2];c[y>>2]=c[c[o>>2]>>2];k=(c[y>>2]|0)!=0;if(c[l>>2]|0){if(!k)c[y>>2]=rK(_(c[m>>2]<<3,c[p>>2]|0)|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[m>>2]|0,c[p>>2]|0)|0))break;h[(c[y>>2]|0)+(c[s>>2]<<3)>>3]=0.0;c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[x>>2]|0))break;c[u>>2]=c[(c[t>>2]|0)+(c[s>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;c[w>>2]=0;while(1){k=c[u>>2]|0;if((c[w>>2]|0)>=(c[p>>2]|0))break;b=_(c[s>>2]|0,c[p>>2]|0)|0;l=_(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0,c[p>>2]|0)|0;l=(c[y>>2]|0)+(l+(c[w>>2]|0)<<3)|0;h[l>>3]=+h[l>>3]+ +h[(c[r>>2]|0)+(k<<3)>>3]*+h[(c[n>>2]|0)+(b+(c[w>>2]|0)<<3)>>3];c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=k+1}c[s>>2]=(c[s>>2]|0)+1}if(!(c[q>>2]|0)){x=c[y>>2]|0;y=c[o>>2]|0;c[y>>2]=x;i=z;return}Jw(c[y>>2]|0,c[m>>2]|0,c[p>>2]|0);x=c[y>>2]|0;y=c[o>>2]|0;c[y>>2]=x;i=z;return}else{if(!k)c[y>>2]=rK(_(c[x>>2]<<3,c[p>>2]|0)|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[x>>2]|0))break;c[w>>2]=0;while(1){k=c[s>>2]|0;if((c[w>>2]|0)>=(c[p>>2]|0))break;m=_(k,c[p>>2]|0)|0;h[(c[y>>2]|0)+(m+(c[w>>2]|0)<<3)>>3]=0.0;c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=c[(c[t>>2]|0)+(k<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;c[w>>2]=0;while(1){k=c[u>>2]|0;if((c[w>>2]|0)>=(c[p>>2]|0))break;l=_(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0,c[p>>2]|0)|0;m=_(c[s>>2]|0,c[p>>2]|0)|0;m=(c[y>>2]|0)+(m+(c[w>>2]|0)<<3)|0;h[m>>3]=+h[m>>3]+ +h[(c[r>>2]|0)+(k<<3)>>3]*+h[(c[n>>2]|0)+(l+(c[w>>2]|0)<<3)>>3];c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=k+1}c[s>>2]=(c[s>>2]|0)+1}if(!(c[q>>2]|0)){x=c[y>>2]|0;y=c[o>>2]|0;c[y>>2]=x;i=z;return}Jw(c[y>>2]|0,c[x>>2]|0,c[p>>2]|0);x=c[y>>2]|0;y=c[o>>2]|0;c[y>>2]=x;i=z;return}}function Ew(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;if((i|0)>=(j|0))ba();h=u+40|0;k=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;t=u+16|0;s=u+12|0;p=u+8|0;q=u+4|0;r=u;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if((c[(c[h>>2]|0)+32>>2]|0)!=1)db(132148,132172,1162,133021);if((c[(c[h>>2]|0)+16>>2]|0)!=1)db(132482,132172,1163,133021);c[t>>2]=c[c[l>>2]>>2];c[q>>2]=c[c[h>>2]>>2];c[r>>2]=c[(c[h>>2]|0)+4>>2];a=(c[t>>2]|0)!=0;if(c[n>>2]|0){if(!a)c[t>>2]=rK(_(c[r>>2]<<3,c[m>>2]|0)|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;b=_(c[r>>2]|0,c[p>>2]|0)|0;c[s>>2]=(c[t>>2]|0)+(b<<3);b=_(c[q>>2]|0,c[p>>2]|0)|0;ow(c[h>>2]|0,(c[k>>2]|0)+(b<<3)|0,s,c[n>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[o>>2]|0){s=c[t>>2]|0;t=c[l>>2]|0;c[t>>2]=s;i=u;return}Jw(c[t>>2]|0,c[m>>2]|0,c[r>>2]|0);s=c[t>>2]|0;t=c[l>>2]|0;c[t>>2]=s;i=u;return}else{if(!a)c[t>>2]=rK(_(c[q>>2]<<3,c[m>>2]|0)|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;b=_(c[q>>2]|0,c[p>>2]|0)|0;c[s>>2]=(c[t>>2]|0)+(b<<3);b=_(c[r>>2]|0,c[p>>2]|0)|0;ow(c[h>>2]|0,(c[k>>2]|0)+(b<<3)|0,s,c[n>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[o>>2]|0){s=c[t>>2]|0;t=c[l>>2]|0;c[t>>2]=s;i=u;return}Jw(c[t>>2]|0,c[m>>2]|0,c[q>>2]|0);s=c[t>>2]|0;t=c[l>>2]|0;c[t>>2]=s;i=u;return}}function Fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+32>>2];c[f>>2]=c[e>>2];a=c[d>>2]|0;do if((c[h>>2]|0)==2){h=tK(c[a+20>>2]|0,c[f>>2]<<2)|0;c[(c[d>>2]|0)+20>>2]=h;h=tK(c[(c[d>>2]|0)+24>>2]|0,c[f>>2]<<2)|0;c[(c[d>>2]|0)+24>>2]=h;if((c[(c[d>>2]|0)+40>>2]|0)>0){a=c[d>>2]|0;if(c[(c[d>>2]|0)+28>>2]|0){h=tK(c[a+28>>2]|0,_(c[(c[d>>2]|0)+40>>2]|0,c[f>>2]|0)|0)|0;c[(c[d>>2]|0)+28>>2]=h;break}else{h=rK(_(c[a+40>>2]|0,c[f>>2]|0)|0)|0;c[(c[d>>2]|0)+28>>2]=h;break}}}else{h=tK(c[a+24>>2]|0,c[f>>2]<<2)|0;c[(c[d>>2]|0)+24>>2]=h;if((c[(c[d>>2]|0)+40>>2]|0)>0){a=c[d>>2]|0;if(c[(c[d>>2]|0)+28>>2]|0){h=tK(c[a+28>>2]|0,_(c[(c[d>>2]|0)+40>>2]|0,c[f>>2]|0)|0)|0;c[(c[d>>2]|0)+28>>2]=h;break}else{h=rK(_(c[a+40>>2]|0,c[f>>2]|0)|0)|0;c[(c[d>>2]|0)+28>>2]=h;break}}}while(0);c[(c[d>>2]|0)+12>>2]=c[e>>2];i=g;return c[d>>2]|0}function Gw(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 k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;n=k+8|0;m=k+4|0;l=k;c[r>>2]=a;c[q>>2]=b;c[p>>2]=d;c[o>>2]=e;c[n>>2]=f;c[m>>2]=g;c[l>>2]=h;b=Hw(c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;i=k;return b|0}function Hw(a,b,d,e,f,g,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=k|0;var l=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,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=i;i=i+96|0;if((i|0)>=(j|0))ba();p=K+88|0;q=K+84|0;m=K+80|0;r=K+76|0;s=K+72|0;t=K+68|0;u=K+64|0;v=K+60|0;G=K+56|0;B=K+52|0;D=K+48|0;F=K+44|0;C=K+40|0;E=K+36|0;z=K+32|0;y=K+28|0;w=K+24|0;n=K+20|0;o=K+16|0;H=K+12|0;I=K+8|0;A=K+4|0;x=K;c[q>>2]=a;c[m>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=k;c[G>>2]=c[c[q>>2]>>2];c[C>>2]=c[(c[q>>2]|0)+20>>2];c[E>>2]=c[(c[q>>2]|0)+24>>2];c[w>>2]=0;c[x>>2]=0;if(!(fw(c[q>>2]|0,1)|0))db(132845,132172,2633,132965);if((c[G>>2]|0)!=(c[(c[q>>2]|0)+4>>2]|0))db(132835,132172,2635,132965);a:do switch(c[(c[q>>2]|0)+16>>2]|0){case 2:{c[n>>2]=c[(c[q>>2]|0)+28>>2];c[w>>2]=rK(c[(c[q>>2]|0)+8>>2]<<3)|0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[(c[q>>2]|0)+8>>2]|0))break a;h[(c[w>>2]|0)+(c[B>>2]<<3)>>3]=+h[(c[n>>2]|0)+(c[B>>2]<<1<<3)>>3];c[B>>2]=(c[B>>2]|0)+1}}case 1:{c[w>>2]=c[(c[q>>2]|0)+28>>2];break}case 4:{c[o>>2]=c[(c[q>>2]|0)+28>>2];c[w>>2]=rK(c[(c[q>>2]|0)+8>>2]<<3)|0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[(c[q>>2]|0)+8>>2]|0))break a;h[(c[w>>2]|0)+(c[B>>2]<<3)>>3]=+(c[(c[o>>2]|0)+(c[B>>2]<<2)>>2]|0);c[B>>2]=(c[B>>2]|0)+1}}case 8:{c[w>>2]=rK(c[(c[q>>2]|0)+8>>2]<<3)|0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[(c[q>>2]|0)+8>>2]|0))break a;h[(c[w>>2]|0)+(c[B>>2]<<3)>>3]=1.0;c[B>>2]=(c[B>>2]|0)+1}}default:db(176179,132172,2656,132965)}while(0);c[A>>2]=rK(c[G>>2]<<2)|0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[G>>2]|0))break;h[(c[r>>2]|0)+(c[B>>2]<<3)>>3]=-1.0;c[(c[A>>2]|0)+(c[B>>2]<<2)>>2]=-2;c[B>>2]=(c[B>>2]|0)+1}c[y>>2]=ry(80)|0;if(!(c[y>>2]|0))db(132983,132172,2666,132965);c[H>>2]=rK(16)|0;h[c[H>>2]>>3]=0.0;c[(c[H>>2]|0)+8>>2]=c[m>>2];b=ty(c[y>>2]|0,c[H>>2]|0)|0;c[(c[A>>2]|0)+(c[m>>2]<<2)>>2]=b;if((c[(c[A>>2]|0)+(c[m>>2]<<2)>>2]|0)<0)db(132985,132172,2674,132965);b:while(1){b=uy(c[y>>2]|0)|0;c[I>>2]=b;if(!b)break;c[B>>2]=c[(c[I>>2]|0)+8>>2];h[(c[r>>2]|0)+(c[B>>2]<<3)>>3]=+h[c[I>>2]>>3];e=c[B>>2]|0;b=c[x>>2]|0;c[x>>2]=b+1;c[(c[t>>2]|0)+(b<<2)>>2]=e;c[(c[A>>2]|0)+(c[B>>2]<<2)>>2]=-1;c[D>>2]=c[(c[C>>2]|0)+(c[B>>2]<<2)>>2];while(1){if((c[D>>2]|0)>=(c[(c[C>>2]|0)+((c[B>>2]|0)+1<<2)>>2]|0))break;c[F>>2]=c[(c[E>>2]|0)+(c[D>>2]<<2)>>2];c[z>>2]=c[(c[A>>2]|0)+(c[F>>2]<<2)>>2];do if(!((c[z>>2]|0)==-1?1:(c[F>>2]|0)==(c[B>>2]|0))){if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+(c[F>>2]<<2)>>2]|0)<0:0)break;if((c[z>>2]|0)==-2){c[H>>2]=rK(16)|0;l=+h[(c[w>>2]|0)+(c[D>>2]<<3)>>3];h[c[H>>2]>>3]=(+h[(c[w>>2]|0)+(c[D>>2]<<3)>>3]>=0.0?l:-l)+ +h[c[I>>2]>>3];c[(c[H>>2]|0)+8>>2]=c[F>>2];b=ty(c[y>>2]|0,c[H>>2]|0)|0;c[(c[A>>2]|0)+(c[F>>2]<<2)>>2]=b;break}c[H>>2]=xy(c[y>>2]|0,c[z>>2]|0)|0;l=+h[(c[w>>2]|0)+(c[D>>2]<<3)>>3];if(+h[c[H>>2]>>3]<(+h[(c[w>>2]|0)+(c[D>>2]<<3)>>3]>=0.0?l:-l)+ +h[c[I>>2]>>3])l=+h[c[H>>2]>>3];else{l=+h[(c[w>>2]|0)+(c[D>>2]<<3)>>3];l=(+h[(c[w>>2]|0)+(c[D>>2]<<3)>>3]>=0.0?l:-l)+ +h[c[I>>2]>>3]}h[c[H>>2]>>3]=l;if((c[(c[H>>2]|0)+8>>2]|0)!=(c[F>>2]|0)){J=37;break b}wy(c[y>>2]|0,c[z>>2]|0,c[H>>2]|0)|0}while(0);c[D>>2]=(c[D>>2]|0)+1}B1(c[I>>2]|0)}if((J|0)==37)db(133005,132172,2698,132965);c[c[s>>2]>>2]=c[x>>2];h[c[u>>2]>>3]=+h[(c[r>>2]|0)+(c[B>>2]<<3)>>3];sy(c[y>>2]|0,96);B1(c[A>>2]|0);if((c[w>>2]|0)!=0?(c[w>>2]|0)!=(c[(c[q>>2]|0)+28>>2]|0):0)B1(c[w>>2]|0);if((c[v>>2]|0)!=0?1:(c[x>>2]|0)==(c[G>>2]|0)){c[p>>2]=0;J=c[p>>2]|0;i=K;return J|0}else{c[p>>2]=-1;J=c[p>>2]|0;i=K;return J|0}return 0}function Iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();d=g+16|0;l=g+12|0;k=g+8|0;e=g+4|0;f=g;c[l>>2]=a;c[k>>2]=b;c[e>>2]=c[l>>2];c[f>>2]=c[k>>2];do if(!(+h[c[e>>2]>>3]>+h[c[f>>2]>>3]))if(+h[c[e>>2]>>3]==+h[c[f>>2]>>3]){c[d>>2]=0;break}else{c[d>>2]=-1;break}else c[d>>2]=1;while(0);i=g;return c[d>>2]|0}function Jw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+20|0;f=n+16|0;g=n+12|0;k=n+8|0;l=n+4|0;m=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=rK(_(c[f>>2]<<3,c[g>>2]|0)|0)|0;n5(c[m>>2]|0,c[e>>2]|0,_(c[f>>2]<<3,c[g>>2]|0)|0)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[f>>2]|0))break;c[l>>2]=0;while(1){b=c[k>>2]|0;if((c[l>>2]|0)>=(c[g>>2]|0))break;d=_(b,c[g>>2]|0)|0;a=_(c[l>>2]|0,c[f>>2]|0)|0;h[(c[e>>2]|0)+(a+(c[k>>2]|0)<<3)>>3]=+h[(c[m>>2]|0)+(d+(c[l>>2]|0)<<3)>>3];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=b+1}B1(c[m>>2]|0);i=n;return}function Kw(){return +(+(M2()|0)/2147483647.0)}function Lw(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if((c[b>>2]|0)>1){a=M2()|0;i=d;return (a|0)%(c[b>>2]|0)|0|0}else db(133152,133158,58,133168);return 0}function Mw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();b=l+24|0;d=l+20|0;h=l+16|0;e=l+12|0;f=l+8|0;k=l+4|0;g=l;c[d>>2]=a;if((c[d>>2]|0)<=0){c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}c[h>>2]=rK(c[d>>2]<<2)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[d>>2]|0))break;c[(c[h>>2]|0)+(c[e>>2]<<2)>>2]=c[e>>2];c[e>>2]=(c[e>>2]|0)+1}c[g>>2]=c[d>>2];while(1){if((c[g>>2]|0)<=1)break;c[f>>2]=Lw(c[g>>2]|0)|0;c[k>>2]=c[(c[h>>2]|0)+((c[g>>2]|0)-1<<2)>>2];c[(c[h>>2]|0)+((c[g>>2]|0)-1<<2)>>2]=c[(c[h>>2]|0)+(c[f>>2]<<2)>>2];c[(c[h>>2]|0)+(c[f>>2]<<2)>>2]=c[k>>2];c[g>>2]=(c[g>>2]|0)+-1}c[b>>2]=c[h>>2];k=c[b>>2]|0;i=l;return k|0}function Nw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();e=l+12|0;f=l+8|0;g=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;h[(c[g>>2]|0)+(c[k>>2]<<3)>>3]=+h[(c[f>>2]|0)+(c[k>>2]<<3)>>3]-+h[(c[g>>2]|0)+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}i=l;return c[g>>2]|0}function Ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;l=m;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;h[l>>3]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;h[l>>3]=+h[l>>3]+ +h[(c[f>>2]|0)+(c[k>>2]<<3)>>3]*+h[(c[g>>2]|0)+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}i=m;return +(+h[l>>3])}function Pw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+20|0;g=n+16|0;k=n+12|0;l=n;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;h[l>>3]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;h[(c[k>>2]|0)+(c[m>>2]<<3)>>3]=+h[(c[g>>2]|0)+(c[m>>2]<<3)>>3]+ +h[l>>3]*+h[(c[k>>2]|0)+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}i=n;return c[k>>2]|0}function Qw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+20|0;g=n+16|0;k=n+12|0;l=n;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;h[l>>3]=e;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[f>>2]|0))break;h[(c[g>>2]|0)+(c[m>>2]<<3)>>3]=+h[(c[g>>2]|0)+(c[m>>2]<<3)>>3]+ +h[l>>3]*+h[(c[k>>2]|0)+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}i=n;return c[g>>2]|0}function Rw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o+20|0;k=o+16|0;l=o+12|0;n=o+8|0;m=o;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;h[m>>3]=0.0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[g>>2]|0))break;b=_(c[k>>2]|0,c[g>>2]|0)|0;d=_(c[l>>2]|0,c[g>>2]|0)|0;e=_(c[k>>2]|0,c[g>>2]|0)|0;a=_(c[l>>2]|0,c[g>>2]|0)|0;h[m>>3]=+h[m>>3]+(+h[(c[f>>2]|0)+(b+(c[n>>2]|0)<<3)>>3]-+h[(c[f>>2]|0)+(d+(c[n>>2]|0)<<3)>>3])*(+h[(c[f>>2]|0)+(e+(c[n>>2]|0)<<3)>>3]-+h[(c[f>>2]|0)+(a+(c[n>>2]|0)<<3)>>3]);c[n>>2]=(c[n>>2]|0)+1}h[m>>3]=+O(+(+h[m>>3]));i=o;return +(+h[m>>3]>1.0e-15?+h[m>>3]:1.0e-15)}function Sw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o+20|0;k=o+16|0;l=o+12|0;n=o+8|0;m=o;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;h[m>>3]=0.0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[g>>2]|0))break;b=_(c[k>>2]|0,c[g>>2]|0)|0;d=_(c[l>>2]|0,c[g>>2]|0)|0;e=_(c[k>>2]|0,c[g>>2]|0)|0;a=_(c[l>>2]|0,c[g>>2]|0)|0;h[m>>3]=+h[m>>3]+(+h[(c[f>>2]|0)+(b+(c[n>>2]|0)<<3)>>3]-+h[(c[f>>2]|0)+(d+(c[n>>2]|0)<<3)>>3])*(+h[(c[f>>2]|0)+(e+(c[n>>2]|0)<<3)>>3]-+h[(c[f>>2]|0)+(a+(c[n>>2]|0)<<3)>>3]);c[n>>2]=(c[n>>2]|0)+1}h[m>>3]=+O(+(+h[m>>3]));i=o;return +(+h[m>>3])}function Tw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;l=m+8|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;h[k>>3]=0.0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;h[k>>3]=+h[k>>3]+(+h[(c[e>>2]|0)+(c[l>>2]<<3)>>3]-+h[(c[f>>2]|0)+(c[l>>2]<<3)>>3])*(+h[(c[e>>2]|0)+(c[l>>2]<<3)>>3]-+h[(c[f>>2]|0)+(c[l>>2]<<3)>>3]);c[l>>2]=(c[l>>2]|0)+1}n=+O(+(+h[k>>3]));i=m;return +n}function Uw(a,b,d,e,f,g,k){a=+a;b=+b;d=+d;e=+e;f=f|0;g=g|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;y=i;i=i+144|0;if((i|0)>=(j|0))ba();o=y+104|0;p=y+96|0;l=y+88|0;m=y+80|0;q=y+128|0;r=y+124|0;s=y+120|0;v=y+56|0;n=y+32|0;w=y+8|0;x=y;t=y+116|0;u=y+112|0;h[o>>3]=a;h[p>>3]=b;h[l>>3]=d;h[m>>3]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=k;h[x>>3]=1.0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break;h[v+(c[t>>2]<<3)>>3]=+h[(c[s>>2]|0)+(c[t>>2]<<3)>>3];h[n+(c[t>>2]<<3)>>3]=+h[(c[s>>2]|0)+(c[t>>2]<<3)>>3];c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;c[u>>2]=0;while(1){g=c[t>>2]|0;if((c[u>>2]|0)>=(c[r>>2]|0))break;k=_(g,c[r>>2]|0)|0;if(+h[(c[s>>2]|0)+(k+(c[u>>2]|0)<<3)>>3]<+h[v+(c[u>>2]<<3)>>3]){k=_(c[t>>2]|0,c[r>>2]|0)|0;d=+h[(c[s>>2]|0)+(k+(c[u>>2]|0)<<3)>>3]}else d=+h[v+(c[u>>2]<<3)>>3];h[v+(c[u>>2]<<3)>>3]=d;k=_(c[t>>2]|0,c[r>>2]|0)|0;if(+h[(c[s>>2]|0)+(k+(c[u>>2]|0)<<3)>>3]>+h[n+(c[u>>2]<<3)>>3]){k=_(c[t>>2]|0,c[r>>2]|0)|0;d=+h[(c[s>>2]|0)+(k+(c[u>>2]|0)<<3)>>3]}else d=+h[n+(c[u>>2]<<3)>>3];h[n+(c[u>>2]<<3)>>3]=d;c[u>>2]=(c[u>>2]|0)+1}c[t>>2]=g+1}if(+h[n>>3]-+h[v>>3]!=0.0)h[x>>3]=(+h[l>>3]-+h[o>>3])/(+h[n>>3]-+h[v>>3]);if(+h[n+8>>3]-+h[v+8>>3]!=0.0){if(+h[x>>3]<(+h[m>>3]-+h[p>>3])/(+h[n+8>>3]-+h[v+8>>3]))d=+h[x>>3];else d=(+h[m>>3]-+h[p>>3])/(+h[n+8>>3]-+h[v+8>>3]);h[x>>3]=d}h[w>>3]=+h[o>>3];h[w+8>>3]=+h[p>>3];h[w+16>>3]=0.0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[q>>2]|0))break;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[r>>2]|0))break;o=_(c[t>>2]|0,c[r>>2]|0)|0;p=_(c[t>>2]|0,c[r>>2]|0)|0;h[(c[s>>2]|0)+(p+(c[u>>2]|0)<<3)>>3]=+h[w+(c[u>>2]<<3)>>3]+(+h[(c[s>>2]|0)+(o+(c[u>>2]|0)<<3)>>3]-+h[v+(c[u>>2]<<3)>>3])*+h[x>>3];c[u>>2]=(c[u>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}i=y;return}function Vw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k+12|0;d=k+8|0;g=k+4|0;e=k;c[f>>2]=a;c[d>>2]=b;b=(AB(c[f>>2]|0)|0)==1;a=c[f>>2]|0;if(b){c[e>>2]=pC(a)|0;h[c[(c[(c[e>>2]|0)+8>>2]|0)+132>>2]>>3]=0.0;h[(c[(c[(c[e>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=0.0;i=k;return}Ww(a,33688);e=(zO(OA(c[d>>2]|0,133174)|0)|0)<<24>>24!=0;a=c[f>>2]|0;if(e)c[g>>2]=Xw(a,33688)|0;else c[g>>2]=Xy(a,33688)|0;ez(c[f>>2]|0,c[g>>2]|0,33688);Yw(c[g>>2]|0,33688);i=k;return}function Ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0.0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();k=f+12|0;d=f+8|0;e=f+4|0;g=f;c[k>>2]=a;c[d>>2]=b;c[g>>2]=pC(c[k>>2]|0)|0;c[e>>2]=GC(c[c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]>>2]|0)|0;if((c[e>>2]|0)!=(c[12956]|0)){c[(c[d>>2]|0)+12>>2]=0;c[12956]=c[e>>2];c[12957]=GA(c[12956]|0,0,133183,0)|0;c[12958]=GA(c[12956]|0,1,133191,0)|0;c[12959]=GA(c[12956]|0,1,133208,0)|0}c[12960]=OA(c[12956]|0,133208)|0;Ry(c[d>>2]|0);c[(c[d>>2]|0)+8>>2]=1;l=+uO(c[12956]|0,c[12957]|0,1.0,0.0);h[(c[d>>2]|0)+32>>3]=l;c[(c[d>>2]|0)+16>>2]=c[12958];c[(c[d>>2]|0)+20>>2]=c[12959];c[(c[d>>2]|0)+24>>2]=c[12960];i=f;return}function Xw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;g=i;i=i+160|0;if((i|0)>=(j|0))ba();l=g;d=g+20|0;m=g+16|0;h=g+12|0;k=g+24|0;e=g+8|0;f=g+4|0;c[d>>2]=a;c[m>>2]=b;a=(c[m>>2]|0)+12|0;b=c[a>>2]|0;c[a>>2]=b+1;c[l>>2]=b;D3(k,133861,l)|0;c[h>>2]=uD(c[d>>2]|0,k,1)|0;c[e>>2]=Sy(c[h>>2]|0)|0;c[f>>2]=pC(c[d>>2]|0)|0;while(1){a=c[e>>2]|0;if(!(c[f>>2]|0))break;uC(c[a+8>>2]|0,c[f>>2]|0,1)|0;c[(c[(c[(c[f>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]=c[e>>2];c[f>>2]=qC(c[d>>2]|0,c[f>>2]|0)|0}i=g;return a|0}function Yw(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;c[e>>2]=a;c[d>>2]=b;Yy(c[e>>2]|0);i=d;return}function Zw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=rK(32)|0;c[c[e>>2]>>2]=4;h[(c[e>>2]|0)+8>>3]=.75;c[(c[e>>2]|0)+16>>2]=1073741824;c[(c[e>>2]|0)+20>>2]=1;c[(c[e>>2]|0)+24>>2]=c[g>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];i=d;return c[e>>2]|0}function _w(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[d>>2]|0);i=b;return}function $w(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}do if(c[(c[b>>2]|0)+8>>2]|0){a=c[b>>2]|0;if(c[c[b>>2]>>2]|0){cw(c[a+8>>2]|0);if(!(c[(c[b>>2]|0)+12>>2]|0))break;cw(c[(c[b>>2]|0)+12>>2]|0);break}if((c[a+36>>2]|0)!=0?(cw(c[(c[b>>2]|0)+8>>2]|0),(c[(c[b>>2]|0)+12>>2]|0)!=0):0)cw(c[(c[b>>2]|0)+12>>2]|0)}while(0);cw(c[(c[b>>2]|0)+16>>2]|0);cw(c[(c[b>>2]|0)+20>>2]|0);if((c[(c[b>>2]|0)+24>>2]|0)!=0?(c[c[b>>2]>>2]|0)>0:0)B1(c[(c[b>>2]|0)+24>>2]|0);$w(c[(c[b>>2]|0)+28>>2]|0);B1(c[b>>2]|0);i=d;return}function ax(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=i;i=i+32|0;if((i|0)>=(j|0))ba();c[h+20>>2]=a;c[h+16>>2]=b;c[h+12>>2]=d;c[h+8>>2]=e;c[h+4>>2]=f;c[h>>2]=g;i=h;return 0}function bx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+8|0;c[d+4>>2]=a;c[d>>2]=b;c[e>>2]=0;i=d;return c[e>>2]|0}function cx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();g=f+16|0;c[f+12>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[f>>2]=e;c[g>>2]=0;i=f;return c[g>>2]|0}function dx(a,b,d,e,f,g,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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=i;i=i+80|0;if((i|0)>=(j|0))ba();o=G+68|0;p=G+64|0;q=G+60|0;r=G+56|0;s=G+52|0;t=G+48|0;u=G+44|0;v=G+40|0;w=G+36|0;x=G+32|0;B=G+28|0;C=G+24|0;z=G+20|0;A=G+16|0;y=G+12|0;D=G+8|0;F=G+4|0;E=G;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=k;c[v>>2]=l;c[w>>2]=m;c[x>>2]=n;c[B>>2]=c[o>>2];c[C>>2]=0;c[z>>2]=0;c[A>>2]=0;c[D>>2]=0;c[F>>2]=0;c[c[u>>2]>>2]=0;c[c[v>>2]>>2]=0;c[c[p>>2]>>2]=0;c[c[t>>2]>>2]=0;c[c[r>>2]>>2]=0;c[E>>2]=c[(c[o>>2]|0)+4>>2];while(1){c[s>>2]=c[D>>2];gx(c[o>>2]|0,B,c[q>>2]|0,C,c[s>>2]|0,D,z,A,c[w>>2]|0,c[x>>2]|0);if(!(c[B>>2]|0)){o=14;break}c[F>>2]=c[(c[B>>2]|0)+4>>2];if(c[c[u>>2]>>2]|0){c[y>>2]=pw(c[c[u>>2]>>2]|0,c[z>>2]|0)|0;cw(c[c[u>>2]>>2]|0);cw(c[z>>2]|0);c[c[u>>2]>>2]=c[y>>2];c[y>>2]=pw(c[A>>2]|0,c[c[v>>2]>>2]|0)|0;cw(c[c[v>>2]>>2]|0);cw(c[A>>2]|0);c[c[v>>2]>>2]=c[y>>2]}else{c[c[u>>2]>>2]=c[z>>2];c[c[v>>2]>>2]=c[A>>2]}if(c[c[p>>2]>>2]|0)cw(c[c[p>>2]>>2]|0);c[c[p>>2]>>2]=c[B>>2];if(c[c[r>>2]>>2]|0)cw(c[c[r>>2]>>2]|0);c[c[r>>2]>>2]=c[C>>2];if(c[c[t>>2]>>2]|0)B1(c[c[t>>2]>>2]|0);c[c[t>>2]>>2]=c[D>>2];c[o>>2]=c[B>>2];c[q>>2]=c[C>>2];c[s>>2]=c[D>>2];c[D>>2]=0;if(!(+(c[F>>2]|0)>+h[(c[w>>2]|0)+8>>3]*+(c[E>>2]|0))){o=14;break}if((c[(c[w>>2]|0)+28>>2]|0)!=1){o=14;break}}if((o|0)==14){i=G;return}}function ex(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+24|0;o=n+20|0;g=n+16|0;h=n+12|0;m=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[o>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[f>>2];c[l>>2]=c[o>>2];if(!((fw(c[k>>2]|0,0)|0)!=0?(c[(c[k>>2]|0)+16>>2]|0)==1:0))c[k>>2]=uw(c[k>>2]|0)|0;do if(c[l>>2]|0){if((fw(c[l>>2]|0,0)|0)!=0?(c[(c[l>>2]|0)+16>>2]|0)==1:0)break;c[l>>2]=iw(c[l>>2]|0,0)|0}while(0);c[m>>2]=hx(c[k>>2]|0,c[l>>2]|0,c[g>>2]|0)|0;c[m>>2]=ix(c[m>>2]|0,c[h>>2]|0)|0;if((c[k>>2]|0)==(c[f>>2]|0)){o=c[m>>2]|0;i=n;return o|0}c[(c[m>>2]|0)+36>>2]=1;o=c[m>>2]|0;i=n;return o|0}function fx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+28>>2]|0))break;c[b>>2]=c[a+28>>2]}i=d;return a|0}function gx(a,b,d,e,f,g,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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.0;S=i;i=i+128|0;if((i|0)>=(j|0))ba();v=S+112|0;w=S+108|0;x=S+104|0;y=S+100|0;z=S+96|0;A=S+92|0;B=S+88|0;C=S+84|0;D=S+80|0;o=S+76|0;L=S+72|0;p=S+68|0;N=S+64|0;O=S+60|0;M=S+56|0;H=S+52|0;I=S+48|0;K=S+44|0;q=S+40|0;r=S+36|0;P=S+32|0;E=S+28|0;Q=S+24|0;u=S+20|0;t=S+16|0;J=S+12|0;F=S+8|0;G=S+4|0;s=S;c[v>>2]=a;c[w>>2]=b;c[x>>2]=d;c[y>>2]=e;c[z>>2]=f;c[A>>2]=g;c[B>>2]=k;c[C>>2]=l;c[D>>2]=m;c[o>>2]=n;c[L>>2]=0;c[p>>2]=0;c[I>>2]=0;c[K>>2]=0;c[q>>2]=0;c[r>>2]=0;c[P>>2]=0;c[E>>2]=0;c[Q>>2]=0;c[F>>2]=0;c[G>>2]=0;c[c[w>>2]>>2]=0;c[c[y>>2]>>2]=0;c[c[B>>2]>>2]=0;c[c[C>>2]>>2]=0;c[M>>2]=c[c[v>>2]>>2];c[c[o>>2]>>2]=c[(c[D>>2]|0)+24>>2];a:do switch(c[(c[D>>2]|0)+24>>2]|0){case 12:{c[(c[D>>2]|0)+24>>2]=3;c[c[o>>2]>>2]=3;gx(c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0,c[A>>2]|0,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[o>>2]|0);if(!(c[c[w>>2]>>2]|0)){c[(c[D>>2]|0)+24>>2]=4;c[c[o>>2]>>2]=4;gx(c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0,c[A>>2]|0,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[o>>2]|0)}if(!(c[c[w>>2]>>2]|0)){c[(c[D>>2]|0)+24>>2]=6;c[c[o>>2]>>2]=6;gx(c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0,c[A>>2]|0,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[o>>2]|0)}if(!(c[c[w>>2]>>2]|0)){c[(c[D>>2]|0)+24>>2]=9;c[c[o>>2]>>2]=9;gx(c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0,c[A>>2]|0,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[o>>2]|0)}if(!(c[c[w>>2]>>2]|0)){c[(c[D>>2]|0)+24>>2]=2;c[c[o>>2]>>2]=2;gx(c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0,c[A>>2]|0,c[B>>2]|0,c[C>>2]|0,c[D>>2]|0,c[o>>2]|0)}c[(c[D>>2]|0)+24>>2]=12;break}case 3:case 6:case 4:{do if((c[(c[D>>2]|0)+24>>2]|0)!=3){a=c[v>>2]|0;o=c[(c[D>>2]|0)+20>>2]|0;if((c[(c[D>>2]|0)+24>>2]|0)==4){kx(a,o,F,G,s);break}else{lx(a,4,o,F,G,s);break}}else jx(c[v>>2]|0,c[(c[D>>2]|0)+20>>2]|0,F,G,s);while(0);c[N>>2]=c[s>>2];if((c[(c[D>>2]|0)+28>>2]|0)==0?+(c[N>>2]|0)>+h[(c[D>>2]|0)+8>>3]*+(c[M>>2]|0):0)break a;if((c[N>>2]|0)!=(c[M>>2]|0)?(c[N>>2]|0)>=(c[c[D>>2]>>2]|0):0){c[I>>2]=rK(c[M>>2]<<2)|0;c[K>>2]=rK(c[M>>2]<<2)|0;c[P>>2]=rK(c[M>>2]<<3)|0;c[O>>2]=0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[s>>2]|0))break;c[J>>2]=c[(c[G>>2]|0)+(c[H>>2]<<2)>>2];while(1){if((c[J>>2]|0)>=(c[(c[G>>2]|0)+((c[H>>2]|0)+1<<2)>>2]|0))break;c[(c[I>>2]|0)+(c[O>>2]<<2)>>2]=c[(c[F>>2]|0)+(c[J>>2]<<2)>>2];c[(c[K>>2]|0)+(c[O>>2]<<2)>>2]=c[H>>2];D=c[O>>2]|0;c[O>>2]=D+1;h[(c[P>>2]|0)+(D<<3)>>3]=1.0;c[J>>2]=(c[J>>2]|0)+1}c[H>>2]=(c[H>>2]|0)+1}O=mw(c[O>>2]|0,c[M>>2]|0,c[N>>2]|0,c[I>>2]|0,c[K>>2]|0,c[P>>2]|0,1,8)|0;c[c[B>>2]>>2]=O;O=bw(c[c[B>>2]>>2]|0)|0;c[c[C>>2]>>2]=O;O=ax(c[s>>2]|0,c[G>>2]|0,c[F>>2]|0,c[c[B>>2]>>2]|0,c[c[C>>2]>>2]|0,c[x>>2]|0)|0;c[c[y>>2]>>2]=O;O=qw(c[c[C>>2]>>2]|0,c[v>>2]|0,c[c[B>>2]>>2]|0)|0;c[c[w>>2]>>2]=O;if(c[c[w>>2]>>2]|0){ow(c[c[C>>2]>>2]|0,c[z>>2]|0,c[A>>2]|0,0);O=tw(c[c[C>>2]>>2]|0)|0;c[c[C>>2]>>2]=O;c[(c[c[w>>2]>>2]|0)+36>>2]=c[(c[c[w>>2]>>2]|0)+36>>2]|2;c[(c[c[w>>2]>>2]|0)+36>>2]=c[(c[c[w>>2]>>2]|0)+36>>2]|1;O=jw(c[c[w>>2]>>2]|0)|0;c[c[w>>2]>>2]=O}}break}case 1:{mx(c[v>>2]|0,c[(c[D>>2]|0)+20>>2]|0,L,p);R=29;break}case 2:{R=29;break}case 5:{R=31;break}case 10:case 9:{o=c[v>>2]|0;a=c[(c[D>>2]|0)+20>>2]|0;if((c[(c[D>>2]|0)+24>>2]|0)==9)px(o,a,Q,u,O);else qx(o,a,Q,u,O);c[q>>2]=c[(c[v>>2]|0)+20>>2];c[r>>2]=c[(c[v>>2]|0)+24>>2];c[N>>2]=c[u>>2];if((c[(c[D>>2]|0)+28>>2]|0)==0?+(c[N>>2]|0)>+h[(c[D>>2]|0)+8>>3]*+(c[M>>2]|0):0)break a;if((c[N>>2]|0)!=(c[M>>2]|0)?(c[N>>2]|0)>=(c[c[D>>2]>>2]|0):0){c[I>>2]=rK(c[O>>2]<<2)|0;c[K>>2]=rK(c[O>>2]<<2)|0;c[P>>2]=rK(c[O>>2]<<3)|0;c[O>>2]=0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break;b:do if((c[(c[Q>>2]|0)+(c[H>>2]<<2)>>2]|0)==-1){c[t>>2]=0;c[J>>2]=c[(c[q>>2]|0)+(c[H>>2]<<2)>>2];while(1){if((c[J>>2]|0)>=(c[(c[q>>2]|0)+((c[H>>2]|0)+1<<2)>>2]|0))break;if((c[(c[Q>>2]|0)+(c[(c[r>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]|0)>=0)c[t>>2]=(c[t>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+1}c[J>>2]=c[(c[q>>2]|0)+(c[H>>2]<<2)>>2];while(1){if((c[J>>2]|0)>=(c[(c[q>>2]|0)+((c[H>>2]|0)+1<<2)>>2]|0))break b;if((c[(c[Q>>2]|0)+(c[(c[r>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2]|0)>=0){c[(c[I>>2]|0)+(c[O>>2]<<2)>>2]=c[H>>2];c[(c[K>>2]|0)+(c[O>>2]<<2)>>2]=c[(c[Q>>2]|0)+(c[(c[r>>2]|0)+(c[J>>2]<<2)>>2]<<2)>>2];T=1.0/+(c[t>>2]|0);D=c[O>>2]|0;c[O>>2]=D+1;h[(c[P>>2]|0)+(D<<3)>>3]=T}c[J>>2]=(c[J>>2]|0)+1}}else{c[(c[I>>2]|0)+(c[O>>2]<<2)>>2]=c[H>>2];c[(c[K>>2]|0)+(c[O>>2]<<2)>>2]=c[(c[Q>>2]|0)+(c[H>>2]<<2)>>2];D=c[O>>2]|0;c[O>>2]=D+1;h[(c[P>>2]|0)+(D<<3)>>3]=1.0}while(0);c[H>>2]=(c[H>>2]|0)+1}O=mw(c[O>>2]|0,c[M>>2]|0,c[N>>2]|0,c[I>>2]|0,c[K>>2]|0,c[P>>2]|0,1,8)|0;c[c[B>>2]>>2]=O;O=bw(c[c[B>>2]>>2]|0)|0;c[c[C>>2]>>2]=O;O=qw(c[c[C>>2]>>2]|0,c[v>>2]|0,c[c[B>>2]>>2]|0)|0;c[c[w>>2]>>2]=O;if(c[c[w>>2]>>2]|0){ow(c[c[C>>2]>>2]|0,c[z>>2]|0,c[A>>2]|0,0);c[(c[c[w>>2]>>2]|0)+36>>2]=c[(c[c[w>>2]>>2]|0)+36>>2]|2;c[(c[c[w>>2]>>2]|0)+36>>2]=c[(c[c[w>>2]>>2]|0)+36>>2]|1;O=jw(c[c[w>>2]>>2]|0)|0;c[c[w>>2]>>2]=O;O=cx(c[Q>>2]|0,0,-1,c[x>>2]|0)|0;c[c[y>>2]>>2]=O}}break}default:{}}while(0);if((R|0)==29)if((c[(c[D>>2]|0)+24>>2]|0)==2){nx(c[v>>2]|0,c[(c[D>>2]|0)+20>>2]|0,L,p);R=31}else R=31;do if((R|0)==31){if((c[(c[D>>2]|0)+24>>2]|0)==5)ox(c[v>>2]|0,c[(c[D>>2]|0)+20>>2]|0,L,p);c[N>>2]=c[p>>2];if((c[(c[D>>2]|0)+28>>2]|0)==0?+(c[N>>2]|0)>+h[(c[D>>2]|0)+8>>3]*+(c[M>>2]|0):0)break;if((c[N>>2]|0)!=(c[M>>2]|0)?(c[N>>2]|0)>=(c[c[D>>2]>>2]|0):0){c[I>>2]=rK(c[M>>2]<<2)|0;c[K>>2]=rK(c[M>>2]<<2)|0;c[P>>2]=rK(c[M>>2]<<3)|0;c[O>>2]=0;c[N>>2]=0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break;if((c[(c[L>>2]|0)+(c[H>>2]<<2)>>2]|0)>=0){R=(c[(c[L>>2]|0)+(c[H>>2]<<2)>>2]|0)==(c[H>>2]|0);c[(c[I>>2]|0)+(c[O>>2]<<2)>>2]=c[H>>2];c[(c[K>>2]|0)+(c[O>>2]<<2)>>2]=c[N>>2];J=c[O>>2]|0;c[O>>2]=J+1;h[(c[P>>2]|0)+(J<<3)>>3]=1.0;if(!R){c[(c[I>>2]|0)+(c[O>>2]<<2)>>2]=c[(c[L>>2]|0)+(c[H>>2]<<2)>>2];c[(c[K>>2]|0)+(c[O>>2]<<2)>>2]=c[N>>2];R=c[O>>2]|0;c[O>>2]=R+1;h[(c[P>>2]|0)+(R<<3)>>3]=1.0;c[(c[L>>2]|0)+(c[(c[L>>2]|0)+(c[H>>2]<<2)>>2]<<2)>>2]=-1}c[N>>2]=(c[N>>2]|0)+1;c[(c[L>>2]|0)+(c[H>>2]<<2)>>2]=-1}c[H>>2]=(c[H>>2]|0)+1}R=mw(c[O>>2]|0,c[M>>2]|0,c[N>>2]|0,c[I>>2]|0,c[K>>2]|0,c[P>>2]|0,1,8)|0;c[c[B>>2]>>2]=R;R=bw(c[c[B>>2]>>2]|0)|0;c[c[C>>2]>>2]=R;R=qw(c[c[C>>2]>>2]|0,c[v>>2]|0,c[c[B>>2]>>2]|0)|0;c[c[w>>2]>>2]=R;if(c[c[w>>2]>>2]|0){ow(c[c[C>>2]>>2]|0,c[z>>2]|0,c[A>>2]|0,0);R=tw(c[c[C>>2]>>2]|0)|0;c[c[C>>2]>>2]=R;c[(c[c[w>>2]>>2]|0)+36>>2]=c[(c[c[w>>2]>>2]|0)+36>>2]|2;c[(c[c[w>>2]>>2]|0)+36>>2]=c[(c[c[w>>2]>>2]|0)+36>>2]|1;R=jw(c[c[w>>2]>>2]|0)|0;c[c[w>>2]>>2]=R;R=bx(c[L>>2]|0,c[x>>2]|0)|0;c[c[y>>2]>>2]=R;c[c[y>>2]>>2]=0}}}while(0);if(c[L>>2]|0)B1(c[L>>2]|0);if(c[Q>>2]|0)B1(c[Q>>2]|0);if(c[I>>2]|0)B1(c[I>>2]|0);if(c[K>>2]|0)B1(c[K>>2]|0);if(c[P>>2]|0)B1(c[P>>2]|0);if(c[E>>2]|0)cw(c[E>>2]|0);if(c[F>>2]|0)B1(c[F>>2]|0);if(!(c[G>>2]|0)){i=S;return}B1(c[G>>2]|0);i=S;return}function hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[f>>2]|0){c[k>>2]=rK(44)|0;c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];c[(c[k>>2]|0)+8>>2]=c[f>>2];c[(c[k>>2]|0)+12>>2]=c[g>>2];c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=c[h>>2];c[(c[k>>2]|0)+28>>2]=0;c[(c[k>>2]|0)+32>>2]=0;c[(c[k>>2]|0)+36>>2]=0;c[e>>2]=c[k>>2];d=c[e>>2]|0;i=l;return d|0}else{c[e>>2]=0;d=c[e>>2]|0;i=l;return d|0}return 0}function ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();d=r+44|0;e=r+40|0;f=r+36|0;o=r+32|0;q=r+28|0;p=r+24|0;k=r+20|0;l=r+16|0;g=r+12|0;m=r+8|0;h=r+4|0;n=r;c[e>>2]=a;c[f>>2]=b;c[p>>2]=0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[h>>2]=c[(c[e>>2]|0)+12>>2];if((c[c[e>>2]>>2]|0)>=((c[(c[f>>2]|0)+16>>2]|0)-1|0)){c[d>>2]=c[e>>2];a=c[d>>2]|0;i=r;return a|0}dx(c[g>>2]|0,m,c[h>>2]|0,n,c[(c[e>>2]|0)+24>>2]|0,p,k,l,c[f>>2]|0,q);if(c[m>>2]|0){c[o>>2]=hx(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;c[(c[e>>2]|0)+28>>2]=c[o>>2];c[(c[o>>2]|0)+40>>2]=c[q>>2];c[c[o>>2]>>2]=(c[c[e>>2]>>2]|0)+1;c[(c[o>>2]|0)+4>>2]=c[c[m>>2]>>2];c[(c[o>>2]|0)+8>>2]=c[m>>2];c[(c[o>>2]|0)+12>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=c[k>>2];c[(c[e>>2]|0)+20>>2]=c[l>>2];c[(c[o>>2]|0)+32>>2]=c[e>>2];c[o>>2]=ix(c[o>>2]|0,c[f>>2]|0)|0;c[d>>2]=c[e>>2];a=c[d>>2]|0;i=r;return a|0}else{c[d>>2]=c[e>>2];a=c[d>>2]|0;i=r;return a|0}return 0}function jx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=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,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;if((i|0)>=(j|0))ba();k=H+96|0;l=H+92|0;t=H+88|0;u=H+84|0;v=H+80|0;z=H+76|0;m=H+72|0;B=H+68|0;A=H+64|0;C=H+60|0;E=H+56|0;r=H+48|0;s=H+44|0;w=H+40|0;x=H;y=H+36|0;D=H+32|0;F=H+28|0;G=H+24|0;o=H+20|0;p=H+16|0;q=H+12|0;n=H+8|0;c[k>>2]=a;c[l>>2]=b;c[t>>2]=d;c[u>>2]=e;c[v>>2]=f;c[r>>2]=0;h[x>>3]=0.0;c[y>>2]=1;c[D>>2]=0;c[o>>2]=0;c[A>>2]=c[(c[k>>2]|0)+20>>2];c[C>>2]=c[(c[k>>2]|0)+24>>2];c[E>>2]=c[c[k>>2]>>2];c[H+52>>2]=c[(c[k>>2]|0)+4>>2];b=rK(c[E>>2]<<2)|0;c[c[t>>2]>>2]=b;b=rK((c[E>>2]|0)+1<<2)|0;c[c[u>>2]>>2]=b;c[F>>2]=rK(c[E>>2]<<2)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[E>>2]|0))break;c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+1}c[c[v>>2]>>2]=0;c[c[c[u>>2]>>2]>>2]=0;c[G>>2]=0;c[w>>2]=c[(c[k>>2]|0)+28>>2];if(!(c[l>>2]|0)){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[E>>2]|0))break;a:do if((c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]|0)!=-1?((c[(c[A>>2]|0)+((c[z>>2]|0)+1<<2)>>2]|0)-(c[(c[A>>2]|0)+(c[z>>2]<<2)>>2]|0)|0)==1:0){c[s>>2]=c[(c[C>>2]|0)+(c[(c[A>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2];c[(c[F>>2]|0)+(c[s>>2]<<2)>>2]=-1;m=c[s>>2]|0;r=c[G>>2]|0;c[G>>2]=r+1;c[(c[c[t>>2]>>2]|0)+(r<<2)>>2]=m;c[B>>2]=c[(c[A>>2]|0)+(c[s>>2]<<2)>>2];while(1){if((c[B>>2]|0)>=(c[(c[A>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;if((c[s>>2]|0)!=(c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]|0)?((c[(c[A>>2]|0)+((c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]|0)+1<<2)>>2]|0)-(c[(c[A>>2]|0)+(c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]<<2)>>2]|0)|0)==1:0){c[(c[F>>2]|0)+(c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]<<2)>>2]=-1;m=c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]|0;r=c[G>>2]|0;c[G>>2]=r+1;c[(c[c[t>>2]>>2]|0)+(r<<2)>>2]=m}c[B>>2]=(c[B>>2]|0)+1}if((c[o>>2]|0)>((c[G>>2]|0)-(c[(c[c[u>>2]>>2]|0)+(c[c[v>>2]>>2]<<2)>>2]|0)|0))k=c[o>>2]|0;else k=(c[G>>2]|0)-(c[(c[c[u>>2]>>2]|0)+(c[c[v>>2]>>2]<<2)>>2]|0)|0;c[o>>2]=k;c[p>>2]=c[(c[c[u>>2]>>2]|0)+(c[c[v>>2]>>2]<<2)>>2];if(((c[G>>2]|0)-(c[p>>2]|0)|0)<=4){m=c[G>>2]|0;b=c[v>>2]|0;r=(c[b>>2]|0)+1|0;c[b>>2]=r;c[(c[c[u>>2]>>2]|0)+(r<<2)>>2]=m;break}m=(c[p>>2]|0)+1|0;c[p>>2]=m;b=c[v>>2]|0;r=(c[b>>2]|0)+1|0;c[b>>2]=r;c[(c[c[u>>2]>>2]|0)+(r<<2)>>2]=m;c[q>>2]=c[p>>2];c[n>>2]=c[p>>2];while(1){if((c[n>>2]|0)>=(c[G>>2]|0))break a;if((c[q>>2]|0)>=(c[G>>2]|0))break a;c[q>>2]=(c[q>>2]|0)+3;c[q>>2]=(c[G>>2]|0)<(c[q>>2]|0)?c[G>>2]|0:c[q>>2]|0;m=c[q>>2]|0;b=c[v>>2]|0;r=(c[b>>2]|0)+1|0;c[b>>2]=r;c[(c[c[u>>2]>>2]|0)+(r<<2)>>2]=m;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[E>>2]|0))break;c[y>>2]=1;if((c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]|0)!=-1){c[B>>2]=c[(c[A>>2]|0)+(c[z>>2]<<2)>>2];while(1){if((c[B>>2]|0)>=(c[(c[A>>2]|0)+((c[z>>2]|0)+1<<2)>>2]|0))break;do if(((c[z>>2]|0)!=(c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]|0)?(c[(c[F>>2]|0)+(c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]<<2)>>2]|0)!=-1:0)?(c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]|0)!=-1:0){g=+h[(c[w>>2]|0)+(c[B>>2]<<3)>>3];if(c[y>>2]|0){h[x>>3]=g;c[D>>2]=c[(c[C>>2]|0)+(c[B>>2]<<2)>>2];c[y>>2]=0;break}if(g>+h[x>>3]){h[x>>3]=+h[(c[w>>2]|0)+(c[B>>2]<<3)>>3];c[D>>2]=c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]}}while(0);c[B>>2]=(c[B>>2]|0)+1}if(!(c[y>>2]|0)){c[(c[F>>2]|0)+(c[D>>2]<<2)>>2]=-1;c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]=-1;r=c[z>>2]|0;q=c[G>>2]|0;c[G>>2]=q+1;c[(c[c[t>>2]>>2]|0)+(q<<2)>>2]=r;q=c[D>>2]|0;r=c[G>>2]|0;c[G>>2]=r+1;c[(c[c[t>>2]>>2]|0)+(r<<2)>>2]=q;r=c[G>>2]|0;q=c[v>>2]|0;s=(c[q>>2]|0)+1|0;c[q>>2]=s;c[(c[c[u>>2]>>2]|0)+(s<<2)>>2]=r}}c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[E>>2]|0))break;if((c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]|0)==(c[z>>2]|0)){B=c[z>>2]|0;C=c[G>>2]|0;c[G>>2]=C+1;c[(c[c[t>>2]>>2]|0)+(C<<2)>>2]=B;C=c[G>>2]|0;B=c[v>>2]|0;D=(c[B>>2]|0)+1|0;c[B>>2]=D;c[(c[c[u>>2]>>2]|0)+(D<<2)>>2]=C}c[z>>2]=(c[z>>2]|0)+1}G=c[F>>2]|0;B1(G);i=H;return}c[r>>2]=Mw(c[E>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[E>>2]|0))break;c[z>>2]=c[(c[r>>2]|0)+(c[m>>2]<<2)>>2];b:do if((c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]|0)!=-1?((c[(c[A>>2]|0)+((c[z>>2]|0)+1<<2)>>2]|0)-(c[(c[A>>2]|0)+(c[z>>2]<<2)>>2]|0)|0)==1:0){c[s>>2]=c[(c[C>>2]|0)+(c[(c[A>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2];c[(c[F>>2]|0)+(c[s>>2]<<2)>>2]=-1;f=c[s>>2]|0;b=c[G>>2]|0;c[G>>2]=b+1;c[(c[c[t>>2]>>2]|0)+(b<<2)>>2]=f;c[B>>2]=c[(c[A>>2]|0)+(c[s>>2]<<2)>>2];while(1){if((c[B>>2]|0)>=(c[(c[A>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;if((c[s>>2]|0)!=(c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]|0)?((c[(c[A>>2]|0)+((c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]|0)+1<<2)>>2]|0)-(c[(c[A>>2]|0)+(c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]<<2)>>2]|0)|0)==1:0){c[(c[F>>2]|0)+(c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]<<2)>>2]=-1;f=c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]|0;b=c[G>>2]|0;c[G>>2]=b+1;c[(c[c[t>>2]>>2]|0)+(b<<2)>>2]=f}c[B>>2]=(c[B>>2]|0)+1}if((c[o>>2]|0)>((c[G>>2]|0)-(c[(c[c[u>>2]>>2]|0)+(c[c[v>>2]>>2]<<2)>>2]|0)|0))k=c[o>>2]|0;else k=(c[G>>2]|0)-(c[(c[c[u>>2]>>2]|0)+(c[c[v>>2]>>2]<<2)>>2]|0)|0;c[o>>2]=k;c[p>>2]=c[(c[c[u>>2]>>2]|0)+(c[c[v>>2]>>2]<<2)>>2];if(((c[G>>2]|0)-(c[p>>2]|0)|0)<=4){f=c[G>>2]|0;e=c[v>>2]|0;b=(c[e>>2]|0)+1|0;c[e>>2]=b;c[(c[c[u>>2]>>2]|0)+(b<<2)>>2]=f;break}f=(c[p>>2]|0)+1|0;c[p>>2]=f;e=c[v>>2]|0;b=(c[e>>2]|0)+1|0;c[e>>2]=b;c[(c[c[u>>2]>>2]|0)+(b<<2)>>2]=f;c[q>>2]=c[p>>2];c[n>>2]=c[p>>2];while(1){if((c[n>>2]|0)>=(c[G>>2]|0))break b;if((c[q>>2]|0)>=(c[G>>2]|0))break b;c[q>>2]=(c[q>>2]|0)+3;c[q>>2]=(c[G>>2]|0)<(c[q>>2]|0)?c[G>>2]|0:c[q>>2]|0;f=c[q>>2]|0;e=c[v>>2]|0;b=(c[e>>2]|0)+1|0;c[e>>2]=b;c[(c[c[u>>2]>>2]|0)+(b<<2)>>2]=f;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[E>>2]|0))break;c[z>>2]=c[(c[r>>2]|0)+(c[m>>2]<<2)>>2];c[y>>2]=1;if((c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]|0)!=-1){c[B>>2]=c[(c[A>>2]|0)+(c[z>>2]<<2)>>2];while(1){if((c[B>>2]|0)>=(c[(c[A>>2]|0)+((c[z>>2]|0)+1<<2)>>2]|0))break;do if(((c[z>>2]|0)!=(c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]|0)?(c[(c[F>>2]|0)+(c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]<<2)>>2]|0)!=-1:0)?(c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]|0)!=-1:0){g=+h[(c[w>>2]|0)+(c[B>>2]<<3)>>3];if(c[y>>2]|0){h[x>>3]=g;c[D>>2]=c[(c[C>>2]|0)+(c[B>>2]<<2)>>2];c[y>>2]=0;break}if(g>+h[x>>3]){h[x>>3]=+h[(c[w>>2]|0)+(c[B>>2]<<3)>>3];c[D>>2]=c[(c[C>>2]|0)+(c[B>>2]<<2)>>2]}}while(0);c[B>>2]=(c[B>>2]|0)+1}if(!(c[y>>2]|0)){c[(c[F>>2]|0)+(c[D>>2]<<2)>>2]=-1;c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]=-1;q=c[z>>2]|0;p=c[G>>2]|0;c[G>>2]=p+1;c[(c[c[t>>2]>>2]|0)+(p<<2)>>2]=q;p=c[D>>2]|0;q=c[G>>2]|0;c[G>>2]=q+1;c[(c[c[t>>2]>>2]|0)+(q<<2)>>2]=p;q=c[G>>2]|0;p=c[v>>2]|0;s=(c[p>>2]|0)+1|0;c[p>>2]=s;c[(c[c[u>>2]>>2]|0)+(s<<2)>>2]=q}}c[m>>2]=(c[m>>2]|0)+1}c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[E>>2]|0))break;if((c[(c[F>>2]|0)+(c[z>>2]<<2)>>2]|0)==(c[z>>2]|0)){B=c[z>>2]|0;C=c[G>>2]|0;c[G>>2]=C+1;c[(c[c[t>>2]>>2]|0)+(C<<2)>>2]=B;C=c[G>>2]|0;B=c[v>>2]|0;D=(c[B>>2]|0)+1|0;c[B>>2]=D;c[(c[c[u>>2]>>2]|0)+(D<<2)>>2]=C}c[z>>2]=(c[z>>2]|0)+1}B1(c[r>>2]|0);G=c[F>>2]|0;B1(G);i=H;return}function kx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=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,C=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;if((i|0)>=(j|0))ba();k=G+92|0;l=G+88|0;q=G+84|0;r=G+80|0;s=G+76|0;w=G+72|0;o=G+68|0;y=G+64|0;x=G+60|0;z=G+56|0;B=G+52|0;p=G+44|0;t=G+40|0;u=G;v=G+36|0;A=G+32|0;C=G+28|0;D=G+24|0;n=G+20|0;m=G+16|0;E=G+12|0;F=G+8|0;c[k>>2]=a;c[l>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;c[p>>2]=0;h[u>>3]=0.0;c[v>>2]=1;c[A>>2]=0;c[E>>2]=0;c[F>>2]=0;c[x>>2]=c[(c[k>>2]|0)+20>>2];c[z>>2]=c[(c[k>>2]|0)+24>>2];c[B>>2]=c[c[k>>2]>>2];c[G+48>>2]=c[(c[k>>2]|0)+4>>2];b=rK(c[B>>2]<<2)|0;c[c[q>>2]>>2]=b;b=rK((c[B>>2]|0)+1<<2)|0;c[c[r>>2]>>2]=b;c[C>>2]=rK(c[B>>2]<<2)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[B>>2]|0))break;c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]=c[w>>2];c[w>>2]=(c[w>>2]|0)+1}xw(c[k>>2]|0,m,E,F);c[c[s>>2]>>2]=0;c[c[c[r>>2]>>2]>>2]=0;c[D>>2]=0;c[t>>2]=c[(c[k>>2]|0)+28>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[m>>2]|0))break;if(((c[(c[F>>2]|0)+((c[w>>2]|0)+1<<2)>>2]|0)-(c[(c[F>>2]|0)+(c[w>>2]<<2)>>2]|0)|0)>1){c[n>>2]=c[(c[c[r>>2]>>2]|0)+(c[c[s>>2]>>2]<<2)>>2];c[y>>2]=c[(c[F>>2]|0)+(c[w>>2]<<2)>>2];while(1){if((c[y>>2]|0)>=(c[(c[F>>2]|0)+((c[w>>2]|0)+1<<2)>>2]|0))break;c[(c[C>>2]|0)+(c[(c[E>>2]|0)+(c[y>>2]<<2)>>2]<<2)>>2]=-1;f=c[(c[E>>2]|0)+(c[y>>2]<<2)>>2]|0;b=c[D>>2]|0;c[D>>2]=b+1;c[(c[c[q>>2]>>2]|0)+(b<<2)>>2]=f;if(((c[D>>2]|0)-(c[n>>2]|0)|0)>=4){f=c[D>>2]|0;e=c[s>>2]|0;b=(c[e>>2]|0)+1|0;c[e>>2]=b;c[(c[c[r>>2]>>2]|0)+(b<<2)>>2]=f;c[n>>2]=c[D>>2]}c[y>>2]=(c[y>>2]|0)+1}if((c[D>>2]|0)>(c[n>>2]|0)){f=c[D>>2]|0;e=c[s>>2]|0;b=(c[e>>2]|0)+1|0;c[e>>2]=b;c[(c[c[r>>2]>>2]|0)+(b<<2)>>2]=f}}c[w>>2]=(c[w>>2]|0)+1}if(!(c[l>>2]|0)){c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[B>>2]|0))break;c[v>>2]=1;if((c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]|0)!=-1){c[y>>2]=c[(c[x>>2]|0)+(c[w>>2]<<2)>>2];while(1){if((c[y>>2]|0)>=(c[(c[x>>2]|0)+((c[w>>2]|0)+1<<2)>>2]|0))break;do if(((c[w>>2]|0)!=(c[(c[z>>2]|0)+(c[y>>2]<<2)>>2]|0)?(c[(c[C>>2]|0)+(c[(c[z>>2]|0)+(c[y>>2]<<2)>>2]<<2)>>2]|0)!=-1:0)?(c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]|0)!=-1:0){g=+h[(c[t>>2]|0)+(c[y>>2]<<3)>>3];if(c[v>>2]|0){h[u>>3]=g;c[A>>2]=c[(c[z>>2]|0)+(c[y>>2]<<2)>>2];c[v>>2]=0;break}if(g>+h[u>>3]){h[u>>3]=+h[(c[t>>2]|0)+(c[y>>2]<<3)>>3];c[A>>2]=c[(c[z>>2]|0)+(c[y>>2]<<2)>>2]}}while(0);c[y>>2]=(c[y>>2]|0)+1}if(!(c[v>>2]|0)){c[(c[C>>2]|0)+(c[A>>2]<<2)>>2]=-1;c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]=-1;o=c[w>>2]|0;b=c[D>>2]|0;c[D>>2]=b+1;c[(c[c[q>>2]>>2]|0)+(b<<2)>>2]=o;b=c[A>>2]|0;o=c[D>>2]|0;c[D>>2]=o+1;c[(c[c[q>>2]>>2]|0)+(o<<2)>>2]=b;o=c[D>>2]|0;b=c[s>>2]|0;p=(c[b>>2]|0)+1|0;c[b>>2]=p;c[(c[c[r>>2]>>2]|0)+(p<<2)>>2]=o}}c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[B>>2]|0))break;if((c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]|0)==(c[w>>2]|0)){y=c[w>>2]|0;z=c[D>>2]|0;c[D>>2]=z+1;c[(c[c[q>>2]>>2]|0)+(z<<2)>>2]=y;z=c[D>>2]|0;y=c[s>>2]|0;A=(c[y>>2]|0)+1|0;c[y>>2]=A;c[(c[c[r>>2]>>2]|0)+(A<<2)>>2]=z}c[w>>2]=(c[w>>2]|0)+1}E=c[E>>2]|0;B1(E);F=c[F>>2]|0;B1(F);F=c[C>>2]|0;B1(F);i=G;return}c[p>>2]=Mw(c[B>>2]|0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[B>>2]|0))break;c[w>>2]=c[(c[p>>2]|0)+(c[o>>2]<<2)>>2];c[v>>2]=1;if((c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]|0)!=-1){c[y>>2]=c[(c[x>>2]|0)+(c[w>>2]<<2)>>2];while(1){if((c[y>>2]|0)>=(c[(c[x>>2]|0)+((c[w>>2]|0)+1<<2)>>2]|0))break;do if(((c[w>>2]|0)!=(c[(c[z>>2]|0)+(c[y>>2]<<2)>>2]|0)?(c[(c[C>>2]|0)+(c[(c[z>>2]|0)+(c[y>>2]<<2)>>2]<<2)>>2]|0)!=-1:0)?(c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]|0)!=-1:0){g=+h[(c[t>>2]|0)+(c[y>>2]<<3)>>3];if(c[v>>2]|0){h[u>>3]=g;c[A>>2]=c[(c[z>>2]|0)+(c[y>>2]<<2)>>2];c[v>>2]=0;break}if(g>+h[u>>3]){h[u>>3]=+h[(c[t>>2]|0)+(c[y>>2]<<3)>>3];c[A>>2]=c[(c[z>>2]|0)+(c[y>>2]<<2)>>2]}}while(0);c[y>>2]=(c[y>>2]|0)+1}if(!(c[v>>2]|0)){c[(c[C>>2]|0)+(c[A>>2]<<2)>>2]=-1;c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]=-1;n=c[w>>2]|0;m=c[D>>2]|0;c[D>>2]=m+1;c[(c[c[q>>2]>>2]|0)+(m<<2)>>2]=n;m=c[A>>2]|0;n=c[D>>2]|0;c[D>>2]=n+1;c[(c[c[q>>2]>>2]|0)+(n<<2)>>2]=m;n=c[D>>2]|0;m=c[s>>2]|0;b=(c[m>>2]|0)+1|0;c[m>>2]=b;c[(c[c[r>>2]>>2]|0)+(b<<2)>>2]=n}}c[o>>2]=(c[o>>2]|0)+1}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[B>>2]|0))break;if((c[(c[C>>2]|0)+(c[w>>2]<<2)>>2]|0)==(c[w>>2]|0)){y=c[w>>2]|0;z=c[D>>2]|0;c[D>>2]=z+1;c[(c[c[q>>2]>>2]|0)+(z<<2)>>2]=y;z=c[D>>2]|0;y=c[s>>2]|0;A=(c[y>>2]|0)+1|0;c[y>>2]=A;c[(c[c[r>>2]>>2]|0)+(A<<2)>>2]=z}c[w>>2]=(c[w>>2]|0)+1}B1(c[p>>2]|0);E=c[E>>2]|0;B1(E);F=c[F>>2]|0;B1(F);F=c[C>>2]|0;B1(F);i=G;return}function lx(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 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;G=i;i=i+96|0;if((i|0)>=(j|0))ba();k=G+92|0;l=G+88|0;m=G+80|0;n=G+76|0;o=G+72|0;q=G+68|0;s=G+64|0;u=G+60|0;r=G+56|0;v=G+52|0;x=G+48|0;D=G+40|0;E=G+36|0;t=G+32|0;p=G+28|0;y=G+24|0;A=G+20|0;B=G+16|0;C=G+12|0;w=G+8|0;z=G+4|0;F=G;c[k>>2]=a;c[l>>2]=b;c[G+84>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[D>>2]=0;c[r>>2]=c[(c[k>>2]|0)+20>>2];c[v>>2]=c[(c[k>>2]|0)+24>>2];c[x>>2]=c[c[k>>2]>>2];c[G+44>>2]=c[(c[k>>2]|0)+4>>2];d=rK(c[x>>2]<<2)|0;c[c[m>>2]>>2]=d;d=rK((c[x>>2]|0)+1<<2)|0;c[c[n>>2]>>2]=d;c[y>>2]=rK(c[x>>2]<<2)|0;c[F>>2]=rK(c[x>>2]<<1<<3)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[x>>2]|0))break;c[(c[y>>2]|0)+(c[q>>2]<<2)>>2]=c[q>>2];c[q>>2]=(c[q>>2]|0)+1}c[c[o>>2]>>2]=0;c[c[c[n>>2]>>2]>>2]=0;c[A>>2]=0;c[p>>2]=c[(c[k>>2]|0)+28>>2];c[D>>2]=Mw(c[x>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[x>>2]|0))break;c[q>>2]=c[(c[D>>2]|0)+(c[s>>2]<<2)>>2];a:do if((c[(c[y>>2]|0)+(c[q>>2]<<2)>>2]|0)!=-1?((c[(c[r>>2]|0)+((c[q>>2]|0)+1<<2)>>2]|0)-(c[(c[r>>2]|0)+(c[q>>2]<<2)>>2]|0)|0)==1:0){c[E>>2]=c[(c[v>>2]|0)+(c[(c[r>>2]|0)+(c[q>>2]<<2)>>2]<<2)>>2];c[(c[y>>2]|0)+(c[E>>2]<<2)>>2]=-1;g=c[E>>2]|0;d=c[A>>2]|0;c[A>>2]=d+1;c[(c[c[m>>2]>>2]|0)+(d<<2)>>2]=g;c[u>>2]=c[(c[r>>2]|0)+(c[E>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+((c[E>>2]|0)+1<<2)>>2]|0))break;if((c[E>>2]|0)!=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0)?((c[(c[r>>2]|0)+((c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0)+1<<2)>>2]|0)-(c[(c[r>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]|0)|0)==1:0){c[(c[y>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]=-1;g=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0;d=c[A>>2]|0;c[A>>2]=d+1;c[(c[c[m>>2]>>2]|0)+(d<<2)>>2]=g}c[u>>2]=(c[u>>2]|0)+1}c[B>>2]=c[(c[c[n>>2]>>2]|0)+(c[c[o>>2]>>2]<<2)>>2];if(((c[A>>2]|0)-(c[B>>2]|0)|0)<=4){g=c[A>>2]|0;b=c[o>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=d;c[(c[c[n>>2]>>2]|0)+(d<<2)>>2]=g;break}g=(c[B>>2]|0)+1|0;c[B>>2]=g;b=c[o>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=d;c[(c[c[n>>2]>>2]|0)+(d<<2)>>2]=g;c[C>>2]=c[B>>2];c[w>>2]=c[B>>2];while(1){if((c[w>>2]|0)>=(c[A>>2]|0))break a;if((c[C>>2]|0)>=(c[A>>2]|0))break a;c[C>>2]=(c[C>>2]|0)+3;c[C>>2]=(c[A>>2]|0)<(c[C>>2]|0)?c[A>>2]|0:c[C>>2]|0;g=c[C>>2]|0;b=c[o>>2]|0;d=(c[b>>2]|0)+1|0;c[b>>2]=d;c[(c[c[n>>2]>>2]|0)+(d<<2)>>2]=g;c[w>>2]=(c[w>>2]|0)+1}}while(0);c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[x>>2]|0))break;c[q>>2]=c[(c[D>>2]|0)+(c[s>>2]<<2)>>2];if((c[(c[y>>2]|0)+(c[q>>2]<<2)>>2]|0)!=-1){c[z>>2]=0;c[u>>2]=c[(c[r>>2]|0)+(c[q>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+((c[q>>2]|0)+1<<2)>>2]|0))break;if(((c[q>>2]|0)!=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0)?(c[(c[y>>2]|0)+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]<<2)>>2]|0)!=-1:0)?(c[(c[y>>2]|0)+(c[q>>2]<<2)>>2]|0)!=-1:0){h[(c[F>>2]|0)+(c[z>>2]<<1<<3)>>3]=+(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0);h[(c[F>>2]|0)+((c[z>>2]<<1)+1<<3)>>3]=+h[(c[p>>2]|0)+(c[u>>2]<<3)>>3];c[z>>2]=(c[z>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}if((c[z>>2]|0)>0){P3(c[F>>2]|0,c[z>>2]|0,16,81);c[u>>2]=0;while(1){if((c[u>>2]|0)>=((((c[l>>2]|0)-1|0)<(c[z>>2]|0)?(c[l>>2]|0)-1|0:c[z>>2]|0)|0))break;c[t>>2]=~~+h[(c[F>>2]|0)+(c[u>>2]<<1<<3)>>3];c[(c[y>>2]|0)+(c[t>>2]<<2)>>2]=-1;E=c[t>>2]|0;d=c[A>>2]|0;c[A>>2]=d+1;c[(c[c[m>>2]>>2]|0)+(d<<2)>>2]=E;c[u>>2]=(c[u>>2]|0)+1}c[(c[y>>2]|0)+(c[q>>2]<<2)>>2]=-1;C=c[q>>2]|0;E=c[A>>2]|0;c[A>>2]=E+1;c[(c[c[m>>2]>>2]|0)+(E<<2)>>2]=C;E=c[A>>2]|0;C=c[o>>2]|0;d=(c[C>>2]|0)+1|0;c[C>>2]=d;c[(c[c[n>>2]>>2]|0)+(d<<2)>>2]=E}}c[s>>2]=(c[s>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[x>>2]|0))break;if((c[(c[y>>2]|0)+(c[q>>2]<<2)>>2]|0)==(c[q>>2]|0)){E=c[q>>2]|0;d=c[A>>2]|0;c[A>>2]=d+1;c[(c[c[m>>2]>>2]|0)+(d<<2)>>2]=E;d=c[A>>2]|0;E=c[o>>2]|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[c[n>>2]>>2]|0)+(F<<2)>>2]=d}c[q>>2]=(c[q>>2]|0)+1}B1(c[D>>2]|0);B1(c[y>>2]|0);i=G;return}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();t=s+44|0;f=s+40|0;l=s+36|0;m=s+32|0;n=s+28|0;g=s+24|0;p=s+20|0;o=s+16|0;q=s+12|0;r=s+8|0;h=s+4|0;k=s;c[t>>2]=a;c[f>>2]=b;c[l>>2]=d;c[m>>2]=e;c[k>>2]=0;c[o>>2]=c[(c[t>>2]|0)+20>>2];c[q>>2]=c[(c[t>>2]|0)+24>>2];c[r>>2]=c[c[t>>2]>>2];c[h>>2]=c[(c[t>>2]|0)+4>>2];b=rK(c[r>>2]<<2)|0;c[c[l>>2]>>2]=b;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[r>>2]|0))break;c[(c[c[l>>2]>>2]|0)+(c[n>>2]<<2)>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+1}c[c[m>>2]>>2]=c[h>>2];if(!(c[f>>2]|0)){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[r>>2]|0))break;c[p>>2]=c[(c[o>>2]|0)+(c[n>>2]<<2)>>2];while(1){f=c[n>>2]|0;if((c[p>>2]|0)>=(c[(c[o>>2]|0)+((c[n>>2]|0)+1<<2)>>2]|0))break;if(((f|0)!=(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]|0)?(c[(c[c[l>>2]>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]|0)==(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]|0):0)?(c[(c[c[l>>2]>>2]|0)+(c[n>>2]<<2)>>2]|0)==(c[n>>2]|0):0){c[(c[c[l>>2]>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]=c[n>>2];c[(c[c[l>>2]>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[q>>2]|0)+(c[p>>2]<<2)>>2];t=c[m>>2]|0;c[t>>2]=(c[t>>2]|0)+-1}c[p>>2]=(c[p>>2]|0)+1}c[n>>2]=f+1}i=s;return}c[k>>2]=Mw(c[r>>2]|0)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[r>>2]|0))break;c[n>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];c[p>>2]=c[(c[o>>2]|0)+(c[n>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[o>>2]|0)+((c[n>>2]|0)+1<<2)>>2]|0))break;if(((c[n>>2]|0)!=(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]|0)?(c[(c[c[l>>2]>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]|0)==(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]|0):0)?(c[(c[c[l>>2]>>2]|0)+(c[n>>2]<<2)>>2]|0)==(c[n>>2]|0):0){c[(c[c[l>>2]>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]=c[n>>2];c[(c[c[l>>2]>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[q>>2]|0)+(c[p>>2]<<2)>>2];t=c[m>>2]|0;c[t>>2]=(c[t>>2]|0)+-1}c[p>>2]=(c[p>>2]|0)+1}c[g>>2]=(c[g>>2]|0)+1}B1(c[k>>2]|0);i=s;return}function nx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=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=i;i=i+80|0;if((i|0)>=(j|0))ba();g=z+64|0;k=z+60|0;o=z+56|0;p=z+52|0;t=z+48|0;m=z+44|0;v=z+40|0;u=z+36|0;w=z+32|0;y=z+28|0;l=z+24|0;n=z+20|0;q=z+16|0;r=z;s=z+12|0;x=z+8|0;c[g>>2]=a;c[k>>2]=b;c[o>>2]=d;c[p>>2]=e;c[n>>2]=0;h[r>>3]=0.0;c[s>>2]=1;c[x>>2]=0;c[u>>2]=c[(c[g>>2]|0)+20>>2];c[w>>2]=c[(c[g>>2]|0)+24>>2];c[y>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[g>>2]|0)+4>>2];b=rK(c[y>>2]<<2)|0;c[c[o>>2]>>2]=b;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[y>>2]|0))break;c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}c[c[p>>2]>>2]=c[l>>2];c[q>>2]=c[(c[g>>2]|0)+28>>2];if(!(c[k>>2]|0)){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[y>>2]|0))break;c[s>>2]=1;c[v>>2]=c[(c[u>>2]|0)+(c[t>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0))break;do if(((c[t>>2]|0)!=(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0)?(c[(c[c[o>>2]>>2]|0)+(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]|0)==(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0):0)?(c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]|0)==(c[t>>2]|0):0){f=+h[(c[q>>2]|0)+(c[v>>2]<<3)>>3];if(c[s>>2]|0){h[r>>3]=f;c[x>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];c[s>>2]=0;break}if(f>+h[r>>3]){h[r>>3]=+h[(c[q>>2]|0)+(c[v>>2]<<3)>>3];c[x>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]}}while(0);c[v>>2]=(c[v>>2]|0)+1}if(!(c[s>>2]|0)){c[(c[c[o>>2]>>2]|0)+(c[x>>2]<<2)>>2]=c[t>>2];c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]=c[x>>2];n=c[p>>2]|0;c[n>>2]=(c[n>>2]|0)+-1}c[t>>2]=(c[t>>2]|0)+1}i=z;return}c[n>>2]=Mw(c[y>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[y>>2]|0))break;c[t>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];if((c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]|0)==(c[t>>2]|0)){c[s>>2]=1;c[v>>2]=c[(c[u>>2]|0)+(c[t>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0))break;do if(((c[t>>2]|0)!=(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0)?(c[(c[c[o>>2]>>2]|0)+(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]|0)==(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0):0)?(c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]|0)==(c[t>>2]|0):0){f=+h[(c[q>>2]|0)+(c[v>>2]<<3)>>3];if(c[s>>2]|0){h[r>>3]=f;c[x>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];c[s>>2]=0;break}if(f>+h[r>>3]){h[r>>3]=+h[(c[q>>2]|0)+(c[v>>2]<<3)>>3];c[x>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]}}while(0);c[v>>2]=(c[v>>2]|0)+1}if(!(c[s>>2]|0)){c[(c[c[o>>2]>>2]|0)+(c[x>>2]<<2)>>2]=c[t>>2];c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]=c[x>>2];b=c[p>>2]|0;c[b>>2]=(c[b>>2]|0)+-1}}c[m>>2]=(c[m>>2]|0)+1}B1(c[n>>2]|0);i=z;return}function ox(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=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=i;i=i+80|0;if((i|0)>=(j|0))ba();g=z+64|0;k=z+60|0;o=z+56|0;p=z+52|0;t=z+48|0;m=z+44|0;v=z+40|0;u=z+36|0;w=z+32|0;y=z+28|0;l=z+24|0;n=z+20|0;q=z+16|0;r=z;s=z+12|0;x=z+8|0;c[g>>2]=a;c[k>>2]=b;c[o>>2]=d;c[p>>2]=e;c[n>>2]=0;h[r>>3]=0.0;c[s>>2]=1;c[x>>2]=0;c[u>>2]=c[(c[g>>2]|0)+20>>2];c[w>>2]=c[(c[g>>2]|0)+24>>2];c[y>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[g>>2]|0)+4>>2];b=rK(c[y>>2]<<2)|0;c[c[o>>2]>>2]=b;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[y>>2]|0))break;c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}c[c[p>>2]>>2]=c[l>>2];c[q>>2]=c[(c[g>>2]|0)+28>>2];if(!(c[k>>2]|0)){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[y>>2]|0))break;c[s>>2]=1;c[v>>2]=c[(c[u>>2]|0)+(c[t>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0))break;do if(((c[t>>2]|0)!=(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0)?(c[(c[c[o>>2]>>2]|0)+(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]|0)==(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0):0)?(c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]|0)==(c[t>>2]|0):0){f=+h[(c[q>>2]|0)+(c[v>>2]<<3)>>3]/+((c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0)-(c[(c[u>>2]|0)+(c[t>>2]<<2)>>2]|0)|0)/+((c[(c[u>>2]|0)+((c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0)+1<<2)>>2]|0)-(c[(c[u>>2]|0)+(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]|0)|0);if(c[s>>2]|0){h[r>>3]=f;c[x>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];c[s>>2]=0;break}if(f>+h[r>>3]){h[r>>3]=+h[(c[q>>2]|0)+(c[v>>2]<<3)>>3]/+((c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0)-(c[(c[u>>2]|0)+(c[t>>2]<<2)>>2]|0)|0)/+((c[(c[u>>2]|0)+((c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0)+1<<2)>>2]|0)-(c[(c[u>>2]|0)+(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]|0)|0);c[x>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]}}while(0);c[v>>2]=(c[v>>2]|0)+1}if(!(c[s>>2]|0)){c[(c[c[o>>2]>>2]|0)+(c[x>>2]<<2)>>2]=c[t>>2];c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]=c[x>>2];n=c[p>>2]|0;c[n>>2]=(c[n>>2]|0)+-1}c[t>>2]=(c[t>>2]|0)+1}i=z;return}c[n>>2]=Mw(c[y>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[y>>2]|0))break;c[t>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];if((c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]|0)==(c[t>>2]|0)){c[s>>2]=1;c[v>>2]=c[(c[u>>2]|0)+(c[t>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0))break;do if(((c[t>>2]|0)!=(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0)?(c[(c[c[o>>2]>>2]|0)+(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]|0)==(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0):0)?(c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]|0)==(c[t>>2]|0):0){f=+h[(c[q>>2]|0)+(c[v>>2]<<3)>>3]/+((c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0)-(c[(c[u>>2]|0)+(c[t>>2]<<2)>>2]|0)|0)/+((c[(c[u>>2]|0)+((c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0)+1<<2)>>2]|0)-(c[(c[u>>2]|0)+(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]|0)|0);if(c[s>>2]|0){h[r>>3]=f;c[x>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];c[s>>2]=0;break}if(f>+h[r>>3]){h[r>>3]=+h[(c[q>>2]|0)+(c[v>>2]<<3)>>3]/+((c[(c[u>>2]|0)+((c[t>>2]|0)+1<<2)>>2]|0)-(c[(c[u>>2]|0)+(c[t>>2]<<2)>>2]|0)|0)/+((c[(c[u>>2]|0)+((c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0)+1<<2)>>2]|0)-(c[(c[u>>2]|0)+(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]|0)|0);c[x>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]}}while(0);c[v>>2]=(c[v>>2]|0)+1}if(!(c[s>>2]|0)){c[(c[c[o>>2]>>2]|0)+(c[x>>2]<<2)>>2]=c[t>>2];c[(c[c[o>>2]>>2]|0)+(c[t>>2]<<2)>>2]=c[x>>2];b=c[p>>2]|0;c[b>>2]=(c[b>>2]|0)+-1}}c[m>>2]=(c[m>>2]|0)+1}B1(c[n>>2]|0);i=z;return}function px(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;if((i|0)>=(j|0))ba();u=t+48|0;g=t+44|0;h=t+40|0;k=t+36|0;l=t+32|0;m=t+28|0;o=t+24|0;p=t+20|0;n=t+16|0;q=t+12|0;r=t+8|0;s=t;c[u>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[s>>2]=0;c[n>>2]=c[(c[u>>2]|0)+20>>2];c[q>>2]=c[(c[u>>2]|0)+24>>2];c[r>>2]=c[c[u>>2]>>2];c[t+4>>2]=c[(c[u>>2]|0)+4>>2];d=rK(c[r>>2]<<2)|0;c[c[h>>2]>>2]=d;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[r>>2]|0))break;c[(c[c[h>>2]>>2]|0)+(c[m>>2]<<2)>>2]=-100;c[m>>2]=(c[m>>2]|0)+1}c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;if(!(c[g>>2]|0)){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[r>>2]|0))break;a:do if((c[(c[c[h>>2]>>2]|0)+(c[m>>2]<<2)>>2]|0)==-100){d=c[k>>2]|0;u=c[d>>2]|0;c[d>>2]=u+1;c[(c[c[h>>2]>>2]|0)+(c[m>>2]<<2)>>2]=u;c[p>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[n>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break a;if((c[m>>2]|0)!=(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]|0)){c[(c[c[h>>2]>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]=-1;u=c[l>>2]|0;c[u>>2]=(c[u>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}}while(0);c[m>>2]=(c[m>>2]|0)+1}d=c[k>>2]|0;d=c[d>>2]|0;u=c[l>>2]|0;b=c[u>>2]|0;d=b+d|0;c[u>>2]=d;i=t;return}c[s>>2]=Mw(c[r>>2]|0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[m>>2]=c[(c[s>>2]|0)+(c[o>>2]<<2)>>2];b:do if((c[(c[c[h>>2]>>2]|0)+(c[m>>2]<<2)>>2]|0)==-100){d=c[k>>2]|0;u=c[d>>2]|0;c[d>>2]=u+1;c[(c[c[h>>2]>>2]|0)+(c[m>>2]<<2)>>2]=u;c[p>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if((c[p>>2]|0)>=(c[(c[n>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0))break b;if((c[m>>2]|0)!=(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]|0)){c[(c[c[h>>2]>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<2)>>2]=-1;u=c[l>>2]|0;c[u>>2]=(c[u>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}}while(0);c[o>>2]=(c[o>>2]|0)+1}B1(c[s>>2]|0);d=c[k>>2]|0;d=c[d>>2]|0;u=c[l>>2]|0;b=c[u>>2]|0;d=b+d|0;c[u>>2]=d;i=t;return}function qx(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,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;z=i;i=i+80|0;if((i|0)>=(j|0))ba();A=z+72|0;g=z+68|0;m=z+64|0;n=z+60|0;o=z+56|0;q=z+52|0;u=z+48|0;h=z+44|0;l=z+40|0;s=z+36|0;v=z+32|0;r=z+28|0;t=z+24|0;k=z+20|0;p=z+12|0;y=z+8|0;w=z+4|0;x=z;c[A>>2]=a;c[g>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[l>>2]=0;c[w>>2]=0;c[r>>2]=c[(c[A>>2]|0)+20>>2];c[t>>2]=c[(c[A>>2]|0)+24>>2];c[k>>2]=c[c[A>>2]>>2];c[z+16>>2]=c[(c[A>>2]|0)+4>>2];d=rK(c[k>>2]<<2)|0;c[c[m>>2]>>2]=d;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[k>>2]|0))break;c[(c[c[m>>2]>>2]|0)+(c[q>>2]<<2)>>2]=-100;c[q>>2]=(c[q>>2]|0)+1}c[c[n>>2]>>2]=0;c[c[o>>2]>>2]=0;c[x>>2]=sx(c[k>>2]|0,(c[k>>2]|0)-1<<1)|0;a:do if(c[g>>2]|0){c[l>>2]=Mw(c[k>>2]|0)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[k>>2]|0))break;c[q>>2]=c[(c[l>>2]|0)+(c[h>>2]<<2)>>2];ux(c[x>>2]|0,c[q>>2]|0,(c[(c[r>>2]|0)+((c[q>>2]|0)+1<<2)>>2]|0)-(c[(c[r>>2]|0)+(c[q>>2]<<2)>>2]|0)|0)|0;c[h>>2]=(c[h>>2]|0)+1}B1(c[l>>2]|0)}else{c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[k>>2]|0))break a;ux(c[x>>2]|0,c[q>>2]|0,(c[(c[r>>2]|0)+((c[q>>2]|0)+1<<2)>>2]|0)-(c[(c[r>>2]|0)+(c[q>>2]<<2)>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+1}}while(0);b:while(1){A=(vx(c[x>>2]|0,q,p)|0)!=0;a=c[n>>2]|0;g=c[a>>2]|0;if(!A)break;c[a>>2]=g+1;c[(c[c[m>>2]>>2]|0)+(c[q>>2]<<2)>>2]=g;c[s>>2]=c[(c[r>>2]|0)+(c[q>>2]<<2)>>2];while(1){if((c[s>>2]|0)>=(c[(c[r>>2]|0)+((c[q>>2]|0)+1<<2)>>2]|0))continue b;c[u>>2]=c[(c[t>>2]|0)+(c[s>>2]<<2)>>2];if((c[q>>2]|0)!=(c[u>>2]|0)){c:do if((c[(c[c[m>>2]>>2]|0)+(c[u>>2]<<2)>>2]|0)==-100){c[y>>2]=xx(c[x>>2]|0,c[u>>2]|0)|0;c[(c[c[m>>2]>>2]|0)+(c[u>>2]<<2)>>2]=-1;c[w>>2]=(c[w>>2]|0)+1;c[v>>2]=c[(c[r>>2]|0)+(c[u>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[r>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0))break c;if((c[u>>2]|0)!=(c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]|0)?(c[(c[c[m>>2]>>2]|0)+(c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]<<2)>>2]|0)==-100:0){c[p>>2]=wx(c[x>>2]|0,c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]|0)|0;ux(c[x>>2]|0,c[(c[t>>2]|0)+(c[v>>2]<<2)>>2]|0,(c[p>>2]|0)+1|0)|0}c[v>>2]=(c[v>>2]|0)+1}}while(0);A=c[o>>2]|0;c[A>>2]=(c[A>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}}A=c[o>>2]|0;c[A>>2]=(c[A>>2]|0)+g;tx(c[x>>2]|0);i=z;return}function rx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();d=g+16|0;l=g+12|0;k=g+8|0;e=g+4|0;f=g;c[l>>2]=a;c[k>>2]=b;c[e>>2]=c[l>>2];c[f>>2]=c[k>>2];if(+h[(c[e>>2]|0)+8>>3]>+h[(c[f>>2]|0)+8>>3]){c[d>>2]=-1;l=c[d>>2]|0;i=g;return l|0}if(+h[(c[e>>2]|0)+8>>3]<+h[(c[f>>2]|0)+8>>3]){c[d>>2]=1;l=c[d>>2]|0;i=g;return l|0}else{c[d>>2]=0;l=c[d>>2]|0;i=g;return l|0}return 0}function sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=rK(28)|0;c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+4>>2]=c[d>>2];c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+12>>2]=-1;b=rK((c[e>>2]|0)+1<<2)|0;c[(c[g>>2]|0)+16>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=((c[e>>2]|0)+1|0))break;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}b=rK((c[d>>2]|0)+1<<2)|0;c[(c[g>>2]|0)+20>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=((c[d>>2]|0)+1|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}b=rK((c[d>>2]|0)+1<<2)|0;c[(c[g>>2]|0)+24>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=((c[d>>2]|0)+1|0))break;c[(c[(c[g>>2]|0)+24>>2]|0)+(c[f>>2]<<2)>>2]=-999;c[f>>2]=(c[f>>2]|0)+1}i=h;return c[g>>2]|0}function tx(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}if(c[(c[b>>2]|0)+16>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>=((c[(c[b>>2]|0)+8>>2]|0)+1|0))break;Ny(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<2)>>2]|0,96);c[d>>2]=(c[d>>2]|0)+1}B1(c[(c[b>>2]|0)+16>>2]|0)}if(c[(c[b>>2]|0)+20>>2]|0)B1(c[(c[b>>2]|0)+20>>2]|0);B1(c[(c[b>>2]|0)+24>>2]|0);B1(c[b>>2]|0);i=e;return}function ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;m=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[f>>2]|0))db(176771,133213,69,133229);if((c[h>>2]|0)>(c[(c[f>>2]|0)+8>>2]|0))db(133248,133213,70,133229);if(c[(c[(c[f>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]|0){c[m>>2]=c[(c[(c[f>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2];c[l>>2]=c[(c[(c[f>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[f>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]=0;a=c[f>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;Qy(c[m>>2]|0,96,(c[(c[f>>2]|0)+16>>2]|0)+(c[l>>2]<<2)|0);c[e>>2]=ux(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a=c[e>>2]|0;i=n;return a|0}a=c[f>>2]|0;c[a>>2]=(c[a>>2]|0)+1;if((c[h>>2]|0)>(c[(c[f>>2]|0)+12>>2]|0))c[(c[f>>2]|0)+12>>2]=c[h>>2];c[(c[(c[f>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[k>>2]=rK(4)|0;c[c[k>>2]>>2]=c[g>>2];a=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<2)>>2]|0;c[m>>2]=a;if(a){a=Oy(c[m>>2]|0,c[k>>2]|0)|0;c[(c[(c[f>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]=a;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<2)>>2]=a}else{a=My(c[k>>2]|0)|0;c[(c[(c[f>>2]|0)+20>>2]|0)+(c[g>>2]<<2)>>2]=a;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<2)>>2]=a}c[e>>2]=c[f>>2];a=c[e>>2]|0;i=n;return a|0}function vx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();h=n+24|0;k=n+20|0;l=n+16|0;f=n+12|0;m=n+8|0;g=n+4|0;e=n;c[k>>2]=a;c[l>>2]=b;c[f>>2]=d;if((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)>0:0){a=c[(c[k>>2]|0)+12>>2]|0;c[m>>2]=a;c[c[f>>2]>>2]=a;a=c[k>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;c[g>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<2)>>2];c[e>>2]=Py(c[g>>2]|0)|0;c[c[l>>2]>>2]=c[c[e>>2]>>2];Qy(c[g>>2]|0,96,(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<2)|0);if(!(c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<2)>>2]|0)){while(1){if((c[m>>2]|0)>=0)f=(c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<2)>>2]|0)!=0^1;else f=0;e=c[m>>2]|0;if(!f)break;c[m>>2]=e+-1}c[(c[k>>2]|0)+12>>2]=e}c[(c[(c[k>>2]|0)+20>>2]|0)+(c[c[l>>2]>>2]<<2)>>2]=0;c[(c[(c[k>>2]|0)+24>>2]|0)+(c[c[l>>2]>>2]<<2)>>2]=-999;c[h>>2]=1;m=c[h>>2]|0;i=n;return m|0}c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}function wx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;i=d;return c[(c[(c[f>>2]|0)+24>>2]|0)+(c[e>>2]<<2)>>2]|0}function xx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+20|0;g=l+16|0;h=l+12|0;d=l+8|0;k=l+4|0;e=l;c[g>>2]=a;c[h>>2]=b;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)>0:0){c[d>>2]=c[(c[(c[g>>2]|0)+24>>2]|0)+(c[h>>2]<<2)>>2];a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;c[e>>2]=c[(c[(c[g>>2]|0)+20>>2]|0)+(c[h>>2]<<2)>>2];Qy(c[e>>2]|0,96,(c[(c[g>>2]|0)+16>>2]|0)+(c[d>>2]<<2)|0);e=c[d>>2]|0;a=c[(c[g>>2]|0)+12>>2]|0;c[k>>2]=a;if((e|0)==(a|0)?(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]|0)==0:0){while(1){if((c[k>>2]|0)>=0)d=(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]|0)!=0^1;else d=0;b=c[k>>2]|0;if(!d)break;c[k>>2]=b+-1}c[(c[g>>2]|0)+12>>2]=b}c[(c[(c[g>>2]|0)+20>>2]|0)+(c[h>>2]<<2)>>2]=0;c[(c[(c[g>>2]|0)+24>>2]|0)+(c[h>>2]<<2)>>2]=-999;c[f>>2]=1;k=c[f>>2]|0;i=l;return k|0}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function yx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=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.0;z=i;i=i+96|0;if((i|0)>=(j|0))ba();e=z+80|0;o=z+76|0;p=z+72|0;s=z+68|0;v=z+64|0;x=z+60|0;u=z+56|0;w=z+52|0;g=z+48|0;k=z+44|0;q=z+40|0;t=z+36|0;m=z+32|0;l=z+24|0;f=z+16|0;y=z+8|0;r=z;c[e>>2]=a;c[o>>2]=b;c[p>>2]=d;c[m>>2]=0;if(!(fw(c[e>>2]|0,0)|0))db(133265,133301,262,133316);c[s>>2]=gw(c[e>>2]|0)|0;c[v>>2]=c[(c[s>>2]|0)+20>>2];c[x>>2]=c[(c[s>>2]|0)+24>>2];if((c[(c[s>>2]|0)+16>>2]|0)!=1){B1(c[(c[s>>2]|0)+28>>2]|0);c[(c[s>>2]|0)+16>>2]=1;d=rK(c[(c[s>>2]|0)+8>>2]<<3)|0;c[(c[s>>2]|0)+28>>2]=d}c[t>>2]=c[(c[s>>2]|0)+28>>2];c[m>>2]=rK(c[c[s>>2]>>2]<<2)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[(c[m>>2]|0)+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=0;a:while(1){if((c[u>>2]|0)>=(c[c[s>>2]>>2]|0))break;h[f>>3]=+((c[(c[v>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0)-(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0)|0);c[(c[m>>2]|0)+(c[u>>2]<<2)>>2]=c[u>>2];c[w>>2]=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2];while(1){e=c[u>>2]|0;if((c[w>>2]|0)>=(c[(c[v>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0))break;if((e|0)!=(c[(c[x>>2]|0)+(c[w>>2]<<2)>>2]|0))c[(c[m>>2]|0)+(c[(c[x>>2]|0)+(c[w>>2]<<2)>>2]<<2)>>2]=c[u>>2];c[w>>2]=(c[w>>2]|0)+1}c[w>>2]=c[(c[v>>2]|0)+(e<<2)>>2];while(1){if((c[w>>2]|0)>=(c[(c[v>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0))break;c[g>>2]=c[(c[x>>2]|0)+(c[w>>2]<<2)>>2];if((c[u>>2]|0)!=(c[g>>2]|0)){h[l>>3]=+h[f>>3]+ +((c[(c[v>>2]|0)+((c[g>>2]|0)+1<<2)>>2]|0)-(c[(c[v>>2]|0)+(c[g>>2]<<2)>>2]|0)|0);c[k>>2]=c[(c[v>>2]|0)+(c[g>>2]<<2)>>2];while(1){if((c[k>>2]|0)>=(c[(c[v>>2]|0)+((c[g>>2]|0)+1<<2)>>2]|0))break;if((c[(c[m>>2]|0)+(c[(c[x>>2]|0)+(c[k>>2]<<2)>>2]<<2)>>2]|0)==(c[u>>2]|0))h[l>>3]=+h[l>>3]+-1.0;c[k>>2]=(c[k>>2]|0)+1}h[(c[t>>2]|0)+(c[w>>2]<<3)>>3]=+h[l>>3];if(!(+h[l>>3]>0.0)){n=24;break a}}c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}if((n|0)==24)db(133338,133301,292,133316);h[y>>3]=0.0;h[r>>3]=0.0;c[q>>2]=0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[w>>2]=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2];while(1){e=c[u>>2]|0;if((c[w>>2]|0)>=(c[(c[v>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0))break;if((e|0)!=(c[(c[x>>2]|0)+(c[w>>2]<<2)>>2]|0)){c[q>>2]=(c[q>>2]|0)+1;A=+Sw(c[p>>2]|0,c[o>>2]|0,c[u>>2]|0,c[(c[x>>2]|0)+(c[w>>2]<<2)>>2]|0);h[y>>3]=+h[y>>3]+A;h[r>>3]=+h[r>>3]+ +h[(c[t>>2]|0)+(c[w>>2]<<3)>>3]}c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=e+1}h[y>>3]=+h[y>>3]/+(c[q>>2]|0);h[r>>3]=+h[r>>3]/+(c[q>>2]|0);h[y>>3]=+h[y>>3]/+h[r>>3];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[w>>2]=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2];while(1){e=c[u>>2]|0;if((c[w>>2]|0)>=(c[(c[v>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0))break;if((e|0)!=(c[(c[x>>2]|0)+(c[w>>2]<<2)>>2]|0))h[(c[t>>2]|0)+(c[w>>2]<<3)>>3]=+h[y>>3]*+h[(c[t>>2]|0)+(c[w>>2]<<3)>>3];c[w>>2]=(c[w>>2]|0)+1}c[u>>2]=e+1}i=z;return c[s>>2]|0}function zx(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=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,Q=0,R=0,S=0,T=0;T=i;i=i+176|0;if((i|0)>=(j|0))ba();F=T+64|0;E=T+56|0;I=T+160|0;g=T+156|0;k=T+152|0;l=T+48|0;m=T+148|0;n=T+144|0;S=T+140|0;M=T+136|0;u=T+132|0;y=T+128|0;z=T+124|0;B=T+120|0;r=T+116|0;v=T+112|0;t=T+108|0;x=T+104|0;s=T+100|0;w=T+96|0;N=T+92|0;Q=T+88|0;L=T+84|0;G=T+80|0;A=T+76|0;K=T+72|0;o=T+40|0;p=T+32|0;q=T+24|0;R=T+16|0;D=T+8|0;C=T;J=T+68|0;c[g>>2]=a;c[k>>2]=b;h[l>>3]=d;c[m>>2]=e;c[n>>2]=f;c[B>>2]=c[c[g>>2]>>2];c[r>>2]=c[(c[g>>2]|0)+20>>2];c[v>>2]=c[(c[g>>2]|0)+24>>2];h[R>>3]=0.0;h[D>>3]=0.0;h[C>>3]=0.0;if(!(fw(c[g>>2]|0,0)|0))db(133265,133301,335,133346);c[J>>2]=yx(c[g>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;c[S>>2]=rK(56)|0;h[(c[S>>2]|0)+32>>3]=1.0;c[(c[S>>2]|0)+20>>2]=0;c[(c[S>>2]|0)+24>>2]=0;h[(c[S>>2]|0)+40>>3]=.01;e=~~+O(+(+(c[c[g>>2]>>2]|0)));c[(c[S>>2]|0)+48>>2]=e;e=rK(c[B>>2]<<3)|0;c[(c[S>>2]|0)+12>>2]=e;c[A>>2]=e;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[B>>2]|0))break;h[(c[(c[S>>2]|0)+12>>2]|0)+(c[M>>2]<<3)>>3]=+h[l>>3];c[M>>2]=(c[M>>2]|0)+1}c[N>>2]=rK(c[B>>2]<<2)|0;c[K>>2]=rK(c[B>>2]<<3)|0;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[B>>2]|0))break;h[(c[K>>2]|0)+(c[M>>2]<<3)>>3]=0.0;c[Q>>2]=0;c[u>>2]=c[(c[r>>2]|0)+(c[M>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+((c[M>>2]|0)+1<<2)>>2]|0))break;if((c[M>>2]|0)!=(c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0)){d=+Sw(c[m>>2]|0,c[k>>2]|0,c[M>>2]|0,c[(c[v>>2]|0)+(c[u>>2]<<2)>>2]|0);e=(c[K>>2]|0)+(c[M>>2]<<3)|0;h[e>>3]=+h[e>>3]+d;c[Q>>2]=(c[Q>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}if((c[Q>>2]|0)<=0){H=14;break}e=(c[K>>2]|0)+(c[M>>2]<<3)|0;h[e>>3]=+h[e>>3]/+(c[Q>>2]|0);c[M>>2]=(c[M>>2]|0)+1}if((H|0)==14)db(133378,133301,360,133346);c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[B>>2]|0))break;c[(c[N>>2]|0)+(c[M>>2]<<2)>>2]=-1;c[M>>2]=(c[M>>2]|0)+1}c[Q>>2]=0;c[M>>2]=0;while(1){if((c[M>>2]|0)>=(c[B>>2]|0))break;c[(c[N>>2]|0)+(c[M>>2]<<2)>>2]=c[M>>2];c[u>>2]=c[(c[r>>2]|0)+(c[M>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+((c[M>>2]|0)+1<<2)>>2]|0))break;c[y>>2]=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2];if((c[(c[N>>2]|0)+(c[y>>2]<<2)>>2]|0)!=(c[M>>2]|0)){c[(c[N>>2]|0)+(c[y>>2]<<2)>>2]=c[M>>2];c[Q>>2]=(c[Q>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=c[(c[r>>2]|0)+(c[M>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+((c[M>>2]|0)+1<<2)>>2]|0))break;c[y>>2]=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2];c[z>>2]=c[(c[r>>2]|0)+(c[y>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[r>>2]|0)+((c[y>>2]|0)+1<<2)>>2]|0))break;if((c[(c[N>>2]|0)+(c[(c[v>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]|0)!=(c[M>>2]|0)){c[(c[N>>2]|0)+(c[(c[v>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]=c[M>>2];c[Q>>2]=(c[Q>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+1}H=ew(c[B>>2]|0,c[B>>2]|0,(c[Q>>2]|0)+(c[B>>2]|0)|0,1,1)|0;c[(c[S>>2]|0)+4>>2]=H;H=ew(c[B>>2]|0,c[B>>2]|0,(c[Q>>2]|0)+(c[B>>2]|0)|0,1,1)|0;c[(c[S>>2]|0)+8>>2]=H;if((c[(c[S>>2]|0)+4>>2]|0)!=0?(c[(c[S>>2]|0)+8>>2]|0)!=0:0){c[t>>2]=c[(c[(c[S>>2]|0)+4>>2]|0)+20>>2];c[x>>2]=c[(c[(c[S>>2]|0)+4>>2]|0)+24>>2];c[G>>2]=c[(c[(c[S>>2]|0)+4>>2]|0)+28>>2];c[L>>2]=c[(c[(c[S>>2]|0)+8>>2]|0)+28>>2];c[s>>2]=c[(c[(c[S>>2]|0)+8>>2]|0)+20>>2];c[w>>2]=c[(c[(c[S>>2]|0)+8>>2]|0)+24>>2];c[c[s>>2]>>2]=0;c[c[t>>2]>>2]=0;c[Q>>2]=0;c[M>>2]=0;a:while(1){if((c[M>>2]|0)>=(c[B>>2]|0)){H=68;break}c[(c[N>>2]|0)+(c[M>>2]<<2)>>2]=(c[M>>2]|0)+(c[B>>2]|0);h[p>>3]=0.0;h[o>>3]=0.0;c[u>>2]=c[(c[r>>2]|0)+(c[M>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+((c[M>>2]|0)+1<<2)>>2]|0))break;c[y>>2]=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2];if((c[(c[N>>2]|0)+(c[y>>2]<<2)>>2]|0)!=((c[M>>2]|0)+(c[B>>2]|0)|0)){c[(c[N>>2]|0)+(c[y>>2]<<2)>>2]=(c[M>>2]|0)+(c[B>>2]|0);c[(c[x>>2]|0)+(c[Q>>2]<<2)>>2]=c[y>>2];do if(!(c[n>>2]|0))h[q>>3]=1.0;else{if((c[n>>2]|0)==1){h[q>>3]=(+h[(c[K>>2]|0)+(c[M>>2]<<3)>>3]+ +h[(c[K>>2]|0)+(c[y>>2]<<3)>>3])*.5;break}if((c[n>>2]|0)!=2){H=49;break a}h[q>>3]=+P(+(+Rw(c[m>>2]|0,c[k>>2]|0,c[M>>2]|0,c[y>>2]|0)),.4)}while(0);h[(c[G>>2]|0)+(c[Q>>2]<<3)>>3]=-1.0/(+h[q>>3]*+h[q>>3]);h[p>>3]=+h[p>>3]+ +h[(c[G>>2]|0)+(c[Q>>2]<<3)>>3];c[(c[w>>2]|0)+(c[Q>>2]<<2)>>2]=c[y>>2];h[(c[L>>2]|0)+(c[Q>>2]<<3)>>3]=+h[(c[G>>2]|0)+(c[Q>>2]<<3)>>3]*+h[q>>3];d=+h[(c[L>>2]|0)+(c[Q>>2]<<3)>>3];d=d*+Sw(c[m>>2]|0,c[k>>2]|0,c[M>>2]|0,c[y>>2]|0);h[D>>3]=+h[D>>3]+d;h[C>>3]=+h[C>>3]+ +h[(c[L>>2]|0)+(c[Q>>2]<<3)>>3]*+h[q>>3];h[o>>3]=+h[o>>3]+ +h[(c[L>>2]|0)+(c[Q>>2]<<3)>>3];c[Q>>2]=(c[Q>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=c[(c[r>>2]|0)+(c[M>>2]<<2)>>2];while(1){if((c[u>>2]|0)>=(c[(c[r>>2]|0)+((c[M>>2]|0)+1<<2)>>2]|0))break;c[y>>2]=c[(c[v>>2]|0)+(c[u>>2]<<2)>>2];c[z>>2]=c[(c[r>>2]|0)+(c[y>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[r>>2]|0)+((c[y>>2]|0)+1<<2)>>2]|0))break;if((c[(c[N>>2]|0)+(c[(c[v>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]|0)!=((c[M>>2]|0)+(c[B>>2]|0)|0)){c[(c[N>>2]|0)+(c[(c[v>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]=(c[M>>2]|0)+(c[B>>2]|0);do if(!(c[n>>2]|0))h[q>>3]=2.0;else{if((c[n>>2]|0)==1){h[q>>3]=(+h[(c[K>>2]|0)+(c[M>>2]<<3)>>3]+ +h[(c[K>>2]|0)+(c[y>>2]<<3)>>3]*2.0+ +h[(c[K>>2]|0)+(c[(c[v>>2]|0)+(c[z>>2]<<2)>>2]<<3)>>3])*.5;break}if((c[n>>2]|0)!=2){H=63;break a}h[q>>3]=+P(+(+Rw(c[m>>2]|0,c[k>>2]|0,c[M>>2]|0,c[(c[v>>2]|0)+(c[z>>2]<<2)>>2]|0)),.4)}while(0);c[(c[x>>2]|0)+(c[Q>>2]<<2)>>2]=c[(c[v>>2]|0)+(c[z>>2]<<2)>>2];h[(c[G>>2]|0)+(c[Q>>2]<<3)>>3]=-1.0/(+h[q>>3]*+h[q>>3]);h[p>>3]=+h[p>>3]+ +h[(c[G>>2]|0)+(c[Q>>2]<<3)>>3];c[(c[w>>2]|0)+(c[Q>>2]<<2)>>2]=c[(c[v>>2]|0)+(c[z>>2]<<2)>>2];h[(c[L>>2]|0)+(c[Q>>2]<<3)>>3]=+h[(c[G>>2]|0)+(c[Q>>2]<<3)>>3]*+h[q>>3];d=+h[(c[L>>2]|0)+(c[Q>>2]<<3)>>3];d=d*+Sw(c[m>>2]|0,c[k>>2]|0,c[(c[v>>2]|0)+(c[z>>2]<<2)>>2]|0,c[y>>2]|0);h[D>>3]=+h[D>>3]+d;h[C>>3]=+h[C>>3]+ +h[(c[L>>2]|0)+(c[Q>>2]<<3)>>3]*+h[q>>3];h[o>>3]=+h[o>>3]+ +h[(c[L>>2]|0)+(c[Q>>2]<<3)>>3];c[Q>>2]=(c[Q>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[(c[x>>2]|0)+(c[Q>>2]<<2)>>2]=c[M>>2];H=(c[A>>2]|0)+(c[M>>2]<<3)|0;h[H>>3]=+h[H>>3]*-+h[p>>3];h[(c[G>>2]|0)+(c[Q>>2]<<3)>>3]=-+h[p>>3]+ +h[(c[A>>2]|0)+(c[M>>2]<<3)>>3];c[(c[w>>2]|0)+(c[Q>>2]<<2)>>2]=c[M>>2];h[(c[L>>2]|0)+(c[Q>>2]<<3)>>3]=-+h[o>>3];c[Q>>2]=(c[Q>>2]|0)+1;c[(c[t>>2]|0)+((c[M>>2]|0)+1<<2)>>2]=c[Q>>2];c[(c[s>>2]|0)+((c[M>>2]|0)+1<<2)>>2]=c[Q>>2];c[M>>2]=(c[M>>2]|0)+1}if((H|0)==49){p3(c[24742]|0,133385,E)|0;db(176179,133301,420,133346)}else if((H|0)==63){p3(c[24742]|0,133385,F)|0;db(176179,133301,462,133346)}else if((H|0)==68){h[R>>3]=+h[D>>3]/+h[C>>3];c[M>>2]=0;while(1){d=+h[R>>3];if((c[M>>2]|0)>=(c[Q>>2]|0))break;H=(c[L>>2]|0)+(c[M>>2]<<3)|0;h[H>>3]=+h[H>>3]*d;c[M>>2]=(c[M>>2]|0)+1}h[(c[S>>2]|0)+32>>3]=d;c[(c[(c[S>>2]|0)+4>>2]|0)+8>>2]=c[Q>>2];c[(c[(c[S>>2]|0)+8>>2]|0)+8>>2]=c[Q>>2];B1(c[N>>2]|0);B1(c[K>>2]|0);cw(c[J>>2]|0);c[I>>2]=c[S>>2];S=c[I>>2]|0;i=T;return S|0}}Ax(c[S>>2]|0);c[I>>2]=0;S=c[I>>2]|0;i=T;return S|0}function Ax(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[(c[b>>2]|0)+4>>2]|0)cw(c[(c[b>>2]|0)+4>>2]|0);if(c[(c[b>>2]|0)+8>>2]|0)cw(c[(c[b>>2]|0)+8>>2]|0);if(c[(c[b>>2]|0)+12>>2]|0)B1(c[(c[b>>2]|0)+12>>2]|0);if(c[(c[b>>2]|0)+20>>2]|0)Vb[c[(c[b>>2]|0)+16>>2]&127](c[(c[b>>2]|0)+20>>2]|0);B1(c[b>>2]|0);i=d;return}function Bx(a,b,d,e,f,g){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;g=g|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,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=i;i=i+160|0;if((i|0)>=(j|0))ba();J=Q+148|0;k=Q+144|0;l=Q+140|0;m=Q+56|0;n=Q+136|0;o=Q+132|0;p=Q+128|0;P=Q+124|0;L=Q+120|0;x=Q+116|0;B=Q+112|0;D=Q+108|0;u=Q+104|0;y=Q+100|0;w=Q+96|0;A=Q+92|0;v=Q+88|0;z=Q+84|0;M=Q+80|0;K=Q+76|0;G=Q+72|0;C=Q+68|0;r=Q+48|0;s=Q+40|0;q=Q+64|0;t=Q+32|0;N=Q+24|0;F=Q+16|0;E=Q+8|0;H=Q;c[k>>2]=a;c[l>>2]=b;h[m>>3]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[D>>2]=c[c[k>>2]>>2];h[N>>3]=0.0;h[F>>3]=0.0;h[E>>3]=0.0;h[H>>3]=0.0;if(!(fw(c[k>>2]|0,0)|0))db(133415,133301,527,133482);if((c[(c[k>>2]|0)+16>>2]|0)!=1)db(133415,133301,527,133482);c[L>>2]=0;while(1){if((c[L>>2]|0)>=(_(c[D>>2]|0,c[l>>2]|0)|0))break;h[H>>3]=+h[H>>3]+ +h[(c[n>>2]|0)+(c[L>>2]<<3)>>3]*+h[(c[n>>2]|0)+(c[L>>2]<<3)>>3];c[L>>2]=(c[L>>2]|0)+1}a:do if(+h[H>>3]==0.0){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(_(c[D>>2]|0,c[l>>2]|0)|0))break a;d=+Kw()*72.0;h[(c[n>>2]|0)+(c[L>>2]<<3)>>3]=d;c[L>>2]=(c[L>>2]|0)+1}}while(0);c[u>>2]=c[(c[k>>2]|0)+20>>2];c[y>>2]=c[(c[k>>2]|0)+24>>2];c[q>>2]=c[(c[k>>2]|0)+28>>2];c[P>>2]=rK(56)|0;h[(c[P>>2]|0)+32>>3]=1.0;c[(c[P>>2]|0)+20>>2]=0;c[(c[P>>2]|0)+24>>2]=0;c[c[P>>2]>>2]=c[k>>2];h[(c[P>>2]|0)+40>>3]=.01;H=~~+O(+(+(c[c[k>>2]>>2]|0)));c[(c[P>>2]|0)+48>>2]=H;H=rK(c[D>>2]<<3)|0;c[(c[P>>2]|0)+12>>2]=H;c[C>>2]=H;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[D>>2]|0))break;h[(c[(c[P>>2]|0)+12>>2]|0)+(c[L>>2]<<3)>>3]=+h[m>>3];c[L>>2]=(c[L>>2]|0)+1}c[M>>2]=c[(c[k>>2]|0)+8>>2];H=ew(c[D>>2]|0,c[D>>2]|0,(c[M>>2]|0)+(c[D>>2]|0)|0,1,1)|0;c[(c[P>>2]|0)+4>>2]=H;H=ew(c[D>>2]|0,c[D>>2]|0,(c[M>>2]|0)+(c[D>>2]|0)|0,1,1)|0;c[(c[P>>2]|0)+8>>2]=H;if((c[(c[P>>2]|0)+4>>2]|0)!=0?(c[(c[P>>2]|0)+8>>2]|0)!=0:0){c[w>>2]=c[(c[(c[P>>2]|0)+4>>2]|0)+20>>2];c[A>>2]=c[(c[(c[P>>2]|0)+4>>2]|0)+24>>2];c[v>>2]=c[(c[(c[P>>2]|0)+8>>2]|0)+20>>2];c[z>>2]=c[(c[(c[P>>2]|0)+8>>2]|0)+24>>2];c[G>>2]=c[(c[(c[P>>2]|0)+4>>2]|0)+28>>2];c[K>>2]=c[(c[(c[P>>2]|0)+8>>2]|0)+28>>2];c[c[v>>2]>>2]=0;c[c[w>>2]>>2]=0;c[M>>2]=0;c[L>>2]=0;b:while(1){if((c[L>>2]|0)>=(c[D>>2]|0))break;h[s>>3]=0.0;h[r>>3]=0.0;c[x>>2]=c[(c[u>>2]|0)+(c[L>>2]<<2)>>2];while(1){if((c[x>>2]|0)>=(c[(c[u>>2]|0)+((c[L>>2]|0)+1<<2)>>2]|0))break;c[B>>2]=c[(c[y>>2]|0)+(c[x>>2]<<2)>>2];if((c[B>>2]|0)!=(c[L>>2]|0)){c[(c[A>>2]|0)+(c[M>>2]<<2)>>2]=c[B>>2];h[t>>3]=+h[(c[q>>2]|0)+(c[x>>2]<<3)>>3];c:do switch(c[o>>2]|0){case 2:if(+h[t>>3]*+h[t>>3]==0.0){h[(c[G>>2]|0)+(c[M>>2]<<3)>>3]=-1.0e5;break c}else{h[(c[G>>2]|0)+(c[M>>2]<<3)>>3]=-1.0/(+h[t>>3]*+h[t>>3]);break c}case 1:if(+h[t>>3]*+h[t>>3]==0.0){h[(c[G>>2]|0)+(c[M>>2]<<3)>>3]=-1.0e5;break c}else{h[(c[G>>2]|0)+(c[M>>2]<<3)>>3]=-1.0/+h[t>>3];break c}case 0:{h[(c[G>>2]|0)+(c[M>>2]<<3)>>3]=-1.0;break}default:{I=30;break b}}while(0);h[s>>3]=+h[s>>3]+ +h[(c[G>>2]|0)+(c[M>>2]<<3)>>3];c[(c[z>>2]|0)+(c[M>>2]<<2)>>2]=c[B>>2];h[(c[K>>2]|0)+(c[M>>2]<<3)>>3]=+h[(c[G>>2]|0)+(c[M>>2]<<3)>>3]*+h[t>>3];d=+h[(c[K>>2]|0)+(c[M>>2]<<3)>>3];d=d*+Sw(c[n>>2]|0,c[l>>2]|0,c[L>>2]|0,c[B>>2]|0);h[F>>3]=+h[F>>3]+d;h[E>>3]=+h[E>>3]+ +h[(c[K>>2]|0)+(c[M>>2]<<3)>>3]*+h[t>>3];h[r>>3]=+h[r>>3]+ +h[(c[K>>2]|0)+(c[M>>2]<<3)>>3];c[M>>2]=(c[M>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}c[(c[A>>2]|0)+(c[M>>2]<<2)>>2]=c[L>>2];H=(c[C>>2]|0)+(c[L>>2]<<3)|0;h[H>>3]=+h[H>>3]*-+h[s>>3];h[(c[G>>2]|0)+(c[M>>2]<<3)>>3]=-+h[s>>3]+ +h[(c[C>>2]|0)+(c[L>>2]<<3)>>3];c[(c[z>>2]|0)+(c[M>>2]<<2)>>2]=c[L>>2];h[(c[K>>2]|0)+(c[M>>2]<<3)>>3]=-+h[r>>3];c[M>>2]=(c[M>>2]|0)+1;c[(c[w>>2]|0)+((c[L>>2]|0)+1<<2)>>2]=c[M>>2];c[(c[v>>2]|0)+((c[L>>2]|0)+1<<2)>>2]=c[M>>2];c[L>>2]=(c[L>>2]|0)+1}if((I|0)==30)db(176179,133301,593,133482);if(c[p>>2]|0)h[N>>3]=+h[F>>3]/+h[E>>3];else h[N>>3]=1.0;if(+h[N>>3]==0.0){c[J>>2]=0;P=c[J>>2]|0;i=Q;return P|0}c[L>>2]=0;while(1){d=+h[N>>3];if((c[L>>2]|0)>=(c[M>>2]|0))break;I=(c[K>>2]|0)+(c[L>>2]<<3)|0;h[I>>3]=+h[I>>3]*d;c[L>>2]=(c[L>>2]|0)+1}h[(c[P>>2]|0)+32>>3]=d;c[(c[(c[P>>2]|0)+4>>2]|0)+8>>2]=c[M>>2];c[(c[(c[P>>2]|0)+8>>2]|0)+8>>2]=c[M>>2];c[J>>2]=c[P>>2];P=c[J>>2]|0;i=Q;return P|0}Ax(c[P>>2]|0);c[J>>2]=0;P=c[J>>2]|0;i=Q;return P|0}function Cx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;Ax(c[d>>2]|0);i=b;return}function Dx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();o=g+20|0;n=g+16|0;m=g+12|0;l=g+8|0;k=g;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;h[k>>3]=f;f=+Ex(c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,+h[k>>3]);i=g;return +f}function Ex(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=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;S=i;i=i+176|0;if((i|0)>=(j|0))ba();m=S+164|0;n=S+160|0;o=S+156|0;p=S+152|0;q=S+56|0;s=S+148|0;g=S+144|0;t=S+140|0;D=S+136|0;H=S+132|0;J=S+128|0;L=S+124|0;E=S+120|0;I=S+116|0;k=S+112|0;l=S+108|0;F=S+104|0;C=S+100|0;G=S+96|0;N=S+92|0;x=S+88|0;w=S+84|0;R=S+80|0;P=S+76|0;Q=S+72|0;y=S+48|0;z=S+40|0;K=S+68|0;M=S+32|0;v=S+24|0;u=S+16|0;r=S+64|0;A=S+8|0;B=S;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;h[q>>3]=f;c[s>>2]=c[(c[m>>2]|0)+4>>2];c[g>>2]=c[(c[m>>2]|0)+8>>2];c[t>>2]=0;c[C>>2]=0;c[G>>2]=0;c[R>>2]=0;c[P>>2]=0;c[Q>>2]=0;h[z>>3]=1.0;c[K>>2]=c[(c[m>>2]|0)+12>>2];h[v>>3]=0.0;h[u>>3]=0.0;c[r>>2]=0;c[t>>2]=gw(c[g>>2]|0)|0;c[L>>2]=c[c[s>>2]>>2];c[P>>2]=rK((_(c[n>>2]|0,c[L>>2]|0)|0)<<3)|0;a:do if((c[P>>2]|0)!=0?(d=c[P>>2]|0,n5(d|0,c[o>>2]|0,_(c[n>>2]<<3,c[L>>2]|0)|0)|0,c[P>>2]=d,c[R>>2]=rK((_(c[n>>2]|0,c[L>>2]|0)|0)<<3)|0,(c[R>>2]|0)!=0):0){c[E>>2]=c[(c[g>>2]|0)+20>>2];c[I>>2]=c[(c[g>>2]|0)+24>>2];c[w>>2]=c[(c[g>>2]|0)+28>>2];c[x>>2]=c[(c[t>>2]|0)+28>>2];c[N>>2]=c[(c[s>>2]|0)+28>>2];c[k>>2]=c[(c[s>>2]|0)+20>>2];c[l>>2]=c[(c[s>>2]|0)+24>>2];g=c[m>>2]|0;if((c[(c[m>>2]|0)+24>>2]|0)==1){Mx(c[g+20>>2]|0,c[L>>2]|0,c[n>>2]|0,c[o>>2]|0,r,Q);if(c[r>>2]|0)c[s>>2]=hw(c[s>>2]|0,c[r>>2]|0)|0}else if((c[g+24>>2]|0)==2){h[v>>3]=+h[c[(c[m>>2]|0)+20>>2]>>3];h[u>>3]=+h[(c[(c[m>>2]|0)+20>>2]|0)+8>>3]}b:while(1){d=c[G>>2]|0;c[G>>2]=d+1;if((d|0)>=(c[p>>2]|0))break a;if(!(+h[z>>3]>+h[q>>3]))break a;d=(c[(c[m>>2]|0)+24>>2]|0)!=4;c[D>>2]=0;c:do if(d){while(1){if((c[D>>2]|0)>=(c[L>>2]|0))break;c[F>>2]=-1;h[y>>3]=0.0;c[H>>2]=c[(c[E>>2]|0)+(c[D>>2]<<2)>>2];while(1){if((c[H>>2]|0)>=(c[(c[E>>2]|0)+((c[D>>2]|0)+1<<2)>>2]|0))break;if((c[D>>2]|0)==(c[(c[I>>2]|0)+(c[H>>2]<<2)>>2]|0))c[F>>2]=c[H>>2];else{h[B>>3]=+Sw(c[o>>2]|0,c[n>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+(c[H>>2]<<2)>>2]|0);if(+h[(c[w>>2]|0)+(c[H>>2]<<3)>>3]==0.0)h[(c[x>>2]|0)+(c[H>>2]<<3)>>3]=0.0;else{if(+h[B>>3]==0.0){h[A>>3]=+h[(c[w>>2]|0)+(c[H>>2]<<3)>>3]/+h[(c[N>>2]|0)+(c[H>>2]<<3)>>3];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[n>>2]|0))break;f=(+Kw()+.0001)*.0001;d=_(c[(c[I>>2]|0)+(c[H>>2]<<2)>>2]|0,c[n>>2]|0)|0;d=(c[o>>2]|0)+(d+(c[J>>2]|0)<<3)|0;h[d>>3]=+h[d>>3]+f*+h[A>>3];c[J>>2]=(c[J>>2]|0)+1}h[B>>3]=+Sw(c[o>>2]|0,c[n>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+(c[H>>2]<<2)>>2]|0)}h[(c[x>>2]|0)+(c[H>>2]<<3)>>3]=+h[(c[w>>2]|0)+(c[H>>2]<<3)>>3]/+h[B>>3]}h[y>>3]=+h[y>>3]+ +h[(c[x>>2]|0)+(c[H>>2]<<3)>>3]}c[H>>2]=(c[H>>2]|0)+1}if((c[F>>2]|0)<0)break b;h[(c[x>>2]|0)+(c[F>>2]<<3)>>3]=-+h[y>>3];c[D>>2]=(c[D>>2]|0)+1}nw(c[t>>2]|0,0,c[o>>2]|0,0,R,0,c[n>>2]|0)}else while(1){if((c[D>>2]|0)>=(c[L>>2]|0))break c;c[H>>2]=0;while(1){g=c[D>>2]|0;if((c[H>>2]|0)>=(c[n>>2]|0))break;d=_(g,c[n>>2]|0)|0;h[(c[R>>2]|0)+(d+(c[H>>2]|0)<<3)>>3]=0.0;c[H>>2]=(c[H>>2]|0)+1}c[D>>2]=g+1}while(0);d:do if(c[K>>2]|0){c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[L>>2]|0))break d;c[H>>2]=0;while(1){g=c[D>>2]|0;if((c[H>>2]|0)>=(c[n>>2]|0))break;a=_(c[D>>2]|0,c[n>>2]|0)|0;d=_(c[D>>2]|0,c[n>>2]|0)|0;d=(c[R>>2]|0)+(d+(c[H>>2]|0)<<3)|0;h[d>>3]=+h[d>>3]+ +h[(c[K>>2]|0)+(g<<3)>>3]*+h[(c[P>>2]|0)+(a+(c[H>>2]|0)<<3)>>3];c[H>>2]=(c[H>>2]|0)+1}c[D>>2]=g+1}}while(0);e:do switch(c[(c[m>>2]|0)+24>>2]|0){case 1:{c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[L>>2]|0))break e;c[H>>2]=0;while(1){g=c[D>>2]|0;if((c[H>>2]|0)>=(c[n>>2]|0))break;a=_(g,c[n>>2]|0)|0;d=_(c[D>>2]|0,c[n>>2]|0)|0;d=(c[R>>2]|0)+(d+(c[H>>2]|0)<<3)|0;h[d>>3]=+h[d>>3]+ +h[(c[Q>>2]|0)+(a+(c[H>>2]|0)<<3)>>3];c[H>>2]=(c[H>>2]|0)+1}c[D>>2]=g+1}}case 2:{Nx(c[L>>2]|0,c[n>>2]|0,c[o>>2]|0,c[R>>2]|0,+h[v>>3],+h[u>>3]);break}default:{}}while(0);g=c[s>>2]|0;if((c[(c[m>>2]|0)+24>>2]|0)==2)h[M>>3]=+Ox(g,+h[v>>3],c[n>>2]|0,c[o>>2]|0,c[R>>2]|0,+h[(c[m>>2]|0)+40>>3],c[(c[m>>2]|0)+48>>2]|0,C);else h[M>>3]=+$x(g,c[n>>2]|0,c[o>>2]|0,c[R>>2]|0,+h[(c[m>>2]|0)+40>>3],c[(c[m>>2]|0)+48>>2]|0,0,C);if(c[C>>2]|0)break a;f=+Px(c[L>>2]|0,c[n>>2]|0,c[o>>2]|0,c[R>>2]|0);d=_(c[L>>2]|0,c[n>>2]|0)|0;h[z>>3]=f/+O(+(+Ow(d,c[o>>2]|0,c[o>>2]|0)));n5(c[o>>2]|0,c[R>>2]|0,_(c[L>>2]<<3,c[n>>2]|0)|0)|0}db(133519,133301,897,133530)}while(0);cw(c[t>>2]|0);if(c[r>>2]|0){cw(c[r>>2]|0);cw(c[s>>2]|0)}if(c[P>>2]|0)B1(c[P>>2]|0);if(c[R>>2]|0)B1(c[R>>2]|0);if(!(c[Q>>2]|0)){f=+h[z>>3];i=S;return +f}B1(c[Q>>2]|0);f=+h[z>>3];i=S;return +f}function Fx(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=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;M=i;i=i+144|0;if((i|0)>=(j|0))ba();E=M+136|0;n=M+132|0;o=M+128|0;g=M+48|0;p=M+124|0;q=M+120|0;L=M+116|0;H=M+112|0;v=M+108|0;y=M+104|0;J=M+100|0;k=M+96|0;l=M+92|0;I=M+88|0;x=M+84|0;w=M+80|0;m=M+76|0;r=M+72|0;F=M+68|0;z=M+64|0;G=M+60|0;C=M+56|0;s=M+40|0;t=M+32|0;u=M+24|0;K=M+16|0;B=M+8|0;A=M;c[n>>2]=a;c[o>>2]=b;h[g>>3]=d;c[p>>2]=e;c[q>>2]=f;c[J>>2]=c[c[n>>2]>>2];c[k>>2]=c[(c[n>>2]|0)+20>>2];c[l>>2]=c[(c[n>>2]|0)+24>>2];h[K>>3]=0.0;h[B>>3]=0.0;h[A>>3]=0.0;if(!(fw(c[n>>2]|0,0)|0))db(133265,133301,1036,133564);c[F>>2]=rK(c[J>>2]<<3)|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[J>>2]|0))break;h[(c[F>>2]|0)+(c[H>>2]<<3)>>3]=0.0;c[m>>2]=0;c[v>>2]=c[(c[k>>2]|0)+(c[H>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[k>>2]|0)+((c[H>>2]|0)+1<<2)>>2]|0))break;if((c[H>>2]|0)!=(c[(c[l>>2]|0)+(c[v>>2]<<2)>>2]|0)){d=+Sw(c[p>>2]|0,c[o>>2]|0,c[H>>2]|0,c[(c[l>>2]|0)+(c[v>>2]<<2)>>2]|0);e=(c[F>>2]|0)+(c[H>>2]<<3)|0;h[e>>3]=+h[e>>3]+d;c[m>>2]=(c[m>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}if((c[m>>2]|0)<=0){D=11;break}e=(c[F>>2]|0)+(c[H>>2]<<3)|0;h[e>>3]=+h[e>>3]/+(c[m>>2]|0);c[H>>2]=(c[H>>2]|0)+1}if((D|0)==11)db(133378,133301,1048,133564);c[L>>2]=rK(56)|0;h[(c[L>>2]|0)+32>>3]=1.0;c[(c[L>>2]|0)+20>>2]=0;c[(c[L>>2]|0)+24>>2]=0;h[(c[L>>2]|0)+40>>3]=.01;e=~~+O(+(+(c[c[n>>2]>>2]|0)));c[(c[L>>2]|0)+48>>2]=e;e=rK(c[J>>2]<<3)|0;c[(c[L>>2]|0)+12>>2]=e;c[z>>2]=e;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[J>>2]|0))break;h[(c[(c[L>>2]|0)+12>>2]|0)+(c[H>>2]<<3)>>3]=+h[g>>3];c[H>>2]=(c[H>>2]|0)+1}do if((c[J>>2]|0)>2){b=c[J>>2]|0;a=c[o>>2]|0;g=c[p>>2]|0;if(c[q>>2]|0){c[r>>2]=by(b,a,g)|0;break}else{c[r>>2]=cy(b,a,g)|0;break}}else c[r>>2]=gw(c[n>>2]|0)|0;while(0);q=hw(c[n>>2]|0,c[r>>2]|0)|0;c[(c[L>>2]|0)+4>>2]=q;cw(c[r>>2]|0);r=gw(c[(c[L>>2]|0)+4>>2]|0)|0;c[(c[L>>2]|0)+8>>2]=r;if((c[(c[L>>2]|0)+4>>2]|0)!=0?(c[(c[L>>2]|0)+8>>2]|0)!=0:0){c[I>>2]=c[(c[(c[L>>2]|0)+4>>2]|0)+20>>2];c[x>>2]=c[(c[(c[L>>2]|0)+4>>2]|0)+24>>2];c[C>>2]=c[(c[(c[L>>2]|0)+4>>2]|0)+28>>2];c[G>>2]=c[(c[(c[L>>2]|0)+8>>2]|0)+28>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[J>>2]|0))break;h[t>>3]=0.0;h[s>>3]=0.0;c[w>>2]=-1;c[v>>2]=c[(c[I>>2]|0)+(c[H>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[I>>2]|0)+((c[H>>2]|0)+1<<2)>>2]|0))break;c[y>>2]=c[(c[x>>2]|0)+(c[v>>2]<<2)>>2];if((c[y>>2]|0)==(c[H>>2]|0))c[w>>2]=c[v>>2];else{h[u>>3]=+P(+(+Rw(c[p>>2]|0,c[o>>2]|0,c[H>>2]|0,c[y>>2]|0)),.6);h[(c[C>>2]|0)+(c[v>>2]<<3)>>3]=1.0/(+h[u>>3]*+h[u>>3]);h[t>>3]=+h[t>>3]+ +h[(c[C>>2]|0)+(c[v>>2]<<3)>>3];h[(c[G>>2]|0)+(c[v>>2]<<3)>>3]=+h[(c[C>>2]|0)+(c[v>>2]<<3)>>3]*+h[u>>3];d=+h[(c[G>>2]|0)+(c[v>>2]<<3)>>3];d=d*+Sw(c[p>>2]|0,c[o>>2]|0,c[H>>2]|0,c[y>>2]|0);h[B>>3]=+h[B>>3]+d;h[A>>3]=+h[A>>3]+ +h[(c[G>>2]|0)+(c[v>>2]<<3)>>3]*+h[u>>3];h[s>>3]=+h[s>>3]+ +h[(c[G>>2]|0)+(c[v>>2]<<3)>>3]}c[v>>2]=(c[v>>2]|0)+1}r=(c[z>>2]|0)+(c[H>>2]<<3)|0;h[r>>3]=+h[r>>3]*-+h[t>>3];if((c[w>>2]|0)<0){D=33;break}h[(c[C>>2]|0)+(c[w>>2]<<3)>>3]=-+h[t>>3]+ +h[(c[z>>2]|0)+(c[H>>2]<<3)>>3];h[(c[G>>2]|0)+(c[w>>2]<<3)>>3]=-+h[s>>3];c[H>>2]=(c[H>>2]|0)+1}if((D|0)==33)db(133585,133301,1114,133564);h[K>>3]=+h[B>>3]/+h[A>>3];c[H>>2]=0;while(1){d=+h[K>>3];if((c[H>>2]|0)>=(c[(c[I>>2]|0)+(c[J>>2]<<2)>>2]|0))break;D=(c[G>>2]|0)+(c[H>>2]<<3)|0;h[D>>3]=+h[D>>3]*d;c[H>>2]=(c[H>>2]|0)+1}h[(c[L>>2]|0)+32>>3]=d;B1(c[F>>2]|0);c[E>>2]=c[L>>2];L=c[E>>2]|0;i=M;return L|0}Gx(c[L>>2]|0);c[E>>2]=0;L=c[E>>2]|0;i=M;return L|0}function Gx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;Ax(c[d>>2]|0);i=b;return}function Hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;+Ex(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,50,.001);i=e;return}function Ix(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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.0;E=i;i=i+96|0;if((i|0)>=(j|0))ba();m=E+80|0;f=E+76|0;g=E+72|0;n=E+68|0;k=E+64|0;D=E+60|0;s=E+56|0;v=E+52|0;y=E+48|0;z=E+44|0;A=E+40|0;t=E+36|0;w=E+32|0;u=E+28|0;x=E+24|0;B=E+20|0;C=E+16|0;q=E+12|0;r=E+8|0;p=E+4|0;o=E;c[f>>2]=a;c[g>>2]=b;c[n>>2]=d;c[k>>2]=e;c[A>>2]=c[c[f>>2]>>2];c[t>>2]=c[(c[f>>2]|0)+20>>2];c[w>>2]=c[(c[f>>2]|0)+24>>2];c[o>>2]=0;if(!(fw(c[f>>2]|0,0)|0))db(133265,133301,1151,133596);c[o>>2]=yx(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0)|0;c[r>>2]=c[(c[o>>2]|0)+28>>2];c[D>>2]=rK(8)|0;c[B>>2]=rK(c[A>>2]<<2)|0;c[p>>2]=rK(c[A>>2]<<3)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[A>>2]|0))break;h[(c[p>>2]|0)+(c[s>>2]<<3)>>3]=0.0;c[C>>2]=0;c[v>>2]=c[(c[t>>2]|0)+(c[s>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;if((c[s>>2]|0)!=(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0)){F=+Sw(c[k>>2]|0,c[g>>2]|0,c[s>>2]|0,c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0);e=(c[p>>2]|0)+(c[s>>2]<<3)|0;h[e>>3]=+h[e>>3]+F;c[C>>2]=(c[C>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}if((c[C>>2]|0)<=0){l=11;break}e=(c[p>>2]|0)+(c[s>>2]<<3)|0;h[e>>3]=+h[e>>3]/+(c[C>>2]|0);c[s>>2]=(c[s>>2]|0)+1}if((l|0)==11)db(133378,133301,1169,133596);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[A>>2]|0))break;c[(c[B>>2]|0)+(c[s>>2]<<2)>>2]=-1;c[s>>2]=(c[s>>2]|0)+1}c[C>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[A>>2]|0))break;c[(c[B>>2]|0)+(c[s>>2]<<2)>>2]=c[s>>2];c[v>>2]=c[(c[t>>2]|0)+(c[s>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;c[y>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];if((c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]|0)!=(c[s>>2]|0)){c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]=c[s>>2];c[C>>2]=(c[C>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=c[(c[t>>2]|0)+(c[s>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;c[y>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];c[z>>2]=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[t>>2]|0)+((c[y>>2]|0)+1<<2)>>2]|0))break;if((c[(c[B>>2]|0)+(c[(c[w>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]|0)!=(c[s>>2]|0)){c[(c[B>>2]|0)+(c[(c[w>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]=c[s>>2];c[C>>2]=(c[C>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}f=ew(c[A>>2]|0,c[A>>2]|0,c[C>>2]|0,1,1)|0;c[c[D>>2]>>2]=f;f=c[D>>2]|0;if(!(c[c[D>>2]>>2]|0)){Jx(f);c[m>>2]=0;D=c[m>>2]|0;i=E;return D|0}c[u>>2]=c[(c[f>>2]|0)+20>>2];c[x>>2]=c[(c[c[D>>2]>>2]|0)+24>>2];c[q>>2]=c[(c[c[D>>2]>>2]|0)+28>>2];c[c[u>>2]>>2]=0;c[C>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[A>>2]|0))break;c[(c[B>>2]|0)+(c[s>>2]<<2)>>2]=(c[s>>2]|0)+(c[A>>2]|0);c[v>>2]=c[(c[t>>2]|0)+(c[s>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;c[y>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];if((c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]|0)!=((c[s>>2]|0)+(c[A>>2]|0)|0)){c[(c[B>>2]|0)+(c[y>>2]<<2)>>2]=(c[s>>2]|0)+(c[A>>2]|0);c[(c[x>>2]|0)+(c[C>>2]<<2)>>2]=c[y>>2];h[(c[q>>2]|0)+(c[C>>2]<<3)>>3]=(+h[(c[p>>2]|0)+(c[s>>2]<<3)>>3]+ +h[(c[p>>2]|0)+(c[y>>2]<<3)>>3])*.5;h[(c[q>>2]|0)+(c[C>>2]<<3)>>3]=+h[(c[r>>2]|0)+(c[v>>2]<<3)>>3];c[C>>2]=(c[C>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=c[(c[t>>2]|0)+(c[s>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;c[y>>2]=c[(c[w>>2]|0)+(c[v>>2]<<2)>>2];c[z>>2]=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[t>>2]|0)+((c[y>>2]|0)+1<<2)>>2]|0))break;if((c[(c[B>>2]|0)+(c[(c[w>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]|0)!=((c[s>>2]|0)+(c[A>>2]|0)|0)){c[(c[B>>2]|0)+(c[(c[w>>2]|0)+(c[z>>2]<<2)>>2]<<2)>>2]=(c[s>>2]|0)+(c[A>>2]|0);c[(c[x>>2]|0)+(c[C>>2]<<2)>>2]=c[(c[w>>2]|0)+(c[z>>2]<<2)>>2];h[(c[q>>2]|0)+(c[C>>2]<<3)>>3]=(+h[(c[p>>2]|0)+(c[s>>2]<<3)>>3]+ +h[(c[p>>2]|0)+(c[y>>2]<<3)>>3]*2.0+ +h[(c[p>>2]|0)+(c[(c[w>>2]|0)+(c[z>>2]<<2)>>2]<<3)>>3])*.5;h[(c[q>>2]|0)+(c[C>>2]<<3)>>3]=+h[(c[r>>2]|0)+(c[v>>2]<<3)>>3]+ +h[(c[r>>2]|0)+(c[z>>2]<<3)>>3];c[C>>2]=(c[C>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}c[(c[u>>2]|0)+((c[s>>2]|0)+1<<2)>>2]=c[C>>2];c[s>>2]=(c[s>>2]|0)+1}c[(c[c[D>>2]>>2]|0)+8>>2]=c[C>>2];C=Ip()|0;c[(c[D>>2]|0)+4>>2]=C;n5(c[(c[D>>2]|0)+4>>2]|0,c[n>>2]|0,168)|0;c[(c[(c[D>>2]|0)+4>>2]|0)+16>>2]=0;c[(c[(c[D>>2]|0)+4>>2]|0)+40>>2]=1;C=(c[(c[D>>2]|0)+4>>2]|0)+96|0;h[C>>3]=+h[C>>3]/2.0;c[(c[(c[D>>2]|0)+4>>2]|0)+80>>2]=20;B1(c[B>>2]|0);B1(c[p>>2]|0);cw(c[o>>2]|0);c[m>>2]=c[D>>2];D=c[m>>2]|0;i=E;return D|0}function Jx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[c[b>>2]>>2]|0)cw(c[c[b>>2]>>2]|0);if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}Jp(c[(c[b>>2]|0)+4>>2]|0);i=d;return}function Kx(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,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();m=g+20|0;n=g+16|0;l=g+12|0;o=g+8|0;k=g+4|0;h=g;c[m>>2]=a;c[n>>2]=b;c[l>>2]=d;c[o>>2]=e;c[k>>2]=f;c[h>>2]=0;Xp(c[o>>2]|0,c[n>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[l>>2]|0,c[k>>2]|0,h);if(c[h>>2]|0)db(133615,133301,1264,133621);else{i=g;return}}function Lx(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,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=i;i=i+48|0;if((i|0)>=(j|0))ba();q=u+44|0;k=u+40|0;r=u+36|0;h=u+32|0;s=u+28|0;v=u+24|0;t=u+20|0;o=u+16|0;m=u+12|0;l=u+8|0;p=u+4|0;n=u;c[q>>2]=a;c[k>>2]=b;c[r>>2]=d;c[h>>2]=e;c[s>>2]=f;c[v>>2]=g;c[c[v>>2]>>2]=0;switch(c[(c[r>>2]|0)+120>>2]|0){case 5:case 6:{b=c[k>>2]|0;h=c[q>>2]|0;k=c[s>>2]|0;if((c[(c[r>>2]|0)+120>>2]|0)==6)c[t>>2]=Fx(b,h,0.0,k,0)|0;else c[t>>2]=Fx(b,h,0.0,k,1)|0;Hx(c[t>>2]|0,c[q>>2]|0,c[s>>2]|0);Gx(c[t>>2]|0);i=u;return}case 2:case 3:case 1:{c[l>>2]=1;do if((c[(c[r>>2]|0)+120>>2]|0)!=1){if((c[(c[r>>2]|0)+120>>2]|0)==2){c[l>>2]=1;break}if((c[(c[r>>2]|0)+120>>2]|0)==3)c[l>>2]=2}else c[l>>2]=0;while(0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=1)break;c[o>>2]=zx(c[k>>2]|0,c[q>>2]|0,.05,c[s>>2]|0,c[l>>2]|0)|0;+Ex(c[o>>2]|0,c[q>>2]|0,c[s>>2]|0,50,.001);Ax(c[o>>2]|0);c[m>>2]=(c[m>>2]|0)+1}i=u;return}case 4:{c[n>>2]=0;while(1){if((c[n>>2]|0)>=1)break;c[p>>2]=Ix(c[k>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;Kx(c[p>>2]|0,c[k>>2]|0,c[h>>2]|0,c[q>>2]|0,c[s>>2]|0);Jx(c[p>>2]|0);c[n>>2]=(c[n>>2]|0)+1}i=u;return}default:{i=u;return}}}function Mx(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 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.0;L=i;i=i+128|0;if((i|0)>=(j|0))ba();k=L+124|0;m=L+120|0;n=L+116|0;o=L+112|0;p=L+108|0;q=L+104|0;l=L+100|0;H=L+96|0;s=L+92|0;M=L+88|0;w=L+84|0;A=L+80|0;x=L+76|0;C=L+72|0;I=L+68|0;F=L+64|0;G=L+60|0;v=L+56|0;z=L+52|0;y=L+48|0;B=L+44|0;J=L+40|0;u=L+24|0;E=L+16|0;D=L+8|0;K=L+36|0;r=L+32|0;t=L;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[l>>2]=c[(c[k>>2]|0)+8>>2];c[H>>2]=c[(c[k>>2]|0)+12>>2];c[s>>2]=c[(c[k>>2]|0)+16>>2];c[M>>2]=c[(c[k>>2]|0)+32>>2];c[w>>2]=c[(c[M>>2]|0)+20>>2];c[A>>2]=c[(c[M>>2]|0)+24>>2];c[y>>2]=c[(c[k>>2]|0)+20>>2];c[B>>2]=c[(c[k>>2]|0)+24>>2];c[J>>2]=c[(c[k>>2]|0)+28>>2];c[K>>2]=0;c[r>>2]=0;h[t>>3]=+h[c[k>>2]>>3];if((c[l>>2]|0)==1|(c[l>>2]|0)==3){if(!(c[y>>2]|0)){if((c[B>>2]|0)!=0|(c[J>>2]|0)!=0)db(133643,133301,694,133660);c[I>>2]=0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[H>>2]|0))break;c[x>>2]=c[(c[s>>2]|0)+(c[v>>2]<<2)>>2];h[D>>3]=+((c[(c[w>>2]|0)+((c[x>>2]|0)+1<<2)>>2]|0)-(c[(c[w>>2]|0)+(c[x>>2]<<2)>>2]|0)|0);c[I>>2]=(c[I>>2]|0)+~~((+h[D>>3]+1.0)*(+h[D>>3]+1.0));c[v>>2]=(c[v>>2]|0)+1}M=rK(c[I>>2]<<2)|0;c[(c[k>>2]|0)+20>>2]=M;c[y>>2]=M;M=rK(c[I>>2]<<2)|0;c[(c[k>>2]|0)+24>>2]=M;c[B>>2]=M;M=rK(c[I>>2]<<3)|0;c[(c[k>>2]|0)+28>>2]=M;c[J>>2]=M}c[I>>2]=0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[H>>2]|0))break;c[x>>2]=c[(c[s>>2]|0)+(c[v>>2]<<2)>>2];c[C>>2]=c[(c[A>>2]|0)+(c[(c[w>>2]|0)+(c[x>>2]<<2)>>2]<<2)>>2];c[G>>2]=c[(c[A>>2]|0)+((c[(c[w>>2]|0)+(c[x>>2]<<2)>>2]|0)+1<<2)>>2];a:do if((c[C>>2]|0)!=(c[G>>2]|0)){h[u>>3]=+Rw(c[o>>2]|0,c[n>>2]|0,c[C>>2]|0,c[G>>2]|0);h[u>>3]=+h[u>>3]*+h[u>>3];h[D>>3]=+((c[(c[w>>2]|0)+((c[x>>2]|0)+1<<2)>>2]|0)-(c[(c[w>>2]|0)+(c[x>>2]<<2)>>2]|0)|0);h[E>>3]=+h[D>>3]*+h[D>>3];c[(c[y>>2]|0)+(c[I>>2]<<2)>>2]=c[x>>2];c[(c[B>>2]|0)+(c[I>>2]<<2)>>2]=c[x>>2];N=+h[t>>3]/+h[u>>3];M=c[I>>2]|0;c[I>>2]=M+1;h[(c[J>>2]|0)+(M<<3)>>3]=N;h[D>>3]=+h[t>>3]/(+h[D>>3]*+h[u>>3]);h[E>>3]=+h[t>>3]/(+h[E>>3]*+h[u>>3]);c[z>>2]=c[(c[w>>2]|0)+(c[x>>2]<<2)>>2];while(1){k=c[x>>2]|0;if((c[z>>2]|0)>=(c[(c[w>>2]|0)+((c[x>>2]|0)+1<<2)>>2]|0))break;c[(c[y>>2]|0)+(c[I>>2]<<2)>>2]=k;c[(c[B>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[A>>2]|0)+(c[z>>2]<<2)>>2];N=-+h[D>>3];M=c[I>>2]|0;c[I>>2]=M+1;h[(c[J>>2]|0)+(M<<3)>>3]=N;c[z>>2]=(c[z>>2]|0)+1}c[z>>2]=c[(c[w>>2]|0)+(k<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[w>>2]|0)+((c[x>>2]|0)+1<<2)>>2]|0))break a;c[C>>2]=c[(c[A>>2]|0)+(c[z>>2]<<2)>>2];c[(c[y>>2]|0)+(c[I>>2]<<2)>>2]=c[C>>2];c[(c[B>>2]|0)+(c[I>>2]<<2)>>2]=c[x>>2];N=-+h[D>>3];M=c[I>>2]|0;c[I>>2]=M+1;h[(c[J>>2]|0)+(M<<3)>>3]=N;c[F>>2]=c[(c[w>>2]|0)+(c[x>>2]<<2)>>2];while(1){if((c[F>>2]|0)>=(c[(c[w>>2]|0)+((c[x>>2]|0)+1<<2)>>2]|0))break;c[G>>2]=c[(c[A>>2]|0)+(c[F>>2]<<2)>>2];c[(c[y>>2]|0)+(c[I>>2]<<2)>>2]=c[C>>2];c[(c[B>>2]|0)+(c[I>>2]<<2)>>2]=c[G>>2];N=+h[E>>3];M=c[I>>2]|0;c[I>>2]=M+1;h[(c[J>>2]|0)+(M<<3)>>3]=N;c[F>>2]=(c[F>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}}while(0);c[v>>2]=(c[v>>2]|0)+1}c[r>>2]=mw(c[I>>2]|0,c[m>>2]|0,c[m>>2]|0,c[y>>2]|0,c[B>>2]|0,c[J>>2]|0,1,8)|0;J=c[r>>2]|0;M=c[p>>2]|0;c[M>>2]=J;K=c[K>>2]|0;M=c[q>>2]|0;c[M>>2]=K;i=L;return}if(!((c[l>>2]|0)==2|(c[l>>2]|0)==4)){J=c[r>>2]|0;M=c[p>>2]|0;c[M>>2]=J;K=c[K>>2]|0;M=c[q>>2]|0;c[M>>2]=K;i=L;return}do if(!(c[y>>2]|0))if((c[B>>2]|0)!=0|(c[J>>2]|0)!=0)db(133643,133301,736,133660);else{c[I>>2]=c[H>>2];M=rK(c[I>>2]<<2)|0;c[(c[k>>2]|0)+20>>2]=M;c[y>>2]=M;M=rK(c[I>>2]<<2)|0;c[(c[k>>2]|0)+24>>2]=M;c[B>>2]=M;M=rK(c[I>>2]<<3)|0;c[(c[k>>2]|0)+28>>2]=M;c[J>>2]=M;break}while(0);c[K>>2]=rK(_(c[m>>2]<<3,c[n>>2]|0)|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(_(c[m>>2]|0,c[n>>2]|0)|0))break;h[(c[K>>2]|0)+(c[v>>2]<<3)>>3]=0.0;c[v>>2]=(c[v>>2]|0)+1}c[I>>2]=0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[H>>2]|0))break;c[x>>2]=c[(c[s>>2]|0)+(c[v>>2]<<2)>>2];c[C>>2]=c[(c[A>>2]|0)+(c[(c[w>>2]|0)+(c[x>>2]<<2)>>2]<<2)>>2];c[G>>2]=c[(c[A>>2]|0)+((c[(c[w>>2]|0)+(c[x>>2]<<2)>>2]|0)+1<<2)>>2];h[u>>3]=+Rw(c[o>>2]|0,c[n>>2]|0,c[C>>2]|0,c[G>>2]|0);c[(c[y>>2]|0)+(c[I>>2]<<2)>>2]=c[x>>2];c[(c[B>>2]|0)+(c[I>>2]<<2)>>2]=c[x>>2];N=+h[t>>3]/+h[u>>3];M=c[I>>2]|0;c[I>>2]=M+1;h[(c[J>>2]|0)+(M<<3)>>3]=N;c[z>>2]=c[(c[w>>2]|0)+(c[x>>2]<<2)>>2];while(1){if((c[z>>2]|0)>=(c[(c[w>>2]|0)+((c[x>>2]|0)+1<<2)>>2]|0))break;c[C>>2]=c[(c[A>>2]|0)+(c[z>>2]<<2)>>2];c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[n>>2]|0))break;E=_(c[C>>2]|0,c[n>>2]|0)|0;M=_(c[x>>2]|0,c[n>>2]|0)|0;M=(c[K>>2]|0)+(M+(c[F>>2]|0)<<3)|0;h[M>>3]=+h[M>>3]+ +h[(c[o>>2]|0)+(E+(c[F>>2]|0)<<3)>>3];c[F>>2]=(c[F>>2]|0)+1}c[z>>2]=(c[z>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[n>>2]|0))break;M=_(c[x>>2]|0,c[n>>2]|0)|0;M=(c[K>>2]|0)+(M+(c[F>>2]|0)<<3)|0;h[M>>3]=+h[M>>3]*(+h[t>>3]/+h[u>>3]/+((c[(c[w>>2]|0)+((c[x>>2]|0)+1<<2)>>2]|0)-(c[(c[w>>2]|0)+(c[x>>2]<<2)>>2]|0)|0));c[F>>2]=(c[F>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1}c[r>>2]=mw(c[I>>2]|0,c[m>>2]|0,c[m>>2]|0,c[y>>2]|0,c[B>>2]|0,c[J>>2]|0,1,8)|0;J=c[r>>2]|0;M=c[p>>2]|0;c[M>>2]=J;K=c[K>>2]|0;M=c[q>>2]|0;c[M>>2]=K;i=L;return}function Nx(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;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;v=i;i=i+64|0;if((i|0)>=(j|0))ba();k=v+56|0;l=v+52|0;m=v+48|0;n=v+44|0;o=v+24|0;p=v+16|0;s=v+40|0;t=v+36|0;u=v+32|0;q=v+8|0;r=v;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;h[o>>3]=f;h[p>>3]=g;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[k>>2]|0))break;c[t>>2]=(c[s>>2]|0)+1;while(1){if((c[t>>2]|0)>=(c[k>>2]|0))break;h[q>>3]=+Rw(c[m>>2]|0,c[l>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[l>>2]|0))break;d=_(c[s>>2]|0,c[l>>2]|0)|0;e=_(c[t>>2]|0,c[l>>2]|0)|0;h[r>>3]=(+h[(c[m>>2]|0)+(d+(c[u>>2]|0)<<3)>>3]-+h[(c[m>>2]|0)+(e+(c[u>>2]|0)<<3)>>3])/+h[q>>3];e=_(c[s>>2]|0,c[l>>2]|0)|0;e=(c[n>>2]|0)+(e+(c[u>>2]|0)<<3)|0;h[e>>3]=+h[e>>3]+ +h[o>>3]*+h[p>>3]*+h[r>>3];e=_(c[t>>2]|0,c[l>>2]|0)|0;e=(c[n>>2]|0)+(e+(c[u>>2]|0)<<3)|0;h[e>>3]=+h[e>>3]+ +h[o>>3]*+h[p>>3]*-+h[r>>3];c[u>>2]=(c[u>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}i=v;return}function Ox(a,b,d,e,f,g,k,l){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=+g;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;m=i;i=i+48|0;if((i|0)>=(j|0))ba();t=m+44|0;w=m+8|0;s=m+40|0;r=m+36|0;q=m+32|0;p=m;o=m+28|0;n=m+24|0;v=m+20|0;u=m+16|0;c[t>>2]=a;h[w>>3]=b;c[s>>2]=d;c[r>>2]=e;c[q>>2]=f;h[p>>3]=g;c[o>>2]=k;c[n>>2]=l;c[v>>2]=Rx(c[t>>2]|0,+h[w>>3])|0;c[u>>2]=Wx(c[t>>2]|0,+h[w>>3])|0;g=+Zx(c[v>>2]|0,c[u>>2]|0,c[c[t>>2]>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,+h[p>>3],c[o>>2]|0,c[n>>2]|0);i=m;return +g}function Px(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();f=q+36|0;g=q+32|0;k=q+28|0;l=q+24|0;p=q+8|0;m=q;n=q+20|0;o=q+16|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;h[p>>3]=0.0;h[m>>3]=0.0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[f>>2]|0))break;h[m>>3]=0.0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[g>>2]|0))break;b=_(c[n>>2]|0,c[g>>2]|0)|0;a=_(c[n>>2]|0,c[g>>2]|0)|0;d=_(c[n>>2]|0,c[g>>2]|0)|0;e=_(c[n>>2]|0,c[g>>2]|0)|0;h[m>>3]=+h[m>>3]+(+h[(c[l>>2]|0)+(b+(c[o>>2]|0)<<3)>>3]-+h[(c[k>>2]|0)+(a+(c[o>>2]|0)<<3)>>3])*(+h[(c[l>>2]|0)+(d+(c[o>>2]|0)<<3)>>3]-+h[(c[k>>2]|0)+(e+(c[o>>2]|0)<<3)>>3]);c[o>>2]=(c[o>>2]|0)+1}r=+O(+(+h[m>>3]));h[p>>3]=+h[p>>3]+r;c[n>>2]=(c[n>>2]|0)+1}i=q;return +(+h[p>>3])}function Qx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();q=n+40|0;e=n+36|0;f=n+32|0;p=n+28|0;o=n+24|0;g=n+8|0;m=n;l=n+20|0;k=n+16|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[p>>2]=c[c[q>>2]>>2];c[o>>2]=c[(c[p>>2]|0)+8>>2];h[g>>3]=+h[c[p>>2]>>3];h[m>>3]=0.0;c[l>>2]=c[c[o>>2]>>2];ow(c[o>>2]|0,c[e>>2]|0,f,0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;h[m>>3]=+h[m>>3]+ +h[(c[e>>2]|0)+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;q=(c[f>>2]|0)+(c[k>>2]<<3)|0;h[q>>3]=+h[q>>3]+ +h[g>>3]*(+(c[l>>2]|0)*+h[(c[e>>2]|0)+(c[k>>2]<<3)>>3]-+h[m>>3]);c[k>>2]=(c[k>>2]|0)+1}i=n;return c[f>>2]|0}function Rx(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();g=d+16|0;k=d;e=d+12|0;f=d+8|0;c[g>>2]=a;h[k>>3]=b;c[e>>2]=rK(8)|0;a=rK(16)|0;c[f>>2]=a;c[c[e>>2]>>2]=a;h[c[f>>2]>>3]=+h[k>>3];c[(c[f>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+4>>2]=30;i=d;return c[e>>2]|0}function Sx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();k=e+12|0;g=e+8|0;f=e+4|0;h=e;c[k>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[k>>2]>>2];ow(c[h>>2]|0,c[g>>2]|0,f,0);i=e;return c[f>>2]|0}function Tx(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=rK(8)|0;c[c[d>>2]>>2]=c[e>>2];c[(c[d>>2]|0)+4>>2]=31;i=b;return c[d>>2]|0}function Ux(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}B1(c[b>>2]|0);i=d;return}function Vx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();n=m+20|0;e=m+16|0;f=m+12|0;k=m+8|0;l=m+4|0;g=m;c[n>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[n>>2]>>2];c[l>>2]=~~+h[c[g>>2]>>3];c[g>>2]=(c[g>>2]|0)+8;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;h[(c[f>>2]|0)+(c[k>>2]<<3)>>3]=+h[(c[e>>2]|0)+(c[k>>2]<<3)>>3]*+h[(c[g>>2]|0)+(c[k>>2]<<3)>>3];c[k>>2]=(c[k>>2]|0)+1}i=m;return c[f>>2]|0}function Wx(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();q=p+40|0;d=p;o=p+36|0;f=p+32|0;g=p+28|0;l=p+24|0;n=p+20|0;k=p+16|0;m=p+12|0;e=p+8|0;c[q>>2]=a;h[d>>3]=b;c[n>>2]=c[c[q>>2]>>2];c[k>>2]=c[(c[q>>2]|0)+20>>2];c[m>>2]=c[(c[q>>2]|0)+24>>2];c[e>>2]=c[(c[q>>2]|0)+28>>2];c[o>>2]=rK(8)|0;a=rK((c[n>>2]|0)+1<<3)|0;c[c[o>>2]>>2]=a;c[f>>2]=c[c[o>>2]>>2];h[c[f>>2]>>3]=+(c[n>>2]|0);c[f>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[n>>2]|0))break;h[(c[f>>2]|0)+(c[g>>2]<<3)>>3]=1.0/+((c[n>>2]|0)-1|0);c[l>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];while(1){a=c[g>>2]|0;if((c[l>>2]|0)>=(c[(c[k>>2]|0)+((c[g>>2]|0)+1<<2)>>2]|0))break;if((a|0)==(c[(c[m>>2]|0)+(c[l>>2]<<2)>>2]|0)?(b=+h[(c[e>>2]|0)+(c[l>>2]<<3)>>3],(+h[(c[e>>2]|0)+(c[l>>2]<<3)>>3]>=0.0?b:-b)>0.0):0)h[(c[f>>2]|0)+(c[g>>2]<<3)>>3]=1.0/(+((c[n>>2]|0)-1|0)*+h[d>>3]+ +h[(c[e>>2]|0)+(c[l>>2]<<3)>>3]);c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=a+1}c[(c[o>>2]|0)+4>>2]=32;i=p;return c[o>>2]|0}function Xx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();o=n+32|0;m=n+28|0;d=n+24|0;e=n+20|0;g=n+16|0;l=n+12|0;f=n+8|0;k=n+4|0;b=n;c[o>>2]=a;c[l>>2]=c[c[o>>2]>>2];c[f>>2]=c[(c[o>>2]|0)+20>>2];c[k>>2]=c[(c[o>>2]|0)+24>>2];c[b>>2]=c[(c[o>>2]|0)+28>>2];c[m>>2]=rK(8)|0;a=rK((c[c[o>>2]>>2]|0)+1<<3)|0;c[c[m>>2]>>2]=a;c[d>>2]=c[c[m>>2]>>2];h[c[d>>2]>>3]=+(c[l>>2]|0);c[d>>2]=(c[d>>2]|0)+8;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[l>>2]|0))break;h[(c[d>>2]|0)+(c[e>>2]<<3)>>3]=1.0;c[g>>2]=c[(c[f>>2]|0)+(c[e>>2]<<2)>>2];while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+((c[e>>2]|0)+1<<2)>>2]|0))break;if((a|0)==(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0)?(p=+h[(c[b>>2]|0)+(c[g>>2]<<3)>>3],(+h[(c[b>>2]|0)+(c[g>>2]<<3)>>3]>=0.0?p:-p)>0.0):0)h[(c[d>>2]|0)+(c[e>>2]<<3)>>3]=1.0/+h[(c[b>>2]|0)+(c[g>>2]<<3)>>3];c[g>>2]=(c[g>>2]|0)+1}c[e>>2]=a+1}c[(c[m>>2]|0)+4>>2]=32;i=n;return c[m>>2]|0}function Yx(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(c[c[b>>2]>>2]|0)B1(c[c[b>>2]>>2]|0);if(!(c[b>>2]|0)){i=d;return}B1(c[b>>2]|0);i=d;return}function Zx(a,b,d,e,f,g,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=+k;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;B=i;i=i+64|0;if((i|0)>=(j|0))ba();n=B+60|0;o=B+56|0;p=B+52|0;q=B+48|0;r=B+44|0;s=B+40|0;t=B+8|0;u=B+36|0;v=B+32|0;A=B+28|0;w=B+24|0;z=B;y=B+20|0;x=B+16|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;h[t>>3]=k;c[u>>2]=l;c[v>>2]=m;h[z>>3]=0.0;c[A>>2]=rK(c[p>>2]<<3)|0;c[w>>2]=rK(c[p>>2]<<3)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[q>>2]|0))break;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[p>>2]|0))break;f=_(c[x>>2]|0,c[q>>2]|0)|0;h[(c[A>>2]|0)+(c[x>>2]<<3)>>3]=+h[(c[r>>2]|0)+(f+(c[y>>2]|0)<<3)>>3];f=_(c[x>>2]|0,c[q>>2]|0)|0;h[(c[w>>2]|0)+(c[x>>2]<<3)>>3]=+h[(c[s>>2]|0)+(f+(c[y>>2]|0)<<3)>>3];c[x>>2]=(c[x>>2]|0)+1}k=+ay(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[A>>2]|0,c[w>>2]|0,+h[t>>3],c[u>>2]|0,c[v>>2]|0);h[z>>3]=+h[z>>3]+k;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[p>>2]|0))break;f=_(c[x>>2]|0,c[q>>2]|0)|0;h[(c[s>>2]|0)+(f+(c[y>>2]|0)<<3)>>3]=+h[(c[A>>2]|0)+(c[x>>2]<<3)>>3];c[x>>2]=(c[x>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}B1(c[A>>2]|0);B1(c[w>>2]|0);i=B;return +(+h[z>>3])}function _x(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 k=0.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;D=i;i=i+96|0;if((i|0)>=(j|0))ba();A=D+16|0;E=D+84|0;l=D+80|0;m=D+76|0;n=D+72|0;o=D+68|0;B=D+60|0;C=D+56|0;q=D+52|0;z=D+8|0;r=D;p=D+48|0;x=D+44|0;s=D+40|0;v=D+36|0;y=D+32|0;t=D+28|0;w=D+24|0;u=D+20|0;c[E>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[D+64>>2]=g;c[y>>2]=c[(c[E>>2]|0)+4>>2];c[B>>2]=rK(c[y>>2]<<3)|0;c[C>>2]=rK(c[y>>2]<<3)|0;c[q>>2]=rK(c[y>>2]<<3)|0;c[t>>2]=c[(c[E>>2]|0)+20>>2];c[w>>2]=c[(c[E>>2]|0)+24>>2];c[p>>2]=c[(c[E>>2]|0)+28>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[y>>2]|0))break;E=_(c[s>>2]|0,c[l>>2]|0)|0;h[(c[B>>2]|0)+(c[s>>2]<<3)>>3]=+h[(c[m>>2]|0)+(E+(c[x>>2]|0)<<3)>>3];E=_(c[s>>2]|0,c[l>>2]|0)|0;h[(c[q>>2]|0)+(c[s>>2]<<3)>>3]=+h[(c[n>>2]|0)+(E+(c[x>>2]|0)<<3)>>3];c[s>>2]=(c[s>>2]|0)+1}c[u>>2]=0;while(1){E=(c[u>>2]|0)<(c[o>>2]|0);c[s>>2]=0;if(!E)break;while(1){if((c[s>>2]|0)>=(c[y>>2]|0))break;h[z>>3]=0.0;h[r>>3]=0.0;c[v>>2]=c[(c[t>>2]|0)+(c[s>>2]<<2)>>2];while(1){if((c[v>>2]|0)>=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0))break;k=+h[(c[p>>2]|0)+(c[v>>2]<<3)>>3];if((c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]|0)!=(c[s>>2]|0))h[z>>3]=+h[z>>3]+k*+h[(c[B>>2]|0)+(c[(c[w>>2]|0)+(c[v>>2]<<2)>>2]<<3)>>3];else h[r>>3]=k;c[v>>2]=(c[v>>2]|0)+1}if(+h[z>>3]==0.0){E=c[24742]|0;c[A>>2]=(c[(c[t>>2]|0)+((c[s>>2]|0)+1<<2)>>2]|0)-(c[(c[t>>2]|0)+(c[s>>2]<<2)>>2]|0);p3(E,133682,A)|0}h[(c[C>>2]|0)+(c[s>>2]<<3)>>3]=(+h[(c[q>>2]|0)+(c[s>>2]<<3)>>3]-+h[z>>3])/+h[r>>3];c[s>>2]=(c[s>>2]|0)+1}n5(c[B>>2]|0,c[C>>2]|0,c[y>>2]<<3|0)|0;c[u>>2]=(c[u>>2]|0)+1}while(1){if((c[s>>2]|0)>=(c[y>>2]|0))break;E=_(c[s>>2]|0,c[l>>2]|0)|0;h[(c[n>>2]|0)+(E+(c[x>>2]|0)<<3)>>3]=+h[(c[B>>2]|0)+(c[s>>2]<<3)>>3];c[s>>2]=(c[s>>2]|0)+1}c[x>>2]=(c[x>>2]|0)+1}B1(c[B>>2]|0);B1(c[C>>2]|0);B1(c[q>>2]|0);i=D;return c[n>>2]|0}function $x(a,b,d,e,f,g,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|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;x=i;i=i+64|0;if((i|0)>=(j|0))ba();m=x+52|0;n=x+48|0;o=x+44|0;p=x+40|0;q=x+8|0;r=x+36|0;y=x+32|0;s=x+28|0;t=x+24|0;v=x+20|0;u=x+16|0;w=x;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;h[q>>3]=f;c[r>>2]=g;c[y>>2]=k;c[s>>2]=l;c[u>>2]=c[c[m>>2]>>2];h[w>>3]=0.0;c[c[s>>2]>>2]=0;switch(c[y>>2]|0){case 0:{c[t>>2]=Tx(c[m>>2]|0)|0;c[v>>2]=Xx(c[m>>2]|0)|0;h[w>>3]=+Zx(c[t>>2]|0,c[v>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,+h[q>>3],c[r>>2]|0,c[s>>2]|0);Ux(c[t>>2]|0);Yx(c[v>>2]|0);f=+h[w>>3];i=x;return +f}case 1:{_x(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;f=+h[w>>3];i=x;return +f}default:{f=+h[w>>3];i=x;return +f}}return 0.0}function ay(a,b,d,e,f,g,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;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;F=i;i=i+112|0;if((i|0)>=(j|0))ba();m=F+108|0;n=F+104|0;o=F+100|0;p=F+96|0;G=F+92|0;q=F+48|0;r=F+88|0;E=F+80|0;C=F+76|0;A=F+72|0;B=F+68|0;D=F+40|0;u=F+32|0;y=F+24|0;z=F+16|0;x=F+8|0;v=F;s=F+64|0;t=F+60|0;w=F+56|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[G>>2]=f;h[q>>3]=g;c[r>>2]=k;c[F+84>>2]=l;h[D>>3]=+h[q>>3]*10.0;h[y>>3]=1.0e20;h[z>>3]=1.0;c[s>>2]=c[(c[m>>2]|0)+4>>2];c[t>>2]=c[(c[n>>2]|0)+4>>2];c[w>>2]=0;c[E>>2]=rK(c[o>>2]<<3)|0;c[C>>2]=rK(c[o>>2]<<3)|0;c[A>>2]=rK(c[o>>2]<<3)|0;c[B>>2]=rK(c[o>>2]<<3)|0;c[C>>2]=$b[c[s>>2]&63](c[m>>2]|0,c[p>>2]|0,c[C>>2]|0)|0;c[C>>2]=Nw(c[o>>2]|0,c[G>>2]|0,c[C>>2]|0)|0;g=+O(+(+Ow(c[o>>2]|0,c[C>>2]|0,c[C>>2]|0)));g=g/+(c[o>>2]|0);h[D>>3]=g;h[x>>3]=g;while(1){G=c[w>>2]|0;c[w>>2]=G+1;if((G|0)>=(c[r>>2]|0)){m=8;break}if(!(+h[D>>3]>+h[q>>3]*+h[x>>3])){m=8;break}c[E>>2]=$b[c[t>>2]&63](c[n>>2]|0,c[C>>2]|0,c[E>>2]|0)|0;h[y>>3]=+Ow(c[o>>2]|0,c[C>>2]|0,c[E>>2]|0);if((c[w>>2]|0)>1){h[v>>3]=+h[y>>3]/+h[z>>3];c[A>>2]=Pw(c[o>>2]|0,c[E>>2]|0,c[A>>2]|0,+h[v>>3])|0}else n5(c[A>>2]|0,c[E>>2]|0,c[o>>2]<<3|0)|0;c[B>>2]=$b[c[s>>2]&63](c[m>>2]|0,c[A>>2]|0,c[B>>2]|0)|0;g=+h[y>>3];h[u>>3]=g/+Ow(c[o>>2]|0,c[A>>2]|0,c[B>>2]|0);c[p>>2]=Qw(c[o>>2]|0,c[p>>2]|0,c[A>>2]|0,+h[u>>3])|0;c[C>>2]=Qw(c[o>>2]|0,c[C>>2]|0,c[B>>2]|0,-+h[u>>3])|0;g=+O(+(+Ow(c[o>>2]|0,c[C>>2]|0,c[C>>2]|0)));h[D>>3]=g/+(c[o>>2]|0);h[z>>3]=+h[y>>3]}if((m|0)==8){B1(c[E>>2]|0);B1(c[C>>2]|0);B1(c[A>>2]|0);B1(c[B>>2]|0);i=F;return +(+h[D>>3])}return +(0.0)}function by(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+64|0;if((i|0)>=(j|0))ba();l=t+52|0;e=t+44|0;q=t;p=t+40|0;f=t+36|0;g=t+32|0;m=t+28|0;n=t+24|0;o=t+20|0;r=t+16|0;s=t+12|0;k=t+8|0;c[l>>2]=a;c[t+48>>2]=b;c[e>>2]=d;h[q>>3]=1.0;c[o>>2]=0;c[r>>2]=rK(c[l>>2]<<3)|0;c[s>>2]=rK(c[l>>2]<<3)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[l>>2]|0))break;h[(c[r>>2]|0)+(c[p>>2]<<3)>>3]=+h[(c[e>>2]|0)+(c[p>>2]<<1<<3)>>3];h[(c[s>>2]|0)+(c[p>>2]<<3)>>3]=+h[(c[e>>2]|0)+((c[p>>2]<<1)+1<<3)>>3];c[p>>2]=(c[p>>2]|0)+1}if((c[l>>2]|0)>2)c[o>>2]=Jr(c[r>>2]|0,c[s>>2]|0,c[l>>2]|0,k)|0;else c[k>>2]=0;c[m>>2]=ew(c[l>>2]|0,c[l>>2]|0,1,1,2)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break;c[f>>2]=c[(c[o>>2]|0)+(c[p>>2]<<1<<2)>>2];c[g>>2]=c[(c[o>>2]|0)+((c[p>>2]<<1)+1<<2)>>2];sw(c[m>>2]|0,1,f,g,q)|0;c[p>>2]=(c[p>>2]|0)+1}if((c[l>>2]|0)==2){c[f>>2]=0;c[g>>2]=1;sw(c[m>>2]|0,1,f,g,q)|0}c[p>>2]=0;while(1){e=c[m>>2]|0;if((c[p>>2]|0)>=(c[l>>2]|0))break;sw(e,1,p,p,q)|0;c[p>>2]=(c[p>>2]|0)+1}c[n>>2]=lw(e)|0;cw(c[m>>2]|0);c[m>>2]=dw(c[n>>2]|0,0)|0;cw(c[n>>2]|0);c[n>>2]=c[m>>2];B1(c[o>>2]|0);B1(c[r>>2]|0);B1(c[s>>2]|0);i=t;return c[n>>2]|0}function cy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();k=s+44|0;e=s+40|0;f=s+36|0;q=s+32|0;r=s+28|0;n=s+24|0;o=s+20|0;g=s+16|0;l=s+12|0;m=s+8|0;p=s;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;h[p>>3]=1.0;c[q>>2]=rK(c[k>>2]<<3)|0;c[r>>2]=rK(c[k>>2]<<3)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;d=_(c[e>>2]|0,c[o>>2]|0)|0;h[(c[q>>2]|0)+(c[o>>2]<<3)>>3]=+h[(c[f>>2]|0)+(d<<3)>>3];d=(_(c[e>>2]|0,c[o>>2]|0)|0)+1|0;h[(c[r>>2]|0)+(c[o>>2]<<3)>>3]=+h[(c[f>>2]|0)+(d<<3)>>3];c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=Kr(c[q>>2]|0,c[r>>2]|0,c[k>>2]|0,0)|0;c[l>>2]=ew(c[k>>2]|0,c[k>>2]|0,1,1,2)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[(c[n>>2]|0)+((c[o>>2]|0)*12|0)>>2]|0))break;sw(c[l>>2]|0,1,o,(c[(c[n>>2]|0)+((c[o>>2]|0)*12|0)+4>>2]|0)+(c[g>>2]<<2)|0,p)|0;c[g>>2]=(c[g>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=0;while(1){e=c[l>>2]|0;if((c[o>>2]|0)>=(c[k>>2]|0))break;sw(e,1,o,o,p)|0;c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=lw(e)|0;c[m>>2]=dw(c[m>>2]|0,0)|0;cw(c[l>>2]|0);B1(c[q>>2]|0);B1(c[r>>2]|0);Lr(c[n>>2]|0);i=s;return c[m>>2]|0}function dy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();m=f+24|0;k=f+20|0;l=f+16|0;h=f+12|0;g=f;c[m>>2]=a;c[k>>2]=b;c[l>>2]=d;c[h>>2]=e;ey(g,c[l>>2]|0);fy(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,g);gy(c[k>>2]|0,g,c[h>>2]|0);hy(g);i=f;return}function ey(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=rK(c[f>>2]<<4)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[e>>2]|0)+8>>2]=0;i=d;return}function fy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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=i;i=i+112|0;if((i|0)>=(j|0))ba();q=y+32|0;f=y+104|0;g=y+100|0;k=y+96|0;l=y+92|0;m=y+88|0;t=y+76|0;v=y+72|0;x=y+68|0;r=y+16|0;p=y;w=y+64|0;u=y+60|0;n=y+56|0;s=y+52|0;o=y+48|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[v>>2]=rK(c[g>>2]<<2)|0;c[x>>2]=rK(c[g>>2]<<2)|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[w>>2]=rK(c[g>>2]<<2)|0;c[u>>2]=rK(c[g>>2]<<2)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;c[(c[w>>2]|0)+(c[m>>2]<<2)>>2]=c[m>>2];c[m>>2]=(c[m>>2]|0)+1}Ts(c[f>>2]|0,c[w>>2]|0,0,(c[g>>2]|0)-1|0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;c[(c[u>>2]|0)+(c[(c[w>>2]|0)+(c[m>>2]<<2)>>2]<<2)>>2]=c[m>>2];c[m>>2]=(c[m>>2]|0)+1}jy(t,c[f>>2]|0,c[w>>2]|0,c[g>>2]|0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;c[(c[v>>2]|0)+(c[(c[w>>2]|0)+(c[m>>2]<<2)>>2]<<2)>>2]=c[(c[w>>2]|0)+((c[m>>2]|0)-1<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=((c[g>>2]|0)-1|0))break;c[(c[x>>2]|0)+(c[(c[w>>2]|0)+(c[m>>2]<<2)>>2]<<2)>>2]=c[(c[w>>2]|0)+((c[m>>2]|0)+1<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0)){f=25;break}if(!((ky(t,r)|0)<<24>>24)){f=25;break}if((c[(c[l>>2]|0)+8>>2]|0)>=(c[(c[l>>2]|0)+4>>2]|0)){a=(c[l>>2]|0)+4|0;c[a>>2]=c[a>>2]<<1;a=D1(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]<<4)|0;c[c[l>>2]>>2]=a}e=(c[l>>2]|0)+8|0;a=c[e>>2]|0;c[e>>2]=a+1;a=(c[c[l>>2]>>2]|0)+(a<<4)|0;c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];c[n>>2]=c[(c[u>>2]|0)+(c[r>>2]<<2)>>2];c[s>>2]=c[(c[u>>2]|0)+(c[r+4>>2]<<2)>>2];if((c[n>>2]|0)>0?(c[o>>2]=c[(c[w>>2]|0)+((c[n>>2]|0)-1<<2)>>2],(c[(c[u>>2]|0)+(c[(c[x>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2]|0)<(c[s>>2]|0)):0){c[p>>2]=c[o>>2];c[p+4>>2]=c[r+4>>2];h[p+8>>3]=+h[(c[f>>2]|0)+(c[r+4>>2]<<3)>>3]-+h[(c[f>>2]|0)+(c[o>>2]<<3)>>3];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];ly(t,q);c[(c[x>>2]|0)+(c[o>>2]<<2)>>2]=c[r+4>>2];c[(c[v>>2]|0)+(c[r+4>>2]<<2)>>2]=c[o>>2]}if((c[s>>2]|0)<((c[g>>2]|0)-1|0)?(c[o>>2]=c[(c[w>>2]|0)+((c[s>>2]|0)+1<<2)>>2],(c[(c[u>>2]|0)+(c[(c[v>>2]|0)+(c[o>>2]<<2)>>2]<<2)>>2]|0)>(c[n>>2]|0)):0){c[p>>2]=c[r>>2];c[p+4>>2]=c[o>>2];h[p+8>>3]=+h[(c[f>>2]|0)+(c[o>>2]<<3)>>3]-+h[(c[f>>2]|0)+(c[r>>2]<<3)>>3];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];ly(t,q);c[(c[v>>2]|0)+(c[o>>2]<<2)>>2]=c[r>>2];c[(c[x>>2]|0)+(c[r>>2]<<2)>>2]=c[o>>2]}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==25){B1(c[v>>2]|0);B1(c[x>>2]|0);B1(c[w>>2]|0);B1(c[u>>2]|0);my(t);i=y;return}}function gy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;if((i|0)>=(j|0))ba();e=s+52|0;p=s+48|0;f=s+44|0;l=s+40|0;q=s+36|0;h=s+32|0;n=s+28|0;m=s+24|0;r=s;k=s+20|0;o=s+16|0;c[e>>2]=a;c[p>>2]=b;c[f>>2]=d;c[h>>2]=rK(c[e>>2]<<2)|0;c[n>>2]=c[(c[p>>2]|0)+8>>2];c[m>>2]=(c[n>>2]<<1)+(c[e>>2]|0);c[k>>2]=rK(c[m>>2]<<2)|0;c[o>>2]=rK(c[m>>2]<<2)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[e>>2]|0))break;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=1;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break;a=(c[c[p>>2]>>2]|0)+(c[l>>2]<<4)|0;c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];a=(c[h>>2]|0)+(c[r>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[h>>2]|0)+(c[r+4>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;g[(c[o>>2]|0)+(c[l>>2]<<2)>>2]=1.0;c[l>>2]=(c[l>>2]|0)+1}n=rK((c[e>>2]|0)*20|0)|0;c[q>>2]=n;c[c[f>>2]>>2]=n;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[e>>2]|0))break;c[(c[q>>2]|0)+((c[l>>2]|0)*20|0)>>2]=1;c[(c[q>>2]|0)+((c[l>>2]|0)*20|0)+8>>2]=c[o>>2];c[(c[q>>2]|0)+((c[l>>2]|0)*20|0)+4>>2]=c[k>>2];c[c[k>>2]>>2]=c[l>>2];g[c[o>>2]>>2]=0.0;c[o>>2]=(c[o>>2]|0)+(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]<<2);c[k>>2]=(c[k>>2]|0)+(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]<<2);c[l>>2]=(c[l>>2]|0)+1}B1(c[h>>2]|0);while(1){if(!(c[(c[p>>2]|0)+8>>2]|0))e=0;else{e=(c[p>>2]|0)+8|0;c[e>>2]=(c[e>>2]|0)+-1;e=(c[c[p>>2]>>2]|0)+(c[(c[p>>2]|0)+8>>2]<<4)|0;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];e=1}if(!e)break;iy(c[q>>2]|0,c[r>>2]|0,c[r+4>>2]|0)}i=s;return}function hy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[c[d>>2]>>2]|0);i=b;return}function iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,k=0,l=0,m=0;m=i;i=i+16|0;if((i|0)>=(j|0))ba();e=m+12|0;f=m+8|0;h=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=d;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[e>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0))break;if((c[(c[(c[e>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)+(c[k>>2]<<2)>>2]|0)==(c[h>>2]|0)){l=7;break}c[k>>2]=(c[k>>2]|0)+1}if((l|0)==7){i=m;return}b=c[h>>2]|0;l=(c[e>>2]|0)+((c[f>>2]|0)*20|0)|0;d=c[l>>2]|0;c[l>>2]=d+1;c[(c[(c[e>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)+(d<<2)>>2]=b;d=c[f>>2]|0;b=(c[e>>2]|0)+((c[h>>2]|0)*20|0)|0;l=c[b>>2]|0;c[b>>2]=l+1;c[(c[(c[e>>2]|0)+((c[h>>2]|0)*20|0)+4>>2]|0)+(l<<2)>>2]=d;if(!(c[(c[e>>2]|0)+8>>2]|0)){i=m;return}l=c[(c[e>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0;g[l>>2]=+g[l>>2]+-1.0;l=c[(c[e>>2]|0)+((c[h>>2]|0)*20|0)+8>>2]|0;g[l>>2]=+g[l>>2]+-1.0;i=m;return}function jy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();f=p+36|0;g=p+32|0;k=p+28|0;l=p+24|0;n=p+20|0;m=p;o=p+16|0;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[(c[f>>2]|0)+4>>2]=(c[l>>2]|0)-1;c[(c[f>>2]|0)+8>>2]=c[(c[f>>2]|0)+4>>2];b=rK(c[(c[f>>2]|0)+8>>2]<<4)|0;c[c[f>>2]>>2]=b;c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[l>>2]|0)-1|0))break;c[m>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];c[m+4>>2]=c[(c[k>>2]|0)+((c[n>>2]|0)+1<<2)>>2];h[m+8>>3]=+h[(c[g>>2]|0)+(c[(c[k>>2]|0)+((c[n>>2]|0)+1<<2)>>2]<<3)>>3]-+h[(c[g>>2]|0)+(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]<<3)>>3];b=(c[c[f>>2]>>2]|0)+(c[n>>2]<<4)|0;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];c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=((c[l>>2]|0)-1|0)/2|0;while(1){if((c[o>>2]|0)<0)break;ny(c[f>>2]|0,c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+-1}i=p;return}function ky(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if(!(c[(c[f>>2]|0)+4>>2]|0)){a[e>>0]=0;d=a[e>>0]|0;i=h;return d|0}else{d=c[g>>2]|0;b=c[c[f>>2]>>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];d=c[c[f>>2]>>2]|0;b=(c[c[f>>2]>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<4)|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];d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+-1;ny(c[f>>2]|0,0);a[e>>0]=1;d=a[e>>0]|0;i=h;return d|0}return 0}function ly(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();d=g+20|0;e=g+16|0;f=g;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+4>>2]|0)==(c[(c[d>>2]|0)+8>>2]|0)){a=(c[d>>2]|0)+8|0;c[a>>2]=c[a>>2]<<1;a=D1(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+8>>2]<<4)|0;c[c[d>>2]>>2]=a}a=(c[d>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[c[d>>2]>>2]|0)+(c[e>>2]<<4)|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];while(1){if((c[e>>2]|0)<=0){d=9;break}if(!(+h[(c[c[d>>2]>>2]|0)+(c[e>>2]<<4)+8>>3]<+h[(c[c[d>>2]>>2]|0)+(((c[e>>2]|0)/2|0)<<4)+8>>3])){if(!(+h[(c[c[d>>2]>>2]|0)+(c[e>>2]<<4)+8>>3]==+h[(c[c[d>>2]>>2]|0)+(((c[e>>2]|0)/2|0)<<4)+8>>3])){d=9;break}if(!((M2()|0)%2|0)){d=9;break}}a=(c[c[d>>2]>>2]|0)+(c[e>>2]<<4)|0;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];a=(c[c[d>>2]>>2]|0)+(c[e>>2]<<4)|0;b=(c[c[d>>2]>>2]|0)+(((c[e>>2]|0)/2|0)<<4)|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];a=(c[c[d>>2]>>2]|0)+(((c[e>>2]|0)/2|0)<<4)|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[e>>2]=(c[e>>2]|0)/2|0}if((d|0)==9){i=g;return}}function my(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[c[d>>2]>>2]|0);i=b;return}function ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();d=n+32|0;e=n+28|0;f=n+24|0;k=n+20|0;g=n+16|0;l=n;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=c[e>>2]<<1;c[k>>2]=(c[e>>2]<<1)+1;do if((c[f>>2]|0)<(c[(c[d>>2]|0)+4>>2]|0)){if(!(+h[(c[c[d>>2]>>2]|0)+(c[f>>2]<<4)+8>>3]<+h[(c[c[d>>2]>>2]|0)+(c[e>>2]<<4)+8>>3])){if(!(+h[(c[c[d>>2]>>2]|0)+(c[f>>2]<<4)+8>>3]==+h[(c[c[d>>2]>>2]|0)+(c[e>>2]<<4)+8>>3])){m=7;break}if(!((M2()|0)%2|0)){m=7;break}}c[g>>2]=c[f>>2]}else m=7;while(0);if((m|0)==7){m=0;c[g>>2]=c[e>>2]}do if((c[k>>2]|0)<(c[(c[d>>2]|0)+4>>2]|0)){if(!(+h[(c[c[d>>2]>>2]|0)+(c[k>>2]<<4)+8>>3]<+h[(c[c[d>>2]>>2]|0)+(c[g>>2]<<4)+8>>3])){if(!(+h[(c[c[d>>2]>>2]|0)+(c[k>>2]<<4)+8>>3]==+h[(c[c[d>>2]>>2]|0)+(c[g>>2]<<4)+8>>3]))break;if(!((M2()|0)%2|0))break}c[g>>2]=c[k>>2]}while(0);if((c[g>>2]|0)==(c[e>>2]|0))break;b=(c[c[d>>2]>>2]|0)+(c[g>>2]<<4)|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];b=(c[c[d>>2]>>2]|0)+(c[g>>2]<<4)|0;a=(c[c[d>>2]>>2]|0)+(c[e>>2]<<4)|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];b=(c[c[d>>2]>>2]|0)+(c[e>>2]<<4)|0;c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];c[e>>2]=c[g>>2]}i=n;return}function oy(a,b,d,e,f,g,k,l){a=a|0;b=b|0;d=+d;e=+e;f=f|0;g=g|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;G=i;i=i+96|0;if((i|0)>=(j|0))ba();m=G+92|0;u=G+88|0;q=G+32|0;r=G+24|0;v=G+84|0;n=G+80|0;w=G+76|0;x=G+72|0;F=G+68|0;z=G+64|0;D=G+60|0;o=G+16|0;t=G+56|0;C=G+52|0;A=G+48|0;E=G+8|0;s=G;B=G+44|0;y=G+40|0;c[m>>2]=a;c[u>>2]=b;h[q>>3]=d;h[r>>3]=e;c[v>>2]=f;c[n>>2]=g;c[w>>2]=k;c[x>>2]=l;c[D>>2]=0;c[t>>2]=0;if(!(c[v>>2]|0)){c[F>>2]=rK(c[u>>2]<<3)|0;if(Xt(c[m>>2]|0,c[u>>2]|0,c[F>>2]|0,c[u>>2]|0)|0)c[D>>2]=1;else p=5}else{c[F>>2]=c[v>>2];p=5}a:do if((p|0)==5){p=qK(c[u>>2]<<2)|0;c[C>>2]=p;c[c[n>>2]>>2]=p;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[u>>2]|0))break;c[(c[C>>2]|0)+(c[z>>2]<<2)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+1}Ts(c[F>>2]|0,c[C>>2]|0,0,(c[u>>2]|0)-1|0);h[o>>3]=+h[(c[F>>2]|0)+(c[(c[C>>2]|0)+((c[u>>2]|0)-1<<2)>>2]<<3)>>3]-+h[(c[F>>2]|0)+(c[c[C>>2]>>2]<<3)>>3];b:do if(c[12961]|0){c[t>>2]=1;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[u>>2]|0))break b;if(c[t>>2]|0)m=(c[(c[12961]|0)+(c[z>>2]<<2)>>2]|0)>=0;else m=0;c[t>>2]=m&1;c[z>>2]=(c[z>>2]|0)+1}}while(0);if(c[t>>2]|0){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[u>>2]|0))break;h[(c[F>>2]|0)+(c[z>>2]<<3)>>3]=+(c[(c[12961]|0)+(c[z>>2]<<2)>>2]|0);c[(c[C>>2]|0)+(c[z>>2]<<2)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+1}Ts(c[F>>2]|0,c[C>>2]|0,0,(c[u>>2]|0)-1|0)}h[s>>3]=+h[(c[F>>2]|0)+(c[(c[C>>2]|0)+((c[u>>2]|0)-1<<2)>>2]<<3)>>3]-+h[(c[F>>2]|0)+(c[c[C>>2]>>2]<<3)>>3];if(+h[q>>3]>+h[r>>3]*+h[s>>3]/+((c[u>>2]|0)-1|0))d=+h[q>>3];else d=+h[r>>3]*+h[s>>3]/+((c[u>>2]|0)-1|0);h[E>>3]=d;c[B>>2]=0;c[z>>2]=1;while(1){if((c[z>>2]|0)>=(c[u>>2]|0))break;if(+h[(c[F>>2]|0)+(c[(c[C>>2]|0)+(c[z>>2]<<2)>>2]<<3)>>3]-+h[(c[F>>2]|0)+(c[(c[C>>2]|0)+((c[z>>2]|0)-1<<2)>>2]<<3)>>3]>+h[E>>3])c[B>>2]=(c[B>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1}c[c[x>>2]>>2]=c[B>>2];if(!(c[B>>2]|0)){E=rK(4)|0;c[A>>2]=E;c[c[w>>2]>>2]=E;c[c[A>>2]>>2]=c[u>>2];break}c[y>>2]=0;B=rK(c[B>>2]<<2)|0;c[A>>2]=B;c[c[w>>2]>>2]=B;c[z>>2]=1;while(1){if((c[z>>2]|0)>=(c[u>>2]|0))break a;if(+h[(c[F>>2]|0)+(c[(c[C>>2]|0)+(c[z>>2]<<2)>>2]<<3)>>3]-+h[(c[F>>2]|0)+(c[(c[C>>2]|0)+((c[z>>2]|0)-1<<2)>>2]<<3)>>3]>+h[E>>3]){x=c[z>>2]|0;B=c[y>>2]|0;c[y>>2]=B+1;c[(c[A>>2]|0)+(B<<2)>>2]=x}c[z>>2]=(c[z>>2]|0)+1}}while(0);if(c[v>>2]|0){F=c[D>>2]|0;i=G;return F|0}B1(c[F>>2]|0);F=c[D>>2]|0;i=G;return F|0}function py(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=i;i=i+64|0;if((i|0)>=(j|0))ba();f=t+56|0;e=t+52|0;g=t+48|0;l=t+44|0;m=t+40|0;n=t+36|0;q=t+32|0;p=t+24|0;k=t+16|0;o=t+8|0;r=t;c[e>>2]=a;c[g>>2]=b;c[q>>2]=0;if(c[12962]|0)en(c[12962]|0);c[12962]=dn(c[g>>2]|0,c[g>>2]|0,0.0)|0;if(c[12963]|0)B1(c[12963]|0);c[12963]=qK(c[g>>2]<<2)|0;if(c[12964]|0)B1(c[12964]|0);c[12964]=qK(c[g>>2]<<3)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;h[k>>3]=0.0;c[m>>2]=0;while(1){d=+h[k>>3];if((c[m>>2]|0)>=(c[g>>2]|0))break;u=+h[(c[(c[e>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3];h[(c[(c[12962]|0)+(c[l>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]=u;u=+N(+u);h[r>>3]=u;if(d>3]=+h[r>>3];c[m>>2]=(c[m>>2]|0)+1}if(!(d!=0.0)){s=16;break}h[(c[12964]|0)+(c[l>>2]<<3)>>3]=1.0/+h[k>>3];c[(c[12963]|0)+(c[l>>2]<<2)>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+1}if((s|0)==16){h[(c[12964]|0)+(c[l>>2]<<3)>>3]=0.0;c[f>>2]=0;s=c[f>>2]|0;i=t;return s|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[g>>2]|0)-1|0))break;h[k>>3]=0.0;c[l>>2]=c[n>>2];while(1){d=+h[k>>3];if((c[l>>2]|0)>=(c[g>>2]|0))break;u=+N(+(+h[(c[(c[12962]|0)+(c[(c[12963]|0)+(c[l>>2]<<2)>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3]));u=u*+h[(c[12964]|0)+(c[(c[12963]|0)+(c[l>>2]<<2)>>2]<<3)>>3];h[r>>3]=u;if(d>3]=+h[r>>3];c[q>>2]=c[l>>2]}c[l>>2]=(c[l>>2]|0)+1}if(d==0.0){s=25;break}if((c[q>>2]|0)!=(c[n>>2]|0)){c[m>>2]=c[(c[12963]|0)+(c[n>>2]<<2)>>2];c[(c[12963]|0)+(c[n>>2]<<2)>>2]=c[(c[12963]|0)+(c[q>>2]<<2)>>2];c[(c[12963]|0)+(c[q>>2]<<2)>>2]=c[m>>2]}h[p>>3]=+h[(c[(c[12962]|0)+(c[(c[12963]|0)+(c[n>>2]<<2)>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3];c[l>>2]=(c[n>>2]|0)+1;while(1){a=c[n>>2]|0;if((c[l>>2]|0)>=(c[g>>2]|0))break;u=+h[(c[(c[12962]|0)+(c[(c[12963]|0)+(c[l>>2]<<2)>>2]<<2)>>2]|0)+(a<<3)>>3]/+h[p>>3];h[o>>3]=u;h[(c[(c[12962]|0)+(c[(c[12963]|0)+(c[l>>2]<<2)>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3]=u;a:do if(+h[o>>3]!=0.0){c[m>>2]=(c[n>>2]|0)+1;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break a;e=(c[(c[12962]|0)+(c[(c[12963]|0)+(c[l>>2]<<2)>>2]<<2)>>2]|0)+(c[m>>2]<<3)|0;h[e>>3]=+h[e>>3]-+h[o>>3]*+h[(c[(c[12962]|0)+(c[(c[12963]|0)+(c[n>>2]<<2)>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}}while(0);c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=a+1}if((s|0)==25){c[f>>2]=0;s=c[f>>2]|0;i=t;return s|0}if(+h[(c[(c[12962]|0)+(c[(c[12963]|0)+((c[g>>2]|0)-1<<2)>>2]<<2)>>2]|0)+((c[g>>2]|0)-1<<3)>>3]==0.0){c[f>>2]=0;s=c[f>>2]|0;i=t;return s|0}else{c[f>>2]=1;s=c[f>>2]|0;i=t;return s|0}return 0}function qy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+24|0;f=n+20|0;g=n+16|0;l=n+12|0;m=n+8|0;k=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[g>>2]|0))break;h[k>>3]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[l>>2]|0))break;h[k>>3]=+h[k>>3]+ +h[(c[(c[12962]|0)+(c[(c[12963]|0)+(c[l>>2]<<2)>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]*+h[(c[e>>2]|0)+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}h[(c[e>>2]|0)+(c[l>>2]<<3)>>3]=+h[(c[f>>2]|0)+(c[(c[12963]|0)+(c[l>>2]<<2)>>2]<<3)>>3]-+h[k>>3];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[g>>2]|0)-1;while(1){if((c[l>>2]|0)<0)break;h[k>>3]=0.0;c[m>>2]=(c[l>>2]|0)+1;while(1){if((c[m>>2]|0)>=(c[g>>2]|0))break;h[k>>3]=+h[k>>3]+ +h[(c[(c[12962]|0)+(c[(c[12963]|0)+(c[l>>2]<<2)>>2]<<2)>>2]|0)+(c[m>>2]<<3)>>3]*+h[(c[e>>2]|0)+(c[m>>2]<<3)>>3];c[m>>2]=(c[m>>2]|0)+1}h[(c[e>>2]|0)+(c[l>>2]<<3)>>3]=(+h[(c[e>>2]|0)+(c[l>>2]<<3)>>3]-+h[k>>3])/+h[(c[(c[12962]|0)+(c[(c[12963]|0)+(c[l>>2]<<2)>>2]<<2)>>2]|0)+(c[l>>2]<<3)>>3];c[l>>2]=(c[l>>2]|0)+-1}i=n;return}function ry(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=256;c[d>>2]=rK(28)|0;c[c[d>>2]>>2]=c[f>>2];c[(c[d>>2]|0)+4>>2]=0;a=rK(c[f>>2]<<2)|0;c[(c[d>>2]|0)+8>>2]=a;a=rK(c[f>>2]<<2)|0;c[(c[d>>2]|0)+12>>2]=a;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;c[(c[(c[d>>2]|0)+12>>2]|0)+(c[e>>2]<<2)>>2]=-1;c[e>>2]=(c[e>>2]|0)+1}f=rK(c[f>>2]<<2)|0;c[(c[d>>2]|0)+16>>2]=f;f=Cy()|0;c[(c[d>>2]|0)+20>>2]=f;c[(c[d>>2]|0)+24>>2]=c[b>>2];i=g;return c[d>>2]|0}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}B1(c[(c[d>>2]|0)+12>>2]|0);B1(c[(c[d>>2]|0)+16>>2]|0);Dy(c[(c[d>>2]|0)+20>>2]|0);a:do if(c[e>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0))break a;Vb[c[e>>2]&127](c[(c[(c[d>>2]|0)+8>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);B1(c[(c[d>>2]|0)+8>>2]|0);B1(c[d>>2]|0);i=g;return}function ty(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;h=m+8|0;g=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[k>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[k>>2];if((c[k>>2]|0)>((c[c[e>>2]>>2]|0)-1|0)?(yy(c[e>>2]|0)|0)==0:0){c[d>>2]=-10;l=c[d>>2]|0;i=m;return l|0}c[h>>2]=Fy(c[(c[e>>2]|0)+20>>2]|0,g)|0;if(c[g>>2]|0)c[h>>2]=c[k>>2];c[(c[(c[e>>2]|0)+8>>2]|0)+(c[k>>2]<<2)>>2]=c[f>>2];c[(c[(c[e>>2]|0)+12>>2]|0)+(c[h>>2]<<2)>>2]=c[k>>2];c[(c[(c[e>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[h>>2];b=(c[e>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;c[l>>2]=zy(c[e>>2]|0,c[k>>2]|0)|0;if((c[(c[(c[e>>2]|0)+12>>2]|0)+(c[h>>2]<<2)>>2]|0)!=(c[l>>2]|0))db(133693,133717,156,133730);if((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<2)>>2]|0)!=(c[h>>2]|0))db(133748,133717,157,133730);c[d>>2]=c[h>>2];l=c[d>>2]|0;i=m;return l|0}function uy(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[d>>2]=a;if(!(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=vy(c[d>>2]|0,c[c[(c[d>>2]|0)+16>>2]>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;d=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[d>>2]=c[(c[f>>2]|0)+12>>2];if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0)){c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}c[k>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];if((c[k>>2]|0)<0){c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}if((c[k>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))db(133772,133717,187,133785);c[h>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+(c[k>>2]<<2)>>2];Ey(c[(c[f>>2]|0)+20>>2]|0,c[g>>2]|0)|0;a=c[f>>2]|0;if((c[k>>2]|0)<((c[(c[f>>2]|0)+4>>2]|0)-1|0)){Ay(a,c[k>>2]|0,(c[(c[f>>2]|0)+4>>2]|0)-1|0);d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+-1;c[k>>2]=zy(c[f>>2]|0,c[k>>2]|0)|0;c[k>>2]=By(c[f>>2]|0,c[k>>2]|0)|0}else{k=a+4|0;c[k>>2]=(c[k>>2]|0)+-1}c[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]=-1;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}function wy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0)){c[e>>2]=-1;k=c[e>>2]|0;i=l;return k|0}c[k>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2];if((c[k>>2]|0)<0){c[e>>2]=-1;k=c[e>>2]|0;i=l;return k|0}else{c[(c[(c[f>>2]|0)+8>>2]|0)+(c[k>>2]<<2)>>2]=c[h>>2];c[k>>2]=zy(c[f>>2]|0,c[k>>2]|0)|0;c[k>>2]=By(c[f>>2]|0,c[k>>2]|0)|0;c[e>>2]=c[k>>2];k=c[e>>2]|0;i=l;return k|0}return 0}function xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=c[(c[(c[e>>2]|0)+12>>2]|0)+(c[f>>2]<<2)>>2];if((c[g>>2]|0)<0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2];g=c[d>>2]|0;i=h;return g|0}return 0}function yy(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;h=k+8|0;g=k+4|0;f=k;c[e>>2]=a;c[h>>2]=c[c[e>>2]>>2];c[g>>2]=c[c[e>>2]>>2];if(+(c[g>>2]|0)*.2>10.0)b=+(c[g>>2]|0)*.2;else b=10.0;c[g>>2]=~~(+(c[g>>2]|0)+b);c[c[e>>2]>>2]=c[g>>2];a=tK(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]<<2)|0;c[(c[e>>2]|0)+8>>2]=a;if(!(c[(c[e>>2]|0)+8>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=k;return h|0}a=tK(c[(c[e>>2]|0)+12>>2]|0,c[g>>2]<<2)|0;c[(c[e>>2]|0)+12>>2]=a;if(!(c[(c[e>>2]|0)+12>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=k;return h|0}a=tK(c[(c[e>>2]|0)+16>>2]|0,c[g>>2]<<2)|0;c[(c[e>>2]|0)+16>>2]=a;if(!(c[(c[e>>2]|0)+16>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=k;return h|0}c[f>>2]=c[h>>2];while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;c[(c[(c[e>>2]|0)+12>>2]|0)+(c[f>>2]<<2)>>2]=-1;c[f>>2]=(c[f>>2]|0)+1}c[d>>2]=c[e>>2];h=c[d>>2]|0;i=k;return h|0}function zy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[e>>2]|0)){g=c[e>>2]|0;i=h;return g|0}c[g>>2]=((c[e>>2]|0)-1|0)/2|0;if((gc[c[(c[d>>2]|0)+24>>2]&127](c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[f>>2]|0)+(c[e>>2]<<2)>>2]|0)|0)!=1){g=c[e>>2]|0;i=h;return g|0}Ay(c[d>>2]|0,c[g>>2]|0,c[e>>2]|0);c[e>>2]=zy(c[d>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function Ay(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();e=p+32|0;f=p+28|0;g=p+24|0;m=p+20|0;l=p+16|0;o=p+12|0;h=p+8|0;k=p+4|0;n=p;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[k>>2]=c[(c[e>>2]|0)+12>>2];c[n>>2]=c[(c[e>>2]|0)+16>>2];if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))db(133809,133717,74,133828);if((c[g>>2]|0)<(c[(c[e>>2]|0)+4>>2]|0)){c[m>>2]=c[(c[n>>2]|0)+(c[f>>2]<<2)>>2];c[l>>2]=c[(c[n>>2]|0)+(c[g>>2]<<2)>>2];c[o>>2]=c[(c[h>>2]|0)+(c[f>>2]<<2)>>2];c[(c[h>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[h>>2]|0)+(c[g>>2]<<2)>>2];c[(c[h>>2]|0)+(c[g>>2]<<2)>>2]=c[o>>2];c[(c[n>>2]|0)+(c[f>>2]<<2)>>2]=c[l>>2];c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]=c[f>>2];c[(c[n>>2]|0)+(c[g>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]=c[g>>2];i=p;return}else db(133833,133717,75,133828)}function By(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[l>>2]=c[(c[e>>2]|0)+8>>2];c[h>>2]=(c[f>>2]<<1)+1;c[k>>2]=(c[f>>2]<<1)+2;if((c[h>>2]|0)>((c[(c[e>>2]|0)+4>>2]|0)-1|0)){c[d>>2]=c[f>>2];b=c[d>>2]|0;i=m;return b|0}do if((c[h>>2]|0)!=((c[(c[e>>2]|0)+4>>2]|0)-1|0))if((gc[c[(c[e>>2]|0)+24>>2]&127](c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]|0,c[(c[l>>2]|0)+(c[k>>2]<<2)>>2]|0)|0)==1){c[g>>2]=c[k>>2];break}else{c[g>>2]=c[h>>2];break}else c[g>>2]=c[h>>2];while(0);if((gc[c[(c[e>>2]|0)+24>>2]&127](c[(c[l>>2]|0)+(c[f>>2]<<2)>>2]|0,c[(c[l>>2]|0)+(c[g>>2]<<2)>>2]|0)|0)==1){Ay(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);c[f>>2]=By(c[e>>2]|0,c[g>>2]|0)|0}c[d>>2]=c[f>>2];b=c[d>>2]|0;i=m;return b|0}function Cy(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=a+4|0;d=a;c[d>>2]=32;c[b>>2]=rK(12)|0;c[(c[b>>2]|0)+4>>2]=c[d>>2];c[c[b>>2]>>2]=-1;d=rK(c[d>>2]<<2)|0;c[(c[b>>2]|0)+8>>2]=d;i=a;return c[b>>2]|0}function Dy(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}B1(c[(c[b>>2]|0)+8>>2]|0);B1(c[b>>2]|0);i=d;return}function Ey(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if((c[c[e>>2]>>2]|0)>=((c[(c[e>>2]|0)+4>>2]|0)-1|0)?(Gy(c[e>>2]|0)|0)==0:0){c[d>>2]=-1;a=c[d>>2]|0;i=g;return a|0}b=c[f>>2]|0;f=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[(c[(c[e>>2]|0)+8>>2]|0)+(a<<2)>>2]=b;c[d>>2]=c[c[e>>2]>>2];a=c[d>>2]|0;i=g;return a|0}function Fy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;c[c[f>>2]>>2]=0;if((c[c[e>>2]>>2]|0)<0){c[c[f>>2]>>2]=-1;c[d>>2]=-1;a=c[d>>2]|0;i=g;return a|0}else{b=c[e>>2]|0;a=c[b>>2]|0;c[b>>2]=a+-1;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+(a<<2)>>2];a=c[d>>2]|0;i=g;return a|0}return 0}function Gy(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+4>>2];if(10.0>+(c[f>>2]|0)*.2)b=10.0;else b=+(c[f>>2]|0)*.2;c[f>>2]=~~(+(c[f>>2]|0)+b);c[(c[e>>2]|0)+4>>2]=c[f>>2];f=tK(c[(c[e>>2]|0)+8>>2]|0,c[f>>2]<<2)|0;c[(c[e>>2]|0)+8>>2]=f;if(c[(c[e>>2]|0)+8>>2]|0){c[d>>2]=c[e>>2];f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function Hy(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=rK(8)|0;c[c[d>>2]>>2]=c[e>>2];c[(c[d>>2]|0)+4>>2]=0;i=b;return c[d>>2]|0}function Iy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}do{c[f>>2]=c[(c[d>>2]|0)+4>>2];if(c[c[d>>2]>>2]|0)Vb[c[e>>2]&127](c[c[d>>2]>>2]|0);if(c[d>>2]|0)B1(c[d>>2]|0);c[d>>2]=c[f>>2]}while((c[d>>2]|0)!=0);i=g;return}function Jy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=Hy(c[g>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=c[f>>2];i=d;return c[e>>2]|0}function Ky(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[c[d>>2]>>2]|0}function Ly(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[(c[d>>2]|0)+4>>2]|0}function My(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=rK(12)|0;c[c[d>>2]>>2]=c[e>>2];c[(c[d>>2]|0)+4>>2]=0;c[(c[d>>2]|0)+8>>2]=0;i=b;return c[d>>2]|0}function Ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}do{c[f>>2]=c[(c[d>>2]|0)+4>>2];if(c[c[d>>2]>>2]|0)Vb[c[e>>2]&127](c[c[d>>2]>>2]|0);if(c[d>>2]|0)B1(c[d>>2]|0);c[d>>2]=c[f>>2]}while((c[d>>2]|0)!=0);i=g;return}function Oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=My(c[g>>2]|0)|0;if(!(c[d>>2]|0)){g=c[e>>2]|0;i=f;return g|0}c[(c[e>>2]|0)+4>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[e>>2];g=c[e>>2]|0;i=f;return g|0}function Py(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[c[d>>2]>>2]|0}function Qy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=l;return}c[h>>2]=c[(c[e>>2]|0)+4>>2];c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[c[e>>2]>>2]|0)Vb[c[f>>2]&127](c[c[e>>2]>>2]|0);B1(c[e>>2]|0);c[e>>2]=0;if(c[h>>2]|0)c[(c[h>>2]|0)+8>>2]=c[k>>2];if(c[k>>2]|0)c[(c[k>>2]|0)+4>>2]=c[h>>2];if(c[k>>2]|0){i=l;return}c[c[g>>2]>>2]=c[h>>2];i=l;return}function Ry(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+4>>2]=0;i=b;return}function Sy(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=qK(64)|0;Ry((c[d>>2]|0)+36|0);c[(c[d>>2]|0)+8>>2]=c[e>>2];i=b;return c[d>>2]|0}function Ty(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}nz(c[(c[b>>2]|0)+32>>2]|0);B1(c[b>>2]|0);i=d;return}function Uy(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=AB(c[(c[d>>2]|0)+8>>2]|0)|0;i=b;return a|0}function Vy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[e>>2]|0)+4>>2]=0;b=c[e>>2]|0;a=c[d>>2]|0;if(c[(c[d>>2]|0)+4>>2]|0){c[(c[a+4>>2]|0)+4>>2]=b;c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}else{c[a>>2]=b;c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}}function Wy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){c[(c[e>>2]|0)+4>>2]=c[c[d>>2]>>2];c[c[d>>2]>>2]=c[e>>2];i=f;return}else{c[c[d>>2]>>2]=c[e>>2];c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}}function Xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();p=o+36|0;d=o+32|0;e=o+28|0;k=o+24|0;m=o+20|0;g=o+16|0;h=o+12|0;l=o+8|0;f=o+4|0;n=o;c[p>>2]=a;c[d>>2]=b;Zy(c[p>>2]|0,c[d>>2]|0);c[e>>2]=c[c[d>>2]>>2];c[m>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+4>>2];while(1){if(!(c[e>>2]|0))break;c[n>>2]=c[(c[e>>2]|0)+8>>2];p=pC(c[n>>2]|0)|0;c[h>>2]=p;c[f>>2]=p;c[g>>2]=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2];c[l>>2]=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2];c[h>>2]=qC(c[n>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;if((c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2]|0)<(c[g>>2]|0)){c[f>>2]=c[h>>2];c[g>>2]=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2];c[l>>2]=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]}c[h>>2]=qC(c[n>>2]|0,c[h>>2]|0)|0}p=(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[p>>2]=c[p>>2]|8;c[c[e>>2]>>2]=c[f>>2];c[k>>2]=c[(c[e>>2]|0)+4>>2];Vy((c[(c[(c[(c[l>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]|0)+36|0,c[e>>2]|0);c[e>>2]=c[k>>2]}Ry(c[d>>2]|0);i=o;return c[m>>2]|0}function Yy(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+36>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];Yy(c[d>>2]|0);c[d>>2]=c[e>>2]}Ty(c[b>>2]|0);i=f;return}function Zy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;k=m+8|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(c[(c[f>>2]|0)+24>>2]|0)c[h>>2]=vC(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0,0)|0;a:do if((c[h>>2]|0)==0?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[g>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[g>>2]|0))break a;if((yO(c[c[(c[(c[g>>2]|0)+8>>2]|0)+112>>2]>>2]|0,c[(c[f>>2]|0)+20>>2]|0,0)|0)<<24>>24)break;c[g>>2]=qC(c[e>>2]|0,c[g>>2]|0)|0}c[h>>2]=c[g>>2]}while(0);if(!(c[h>>2]|0))c[h>>2]=pC(c[e>>2]|0)|0;if(!(a[139078]|0)){g=k+4|0;c[g>>2]=0;c[k>>2]=0;g=c[e>>2]|0;d=c[h>>2]|0;l=c[f>>2]|0;_y(g,d,l,1,k);i=m;return}g=c[24742]|0;c[l>>2]=MB(c[h>>2]|0)|0;p3(g,133850,l)|0;g=k+4|0;c[g>>2]=0;c[k>>2]=0;g=c[e>>2]|0;d=c[h>>2]|0;l=c[f>>2]|0;_y(g,d,l,1,k);i=m;return}function _y(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();g=t+40|0;h=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;p=t+20|0;s=t+16|0;n=t+12|0;r=t+8|0;q=t+4|0;o=t;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=(c[k>>2]|0)+8|0;b=c[f>>2]|0;c[f>>2]=b+1;c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2]=b;c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]=b;c[p>>2]=hB(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;a=c[p>>2]|0;c[s>>2]=c[((c[c[p>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2];a=c[p>>2]|0;if((c[s>>2]|0)==(c[h>>2]|0)){b=c[p>>2]|0;c[s>>2]=c[((c[a>>2]&3|0)==3?b:b+32|0)+28>>2];if(!(c[c[(c[(c[p>>2]|0)+8>>2]|0)+120>>2]>>2]|0))c[c[(c[(c[p>>2]|0)+8>>2]|0)+120>>2]>>2]=-1}else if(!(c[c[(c[a+8>>2]|0)+120>>2]>>2]|0))c[c[(c[(c[p>>2]|0)+8>>2]|0)+120>>2]>>2]=1;a=c[h>>2]|0;do if(!(c[(c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2]|0)){c[(c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]=a;$y(c[m>>2]|0,c[p>>2]|0);_y(c[g>>2]|0,c[s>>2]|0,c[k>>2]|0,0,c[m>>2]|0);if((c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]|0)<(c[(c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]|0))a=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]|0;else a=c[(c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]|0;c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]=a;if((c[(c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]|0)>=(c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2]|0)){c[n>>2]=0;do{c[q>>2]=az(c[m>>2]|0)|0;a=c[c[q>>2]>>2]&3;if((c[c[(c[(c[q>>2]|0)+8>>2]|0)+120>>2]>>2]|0)==1){b=c[q>>2]|0;c[r>>2]=c[((a|0)==2?b:b+-32|0)+28>>2]}else{b=c[q>>2]|0;c[r>>2]=c[((a|0)==3?b:b+32|0)+28>>2]}if(!(c[(c[(c[(c[r>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]|0)){if(!(c[n>>2]|0))c[n>>2]=bz(c[g>>2]|0,c[k>>2]|0)|0;cz(c[n>>2]|0,c[r>>2]|0)}}while((c[q>>2]|0)!=(c[p>>2]|0));if(c[n>>2]|0){if((c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]|0)==0?(Uy(c[n>>2]|0)|0)>1:0)cz(c[n>>2]|0,c[h>>2]|0);if((c[l>>2]|0)!=0?(c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]|0)==(c[n>>2]|0):0){Wy(c[k>>2]|0,c[n>>2]|0);break}Vy(c[k>>2]|0,c[n>>2]|0)}}}else if((c[(c[(c[a+8>>2]|0)+112>>2]|0)+8>>2]|0)!=(c[s>>2]|0)){if((c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]|0)<(c[(c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2]|0))a=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]|0;else a=c[(c[(c[(c[s>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2]|0;c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]=a}while(0);c[p>>2]=iB(c[g>>2]|0,c[p>>2]|0,c[h>>2]|0)|0}if(!(c[l>>2]|0)){i=t;return}if(c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]|0){i=t;return}c[o>>2]=bz(c[g>>2]|0,c[k>>2]|0)|0;cz(c[o>>2]|0,c[h>>2]|0);Wy(c[k>>2]|0,c[o>>2]|0);i=t;return}function $y(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[(c[(c[f>>2]|0)+8>>2]|0)+120>>2]|0)+4>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[f>>2];a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function az(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];if(!(c[d>>2]|0))db(176179,133881,65,133893);if((c[(c[b>>2]|0)+4>>2]|0)>0){c[c[b>>2]>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+120>>2]|0)+4>>2];a=(c[b>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-1;i=e;return c[d>>2]|0}else db(133871,133881,61,133893);return 0}function bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();h=d+12|0;g=d+8|0;f=d+4|0;e=d;c[h>>2]=a;c[g>>2]=b;c[f>>2]=dz(c[h>>2]|0,c[g>>2]|0)|0;c[e>>2]=Sy(c[f>>2]|0)|0;i=d;return c[e>>2]|0}function cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;uC(c[(c[f>>2]|0)+8>>2]|0,c[e>>2]|0,1)|0;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]=c[f>>2];i=d;return}function dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+144|0;if((i|0)>=(j|0))ba();h=d;g=d+12|0;k=d+8|0;f=d+16|0;e=d+4|0;c[g>>2]=a;c[k>>2]=b;a=(c[k>>2]|0)+12|0;b=c[a>>2]|0;c[a>>2]=b+1;c[h>>2]=b;D3(f,133861,h)|0;c[e>>2]=uD(c[g>>2]|0,f,1)|0;aD(c[e>>2]|0,175129,280,1)|0;i=d;return c[e>>2]|0}function ez(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();k=e+8|0;g=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[f>>2]=d;fz(c[k>>2]|0,c[g>>2]|0,+h[(c[f>>2]|0)+32>>3]);i=e;return}function fz(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();e=p+36|0;f=p+32|0;g=p+8|0;l=p+28|0;o=p+24|0;m=p+20|0;n=p+16|0;k=p;c[e>>2]=a;c[f>>2]=b;h[g>>3]=d;h[k>>3]=3.141592653589793;c[m>>2]=0;c[l>>2]=c[(c[f>>2]|0)+36>>2];while(1){a=c[e>>2]|0;if(!(c[l>>2]|0))break;fz(a,c[l>>2]|0,+h[g>>3]);c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=c[(c[l>>2]|0)+4>>2]}c[o>>2]=xz(a,c[f>>2]|0,+h[g>>3])|0;c[(c[f>>2]|0)+32>>2]=c[o>>2];c[n>>2]=tz(c[o>>2]|0)|0;if((c[m>>2]|0)>0)h[k>>3]=+gz(c[e>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[f>>2]|0,+h[g>>3]);if((c[n>>2]|0)!=1){i=p;return}if(!(c[c[f>>2]>>2]|0)){i=p;return}if(!(c[(c[(c[(c[c[f>>2]>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]|0)){i=p;return}h[(c[f>>2]|0)+48>>3]=+h[k>>3];if(!(+h[(c[f>>2]|0)+48>>3]<0.0)){i=p;return}o=(c[f>>2]|0)+48|0;h[o>>3]=+h[o>>3]+6.283185307179586;i=p;return}function gz(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;C=i;i=i+144|0;if((i|0)>=(j|0))ba();k=C+136|0;l=C+132|0;m=C+128|0;D=C+124|0;n=C+120|0;o=C+80|0;u=C+116|0;w=C+112|0;A=C+32|0;t=C+108|0;q=C+104|0;v=C+24|0;p=C+16|0;B=C+8|0;z=C+100|0;y=C+96|0;x=C+92|0;r=C+88|0;s=C;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[D>>2]=e;c[n>>2]=f;h[o>>3]=g;c[q>>2]=0;h[v>>3]=0.0;h[B>>3]=0.0;c[z>>2]=qK((c[l>>2]|0)*56|0)|0;c[y>>2]=0;c[A+40>>2]=c[(c[n>>2]|0)+36>>2];h[A+8>>3]=+h[(c[n>>2]|0)+16>>3];h[A>>3]=+h[(c[n>>2]|0)+16>>3];c[A+44>>2]=c[c[n>>2]>>2];h[A+16>>3]=6.283185307179586/+(c[m>>2]|0);h[A+24>>3]=-1.0;h[A+32>>3]=-1.0;c[u>>2]=c[c[D>>2]>>2];while(1){if(!(c[u>>2]|0))break;c[w>>2]=c[c[u>>2]>>2];h[B>>3]=+(c[q>>2]|0)*+h[A+16>>3];c[q>>2]=(c[q>>2]|0)+1;if(c[(c[(c[(c[w>>2]|0)+8>>2]|0)+112>>2]|0)+4>>2]&8){c[(c[z>>2]|0)+((c[y>>2]|0)*56|0)>>2]=c[w>>2];h[(c[z>>2]|0)+((c[y>>2]|0)*56|0)+8>>3]=+h[B>>3];h[v>>3]=+hz((c[z>>2]|0)+((c[y>>2]|0)*56|0)|0,A,+h[o>>3]);c[y>>2]=(c[y>>2]|0)+1}c[u>>2]=c[(c[u>>2]|0)+4>>2]}a:do if((c[y>>2]|0)==1)h[(c[z>>2]|0)+40>>3]=1.0;else{D=(c[y>>2]|0)==2;c[r>>2]=c[z>>2];if(D){c[x>>2]=(c[z>>2]|0)+56;h[s>>3]=+h[(c[x>>2]|0)+8>>3]-+h[(c[r>>2]|0)+8>>3];if(+h[s>>3]>3.141592653589793)h[s>>3]=6.283185307179586-+h[s>>3];iz(c[r>>2]|0,c[x>>2]|0,+h[s>>3]);break}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[y>>2]|0))break a;if(((c[t>>2]|0)+1|0)==(c[y>>2]|0)){c[x>>2]=c[z>>2];h[s>>3]=+h[(c[x>>2]|0)+8>>3]-+h[(c[r>>2]|0)+8>>3]+6.283185307179586}else{c[x>>2]=(c[r>>2]|0)+56;h[s>>3]=+h[(c[x>>2]|0)+8>>3]-+h[(c[r>>2]|0)+8>>3]}iz(c[r>>2]|0,c[x>>2]|0,+h[s>>3]);c[r>>2]=(c[r>>2]|0)+56;c[t>>2]=(c[t>>2]|0)+1}}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[y>>2]|0))break;jz(c[k>>2]|0,(c[z>>2]|0)+((c[t>>2]|0)*56|0)|0,A,c[m>>2]|0,+h[o>>3]);c[t>>2]=(c[t>>2]|0)+1}B1(c[z>>2]|0);if((c[l>>2]|0)==1){kz(c[n>>2]|0,-(+h[v>>3]+ +h[o>>3]/2.0),0.0,0.0);D=(c[n>>2]|0)+16|0;h[D>>3]=+h[D>>3]+(+h[o>>3]/2.0+ +h[v>>3]);D=(c[n>>2]|0)+56|0;c[D>>2]=c[D>>2]|1;D=A+24|0;E=+h[D>>3];D=A+32|0;g=+h[D>>3];g=E+g;g=g/2.0;g=g-3.141592653589793;h[p>>3]=g;g=+h[p>>3];i=C;return +g}else{h[(c[n>>2]|0)+16>>3]=+h[A+8>>3];D=A+24|0;g=+h[D>>3];D=A+32|0;E=+h[D>>3];E=g+E;E=E/2.0;E=E-3.141592653589793;h[p>>3]=E;E=+h[p>>3];i=C;return +E}return 0.0}function hz(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();e=o+36|0;f=o+32|0;g=o+16|0;k=o+28|0;n=o+8|0;m=o;l=o+24|0;c[e>>2]=a;c[f>>2]=b;h[g>>3]=d;h[n>>3]=0.0;h[m>>3]=0.0;c[l>>2]=0;c[k>>2]=c[(c[f>>2]|0)+40>>2];while(1){if(!(c[k>>2]|0))break;if(c[c[k>>2]>>2]|0)a=c[(c[(c[(c[c[k>>2]>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]|0;else a=0;if((a|0)==(c[c[e>>2]>>2]|0)){c[l>>2]=(c[l>>2]|0)+1;if(+h[n>>3]<+h[(c[k>>2]|0)+16>>3])h[n>>3]=+h[(c[k>>2]|0)+16>>3];h[m>>3]=+h[m>>3]+(+h[(c[k>>2]|0)+16>>3]*2.0+ +h[g>>3])}c[k>>2]=c[(c[k>>2]|0)+4>>2]}h[(c[e>>2]|0)+32>>3]=+h[m>>3];c[(c[e>>2]|0)+48>>2]=c[l>>2];h[(c[e>>2]|0)+16>>3]=+h[c[f>>2]>>3]+ +h[g>>3]+ +h[n>>3];h[(c[e>>2]|0)+24>>3]=+h[n>>3];i=o;return +(+h[n>>3])}function iz(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+20|0;f=k+16|0;l=k+8|0;g=k;c[e>>2]=a;c[f>>2]=b;h[l>>3]=d;h[g>>3]=+h[(c[e>>2]|0)+32>>3]*+h[(c[f>>2]|0)+16>>3]+ +h[(c[f>>2]|0)+32>>3]*+h[(c[e>>2]|0)+16>>3];h[g>>3]=+h[g>>3]/(+h[l>>3]*2.0*+h[(c[e>>2]|0)+16>>3]*+h[(c[f>>2]|0)+16>>3]);if(+h[g>>3]<1.0)h[g>>3]=1.0;if(+h[g>>3]>+h[(c[e>>2]|0)+40>>3])h[(c[e>>2]|0)+40>>3]=+h[g>>3];if(!(+h[g>>3]>+h[(c[f>>2]|0)+40>>3])){i=k;return}h[(c[f>>2]|0)+40>>3]=+h[g>>3];i=k;return}function jz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,k=0.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;E=i;i=i+144|0;if((i|0)>=(j|0))ba();m=E+128|0;n=E+124|0;o=E+120|0;p=E+116|0;g=E+96|0;q=E+112|0;r=E+88|0;s=E+80|0;x=E+72|0;B=E+64|0;C=E+56|0;z=E+48|0;A=E+108|0;t=E+104|0;D=E+40|0;w=E+32|0;y=E+24|0;l=E+16|0;u=E+8|0;v=E;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;h[g>>3]=f;c[t>>2]=0;h[D>>3]=+h[(c[o>>2]|0)+8>>3];h[w>>3]=+h[(c[o>>2]|0)+24>>3];h[y>>3]=+h[(c[o>>2]|0)+32>>3];h[s>>3]=+h[(c[n>>2]|0)+40>>3]*+h[(c[n>>2]|0)+16>>3];if((c[p>>2]|0)==1){h[r>>3]=0.0;h[l>>3]=+h[(c[n>>2]|0)+32>>3]/6.283185307179586;h[s>>3]=+h[s>>3]>+h[l>>3]?+h[s>>3]:+h[l>>3];h[l>>3]=+h[s>>3]*6.283185307179586-+h[(c[n>>2]|0)+32>>3];if(+h[l>>3]>0.0)h[g>>3]=+h[g>>3]+ +h[l>>3]/+(c[(c[n>>2]|0)+48>>2]|0)}else h[r>>3]=+h[(c[n>>2]|0)+8>>3]-+h[(c[n>>2]|0)+32>>3]/(+h[s>>3]*2.0);if(+h[s>>3]+ +h[(c[n>>2]|0)+24>>3]>+h[D>>3])h[D>>3]=+h[s>>3]+ +h[(c[n>>2]|0)+24>>3];h[B>>3]=+h[g>>3]/+h[s>>3];c[A>>2]=((c[(c[n>>2]|0)+48>>2]|0)+1|0)/2|0;c[q>>2]=c[(c[o>>2]|0)+40>>2];while(1){if(!(c[q>>2]|0))break;if(c[c[q>>2]>>2]|0)g=c[(c[(c[(c[c[q>>2]>>2]|0)+8>>2]|0)+112>>2]|0)+8>>2]|0;else g=0;if((g|0)==(c[c[n>>2]>>2]|0)?(tz(c[(c[q>>2]|0)+32>>2]|0)|0)>0:0){h[x>>3]=+h[(c[q>>2]|0)+16>>3]/+h[s>>3];do if((c[p>>2]|0)!=1)if((c[(c[n>>2]|0)+48>>2]|0)==1){h[r>>3]=+h[(c[n>>2]|0)+8>>3];break}else{h[r>>3]=+h[r>>3]+(+h[x>>3]+ +h[B>>3]/2.0);break}else{do if(+h[r>>3]!=0.0)if((c[(c[n>>2]|0)+48>>2]|0)==2){h[r>>3]=3.141592653589793;break}else{h[r>>3]=+h[r>>3]+ +h[x>>3];break}while(0);if(+h[w>>3]<0.0)h[w>>3]=+h[r>>3];h[y>>3]=+h[r>>3]}while(0);h[u>>3]=+h[s>>3]*+Q(+(+h[r>>3]));h[v>>3]=+h[s>>3]*+R(+(+h[r>>3]));h[C>>3]=+lz(c[q>>2]|0,c[m>>2]|0,+h[u>>3],+h[v>>3],+h[r>>3]);kz(c[q>>2]|0,+h[u>>3],+h[v>>3],+h[C>>3]);k=+h[x>>3];f=+h[B>>3];if((c[p>>2]|0)==1)h[r>>3]=+h[r>>3]+(k+f);else h[r>>3]=+h[r>>3]+(k+f/2.0);c[t>>2]=(c[t>>2]|0)+1;if((c[t>>2]|0)==(c[A>>2]|0))h[z>>3]=+h[r>>3]}c[q>>2]=c[(c[q>>2]|0)+4>>2]}if((c[p>>2]|0)<=1){f=+h[D>>3];D=c[o>>2]|0;D=D+8|0;h[D>>3]=f;f=+h[w>>3];D=c[o>>2]|0;D=D+24|0;h[D>>3]=f;f=+h[y>>3];D=c[o>>2]|0;D=D+32|0;h[D>>3]=f;i=E;return}if((c[c[n>>2]>>2]|0)!=(c[(c[o>>2]|0)+44>>2]|0)){f=+h[D>>3];D=c[o>>2]|0;D=D+8|0;h[D>>3]=f;f=+h[w>>3];D=c[o>>2]|0;D=D+24|0;h[D>>3]=f;f=+h[y>>3];D=c[o>>2]|0;D=D+32|0;h[D>>3]=f;i=E;return}h[(c[(c[(c[c[n>>2]>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>3]=+h[z>>3];f=+h[D>>3];D=c[o>>2]|0;D=D+8|0;h[D>>3]=f;f=+h[w>>3];D=c[o>>2]|0;D=D+24|0;h[D>>3]=f;f=+h[y>>3];D=c[o>>2]|0;D=D+32|0;h[D>>3]=f;i=E;return}function kz(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,g=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;v=i;i=i+96|0;if((i|0)>=(j|0))ba();f=v+84|0;g=v+64|0;k=v+56|0;l=v+48|0;o=v+80|0;s=v+76|0;q=v+72|0;m=v+40|0;n=v+32|0;t=v+24|0;u=v+16|0;p=v+8|0;r=v;c[f>>2]=a;h[g>>3]=b;h[k>>3]=d;h[l>>3]=e;c[s>>2]=c[(c[f>>2]|0)+8>>2];c[q>>2]=pC(c[s>>2]|0)|0;while(1){if(!(c[q>>2]|0))break;e=+h[c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]>>3];if(+h[l>>3]!=0.0){h[t>>3]=e;h[u>>3]=+h[(c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];h[p>>3]=+Q(+(+h[l>>3]));h[r>>3]=+R(+(+h[l>>3]));h[m>>3]=+h[t>>3]*+h[p>>3]-+h[u>>3]*+h[r>>3];h[n>>3]=+h[t>>3]*+h[r>>3]+ +h[u>>3]*+h[p>>3]}else{h[m>>3]=e;h[n>>3]=+h[(c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]}h[c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]>>3]=+h[m>>3]+ +h[g>>3];h[(c[(c[(c[q>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=+h[n>>3]+ +h[k>>3];c[q>>2]=qC(c[s>>2]|0,c[q>>2]|0)|0}c[o>>2]=c[(c[f>>2]|0)+36>>2];while(1){if(!(c[o>>2]|0))break;kz(c[o>>2]|0,+h[g>>3],+h[k>>3],+h[l>>3]);c[o>>2]=c[(c[o>>2]|0)+4>>2]}i=v;return}function lz(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=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;G=i;i=i+160|0;if((i|0)>=(j|0))ba();g=G+120|0;k=G+156|0;l=G+112|0;m=G+104|0;n=G+96|0;u=G+88|0;F=G+148|0;v=G+144|0;p=G+140|0;y=G+136|0;t=G+132|0;s=G+80|0;z=G+72|0;A=G+64|0;q=G+128|0;E=G+56|0;D=G+48|0;w=G+40|0;o=G+32|0;x=G+24|0;B=G+16|0;r=G+8|0;C=G;c[k>>2]=a;c[G+152>>2]=b;h[l>>3]=d;h[m>>3]=e;h[n>>3]=f;c[F>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[(c[k>>2]|0)+32>>2];if(+h[(c[k>>2]|0)+48>>3]>=0.0){h[n>>3]=+h[n>>3]+(3.141592653589793-+h[(c[k>>2]|0)+48>>3]);if(+h[n>>3]<0.0)h[n>>3]=+h[n>>3]+6.283185307179586;h[g>>3]=+h[n>>3];e=+h[g>>3];i=G;return +e}c[q>>2]=tz(c[t>>2]|0)|0;if((c[q>>2]|0)==2){h[g>>3]=+h[n>>3]-1.5707963267948966;e=+h[g>>3];i=G;return +e}c[y>>2]=c[c[k>>2]>>2];h[z>>3]=+h[c[(c[(c[y>>2]|0)+8>>2]|0)+132>>2]>>3]+ +h[l>>3];h[A>>3]=+h[(c[(c[(c[y>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]+ +h[m>>3];h[u>>3]=+h[z>>3]*+h[z>>3]+ +h[A>>3]*+h[A>>3];c[p>>2]=c[y>>2];c[v>>2]=pC(c[F>>2]|0)|0;while(1){if(!(c[v>>2]|0))break;if((c[v>>2]|0)!=(c[y>>2]|0)?(h[z>>3]=+h[c[(c[(c[v>>2]|0)+8>>2]|0)+132>>2]>>3]+ +h[l>>3],h[A>>3]=+h[(c[(c[(c[v>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]+ +h[m>>3],h[s>>3]=+h[z>>3]*+h[z>>3]+ +h[A>>3]*+h[A>>3],+h[s>>3]<+h[u>>3]):0){h[u>>3]=+h[s>>3];c[p>>2]=c[v>>2]}c[v>>2]=qC(c[F>>2]|0,c[v>>2]|0)|0}do if((c[y>>2]|0)!=(c[p>>2]|0)){h[E>>3]=+h[(c[k>>2]|0)+24>>3];h[D>>3]=+h[(c[k>>2]|0)+16>>3]-+h[E>>3];h[w>>3]=+h[c[(c[(c[y>>2]|0)+8>>2]|0)+132>>2]>>3];if((c[(c[k>>2]|0)+56>>2]&1|0)!=0?-+h[D>>3]<+h[w>>3]:0){h[o>>3]=+O(+(+h[l>>3]*+h[l>>3]+ +h[m>>3]*+h[m>>3]));h[x>>3]=+h[(c[(c[(c[y>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3];h[B>>3]=+W(+(+h[x>>3]),+(+h[w>>3]+ +h[D>>3]));h[r>>3]=+h[D>>3]-+h[E>>3]/+Q(+(+h[B>>3]));e=1.5707963267948966-+h[B>>3]-+U(+(+h[r>>3]/+h[o>>3]*+Q(+(+h[B>>3]))));h[n>>3]=+h[n>>3]+e;break}h[C>>3]=+W(+(+h[(c[(c[(c[y>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]),+(+h[c[(c[(c[y>>2]|0)+8>>2]|0)+132>>2]>>3]));h[n>>3]=+h[n>>3]+(3.141592653589793-+h[C>>3]-+h[(c[(c[(c[y>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>3]);if(+h[n>>3]>6.283185307179586)h[n>>3]=+h[n>>3]-6.283185307179586}else h[n>>3]=0.0;while(0);h[g>>3]=+h[n>>3];e=+h[g>>3];i=G;return +e}function mz(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=a;c[b>>2]=qK(12)|0;i=a;return c[b>>2]|0}function nz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[e>>2]=c[c[b>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[d>>2]=c[(c[e>>2]|0)+4>>2];B1(c[e>>2]|0);c[e>>2]=c[d>>2]}B1(c[b>>2]|0);i=f;return}function oz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;e=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=vz(c[l>>2]|0)|0;b=(c[f>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+1;if(!(c[g>>2]|0))c[g>>2]=c[(c[f>>2]|0)+4>>2];a=c[g>>2]|0;if((c[g>>2]|0)!=(c[(c[f>>2]|0)+4>>2]|0)){c[e>>2]=c[a+4>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];c[(c[h>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+8>>2]=c[h>>2];c[(c[h>>2]|0)+4>>2]=c[e>>2];i=k;return}d=c[h>>2]|0;if(a)c[(c[g>>2]|0)+4>>2]=d;else c[c[f>>2]>>2]=d;c[(c[h>>2]|0)+8>>2]=c[g>>2];c[(c[h>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+4>>2]=c[h>>2];i=k;return}function pz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=c[e>>2];c[d>>2]=c[(c[d>>2]|0)+8>>2]}c[e>>2]=c[(c[b>>2]|0)+4>>2];c[(c[b>>2]|0)+4>>2]=c[c[b>>2]>>2];c[c[b>>2]>>2]=c[e>>2];i=f;return c[b>>2]|0}function qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==(c[c[d>>2]>>2]|0)){i=h;return}c[g>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[e>>2]|0)+8>>2];c[c[d>>2]>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[f>>2];c[(c[f>>2]|0)+4>>2]=0;i=h;return}function rz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+12|0;b=f+8|0;e=f+4|0;d=f;c[g>>2]=a;c[b>>2]=mz()|0;c[d>>2]=0;c[e>>2]=c[c[g>>2]>>2];while(1){a=c[b>>2]|0;if(!(c[e>>2]|0))break;oz(a,c[d>>2]|0,c[c[e>>2]>>2]|0);c[d>>2]=c[(c[b>>2]|0)+4>>2];c[e>>2]=c[(c[e>>2]|0)+4>>2]}i=f;return a|0}function sz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();m=q+28|0;f=q+24|0;g=q+20|0;l=q+16|0;p=q+12|0;o=q+8|0;h=q+4|0;n=q;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=e;c[n>>2]=0;c[p>>2]=c[c[m>>2]>>2];while(1){if(!(c[p>>2]|0))break;b=c[p>>2]|0;if((c[c[p>>2]>>2]|0)==(c[f>>2]|0)){k=4;break}c[p>>2]=c[b+4>>2]}do if((k|0)==4){c[n>>2]=b;c[o>>2]=c[(c[n>>2]|0)+8>>2];c[h>>2]=c[(c[n>>2]|0)+4>>2];b=c[h>>2]|0;if(c[o>>2]|0)c[(c[o>>2]|0)+4>>2]=b;else c[c[m>>2]>>2]=b;b=c[o>>2]|0;if(c[h>>2]|0){c[(c[h>>2]|0)+8>>2]=b;break}else{c[(c[m>>2]|0)+4>>2]=b;break}}while(0);if(!(c[n>>2]|0))db(133897,133904,217,133915);c[o>>2]=0;c[p>>2]=c[c[m>>2]>>2];while(1){if(!(c[p>>2]|0)){k=24;break}if((c[c[p>>2]>>2]|0)==(c[g>>2]|0))break;c[o>>2]=c[p>>2];c[p>>2]=c[(c[p>>2]|0)+4>>2]}if((k|0)==24){i=q;return}a=c[p>>2]|0;b=c[m>>2]|0;if(!(c[l>>2]|0)){d=c[n>>2]|0;if((a|0)==(c[b>>2]|0)){c[c[m>>2]>>2]=d;c[(c[n>>2]|0)+4>>2]=c[p>>2];c[(c[n>>2]|0)+8>>2]=0;c[(c[p>>2]|0)+8>>2]=c[n>>2];i=q;return}else{c[(c[o>>2]|0)+4>>2]=d;c[(c[n>>2]|0)+8>>2]=c[o>>2];c[(c[n>>2]|0)+4>>2]=c[p>>2];c[(c[p>>2]|0)+8>>2]=c[n>>2];i=q;return}}else if((a|0)==(c[b+4>>2]|0)){c[(c[m>>2]|0)+4>>2]=c[n>>2];c[(c[n>>2]|0)+4>>2]=0;c[(c[n>>2]|0)+8>>2]=c[p>>2];c[(c[p>>2]|0)+4>>2]=c[n>>2];i=q;return}else{c[(c[n>>2]|0)+8>>2]=c[p>>2];c[(c[n>>2]|0)+4>>2]=c[(c[p>>2]|0)+4>>2];c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]=c[n>>2];c[(c[p>>2]|0)+4>>2]=c[n>>2];i=q;return}}function tz(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[(c[d>>2]|0)+8>>2]|0}function uz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[e>>2]=pz(c[e>>2]|0)|0;wz(c[f>>2]|0,c[e>>2]|0);B1(c[e>>2]|0);i=d;return}function vz(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=qK(12)|0;c[c[d>>2]>>2]=c[e>>2];i=b;return c[d>>2]|0}function wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[c[e>>2]>>2]|0)){i=f;return}if(c[c[e>>2]>>2]|0){c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[(c[c[e>>2]>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[(c[e>>2]|0)+4>>2];b=(c[d>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0);i=f;return}else{b=c[d>>2]|0;a=c[e>>2]|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];i=f;return}}function xz(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=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=i;i=i+80|0;if((i|0)>=(j|0))ba();w=t+68|0;e=t+64|0;f=t+24|0;p=t+60|0;k=t+56|0;v=t+52|0;u=t+48|0;o=t+44|0;l=t+40|0;g=t+36|0;m=t+32|0;r=t+16|0;q=t+8|0;n=t;c[w>>2]=a;c[e>>2]=b;h[f>>3]=d;h[n>>3]=0.0;c[u>>2]=c[(c[e>>2]|0)+8>>2];yz(c[w>>2]|0,c[e>>2]|0);c[k>>2]=zz(c[u>>2]|0)|0;c[v>>2]=Az(c[k>>2]|0)|0;c[o>>2]=Bz(c[v>>2]|0)|0;Cz(c[u>>2]|0,c[o>>2]|0);c[o>>2]=Dz(c[o>>2]|0,c[u>>2]|0)|0;c[g>>2]=tz(c[o>>2]|0)|0;h[n>>3]=+Ez(c[o>>2]|0);if((c[g>>2]|0)==1)h[q>>3]=0.0;else h[q>>3]=+(c[g>>2]|0)*(+h[f>>3]+ +h[n>>3])/6.283185307179586;c[l>>2]=c[c[o>>2]>>2];while(1){if(!(c[l>>2]|0))break;c[p>>2]=c[c[l>>2]>>2];if(c[(c[(c[(c[p>>2]|0)+8>>2]|0)+112>>2]|0)+4>>2]&8){s=7;break}c[l>>2]=c[(c[l>>2]|0)+4>>2]}if((s|0)==7)qz(c[o>>2]|0,c[l>>2]|0);c[m>>2]=0;c[l>>2]=c[c[o>>2]>>2];while(1){if(!(c[l>>2]|0))break;c[p>>2]=c[c[l>>2]>>2];c[(c[(c[(c[p>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]=c[m>>2];h[(c[(c[(c[p>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>3]=0.0;h[r>>3]=+(c[m>>2]|0)*(6.283185307179586/+(c[g>>2]|0));d=+h[q>>3]*+Q(+(+h[r>>3]));h[c[(c[(c[p>>2]|0)+8>>2]|0)+132>>2]>>3]=d;d=+h[q>>3]*+R(+(+h[r>>3]));h[(c[(c[(c[p>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=d;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=c[(c[l>>2]|0)+4>>2]}if((c[g>>2]|0)==1){h[(c[e>>2]|0)+16>>3]=+h[n>>3]/2.0;w=c[e>>2]|0;w=w+16|0;d=+h[w>>3];w=c[e>>2]|0;w=w+24|0;h[w>>3]=d;w=c[e>>2]|0;w=w+48|0;h[w>>3]=-1.0;w=c[k>>2]|0;zB(w)|0;w=c[o>>2]|0;i=t;return w|0}else{h[(c[e>>2]|0)+16>>3]=+h[q>>3];w=c[e>>2]|0;w=w+16|0;d=+h[w>>3];w=c[e>>2]|0;w=w+24|0;h[w>>3]=d;w=c[e>>2]|0;w=w+48|0;h[w>>3]=-1.0;w=c[k>>2]|0;zB(w)|0;w=c[o>>2]|0;i=t;return w|0}return 0}function yz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[g>>2]=pC(c[h>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;c[f>>2]=cB(c[d>>2]|0,c[g>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;b=c[f>>2]|0;if((c[(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+112>>2]|0)+12>>2]|0)==(c[e>>2]|0))mB(c[h>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=eB(c[d>>2]|0,c[f>>2]|0)|0}c[g>>2]=qC(c[h>>2]|0,c[g>>2]|0)|0}i=k;return}function zz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();n=m+32|0;d=m+28|0;k=m+24|0;l=m+20|0;h=m+16|0;f=m+12|0;e=m+8|0;b=m+4|0;g=m;c[n>>2]=a;c[d>>2]=0;c[l>>2]=Kz(c[n>>2]|0,h)|0;c[k>>2]=AB(c[h>>2]|0)|0;c[f>>2]=Lz(c[h>>2]|0)|0;while(1){if((c[d>>2]|0)>=((c[k>>2]|0)-3|0))break;c[e>>2]=Rz(c[f>>2]|0)|0;c[g>>2]=hB(c[h>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;n=c[g>>2]|0;c[b>>2]=c[((c[c[g>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2];if((c[e>>2]|0)==(c[b>>2]|0)){n=c[g>>2]|0;c[b>>2]=c[((c[c[g>>2]>>2]&3|0)==3?n:n+32|0)+28>>2]}Qz(c[f>>2]|0,c[b>>2]|0);c[g>>2]=iB(c[h>>2]|0,c[g>>2]|0,c[e>>2]|0)|0}Mz(c[h>>2]|0,c[e>>2]|0,c[l>>2]|0);c[g>>2]=hB(c[h>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;n=c[g>>2]|0;c[b>>2]=c[((c[c[g>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2];if((c[e>>2]|0)==(c[b>>2]|0)){n=c[g>>2]|0;c[b>>2]=c[((c[c[g>>2]>>2]&3|0)==3?n:n+32|0)+28>>2]}n=(c[(c[b>>2]|0)+8>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+-1;Pz(c[f>>2]|0,c[b>>2]|0);c[g>>2]=iB(c[h>>2]|0,c[g>>2]|0,c[e>>2]|0)|0}FC(c[h>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}zB(c[h>>2]|0)|0;Oz(c[f>>2]|0);i=m;return c[l>>2]|0}function Az(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+144|0;if((i|0)>=(j|0))ba();h=f;b=f+12|0;d=f+8|0;e=f+4|0;g=f+16|0;c[b>>2]=a;a=c[12965]|0;c[12965]=a+1;c[h>>2]=a;D3(g,133930,h)|0;c[e>>2]=uD(c[b>>2]|0,g,1)|0;aD(c[e>>2]|0,175129,280,1)|0;c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;uC(c[e>>2]|0,c[d>>2]|0,1)|0;c[(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0)+16+12>>2]=0;c[(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0)+16+16>>2]=0;h=(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[h>>2]=c[h>>2]&-2;c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;if(!(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0)+4>>2]&1)){c[(c[(c[(c[d>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]=0;Jz(c[b>>2]|0,c[d>>2]|0,c[e>>2]|0)}c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}i=f;return c[e>>2]|0}function Bz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();h=o+36|0;b=o+32|0;m=o+28|0;e=o+24|0;k=o+20|0;n=o+16|0;l=o+12|0;g=o+8|0;f=o+4|0;d=o;c[b>>2]=a;c[k>>2]=0;c[g>>2]=0;if((AB(c[b>>2]|0)|0)==1){c[n>>2]=mz()|0;c[m>>2]=pC(c[b>>2]|0)|0;oz(c[n>>2]|0,0,c[m>>2]|0);m=(c[(c[(c[m>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[m>>2]=c[m>>2]|16;c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}c[m>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;c[d>>2]=0;c[e>>2]=hB(c[b>>2]|0,c[m>>2]|0)|0;while(1){a=c[d>>2]|0;if(!(c[e>>2]|0))break;c[d>>2]=a+1;c[e>>2]=iB(c[b>>2]|0,c[e>>2]|0,c[m>>2]|0)|0}if((a|0)==1)Iz(c[m>>2]|0,c[m>>2]|0,0,0);c[m>>2]=qC(c[b>>2]|0,c[m>>2]|0)|0}c[m>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;c[f>>2]=(c[(c[(c[(c[m>>2]|0)+8>>2]|0)+112>>2]|0)+16+12>>2]|0)+(c[(c[(c[(c[m>>2]|0)+8>>2]|0)+112>>2]|0)+16+16>>2]|0);if((c[f>>2]|0)>(c[g>>2]|0)){c[k>>2]=c[m>>2];c[g>>2]=c[f>>2]}c[m>>2]=qC(c[b>>2]|0,c[m>>2]|0)|0}c[n>>2]=mz()|0;c[m>>2]=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2];while(1){a=c[n>>2]|0;if((c[m>>2]|0)==(c[k>>2]|0))break;oz(a,0,c[m>>2]|0);g=(c[(c[(c[m>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|16;c[m>>2]=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]}oz(a,0,c[k>>2]|0);g=(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|16;if(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+16>>2]|0){c[l>>2]=mz()|0;c[m>>2]=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2];while(1){if((c[m>>2]|0)==(c[k>>2]|0))break;oz(c[l>>2]|0,0,c[m>>2]|0);g=(c[(c[(c[m>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|16;c[m>>2]=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]}uz(c[n>>2]|0,c[l>>2]|0)}c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}function Cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;if(!(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+112>>2]|0)+4>>2]&16))Hz(c[d>>2]|0,c[f>>2]|0,c[e>>2]|0);c[f>>2]=qC(c[d>>2]|0,c[f>>2]|0)|0}i=g;return}function Dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();h=l+20|0;k=l+16|0;d=l+12|0;f=l+8|0;e=l+4|0;g=l;c[k>>2]=a;c[d>>2]=b;c[e>>2]=Fz(c[k>>2]|0,c[d>>2]|0)|0;if(!(c[e>>2]|0)){c[h>>2]=c[k>>2];k=c[h>>2]|0;i=l;return k|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=10){d=8;break}c[g>>2]=c[e>>2];c[k>>2]=Gz(c[k>>2]|0,c[d>>2]|0,e)|0;if((c[e>>2]|0)==0?1:(c[g>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[h>>2]=c[k>>2];k=c[h>>2]|0;i=l;return k|0}else if((d|0)==8){c[h>>2]=c[k>>2];k=c[h>>2]|0;i=l;return k|0}return 0}function Ez(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();g=f+16|0;d=f+12|0;b=f+8|0;e=f;c[g>>2]=a;h[e>>3]=0.0;c[b>>2]=c[c[g>>2]>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[c[(c[(c[c[b>>2]>>2]|0)+8>>2]|0)+112>>2]>>2];if(+h[(c[(c[d>>2]|0)+8>>2]|0)+32>>3]>+h[e>>3])h[e>>3]=+h[(c[(c[d>>2]|0)+8>>2]|0)+32>>3];if(+h[(c[(c[d>>2]|0)+8>>2]|0)+40>>3]>+h[e>>3])h[e>>3]=+h[(c[(c[d>>2]|0)+8>>2]|0)+40>>3];c[b>>2]=c[(c[b>>2]|0)+4>>2]}i=f;return +(+h[e>>3])}function Fz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();d=p+36|0;e=p+32|0;l=p+28|0;n=p+24|0;m=p+20|0;g=p+16|0;f=p+12|0;o=p+8|0;h=p+4|0;k=p;c[d>>2]=a;c[e>>2]=b;c[n>>2]=Vz()|0;c[f>>2]=0;c[o>>2]=1;c[m>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;c[g>>2]=cB(c[e>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;c[c[(c[(c[g>>2]|0)+8>>2]|0)+120>>2]>>2]=0;c[g>>2]=eB(c[e>>2]|0,c[g>>2]|0)|0}c[m>>2]=qC(c[e>>2]|0,c[m>>2]|0)|0}c[l>>2]=c[c[d>>2]>>2];while(1){if(!(c[l>>2]|0))break;c[m>>2]=c[c[l>>2]>>2];c[g>>2]=hB(c[e>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;if((c[c[(c[(c[g>>2]|0)+8>>2]|0)+120>>2]>>2]|0)>0){c[h>>2]=$b[c[c[n>>2]>>2]&63](c[n>>2]|0,0,128)|0;while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];if(((c[c[(c[(c[k>>2]|0)+8>>2]|0)+120>>2]>>2]|0)>(c[c[(c[(c[g>>2]|0)+8>>2]|0)+120>>2]>>2]|0)?(b=c[k>>2]|0,(c[((c[c[k>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)!=(c[m>>2]|0)):0)?(b=c[k>>2]|0,(c[((c[c[k>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)!=(c[m>>2]|0)):0)c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=$b[c[c[n>>2]>>2]&63](c[n>>2]|0,c[h>>2]|0,8)|0}Yz(c[n>>2]|0,c[g>>2]|0)}c[g>>2]=iB(c[e>>2]|0,c[g>>2]|0,c[m>>2]|0)|0}c[g>>2]=hB(c[e>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;if(!(c[c[(c[(c[g>>2]|0)+8>>2]|0)+120>>2]>>2]|0)){c[c[(c[(c[g>>2]|0)+8>>2]|0)+120>>2]>>2]=c[o>>2];Xz(c[n>>2]|0,c[g>>2]|0)}c[g>>2]=iB(c[e>>2]|0,c[g>>2]|0,c[m>>2]|0)|0}c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=c[(c[l>>2]|0)+4>>2]}Wz(c[n>>2]|0);i=p;return c[f>>2]|0}function Gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();n=r+40|0;o=r+36|0;e=r+32|0;p=r+28|0;f=r+24|0;g=r+20|0;l=r+16|0;k=r+12|0;q=r+8|0;h=r+4|0;m=r;c[o>>2]=a;c[e>>2]=b;c[p>>2]=d;c[q>>2]=c[c[p>>2]>>2];c[f>>2]=pC(c[e>>2]|0)|0;a:while(1){if(!(c[f>>2]|0)){e=16;break}c[g>>2]=hB(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;b=c[g>>2]|0;c[l>>2]=c[((c[c[g>>2]>>2]&3|0)==3?b:b+32|0)+28>>2];if((c[l>>2]|0)==(c[f>>2]|0)){b=c[g>>2]|0;c[l>>2]=c[((c[c[g>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]}c[h>>2]=0;while(1){if((c[h>>2]|0)>=2)break;c[k>>2]=rz(c[o>>2]|0)|0;sz(c[o>>2]|0,c[f>>2]|0,c[l>>2]|0,c[h>>2]|0);c[m>>2]=Fz(c[o>>2]|0,c[e>>2]|0)|0;if((c[m>>2]|0)<(c[q>>2]|0)){c[q>>2]=c[m>>2];nz(c[k>>2]|0);if(!(c[q>>2]|0)){e=11;break a}}else{nz(c[o>>2]|0);c[o>>2]=c[k>>2]}c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=iB(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0)|0}c[f>>2]=qC(c[e>>2]|0,c[f>>2]|0)|0}if((e|0)==11){c[c[p>>2]>>2]=0;c[n>>2]=c[o>>2];q=c[n>>2]|0;i=r;return q|0}else if((e|0)==16){c[c[p>>2]>>2]=c[q>>2];c[n>>2]=c[o>>2];q=c[n>>2]|0;i=r;return q|0}return 0}function Hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;m=o+12|0;k=o+8|0;l=o+4|0;n=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;c[k>>2]=mz()|0;c[h>>2]=cB(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;b=c[h>>2]|0;oz(c[k>>2]|0,0,c[((c[c[h>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0);b=c[h>>2]|0;b=(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[b>>2]=c[b>>2]|32;c[h>>2]=eB(c[e>>2]|0,c[h>>2]|0)|0}c[h>>2]=fB(c[e>>2]|0,c[f>>2]|0)|0;while(1){a=c[k>>2]|0;if(!(c[h>>2]|0))break;b=c[h>>2]|0;oz(a,0,c[((c[c[h>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0);b=c[h>>2]|0;b=(c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[b>>2]=c[b>>2]|32;c[h>>2]=gB(c[e>>2]|0,c[h>>2]|0)|0}a:do if((tz(a)|0)>=2){c[l>>2]=c[c[g>>2]>>2];while(1){if(!(c[l>>2]|0))break a;if((c[l>>2]|0)==(c[(c[g>>2]|0)+4>>2]|0))c[n>>2]=c[c[g>>2]>>2];else c[n>>2]=c[(c[l>>2]|0)+4>>2];if((c[(c[(c[(c[c[l>>2]>>2]|0)+8>>2]|0)+112>>2]|0)+4>>2]&32|0)!=0?(c[(c[(c[(c[c[n>>2]>>2]|0)+8>>2]|0)+112>>2]|0)+4>>2]&32|0)!=0:0)break;c[l>>2]=c[(c[l>>2]|0)+4>>2]}oz(c[g>>2]|0,c[l>>2]|0,c[f>>2]|0);c[m>>2]=1}while(0);b:do if((c[m>>2]|0)==0?(tz(c[k>>2]|0)|0)>0:0){c[l>>2]=c[c[g>>2]>>2];while(1){if(!(c[l>>2]|0))break b;if(c[(c[(c[(c[c[l>>2]>>2]|0)+8>>2]|0)+112>>2]|0)+4>>2]&32)break;c[l>>2]=c[(c[l>>2]|0)+4>>2]}oz(c[g>>2]|0,c[l>>2]|0,c[f>>2]|0);c[m>>2]=1}while(0);if(!(c[m>>2]|0))oz(c[g>>2]|0,0,c[f>>2]|0);c[l>>2]=c[c[k>>2]>>2];while(1){if(!(c[l>>2]|0))break;n=(c[(c[(c[c[l>>2]>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[n>>2]=c[n>>2]&-33;c[l>>2]=c[(c[l>>2]|0)+4>>2]}nz(c[k>>2]|0);i=o;return}function Iz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+16|0;m=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2];if(!(c[k>>2]|0)){i=l;return}c[g>>2]=(c[g>>2]|0)+1;if(!(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+12>>2]|0)){c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2]=c[f>>2];c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+12>>2]=c[g>>2]}else{if((c[g>>2]|0)<=(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+12>>2]|0)){if((c[g>>2]|0)<=(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+16>>2]|0)){i=l;return}c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]=c[f>>2];c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+16>>2]=c[g>>2];i=l;return}if((c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2]|0)!=(c[h>>2]|0)){if(!((c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+16>>2]|0)!=0?(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]|0)==(c[h>>2]|0):0))c[h>>2]=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2];c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+8>>2]=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2];c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+16>>2]=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+12>>2]}c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+4>>2]=c[f>>2];c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16+12>>2]=c[g>>2]}Iz(c[f>>2]|0,c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);i=l;return}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;d=(c[(c[(c[f>>2]|0)+8>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]|1;c[h>>2]=hB(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;d=c[h>>2]|0;c[k>>2]=c[((c[c[h>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2];if((c[k>>2]|0)==(c[f>>2]|0)){d=c[h>>2]|0;c[k>>2]=c[((c[c[h>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]}if(!(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+4>>2]&1)){mB(c[g>>2]|0,c[h>>2]|0,1)|0;c[(c[(c[(c[k>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]=c[f>>2];Jz(c[e>>2]|0,c[k>>2]|0,c[g>>2]|0)}c[h>>2]=iB(c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0}i=l;return}function Kz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+176|0;if((i|0)>=(j|0))ba();p=o+8|0;r=o;d=o+44|0;e=o+40|0;f=o+36|0;k=o+32|0;h=o+28|0;n=o+24|0;m=o+20|0;g=o+16|0;l=o+12|0;q=o+48|0;c[d>>2]=a;c[e>>2]=b;b=c[12966]|0;c[12966]=b+1;c[r>>2]=b;D3(q,133939,r)|0;c[f>>2]=uD(c[d>>2]|0,q,1)|0;aD(c[f>>2]|0,175129,280,1)|0;b=c[12966]|0;c[12966]=b+1;c[p>>2]=b;D3(q,133939,p)|0;c[p>>2]=c[(c[d>>2]|0)+12>>2];c[k>>2]=wB(q,p,0)|0;c[h>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;uC(c[f>>2]|0,c[h>>2]|0,1)|0;r=c[k>>2]|0;c[n>>2]=vC(r,MB(c[h>>2]|0)|0,1)|0;aD(c[n>>2]|0,175106,304,1)|0;c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2]=c[n>>2];c[h>>2]=qC(c[d>>2]|0,c[h>>2]|0)|0}c[h>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;c[n>>2]=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2];c[g>>2]=cB(c[d>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;mB(c[f>>2]|0,c[g>>2]|0,1)|0;r=c[g>>2]|0;c[m>>2]=c[(c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?r:r+-32|0)+28>>2]|0)+8>>2]|0)+112>>2]|0)+16>>2];c[l>>2]=jB(c[k>>2]|0,c[n>>2]|0,c[m>>2]|0,0,1)|0;aD(c[l>>2]|0,175399,176,1)|0;c[(c[(c[l>>2]|0)+8>>2]|0)+116>>2]=c[g>>2];r=(c[(c[n>>2]|0)+8>>2]|0)+236|0;c[r>>2]=(c[r>>2]|0)+1;r=(c[(c[m>>2]|0)+8>>2]|0)+236|0;c[r>>2]=(c[r>>2]|0)+1;c[g>>2]=eB(c[d>>2]|0,c[g>>2]|0)|0}c[h>>2]=qC(c[d>>2]|0,c[h>>2]|0)|0}c[c[e>>2]>>2]=c[k>>2];i=o;return c[f>>2]|0} +function Kh(d,e){d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();q=r;f=r+44|0;g=r+40|0;m=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;p=r+20|0;l=r+16|0;c[f>>2]=d;c[g>>2]=e;if(c[12559]|0){B1(c[12559]|0);c[12559]=0}if(c[12560]|0){B1(c[12560]|0);c[12560]=0}c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0))break;xh(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[o>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[o>>2]|0)>(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0))break;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)>>2]|0))break;c[p>>2]=c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)+4>>2]|0)+(c[m>>2]<<2)>>2];c[(c[(c[p>>2]|0)+8>>2]|0)+236>>2]=c[m>>2];a:do if(c[(c[(c[p>>2]|0)+8>>2]|0)+188>>2]|0){c[n>>2]=0;while(1){e=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+188>>2]|0)+(c[n>>2]<<2)>>2]|0;c[l>>2]=e;if(!e)break a;if((a[(c[(c[l>>2]|0)+8>>2]|0)+112>>0]|0)==4){lh(c[l>>2]|0);B1(c[(c[l>>2]|0)+8>>2]|0);B1(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[n>>2]=(c[n>>2]|0)+1}}while(0);c[m>>2]=(c[m>>2]|0)+1}Yh(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)+56>>2]|0);c[o>>2]=(c[o>>2]|0)+1}if(!(a[139078]|0)){i=r;return}p=c[24742]|0;e=MB(c[f>>2]|0)|0;o=c[g>>2]|0;s=+oO();c[q>>2]=e;c[q+4>>2]=o;h[q+8>>3]=s;p3(p,123290,q)|0;i=r;return}function Lh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+16|0;l=k+12|0;f=k+8|0;h=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;b=c[l>>2]|0;c[h>>2]=b;c[g>>2]=b;while(1){l=Vh(c[h>>2]|0,c[f>>2]|0)|0;c[h>>2]=l;if(!l)break;if(Wh(c[e>>2]|0,c[h>>2]|0)|0){c[g>>2]=c[h>>2];continue}if(!(Xh(c[e>>2]|0,c[h>>2]|0)|0))continue;c[g>>2]=c[h>>2]}i=k;return c[g>>2]|0}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();k=d+16|0;g=d+12|0;e=d+8|0;h=d+4|0;f=d;c[k>>2]=a;c[g>>2]=b;c[f>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2];c[e>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+236>>2];c[h>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+236>>2];c[(c[(c[k>>2]|0)+8>>2]|0)+236>>2]=c[h>>2];c[(c[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)+4>>2]|0)+(c[h>>2]<<2)>>2]=c[k>>2];c[(c[(c[g>>2]|0)+8>>2]|0)+236>>2]=c[e>>2];c[(c[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)+4>>2]|0)+(c[e>>2]<<2)>>2]=c[g>>2];i=d;return}function Nh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();f=l+12|0;g=l+8|0;k=l+4|0;h=l;c[f>>2]=d;c[g>>2]=e;c[k>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[k>>2]|0)>(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0))break;a[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[k>>2]<<6)+48>>0]=1;c[k>>2]=(c[k>>2]|0)+1}do{c[h>>2]=0;c[k>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[k>>2]|0)>(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0))break;if(a[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[k>>2]<<6)+48>>0]|0){e=Rh(c[f>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+e}c[k>>2]=(c[k>>2]|0)+1}}while((c[h>>2]|0)>=1);i=l;return}function Oh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;if((i|0)>=(j|0))ba();f=u+48|0;g=u+44|0;h=u+40|0;s=u+36|0;k=u+32|0;l=u+28|0;q=u+24|0;n=u+20|0;p=u+16|0;r=u+12|0;t=u+8|0;m=u+4|0;o=u;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;c[q>>2]=0;c[r>>2]=c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2];if((c[12557]|0)<=(c[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+((c[h>>2]|0)+1<<6)>>2]|0)){c[12557]=(c[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+((c[h>>2]|0)+1<<6)>>2]|0)+1;if(c[12558]|0)d=tK(c[12558]|0,c[12557]<<2)|0;else d=rK(c[12557]<<2)|0;c[12558]=d}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[h>>2]|0)+1<<6)>>2]|0))break;c[(c[12558]|0)+(c[n>>2]<<2)>>2]=0;c[n>>2]=(c[n>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0))break;a:do if((c[q>>2]|0)>0){c[n>>2]=0;while(1){e=c[(c[(c[(c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]|0)+8>>2]|0)+180>>2]|0)+(c[n>>2]<<2)>>2]|0;c[m>>2]=e;if(!e)break a;e=c[m>>2]|0;c[p>>2]=(c[(c[(c[((c[c[m>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)+1;while(1){if((c[p>>2]|0)>(c[q>>2]|0))break;e=_(c[(c[12558]|0)+(c[p>>2]<<2)>>2]|0,b[(c[(c[m>>2]|0)+8>>2]|0)+154>>1]|0)|0;c[l>>2]=(c[l>>2]|0)+e;c[p>>2]=(c[p>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}}while(0);c[n>>2]=0;while(1){e=c[(c[(c[(c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]|0)+8>>2]|0)+180>>2]|0)+(c[n>>2]<<2)>>2]|0;c[m>>2]=e;if(!e)break;e=c[m>>2]|0;c[o>>2]=c[(c[(c[((c[c[m>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+236>>2];if((c[o>>2]|0)>(c[q>>2]|0))c[q>>2]=c[o>>2];e=(c[12558]|0)+(c[o>>2]<<2)|0;c[e>>2]=(c[e>>2]|0)+(b[(c[(c[m>>2]|0)+8>>2]|0)+154>>1]|0);c[n>>2]=(c[n>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0))break;c[t>>2]=c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[s>>2]<<2)>>2];if(a[(c[(c[t>>2]|0)+8>>2]|0)+145>>0]|0){r=(c[(c[t>>2]|0)+8>>2]|0)+180|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];r=Qh(f,1)|0;c[l>>2]=(c[l>>2]|0)+r}c[s>>2]=(c[s>>2]|0)+1}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[h>>2]|0)+1<<6)>>2]|0))break;c[t>>2]=c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[h>>2]|0)+1<<6)+4>>2]|0)+(c[k>>2]<<2)>>2];if(a[(c[(c[t>>2]|0)+8>>2]|0)+145>>0]|0){s=(c[(c[t>>2]|0)+8>>2]|0)+172|0;c[f>>2]=c[s>>2];c[f+4>>2]=c[s+4>>2];s=Qh(f,-1)|0;c[l>>2]=(c[l>>2]|0)+s}c[k>>2]=(c[k>>2]|0)+1}i=u;return c[l>>2]|0}function Ph(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[e>>2]=b;do if((a[(c[(c[e>>2]|0)+8>>2]|0)+156>>0]|0)!=1)if((a[(c[(c[e>>2]|0)+8>>2]|0)+160>>0]|0)<=1){c[d>>2]=1;break}else{c[d>>2]=0;break}else c[d>>2]=2;while(0);i=f;return c[d>>2]|0}function Qh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();o=n+24|0;k=n+20|0;m=n+16|0;l=n+12|0;e=n+8|0;f=n+4|0;g=n;c[o>>2]=d;c[e>>2]=0;if((c[o>>2]|0)>0)c[l>>2]=1;else c[l>>2]=0;c[k>>2]=0;while(1){o=c[(c[a>>2]|0)+(c[k>>2]<<2)>>2]|0;c[f>>2]=o;if(!o)break;o=(c[l>>2]|0)!=0;c[m>>2]=(c[k>>2]|0)+1;a:do if(o)while(1){o=c[(c[a>>2]|0)+(c[m>>2]<<2)>>2]|0;c[g>>2]=o;if(!o)break a;d=c[g>>2]|0;o=c[f>>2]|0;if(+((c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)-(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?o:o+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)|0)*(+h[(c[(c[g>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[f>>2]|0)+8>>2]|0)+16>>3])<0.0){o=_(b[(c[(c[f>>2]|0)+8>>2]|0)+154>>1]|0,b[(c[(c[g>>2]|0)+8>>2]|0)+154>>1]|0)|0;c[e>>2]=(c[e>>2]|0)+o}c[m>>2]=(c[m>>2]|0)+1}else while(1){o=c[(c[a>>2]|0)+(c[m>>2]<<2)>>2]|0;c[g>>2]=o;if(!o)break a;d=c[g>>2]|0;o=c[f>>2]|0;if(+((c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)-(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?o:o+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)|0)*(+h[(c[(c[g>>2]|0)+8>>2]|0)+56>>3]-+h[(c[(c[f>>2]|0)+8>>2]|0)+56>>3])<0.0){o=_(b[(c[(c[f>>2]|0)+8>>2]|0)+154>>1]|0,b[(c[(c[g>>2]|0)+8>>2]|0)+154>>1]|0)|0;c[e>>2]=(c[e>>2]|0)+o}c[m>>2]=(c[m>>2]|0)+1}while(0);c[k>>2]=(c[k>>2]|0)+1}i=n;return c[e>>2]|0}function Rh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();g=r+32|0;h=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;m=r+12|0;q=r+8|0;o=r+4|0;p=r;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[q>>2]=0;a[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+48>>0]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0)-1|0)){g=18;break}c[o>>2]=c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[n>>2]<<2)>>2];c[p>>2]=c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+((c[n>>2]|0)+1<<2)>>2];if((c[(c[(c[o>>2]|0)+8>>2]|0)+236>>2]|0)>=(c[(c[(c[p>>2]|0)+8>>2]|0)+236>>2]|0)){g=4;break}do if(!(Sh(c[g>>2]|0,c[o>>2]|0,c[p>>2]|0)|0)){c[m>>2]=0;c[l>>2]=0;if((c[h>>2]|0)>0){f=Th(c[o>>2]|0,c[p>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+f;f=Th(c[p>>2]|0,c[o>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+f}if((c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[h>>2]|0)+1<<6)>>2]|0)>0){f=Uh(c[o>>2]|0,c[p>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+f;f=Uh(c[p>>2]|0,c[o>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+f}if((c[m>>2]|0)>=(c[l>>2]|0)){if(!((c[l>>2]|0)>0&(c[k>>2]|0)!=0))break;if((c[m>>2]|0)!=(c[l>>2]|0))break}Mh(c[o>>2]|0,c[p>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-(c[m>>2]|0));a[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+49>>0]=0;a[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+48>>0]=1;if((c[h>>2]|0)>(b[(c[(c[g>>2]|0)+8>>2]|0)+236>>1]|0)){a[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+((c[h>>2]|0)-1<<6)+49>>0]=0;a[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[h>>2]|0)-1<<6)+48>>0]=1}if((c[h>>2]|0)<(b[(c[(c[g>>2]|0)+8>>2]|0)+238>>1]|0)){a[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+((c[h>>2]|0)+1<<6)+49>>0]=0;a[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[h>>2]|0)+1<<6)+48>>0]=1}}while(0);c[n>>2]=(c[n>>2]|0)+1}if((g|0)==4)db(123190,122907,514,123216);else if((g|0)==18){i=r;return c[q>>2]|0}return 0}function Sh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+24|0;h=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;b=(c[(c[(c[k>>2]|0)+8>>2]|0)+212>>2]|0)!=(c[(c[(c[l>>2]|0)+8>>2]|0)+212>>2]|0);if(!(d[122815]|0)){if((b?(c[(c[(c[k>>2]|0)+8>>2]|0)+212>>2]|0)!=0:0)?(c[(c[(c[l>>2]|0)+8>>2]|0)+212>>2]|0)!=0:0){if((a[(c[(c[k>>2]|0)+8>>2]|0)+159>>0]|0)==7?(a[(c[(c[k>>2]|0)+8>>2]|0)+156>>0]|0)==1:0){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}if((a[(c[(c[l>>2]|0)+8>>2]|0)+159>>0]|0)==7?(a[(c[(c[l>>2]|0)+8>>2]|0)+156>>0]|0)==1:0){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}}else if(b){c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}c[m>>2]=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2]<<6)+56>>2];if(!(c[m>>2]|0))c[n>>2]=0;else{if(c[(c[(c[h>>2]|0)+8>>2]|0)+116>>2]&1){c[o>>2]=c[k>>2];c[k>>2]=c[l>>2];c[l>>2]=c[o>>2]}o=_(c[(c[(c[k>>2]|0)+8>>2]|0)+284>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;c[n>>2]=a[(c[(c[m>>2]|0)+8>>2]|0)+(o+(c[(c[(c[l>>2]|0)+8>>2]|0)+284>>2]|0))>>0]}c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}function Th(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();e=p+28|0;q=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;f=p;c[e>>2]=a;c[q>>2]=d;c[g>>2]=0;c[l>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+172>>2];while(1){if(!(c[c[l>>2]>>2]|0))break;c[f>>2]=b[(c[(c[c[l>>2]>>2]|0)+8>>2]|0)+154>>1];q=c[c[l>>2]>>2]|0;c[m>>2]=c[(c[(c[((c[c[c[l>>2]>>2]>>2]&3|0)==3?q:q+32|0)+28>>2]|0)+8>>2]|0)+236>>2];c[k>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2];while(1){if(!(c[c[k>>2]>>2]|0))break;q=c[c[k>>2]>>2]|0;c[n>>2]=(c[(c[(c[((c[c[c[k>>2]>>2]>>2]&3|0)==3?q:q+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)-(c[m>>2]|0);if((c[n>>2]|0)<=0){if((c[n>>2]|0)==0?+h[(c[(c[c[k>>2]>>2]|0)+8>>2]|0)+16>>3]>+h[(c[(c[c[l>>2]>>2]|0)+8>>2]|0)+16>>3]:0)o=8}else o=8;if((o|0)==8){o=0;q=_(b[(c[(c[c[k>>2]>>2]|0)+8>>2]|0)+154>>1]|0,c[f>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+q}c[k>>2]=(c[k>>2]|0)+4}c[l>>2]=(c[l>>2]|0)+4}i=p;return c[g>>2]|0}function Uh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();e=p+28|0;q=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;f=p;c[e>>2]=a;c[q>>2]=d;c[g>>2]=0;c[l>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+180>>2];while(1){if(!(c[c[l>>2]>>2]|0))break;c[f>>2]=b[(c[(c[c[l>>2]>>2]|0)+8>>2]|0)+154>>1];q=c[c[l>>2]>>2]|0;c[m>>2]=c[(c[(c[((c[c[c[l>>2]>>2]>>2]&3|0)==2?q:q+-32|0)+28>>2]|0)+8>>2]|0)+236>>2];c[k>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2];while(1){if(!(c[c[k>>2]>>2]|0))break;q=c[c[k>>2]>>2]|0;c[n>>2]=(c[(c[(c[((c[c[c[k>>2]>>2]>>2]&3|0)==2?q:q+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)-(c[m>>2]|0);if((c[n>>2]|0)<=0){if((c[n>>2]|0)==0?+h[(c[(c[c[k>>2]>>2]|0)+8>>2]|0)+56>>3]>+h[(c[(c[c[l>>2]>>2]|0)+8>>2]|0)+56>>3]:0)o=8}else o=8;if((o|0)==8){o=0;q=_(b[(c[(c[c[k>>2]>>2]|0)+8>>2]|0)+154>>1]|0,c[f>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+q}c[k>>2]=(c[k>>2]|0)+4}c[l>>2]=(c[l>>2]|0)+4}i=p;return c[g>>2]|0}function Vh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0))db(123231,122907,754,123233);b=c[(c[(c[d>>2]|0)+8>>2]|0)+236>>2]|0;if((c[e>>2]|0)<0){if((b|0)>0)c[f>>2]=c[(c[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[d>>2]|0)+8>>2]|0)+232>>2]<<6)+4>>2]|0)+((c[(c[(c[d>>2]|0)+8>>2]|0)+236>>2]|0)-1<<2)>>2]}else c[f>>2]=c[(c[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[d>>2]|0)+8>>2]|0)+232>>2]<<6)+4>>2]|0)+(b+1<<2)>>2];if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}if((_((c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2]|0)-(c[(c[(c[d>>2]|0)+8>>2]|0)+236>>2]|0)|0,c[e>>2]|0)|0)>0){f=c[f>>2]|0;i=g;return f|0}else db(123242,122907,760,123233);return 0}function Wh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[(c[f>>2]|0)+8>>2]|0)+156>>0]|0){d=0;d=d&1;i=g;return d|0}d=(QC(c[e>>2]|0,c[f>>2]|0)|0)!=0;d=d&1;i=g;return d|0}function Xh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;if(((a[(c[(c[g>>2]|0)+8>>2]|0)+156>>0]|0)==1?(c[(c[(c[g>>2]|0)+8>>2]|0)+172+4>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+8>>2]|0)+180+4>>2]|0)==1:0){c[h>>2]=c[c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]>>2];while(1){if(!(a[(c[(c[h>>2]|0)+8>>2]|0)+112>>0]|0))break;c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+116>>2]}if(QC(c[f>>2]|0,c[h>>2]|0)|0){c[e>>2]=1;d=c[e>>2]|0;i=k;return d|0}}c[e>>2]=0;d=c[e>>2]|0;i=k;return d|0}function Yh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}B1(c[(c[b>>2]|0)+8>>2]|0);B1(c[b>>2]|0);i=d;return}function Zh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[d>>2]=b;if(!((c[13809]|0)!=0|(c[13838]|0)!=0)){i=h;return}b=wO(c[d>>2]|0,c[13809]|0,0)|0;c[e>>2]=b;if(!b){c[f>>2]=vD(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;if(!(mj(c[f>>2]|0)|0))Zh(c[f>>2]|0);c[f>>2]=wD(c[f>>2]|0)|0}if(!(c[13838]|0)){i=h;return}gi(c[d>>2]|0);i=h;return}if((a[c[e>>2]>>0]|0)==(a[123483]|0)?(a4(c[e>>2]|0,123483)|0)==0:0){fi(c[d>>2]|0,1);i=h;return}if((a[c[e>>2]>>0]|0)==(a[136400]|0)?(a4(c[e>>2]|0,136400)|0)==0:0){fi(c[d>>2]|0,0);i=h;return}if(!(a[c[e>>2]>>0]|0)){i=h;return}c[g>>2]=c[e>>2];pA(1,123487,g)|0;i=h;return}function _h(d){d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;g=l+12|0;h=l+8|0;f=l+4|0;k=l;c[e>>2]=d;c[h>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[h>>2]|0)>(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0))break;c[f>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0))break;c[k>>2]=c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[g>>2]<<2)>>2];a[(c[(c[k>>2]|0)+8>>2]|0)+158>>0]=0;a[(c[(c[k>>2]|0)+8>>2]|0)+157>>0]=0;c[(c[(c[k>>2]|0)+8>>2]|0)+284>>2]=c[g>>2];if((c[f>>2]|0)==0?(c[(c[(c[k>>2]|0)+8>>2]|0)+188+4>>2]|0)>0:0){d=di(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0,c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0)|0;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+56>>2]=d;c[f>>2]=1}c[g>>2]=(c[g>>2]|0)+1}a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0))break a;c[k>>2]=c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[g>>2]<<2)>>2];if(!(a[(c[(c[k>>2]|0)+8>>2]|0)+157>>0]|0))ei(c[e>>2]|0,c[k>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[h>>2]=(c[h>>2]|0)+1}i=l;return}function $h(e){e=e|0;var f=0,g=0,h=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;y=i;i=i+64|0;if((i|0)>=(j|0))ba();f=y+60|0;l=y+56|0;m=y+52|0;s=y+48|0;r=y+44|0;q=y+40|0;o=y+36|0;p=y+32|0;g=y+28|0;w=y+24|0;n=y+20|0;t=y+16|0;u=y+12|0;v=y+8|0;k=y+4|0;h=y;c[f>>2]=e;c[v>>2]=0;if(!(d[(c[(c[f>>2]|0)+8>>2]|0)+240>>0]|0)){i=y;return}c[s>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1];a:while(1){if((c[s>>2]|0)>(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0))break;if(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)>>2]|0){c[g>>2]=c[(c[(c[c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+236>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)>>2]|0))break;a[(c[(c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)+4>>2]|0)+(c[l>>2]<<2)>>2]|0)+8>>2]|0)+157>>0]=0;c[l>>2]=(c[l>>2]|0)+1}if(c[v>>2]|0)e=tK(c[v>>2]|0,(c[l>>2]|0)+1<<2)|0;else e=rK((c[l>>2]|0)+1<<2)|0;c[v>>2]=e;c[r>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)>>2]|0))break;if(c[(c[(c[f>>2]|0)+8>>2]|0)+116>>2]&1)c[w>>2]=c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)+4>>2]|0)+(c[l>>2]<<2)>>2];else c[w>>2]=c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)+4>>2]|0)+((c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)>>2]|0)-(c[l>>2]|0)-1<<2)>>2];c[p>>2]=0;c[o>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[(c[w>>2]|0)+8>>2]|0)+196+4>>2]|0))break;c[k>>2]=c[(c[(c[(c[w>>2]|0)+8>>2]|0)+196>>2]|0)+(c[m>>2]<<2)>>2];if(ai(c[f>>2]|0,c[w>>2]|0,c[k>>2]|0)|0)c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[(c[w>>2]|0)+8>>2]|0)+188+4>>2]|0))break;c[k>>2]=c[(c[(c[(c[w>>2]|0)+8>>2]|0)+188>>2]|0)+(c[m>>2]<<2)>>2];if(ai(c[f>>2]|0,c[w>>2]|0,c[k>>2]|0)|0)c[p>>2]=(c[p>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}e=c[w>>2]|0;if(!((c[o>>2]|0)==0&(c[p>>2]|0)==0)){if((c[o>>2]|0)==0?(a[(c[e+8>>2]|0)+157>>0]|0)==0:0){c[n>>2]=(c[v>>2]|0)+(c[r>>2]<<2);c[q>>2]=bi(c[f>>2]|0,c[w>>2]|0,c[n>>2]|0,c[s>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0)}}else{z=c[r>>2]|0;c[r>>2]=z+1;c[(c[v>>2]|0)+(z<<2)>>2]=e}c[l>>2]=(c[l>>2]|0)+1}b:do if(c[r>>2]|0){c:do if(!(c[(c[(c[f>>2]|0)+8>>2]|0)+116>>2]&1)){c[n>>2]=c[v>>2];c[t>>2]=(c[v>>2]|0)+(c[r>>2]<<2)+-4;while(1){if((c[n>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break c;c[u>>2]=c[c[n>>2]>>2];c[c[n>>2]>>2]=c[c[t>>2]>>2];c[c[t>>2]>>2]=c[u>>2];c[n>>2]=(c[n>>2]|0)+4;c[t>>2]=(c[t>>2]|0)+-4}}while(0);c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)>>2]|0))break;z=c[(c[v>>2]|0)+(c[l>>2]<<2)>>2]|0;c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)+4>>2]|0)+(c[l>>2]<<2)>>2]=z;c[w>>2]=z;c[(c[(c[w>>2]|0)+8>>2]|0)+236>>2]=(c[l>>2]|0)+(c[g>>2]|0);c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)>>2]|0))break b;c[w>>2]=c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)+4>>2]|0)+(c[l>>2]<<2)>>2];d:do if(c[(c[(c[w>>2]|0)+8>>2]|0)+188>>2]|0){c[m>>2]=0;while(1){z=c[(c[(c[(c[w>>2]|0)+8>>2]|0)+188>>2]|0)+(c[m>>2]<<2)>>2]|0;c[h>>2]=z;if(!z)break d;if((c[(c[(c[f>>2]|0)+8>>2]|0)+116>>2]&1|0)==0?(x=c[h>>2]|0,z=c[h>>2]|0,(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?x:x+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)<(c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?z:z+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)):0)x=48;else x=46;if(((x|0)==46?(x=0,(c[(c[(c[f>>2]|0)+8>>2]|0)+116>>2]&1|0)!=0):0)?(e=c[h>>2]|0,z=c[h>>2]|0,(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)>(c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?z:z+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)):0)x=48;if((x|0)==48){x=0;if(ai(c[f>>2]|0,c[w>>2]|0,c[h>>2]|0)|0){x=49;break a}lh(c[h>>2]|0);c[m>>2]=(c[m>>2]|0)+-1;yh(c[f>>2]|0,c[h>>2]|0)}c[m>>2]=(c[m>>2]|0)+1}}while(0);c[l>>2]=(c[l>>2]|0)+1}}while(0);a[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[s>>2]<<6)+49>>0]=0}c[s>>2]=(c[s>>2]|0)+1}if((x|0)==49)db(123329,122907,1292,123368);if(!(c[v>>2]|0)){i=y;return}B1(c[v>>2]|0);i=y;return}function ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;c[h+4>>2]=b;c[g>>2]=d;if(!(c[(c[(c[g>>2]|0)+8>>2]|0)+156>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=h;return b|0}b=c[g>>2]|0;if(!(ci(c[f>>2]|0,c[((c[c[g>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)|0)){c[e>>2]=0;b=c[e>>2]|0;i=h;return b|0}b=c[g>>2]|0;if(ci(c[f>>2]|0,c[((c[c[g>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)|0){c[e>>2]=1;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=0;b=c[e>>2]|0;i=h;return b|0}return 0}function bi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+24|0;h=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;a[(c[(c[h>>2]|0)+8>>2]|0)+157>>0]=1;a:do if((c[(c[(c[h>>2]|0)+8>>2]|0)+188+4>>2]|0)>0){c[o>>2]=0;while(1){d=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+188>>2]|0)+(c[o>>2]<<2)>>2]|0;c[n>>2]=d;if(!d)break a;if((ai(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0)!=0?(d=c[n>>2]|0,(a[(c[(c[((c[c[n>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)+8>>2]|0)+157>>0]|0)==0):0){d=c[n>>2]|0;d=bi(c[g>>2]|0,c[((c[c[n>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0,(c[k>>2]|0)+(c[m>>2]<<2)|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+d}c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0)==(c[l>>2]|0)){f=c[h>>2]|0;d=c[m>>2]|0;c[m>>2]=d+1;c[(c[k>>2]|0)+(d<<2)>>2]=f;i=p;return c[m>>2]|0}else db(123381,122907,1221,123397);return 0}function ci(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Wh(c[f>>2]|0,c[e>>2]|0)|0;b=b|(Xh(c[f>>2]|0,c[e>>2]|0)|0);i=d;return b|0}function di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=qK(12)|0;c[c[e>>2]>>2]=c[g>>2];c[(c[e>>2]|0)+4>>2]=c[f>>2];b=qK(_(c[g>>2]|0,c[f>>2]|0)|0)|0;c[(c[e>>2]|0)+8>>2]=b;i=d;return c[e>>2]|0}function ei(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+16|0;g=o+12|0;m=o+8|0;l=o+20|0;k=o+4|0;h=o;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[g>>2]|0)+8>>2]|0)+232>>2]<<6)+56>>2];a[(c[(c[g>>2]|0)+8>>2]|0)+157>>0]=1;a[(c[(c[g>>2]|0)+8>>2]|0)+158>>0]=1;a[l>>0]=(c[(c[(Nf(c[f>>2]|0)|0)+8>>2]|0)+180>>2]|0)>0;if(!(c[(c[(c[g>>2]|0)+8>>2]|0)+188>>2]|0)){n=c[g>>2]|0;n=n+8|0;n=c[n>>2]|0;n=n+158|0;a[n>>0]=0;i=o;return}c[m>>2]=0;a:while(1){e=c[(c[(c[(c[g>>2]|0)+8>>2]|0)+188>>2]|0)+(c[m>>2]<<2)>>2]|0;c[k>>2]=e;if(!e){n=22;break}if(d[l>>0]|0){e=c[k>>2]|0;if((QC(c[f>>2]|0,c[((c[c[k>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)|0)!=0?(e=c[k>>2]|0,(QC(c[f>>2]|0,c[((c[c[k>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)|0)!=0):0)n=7}else n=7;do if((n|0)==7?(n=0,(c[(c[(c[k>>2]|0)+8>>2]|0)+156>>2]|0)!=0):0){e=c[k>>2]|0;b=c[k>>2]|0;b=(c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+284>>2]|0)<(c[c[h>>2]>>2]|0);if((a[(c[(c[((c[c[k>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+158>>0]|0)==1){if(!b){n=10;break a}e=c[k>>2]|0;if((c[(c[(c[((c[c[k>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+284>>2]|0)>=(c[(c[h>>2]|0)+4>>2]|0)){n=12;break a}b=c[k>>2]|0;b=_(c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+284>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0;e=c[k>>2]|0;a[(c[(c[h>>2]|0)+8>>2]|0)+(b+(c[(c[(c[((c[c[k>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+284>>2]|0))>>0]=1;lh(c[k>>2]|0);c[m>>2]=(c[m>>2]|0)+-1;if((a[(c[(c[k>>2]|0)+8>>2]|0)+112>>0]|0)==4)break;yh(c[f>>2]|0,c[k>>2]|0);break}else{if(!b){n=16;break a}e=c[k>>2]|0;if((c[(c[(c[((c[c[k>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+284>>2]|0)>=(c[(c[h>>2]|0)+4>>2]|0)){n=18;break a}b=c[k>>2]|0;b=_(c[(c[(c[((c[c[k>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+284>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0;e=c[k>>2]|0;a[(c[(c[h>>2]|0)+8>>2]|0)+(b+(c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+284>>2]|0))>>0]=1;e=c[k>>2]|0;if(a[(c[(c[((c[c[k>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+157>>0]|0)break;e=c[k>>2]|0;ei(c[f>>2]|0,c[((c[c[k>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0);break}}while(0);c[m>>2]=(c[m>>2]|0)+1}if((n|0)==10)db(123407,122907,982,123439);else if((n|0)==12)db(123451,122907,983,123439);else if((n|0)==16)db(123407,122907,991,123439);else if((n|0)==18)db(123451,122907,992,123439);else if((n|0)==22){n=c[g>>2]|0;n=n+8|0;n=c[n>>2]|0;n=n+158|0;a[n>>0]=0;i=o;return}}function fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;hi(c[d>>2]|0,c[f>>2]|0,c[e>>2]|0);c[f>>2]=qC(c[d>>2]|0,c[f>>2]|0)|0}i=g;return}function gi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=b;c[e>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;b=wO(c[e>>2]|0,c[13838]|0,0)|0;c[f>>2]=b;do if(b){if((a[c[f>>2]>>0]|0)==(a[123483]|0)?(a4(c[f>>2]|0,123483)|0)==0:0){hi(c[d>>2]|0,c[e>>2]|0,1);break}if((a[c[f>>2]>>0]|0)==(a[136400]|0)?(a4(c[f>>2]|0,136400)|0)==0:0){hi(c[d>>2]|0,c[e>>2]|0,0);break}if(a[c[f>>2]>>0]|0){k=c[f>>2]|0;b=MB(c[e>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=b;pA(1,123518,g)|0}}while(0);c[e>>2]=qC(c[d>>2]|0,c[e>>2]|0)|0}i=h;return}function hi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();h=s+40|0;f=s+36|0;k=s+32|0;g=s+28|0;o=s+24|0;q=s+20|0;r=s+16|0;l=s+12|0;m=s+8|0;n=s+4|0;p=s;c[h>>2]=b;c[f>>2]=d;c[k>>2]=e;c[p>>2]=c[12560];if(c[(c[(c[f>>2]|0)+8>>2]|0)+212>>2]|0){i=s;return}e=(c[k>>2]|0)!=0;c[o>>2]=0;c[g>>2]=0;a:do if(e)while(1){e=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0)+(c[g>>2]<<2)>>2]|0;c[l>>2]=e;if(!e)break a;if(!(ii(c[l>>2]|0)|0)){d=c[l>>2]|0;e=c[o>>2]|0;c[o>>2]=e+1;c[(c[p>>2]|0)+(e<<2)>>2]=d}c[g>>2]=(c[g>>2]|0)+1}else while(1){e=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]|0)+(c[g>>2]<<2)>>2]|0;c[l>>2]=e;if(!e)break a;if(!(ii(c[l>>2]|0)|0)){d=c[l>>2]|0;e=c[o>>2]|0;c[o>>2]=e+1;c[(c[p>>2]|0)+(e<<2)>>2]=d}c[g>>2]=(c[g>>2]|0)+1}while(0);if((c[o>>2]|0)<=1){i=s;return}c[(c[p>>2]|0)+(c[o>>2]<<2)>>2]=0;P3(c[p>>2]|0,c[o>>2]|0,4,60);c[o>>2]=1;while(1){e=c[(c[p>>2]|0)+(c[o>>2]<<2)>>2]|0;c[m>>2]=e;if(!e){f=19;break}c[l>>2]=c[(c[p>>2]|0)+((c[o>>2]|0)-1<<2)>>2];f=c[c[l>>2]>>2]&3;if(c[k>>2]|0){e=c[l>>2]|0;c[q>>2]=c[((f|0)==2?e:e+-32|0)+28>>2];e=c[m>>2]|0;c[r>>2]=c[((c[c[m>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]}else{e=c[l>>2]|0;c[q>>2]=c[((f|0)==3?e:e+32|0)+28>>2];e=c[m>>2]|0;c[r>>2]=c[((c[c[m>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]}if(_g(c[q>>2]|0,c[r>>2]|0)|0){f=19;break}c[n>>2]=eh(c[q>>2]|0,c[r>>2]|0,0)|0;a[(c[(c[n>>2]|0)+8>>2]|0)+112>>0]=4;kh(c[h>>2]|0,c[n>>2]|0);c[o>>2]=(c[o>>2]|0)+1}if((f|0)==19){i=s;return}}function ii(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]|0))break;c[b>>2]=c[(c[a+8>>2]|0)+116>>2]}f=c[b>>2]|0;e=c[b>>2]|0;i=d;return (c[(c[(c[((c[a>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[c[b>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0)|0}function ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;i=d;return ((c[c[c[f>>2]>>2]>>2]|0)>>>4)-((c[c[c[e>>2]>>2]>>2]|0)>>>4)|0}function ki(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if((c[(c[(c[d>>2]|0)+8>>2]|0)+216+4>>2]|0)<=1){i=h;return}c[f>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[(c[d>>2]|0)+8>>2]|0)+216+4>>2]|0))break;c[g>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+216>>2]|0)+(c[e>>2]<<2)>>2];if(c[f>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+164>>2]=c[g>>2];c[(c[(c[g>>2]|0)+8>>2]|0)+168>>2]=c[f>>2];while(1){a=c[g>>2]|0;if(!(c[(c[(c[g>>2]|0)+8>>2]|0)+164>>2]|0))break;c[g>>2]=c[(c[a+8>>2]|0)+164>>2]}c[f>>2]=a;c[e>>2]=(c[e>>2]|0)+1}c[(c[(c[d>>2]|0)+8>>2]|0)+216+4>>2]=1;c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2]=c[c[(c[(c[d>>2]|0)+8>>2]|0)+216>>2]>>2];b[(c[(c[d>>2]|0)+8>>2]|0)+236>>1]=c[12561];b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]=c[12562];i=h;return}function li(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[b>>2]|0))break;h[(c[(c[b>>2]|0)+8>>2]|0)+16>>3]=+(c[(c[(c[b>>2]|0)+8>>2]|0)+236>>2]|0);c[b>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+164>>2]}i=d;return}function mi(d){d=d|0;var e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+8|0;f=k+4|0;g=k;c[e>>2]=d;c[f>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[f>>2]|0))break;c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2]=~~+h[(c[(c[f>>2]|0)+8>>2]|0)+16>>3];c[f>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+164>>2]}c[g>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[g>>2]|0)>(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0))break;a[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+49>>0]=0;P3(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+4>>2]|0,c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]|0,4,61);c[g>>2]=(c[g>>2]|0)+1}i=k;return}function ni(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();e=p+32|0;f=p+28|0;n=p+24|0;m=p+20|0;h=p+16|0;l=p+12|0;g=p+8|0;k=p+4|0;o=p;c[e>>2]=a;c[f>>2]=d;if(((c[f>>2]|0)%4|0|0)<2)c[o>>2]=1;else c[o>>2]=0;if((c[f>>2]|0)%2|0){c[n>>2]=(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0)-1;c[g>>2]=-1}else{c[n>>2]=1;c[g>>2]=1}a=c[(c[e>>2]|0)+8>>2]|0;if(!((c[f>>2]|0)%2|0)){c[h>>2]=(b[a+236>>1]|0)+1;if((b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]|0)>(b[(c[(c[12547]|0)+8>>2]|0)+236>>1]|0))c[h>>2]=(c[h>>2]|0)+-1;c[l>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1];c[g>>2]=1}else{c[h>>2]=(b[a+238>>1]|0)-1;c[l>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1];if((b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0)<(b[(c[(c[12547]|0)+8>>2]|0)+238>>1]|0))c[h>>2]=(c[h>>2]|0)+1;c[g>>2]=-1}c[n>>2]=c[h>>2];while(1){if((c[n>>2]|0)==((c[l>>2]|0)+(c[g>>2]|0)|0))break;c[m>>2]=(c[n>>2]|0)-(c[g>>2]|0);c[k>>2]=(qi(c[e>>2]|0,c[n>>2]|0,c[m>>2]|0)|0)&255;ri(c[e>>2]|0,c[n>>2]|0,c[o>>2]|0,c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[g>>2]|0)}Nh(c[e>>2]|0,((c[o>>2]|0)!=0^1)&1);i=p;return}function oi(d){d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();e=o+28|0;h=o+24|0;f=o+20|0;g=o+16|0;n=o+12|0;l=o+8|0;m=o+4|0;k=o;c[e>>2]=d;c[n>>2]=0;c[k>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1];a:while(1){if((c[k>>2]|0)<(b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]|0)){e=16;break}a[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[k>>2]<<6)+48>>0]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=((c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[k>>2]<<6)>>2]|0)-1|0))break;c[l>>2]=c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[k>>2]<<6)+4>>2]|0)+(c[h>>2]<<2)>>2];c[m>>2]=c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[k>>2]<<6)+4>>2]|0)+((c[h>>2]|0)+1<<2)>>2];if((c[(c[(c[l>>2]|0)+8>>2]|0)+236>>2]|0)>=(c[(c[(c[m>>2]|0)+8>>2]|0)+236>>2]|0)){e=6;break a}if(!(Sh(c[e>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)){c[g>>2]=0;c[f>>2]=0;if((c[k>>2]|0)>0){d=Th(c[l>>2]|0,c[m>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+d;d=Th(c[m>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+d}if((c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+((c[k>>2]|0)+1<<6)>>2]|0)>0){d=Uh(c[l>>2]|0,c[m>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+d;d=Uh(c[m>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+d}if((c[g>>2]|0)<=(c[f>>2]|0))pi(c[e>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}if((e|0)==6)db(123190,122907,465,123677);else if((e|0)==16){i=o;return c[n>>2]|0}return 0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;w=i;i=i+64|0;if((i|0)>=(j|0))ba();g=w+52|0;h=w+48|0;k=w+44|0;l=w+40|0;u=w+36|0;v=w+32|0;t=w+28|0;m=w+24|0;n=w+20|0;p=w+16|0;r=w+12|0;q=w+8|0;s=w+4|0;o=w;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[n>>2]=0;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=0;c[o>>2]=0;if((a[(c[(c[k>>2]|0)+8>>2]|0)+156>>0]|0)==(a[(c[(c[l>>2]|0)+8>>2]|0)+156>>0]|0)){i=w;return}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0))break;if(!(a[(c[(c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[o>>2]<<2)>>2]|0)+8>>2]|0)+156>>0]|0))c[n>>2]=(c[n>>2]|0)+1;else c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}b=(a[(c[(c[k>>2]|0)+8>>2]|0)+156>>0]|0)==0;do if((c[n>>2]|0)<(c[m>>2]|0))if(b){c[u>>2]=c[k>>2];break}else{c[u>>2]=c[l>>2];break}else if(b){c[u>>2]=c[l>>2];break}else{c[u>>2]=c[k>>2];break}while(0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0))break;if((c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[o>>2]<<2)>>2]|0)==(c[u>>2]|0))c[v>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+1}c[t>>2]=(a[(c[(c[u>>2]|0)+8>>2]|0)+156>>0]|0)==0?1:0;c[o>>2]=(c[v>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break;if((a[(c[(c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[o>>2]<<2)>>2]|0)+8>>2]|0)+156>>0]|0)!=(c[t>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}c[o>>2]=(c[v>>2]|0)+1;while(1){if((c[o>>2]|0)>=(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0))break;if((a[(c[(c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[o>>2]<<2)>>2]|0)+8>>2]|0)+156>>0]|0)!=(c[t>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}Mh(c[k>>2]|0,c[l>>2]|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0))break;if((c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[o>>2]<<2)>>2]|0)==(c[u>>2]|0))c[v>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=(c[v>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break;if((a[(c[(c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[o>>2]<<2)>>2]|0)+8>>2]|0)+156>>0]|0)!=(c[t>>2]|0))break;c[q>>2]=(c[q>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}c[o>>2]=(c[v>>2]|0)+1;while(1){if((c[o>>2]|0)>=(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0))break;if((a[(c[(c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[o>>2]<<2)>>2]|0)+8>>2]|0)+156>>0]|0)!=(c[t>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}v=N((c[q>>2]|0)-(c[s>>2]|0)|0)|0;if((v|0)<=(N((c[p>>2]|0)-(c[r>>2]|0)|0)|0)){i=w;return}Mh(c[k>>2]|0,c[l>>2]|0);i=w;return}function qi(e,f,g){e=e|0;f=f|0;g=g|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,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;if((i|0)>=(j|0))ba();k=A+56|0;l=A+52|0;m=A+48|0;p=A+44|0;q=A+40|0;r=A+36|0;t=A+32|0;w=A+28|0;u=A+24|0;x=A+20|0;s=A+16|0;v=A+12|0;y=A+8|0;n=A+4|0;o=A+60|0;z=A;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[o>>0]=0;c[s>>2]=c[12559];c[y>>2]=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+4>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)>>2]|0))break;c[v>>2]=c[(c[y>>2]|0)+(c[p>>2]<<2)>>2];c[q>>2]=0;g=(c[m>>2]|0)>(c[l>>2]|0);c[r>>2]=0;a:do if(g)while(1){g=c[(c[(c[(c[v>>2]|0)+8>>2]|0)+180>>2]|0)+(c[r>>2]<<2)>>2]|0;c[n>>2]=g;if(!g)break a;if((b[(c[(c[n>>2]|0)+8>>2]|0)+154>>1]|0)>0){f=c[n>>2]|0;f=(c[(c[(c[((c[c[n>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]<<8)+(d[(c[(c[n>>2]|0)+8>>2]|0)+56+32>>0]|0)|0;g=c[q>>2]|0;c[q>>2]=g+1;c[(c[s>>2]|0)+(g<<2)>>2]=f}c[r>>2]=(c[r>>2]|0)+1}else while(1){g=c[(c[(c[(c[v>>2]|0)+8>>2]|0)+172>>2]|0)+(c[r>>2]<<2)>>2]|0;c[n>>2]=g;if(!g)break a;if((b[(c[(c[n>>2]|0)+8>>2]|0)+154>>1]|0)>0){f=c[n>>2]|0;f=(c[(c[(c[((c[c[n>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+236>>2]<<8)+(d[(c[(c[n>>2]|0)+8>>2]|0)+16+32>>0]|0)|0;g=c[q>>2]|0;c[q>>2]=g+1;c[(c[s>>2]|0)+(g<<2)>>2]=f}c[r>>2]=(c[r>>2]|0)+1}while(0);b:do switch(c[q>>2]|0){case 0:{h[(c[(c[v>>2]|0)+8>>2]|0)+240>>3]=-1.0;break}case 1:{h[(c[(c[v>>2]|0)+8>>2]|0)+240>>3]=+(c[c[s>>2]>>2]|0);break}case 2:{h[(c[(c[v>>2]|0)+8>>2]|0)+240>>3]=+(((c[c[s>>2]>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0)|0)/2|0|0);break}default:{P3(c[s>>2]|0,c[q>>2]|0,4,62);e=(c[q>>2]|0)/2|0;if((c[q>>2]|0)%2|0){h[(c[(c[v>>2]|0)+8>>2]|0)+240>>3]=+(c[(c[s>>2]|0)+(e<<2)>>2]|0);break b}c[w>>2]=e;c[t>>2]=(c[w>>2]|0)-1;c[x>>2]=(c[(c[s>>2]|0)+((c[q>>2]|0)-1<<2)>>2]|0)-(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0);c[u>>2]=(c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]|0)-(c[c[s>>2]>>2]|0);e=c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]|0;if((c[u>>2]|0)==(c[x>>2]|0)){h[(c[(c[v>>2]|0)+8>>2]|0)+240>>3]=+((e+(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0)|0)/2|0|0);break b}else{g=_(e,c[x>>2]|0)|0;c[z>>2]=g+(_(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0,c[u>>2]|0)|0);h[(c[(c[v>>2]|0)+8>>2]|0)+240>>3]=+((c[z>>2]|0)/((c[u>>2]|0)+(c[x>>2]|0)|0)|0|0);break b}}}while(0);c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)>>2]|0))break;c[v>>2]=c[(c[y>>2]|0)+(c[p>>2]<<2)>>2];if((c[(c[(c[v>>2]|0)+8>>2]|0)+180+4>>2]|0)==0?(c[(c[(c[v>>2]|0)+8>>2]|0)+172+4>>2]|0)==0:0){z=ti(c[v>>2]|0)|0;a[o>>0]=d[o>>0]|z}c[p>>2]=(c[p>>2]|0)+1}i=A;return a[o>>0]|0}function ri(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|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,w=0,x=0,y=0,z=0;z=i;i=i+64|0;if((i|0)>=(j|0))ba();k=z+44|0;l=z+40|0;m=z+36|0;n=z+32|0;o=z+28|0;s=z+24|0;r=z+49|0;w=z+48|0;x=z+20|0;q=z+16|0;v=z+12|0;p=z+8|0;t=z+4|0;u=z;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=0;c[x>>2]=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+4>>2];c[p>>2]=(c[x>>2]|0)+(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)>>2]<<2);c[s>>2]=(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)>>2]|0)-1;while(1){if((c[s>>2]|0)<0)break;c[q>>2]=c[x>>2];while(1){if((c[q>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;while(1){if((c[q>>2]|0)>>>0<(c[p>>2]|0)>>>0)g=+h[(c[(c[c[q>>2]>>2]|0)+8>>2]|0)+240>>3]<0.0;else g=0;b=c[q>>2]|0;if(!g)break;c[q>>2]=b+4}if(b>>>0>=(c[p>>2]|0)>>>0)break;a[r>>0]=0;a[w>>0]=0;c[v>>2]=(c[q>>2]|0)+4;while(1){if((c[v>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if(!((d[w>>0]|0|0)!=0?(c[(c[(c[c[v>>2]>>2]|0)+8>>2]|0)+212>>2]|0)!=0:0)){if(Sh(c[k>>2]|0,c[c[q>>2]>>2]|0,c[c[v>>2]>>2]|0)|0){y=15;break}if(+h[(c[(c[c[v>>2]>>2]|0)+8>>2]|0)+240>>3]>=0.0)break;if(c[(c[(c[c[v>>2]>>2]|0)+8>>2]|0)+212>>2]|0)a[w>>0]=1}c[v>>2]=(c[v>>2]|0)+4}if((y|0)==15){y=0;a[r>>0]=1}if((c[v>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;do if(!(d[r>>0]|0)){c[t>>2]=~~+h[(c[(c[c[q>>2]>>2]|0)+8>>2]|0)+240>>3];c[u>>2]=~~+h[(c[(c[c[v>>2]>>2]|0)+8>>2]|0)+240>>3];if((c[t>>2]|0)<=(c[u>>2]|0)?!((c[m>>2]|0)!=0?(c[t>>2]|0)==(c[u>>2]|0):0):0)break;Mh(c[c[q>>2]>>2]|0,c[c[v>>2]>>2]|0);c[o>>2]=(c[o>>2]|0)+1}while(0);c[q>>2]=c[v>>2]}if((c[n>>2]|0)==0&(c[m>>2]|0)==0)c[p>>2]=(c[p>>2]|0)+-4;c[s>>2]=(c[s>>2]|0)+-1}if(!(c[o>>2]|0)){i=z;return}a[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+49>>0]=0;if((c[l>>2]|0)<=0){i=z;return}a[(c[(c[(c[12547]|0)+8>>2]|0)+196>>2]|0)+((c[l>>2]|0)-1<<6)+49>>0]=0;i=z;return}function si(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;i=d;return (c[c[f>>2]>>2]|0)-(c[c[e>>2]>>2]|0)|0}function ti(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();b=l+20|0;d=l+16|0;g=l+12|0;e=l+8|0;f=l+4|0;k=l;c[d>>2]=a;a=c[(c[d>>2]|0)+8>>2]|0;if((c[(c[(c[d>>2]|0)+8>>2]|0)+196+4>>2]|0)>0){c[f>>2]=c[a+196>>2];a=c[c[f>>2]>>2]|0;c[k>>2]=c[((c[c[c[f>>2]>>2]>>2]&3|0)==3?a:a+32|0)+28>>2];c[g>>2]=1;while(1){a=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0;c[e>>2]=a;if(!a)break;a=c[e>>2]|0;if((c[(c[(c[((c[c[e>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)>(c[(c[(c[k>>2]|0)+8>>2]|0)+236>>2]|0)){a=c[e>>2]|0;c[k>>2]=c[((c[c[e>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]}c[g>>2]=(c[g>>2]|0)+1}if(+h[(c[(c[k>>2]|0)+8>>2]|0)+240>>3]>=0.0){h[(c[(c[d>>2]|0)+8>>2]|0)+240>>3]=+h[(c[(c[k>>2]|0)+8>>2]|0)+240>>3]+1.0;c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}}else if((c[a+188+4>>2]|0)>0){c[f>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+188>>2];a=c[c[f>>2]>>2]|0;c[k>>2]=c[((c[c[c[f>>2]>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2];c[g>>2]=1;while(1){a=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0;c[e>>2]=a;if(!a)break;a=c[e>>2]|0;if((c[(c[(c[((c[c[e>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)<(c[(c[(c[k>>2]|0)+8>>2]|0)+236>>2]|0)){a=c[e>>2]|0;c[k>>2]=c[((c[c[e>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]}c[g>>2]=(c[g>>2]|0)+1}if(+h[(c[(c[k>>2]|0)+8>>2]|0)+240>>3]>0.0){h[(c[(c[d>>2]|0)+8>>2]|0)+240>>3]=+h[(c[(c[k>>2]|0)+8>>2]|0)+240>>3]-1.0;c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}}c[b>>2]=1;k=c[b>>2]|0;i=l;return k|0}function ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;i=d;return (c[(c[(c[c[f>>2]>>2]|0)+8>>2]|0)+236>>2]|0)-(c[(c[(c[c[e>>2]>>2]|0)+8>>2]|0)+236>>2]|0)|0}function vi(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+12|0;d=f+8|0;e=f;c[g>>2]=a;c[12563]=8;c[13798]=24;h[4138]=.995;c[d>>2]=OA(c[g>>2]|0,123695)|0;if(!(c[d>>2]|0)){i=f;return}b=+M3(c[d>>2]|0);h[e>>3]=b;if(!(b>0.0)){i=f;return}if(1.0>+(c[12563]|0)*+h[e>>3])b=1.0;else b=+(c[12563]|0)*+h[e>>3];c[12563]=~~b;if(1.0>+(c[13798]|0)*+h[e>>3])b=1.0;else b=+(c[13798]|0)*+h[e>>3];c[13798]=~~b;i=f;return}function wi(a){a=a|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+12|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=(b[(c[(c[g>>2]|0)+8>>2]|0)+238>>1]|0)+2;c[e>>2]=qK(c[f>>2]<<2)|0;c[d+8>>2]=xi(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0,0)|0;B1(c[e>>2]|0);i=d;return}function xi(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();g=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;q=s+12|0;o=s+8|0;p=s+4|0;r=s;c[k>>2]=a;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=1;while(1){if((c[o>>2]|0)>(c[(c[(c[k>>2]|0)+8>>2]|0)+180>>2]|0))break;c[n>>2]=xi(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+184>>2]|0)+(c[o>>2]<<2)>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+1}f=Nf(c[k>>2]|0)|0;if((f|0)==(c[k>>2]|0)){c[g>>2]=c[n>>2];f=c[g>>2]|0;i=s;return f|0}p5(c[l>>2]|0,0,c[m>>2]<<2|0)|0;c[r>>2]=pC(c[k>>2]|0)|0;while(1){if(!(c[r>>2]|0))break;c[(c[l>>2]|0)+(c[(c[(c[r>>2]|0)+8>>2]|0)+232>>2]<<2)>>2]=1;c[p>>2]=cB(c[k>>2]|0,c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;c[q>>2]=(c[(c[(c[r>>2]|0)+8>>2]|0)+232>>2]|0)+1;while(1){f=c[p>>2]|0;if((c[q>>2]|0)>(c[(c[(c[((c[c[p>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0))break;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=1;c[q>>2]=(c[q>>2]|0)+1}c[p>>2]=eB(c[k>>2]|0,c[p>>2]|0)|0}c[r>>2]=qC(c[k>>2]|0,c[r>>2]|0)|0}c[q>>2]=b[(c[(c[k>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[q>>2]|0)>(b[(c[(c[k>>2]|0)+8>>2]|0)+238>>1]|0))break;if(!(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)){if(!(c[n>>2]|0))c[n>>2]=uD(Nf(c[k>>2]|0)|0,123685,1)|0;c[r>>2]=vC(c[n>>2]|0,0,1)|0;aD(c[r>>2]|0,175106,304,1)|0;c[(c[(c[r>>2]|0)+8>>2]|0)+232>>2]=c[q>>2];h[(c[(c[r>>2]|0)+8>>2]|0)+96>>3]=.5;h[(c[(c[r>>2]|0)+8>>2]|0)+88>>3]=.5;h[(c[(c[r>>2]|0)+8>>2]|0)+80>>3]=1.0;c[(c[(c[r>>2]|0)+8>>2]|0)+216>>2]=1;c[(c[(c[r>>2]|0)+8>>2]|0)+172+4>>2]=0;f=qK(20)|0;c[(c[(c[r>>2]|0)+8>>2]|0)+172>>2]=f;c[(c[(c[r>>2]|0)+8>>2]|0)+180+4>>2]=0;f=qK(20)|0;c[(c[(c[r>>2]|0)+8>>2]|0)+180>>2]=f;uC(c[k>>2]|0,c[r>>2]|0,1)|0}c[q>>2]=(c[q>>2]|0)+1}c[g>>2]=c[n>>2];f=c[g>>2]|0;i=s;return f|0}function yi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(!(c[(c[(c[e>>2]|0)+8>>2]|0)+192>>2]|0)){i=g;return}Sk(c[e>>2]|0);Bi(c[e>>2]|0);if(a[139080]|0)ll(c[e>>2]|0);Ci(c[e>>2]|0);if(zl(c[e>>2]|0)|0)Bi(c[e>>2]|0);Di(c[e>>2]|0);b=c[e>>2]|0;do if(vK(b,2,Ei(c[e>>2]|0)|0)|0){Fi(c[e>>2]|0);b=c[e>>2]|0;if(!(vK(b,2,Ei(c[e>>2]|0)|0)|0))break;else db(123703,123731,134,123742)}while(0);Gi(c[e>>2]|0);Hi(c[e>>2]|0,c[f>>2]|0);Ii(c[e>>2]|0);i=g;return}function zi(a,d,e,f){a=a|0;d=d|0;e=+e;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();o=m+24|0;n=m+20|0;g=m;k=m+16|0;l=m+12|0;p=m+8|0;c[o>>2]=a;c[n>>2]=d;h[g>>3]=e;c[k>>2]=f;c[p>>2]=qK(64)|0;f=(c[p>>2]|0)+32|0;c[f>>2]=c[f>>2]&-4|3;f=c[p>>2]|0;c[f>>2]=c[f>>2]&-4|2;f=qK(176)|0;c[(c[p>>2]|0)+8>>2]=f;c[l>>2]=c[p>>2];f=c[l>>2]|0;c[((c[c[l>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]=c[o>>2];f=c[l>>2]|0;c[((c[c[l>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]=c[n>>2];if(+h[g>>3]>65535.0)h[g>>3]=+Ji(+h[g>>3]);e=+h[g>>3];b[(c[(c[l>>2]|0)+8>>2]|0)+170>>1]=~~(+h[g>>3]>=0.0?e+.5:e-.5);c[(c[(c[l>>2]|0)+8>>2]|0)+156>>2]=c[k>>2];$g(c[l>>2]|0)|0;i=m;return c[l>>2]|0}function Ai(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+4|0;f=k;c[e>>2]=a;c[f>>2]=b;if((d[(c[(c[e>>2]|0)+8>>2]|0)+56+28>>0]|0|0)!=(d[(c[(c[f>>2]|0)+8>>2]|0)+56+28>>0]|0|0)){g=0;g=g&1;i=k;return g|0}if(!(+h[(c[(c[e>>2]|0)+8>>2]|0)+56>>3]==+h[(c[(c[f>>2]|0)+8>>2]|0)+56>>3]?+h[(c[(c[e>>2]|0)+8>>2]|0)+56+8>>3]==+h[(c[(c[f>>2]|0)+8>>2]|0)+56+8>>3]:0))g=4;if((g|0)==4?(d[(c[(c[e>>2]|0)+8>>2]|0)+56+28>>0]|0|0)!=0:0){g=0;g=g&1;i=k;return g|0}if(+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3]==+h[(c[(c[f>>2]|0)+8>>2]|0)+16>>3]?+h[(c[(c[e>>2]|0)+8>>2]|0)+16+8>>3]==+h[(c[(c[f>>2]|0)+8>>2]|0)+16+8>>3]:0){g=1;g=g&1;i=k;return g|0}g=(d[(c[(c[e>>2]|0)+8>>2]|0)+16+28>>0]|0|0)==0;g=g&1;i=k;return g|0}function Bi(d){d=d|0;var e=0.0,f=0,g=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=i;i=i+80|0;if((i|0)>=(j|0))ba();f=x+76|0;p=x+72|0;q=x+68|0;u=x+64|0;o=x+32|0;s=x+24|0;m=x+16|0;k=x+8|0;l=x;t=x+60|0;n=x+56|0;v=x+52|0;g=x+48|0;r=x+44|0;w=x+40|0;c[f>>2]=d;c[v>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2];h[s>>3]=0.0;h[o>>3]=0.0;c[u>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[u>>2]|0)>(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0))break;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[v>>2]|0)+(c[u>>2]<<6)>>2]|0))break;c[t>>2]=c[(c[(c[v>>2]|0)+(c[u>>2]<<6)+4>>2]|0)+(c[p>>2]<<2)>>2];h[o>>3]=+h[(c[(c[t>>2]|0)+8>>2]|0)+80>>3]/2.0;a:do if(c[(c[(c[t>>2]|0)+8>>2]|0)+204>>2]|0){c[q>>2]=0;while(1){d=c[(c[(c[(c[t>>2]|0)+8>>2]|0)+204>>2]|0)+(c[q>>2]<<2)>>2]|0;c[n>>2]=d;if(!d)break a;y=c[n>>2]|0;d=c[n>>2]|0;if((c[((c[c[n>>2]>>2]&3|0)==3?y:y+32|0)+28>>2]|0)==(c[((c[c[n>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)?(c[(c[(c[n>>2]|0)+8>>2]|0)+96>>2]|0)!=0:0){if(+h[o>>3]>+h[(c[(c[(c[n>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]/2.0)e=+h[o>>3];else e=+h[(c[(c[(c[n>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]/2.0;h[o>>3]=e}c[q>>2]=(c[q>>2]|0)+1}}while(0);if(+h[(c[v>>2]|0)+(c[u>>2]<<6)+40>>3]<+h[o>>3]){e=+h[o>>3];h[(c[v>>2]|0)+(c[u>>2]<<6)+24>>3]=e;h[(c[v>>2]|0)+(c[u>>2]<<6)+40>>3]=e}if(+h[(c[v>>2]|0)+(c[u>>2]<<6)+32>>3]<+h[o>>3]){e=+h[o>>3];h[(c[v>>2]|0)+(c[u>>2]<<6)+16>>3]=e;h[(c[v>>2]|0)+(c[u>>2]<<6)+32>>3]=e}y=c[(c[(c[t>>2]|0)+8>>2]|0)+212>>2]|0;c[g>>2]=y;if(y){if((c[g>>2]|0)==(c[f>>2]|0))d=0;else d=tO(c[g>>2]|0,c[13813]|0,8,0)|0;c[w>>2]=d;if((c[(c[(c[t>>2]|0)+8>>2]|0)+232>>2]|0)==(b[(c[(c[g>>2]|0)+8>>2]|0)+236>>1]|0)){if(+h[(c[(c[g>>2]|0)+8>>2]|0)+128>>3]>+h[o>>3]+ +(c[w>>2]|0))e=+h[(c[(c[g>>2]|0)+8>>2]|0)+128>>3];else e=+h[o>>3]+ +(c[w>>2]|0);h[(c[(c[g>>2]|0)+8>>2]|0)+128>>3]=e}if((c[(c[(c[t>>2]|0)+8>>2]|0)+232>>2]|0)==(b[(c[(c[g>>2]|0)+8>>2]|0)+238>>1]|0)){if(+h[(c[(c[g>>2]|0)+8>>2]|0)+120>>3]>+h[o>>3]+ +(c[w>>2]|0))e=+h[(c[(c[g>>2]|0)+8>>2]|0)+120>>3];else e=+h[o>>3]+ +(c[w>>2]|0);h[(c[(c[g>>2]|0)+8>>2]|0)+120>>3]=e}}c[p>>2]=(c[p>>2]|0)+1}c[u>>2]=(c[u>>2]|0)+1}c[r>>2]=gj(c[f>>2]|0)|0;h[s>>3]=0.0;c[u>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1];h[(c[(c[c[(c[v>>2]|0)+(c[u>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]=+h[(c[v>>2]|0)+(c[u>>2]<<6)+16>>3];while(1){y=(c[u>>2]|0)+-1|0;c[u>>2]=y;if((y|0)<(b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1]|0))break;h[k>>3]=+h[(c[v>>2]|0)+((c[u>>2]|0)+1<<6)+40>>3]+ +h[(c[v>>2]|0)+(c[u>>2]<<6)+32>>3]+ +(c[(c[(c[f>>2]|0)+8>>2]|0)+252>>2]|0);h[l>>3]=+h[(c[v>>2]|0)+((c[u>>2]|0)+1<<6)+24>>3]+ +h[(c[v>>2]|0)+(c[u>>2]<<6)+16>>3]+8.0;h[m>>3]=+h[k>>3]>+h[l>>3]?+h[k>>3]:+h[l>>3];if((c[(c[v>>2]|0)+(c[u>>2]<<6)>>2]|0)>0)h[(c[(c[c[(c[v>>2]|0)+(c[u>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]=+h[(c[(c[c[(c[v>>2]|0)+((c[u>>2]|0)+1<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]+ +h[m>>3];h[s>>3]=+h[s>>3]>+h[m>>3]?+h[s>>3]:+h[m>>3]}b:do if(((c[r>>2]|0)!=0?(c[(c[(c[f>>2]|0)+8>>2]|0)+116>>2]&1|0)!=0:0)?(hj(c[f>>2]|0,0),(a[(c[(c[f>>2]|0)+8>>2]|0)+276>>0]|0)!=0):0){h[s>>3]=0.0;c[u>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1];h[k>>3]=+h[(c[(c[c[(c[v>>2]|0)+(c[u>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3];while(1){y=(c[u>>2]|0)+-1|0;c[u>>2]=y;if((y|0)<(b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1]|0))break b;h[l>>3]=+h[(c[(c[c[(c[v>>2]|0)+(c[u>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3];h[m>>3]=+h[l>>3]-+h[k>>3];h[s>>3]=+h[s>>3]>+h[m>>3]?+h[s>>3]:+h[m>>3];h[k>>3]=+h[l>>3]}}while(0);c:do if(a[(c[(c[f>>2]|0)+8>>2]|0)+276>>0]|0){c[u>>2]=(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0)-1;while(1){if((c[u>>2]|0)<(b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1]|0))break c;if((c[(c[v>>2]|0)+(c[u>>2]<<6)>>2]|0)>0)h[(c[(c[c[(c[v>>2]|0)+(c[u>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]=+h[(c[(c[c[(c[v>>2]|0)+((c[u>>2]|0)+1<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]+ +h[s>>3];c[u>>2]=(c[u>>2]|0)+-1}}while(0);c[t>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[t>>2]|0))break;h[(c[(c[t>>2]|0)+8>>2]|0)+16+8>>3]=+h[(c[(c[c[(c[v>>2]|0)+(c[(c[(c[t>>2]|0)+8>>2]|0)+232>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3];c[t>>2]=c[(c[(c[t>>2]|0)+8>>2]|0)+164>>2]}i=x;return}function Ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();b=k+20|0;g=k+16|0;d=k+12|0;h=k+8|0;e=k+4|0;f=k;c[b>>2]=a;cj(c[b>>2]|0);c[h>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[h>>2]|0))break;if(c[(c[(c[h>>2]|0)+8>>2]|0)+224>>2]|0)dj(c[b>>2]|0,c[(c[(c[h>>2]|0)+8>>2]|0)+224>>2]|0);if(c[(c[(c[h>>2]|0)+8>>2]|0)+228>>2]|0)dj(c[b>>2]|0,c[(c[(c[h>>2]|0)+8>>2]|0)+228>>2]|0);a:do if(c[(c[(c[h>>2]|0)+8>>2]|0)+204>>2]|0){c[g>>2]=0;while(1){a=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+204>>2]|0)+(c[g>>2]<<2)>>2]|0;c[e>>2]=a;if(!a)break a;l=c[e>>2]|0;a=c[e>>2]|0;a=(c[(c[(c[((c[c[e>>2]>>2]&3|0)==2?l:l+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[e>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)|0;c[d>>2]=a;if((a|0)!=0?(c[f>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+116>>2],(Ai(c[e>>2]|0,c[f>>2]|0)|0)==0):0){ah((c[(c[h>>2]|0)+8>>2]|0)+204|0,c[e>>2]|0);if((c[d>>2]|0)==1)$g(c[e>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+-1}c[g>>2]=(c[g>>2]|0)+1}}while(0);c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+164>>2]}i=k;return}function Di(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;Qi(c[d>>2]|0);Ri(c[d>>2]|0);Si(c[d>>2]|0);Ti(c[d>>2]|0);Ui(c[d>>2]|0);i=b;return}function Ei(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=2147483647;a=OA(c[b>>2]|0,123931)|0;c[e>>2]=a;if(!a){e=c[d>>2]|0;i=f;return e|0}g=+M3(c[e>>2]|0);c[d>>2]=~~(g*+(AB(c[b>>2]|0)|0));e=c[d>>2]|0;i=f;return e|0}function Fi(d){d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();e=r+36|0;k=r+32|0;l=r+28|0;m=r+24|0;g=r+20|0;p=r+16|0;h=r+12|0;o=r+8|0;f=r+4|0;n=r;c[e>>2]=d;c[m>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[m>>2]|0)>(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0)){q=33;break}c[n>>2]=(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[m>>2]<<6);c[g>>2]=0;c[p>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[p>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(c[k>>2]<<2)>>2];if(c[(c[(c[p>>2]|0)+8>>2]|0)+256>>2]|0){c[l>>2]=0;while(1){d=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+256>>2]|0)+(c[l>>2]<<2)>>2]|0;c[f>>2]=d;if(!d)break;d=c[f>>2]|0;if((c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)>(c[m>>2]|0)){q=10;break}d=c[f>>2]|0;if((c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)>(c[m>>2]|0)){q=10;break}c[l>>2]=(c[l>>2]|0)+1}if((q|0)==10){q=0;c[g>>2]=1}if(c[g>>2]|0)break}if(c[(c[(c[p>>2]|0)+8>>2]|0)+248>>2]|0){c[l>>2]=0;while(1){d=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+248>>2]|0)+(c[l>>2]<<2)>>2]|0;c[f>>2]=d;if(!d)break;d=c[f>>2]|0;if((c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)>(c[m>>2]|0)){q=18;break}d=c[f>>2]|0;if((c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)>(c[m>>2]|0)){q=18;break}c[l>>2]=(c[l>>2]|0)+1}if((q|0)==18){q=0;c[g>>2]=1}if(c[g>>2]|0)break}c[k>>2]=(c[k>>2]|0)+1}if((c[g>>2]|0)==0&(c[p>>2]|0)!=0){c[p>>2]=c[c[(c[n>>2]|0)+4>>2]>>2];d=c[n>>2]|0;if((c[m>>2]|0)<(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0))c[h>>2]=c[c[d+64+4>>2]>>2];else c[h>>2]=c[c[d+-64+4>>2]>>2];if(!(c[h>>2]|0)){q=27;break}c[o>>2]=jh(c[e>>2]|0)|0;a[(c[(c[o>>2]|0)+8>>2]|0)+156>>0]=2;zi(c[o>>2]|0,c[p>>2]|0,0.0,0)|0;zi(c[o>>2]|0,c[h>>2]|0,0.0,0)|0;if((c[(c[(c[p>>2]|0)+8>>2]|0)+232>>2]|0)<(c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0))d=c[(c[(c[p>>2]|0)+8>>2]|0)+232>>2]|0;else d=c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0;c[(c[(c[o>>2]|0)+8>>2]|0)+232>>2]=d}c[m>>2]=(c[m>>2]|0)+1}if((q|0)==27)db(123915,123731,111,123918);else if((q|0)==33){i=r;return}}function Gi(a){a=a|0;var d=0,e=0,f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+16|0;e=l+12|0;f=l+8|0;k=l+4|0;g=l;c[d>>2]=a;c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2];c[e>>2]=b[(c[(c[d>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[e>>2]|0)>(b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]|0))break;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[g>>2]|0)+(c[e>>2]<<6)>>2]|0))break;c[k>>2]=c[(c[(c[g>>2]|0)+(c[e>>2]<<6)+4>>2]|0)+(c[f>>2]<<2)>>2];h[(c[(c[k>>2]|0)+8>>2]|0)+16>>3]=+(c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2]|0);c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1}c[e>>2]=(c[e>>2]|0)+1}i=l;return}function Hi(d,e){d=d|0;e=e|0;var f=0,g=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.0;v=i;i=i+80|0;if((i|0)>=(j|0))ba();k=v+72|0;l=v+68|0;t=v+40|0;u=v+32|0;m=v+24|0;n=v+16|0;o=v+64|0;q=v+77|0;g=v+76|0;r=v+56|0;f=v+48|0;p=v+8|0;s=v;c[k>>2]=d;c[l>>2]=e;h[t>>3]=0.0;h[u>>3]=0.0;Ki(c[k>>2]|0,c[k>>2]|0);if((b[(c[(c[k>>2]|0)+8>>2]|0)+238>>1]|0)>0?(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]|0)!=0:0){c[r>>2]=~~(+h[(c[(c[k>>2]|0)+8>>2]|0)+16+16>>3]-+h[(c[(c[k>>2]|0)+8>>2]|0)+16>>3]);c[r+4>>2]=~~(+h[(c[(c[k>>2]|0)+8>>2]|0)+16+16+8>>3]-+h[(c[(c[k>>2]|0)+8>>2]|0)+16+8>>3]);if(c[(c[(c[k>>2]|0)+8>>2]|0)+116>>2]&1){c[f>>2]=c[r>>2];c[r>>2]=c[r+4>>2];c[r+4>>2]=c[f>>2]}a[q>>0]=1;d=c[k>>2]|0;if((c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]|0)==4)a[g>>0]=Li(d,.5)|0;else a[g>>0]=(c[(c[(c[d+8>>2]|0)+8>>2]|0)+84>>2]|0)==2;e=c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0;do if(a[g>>0]|0){if(+h[e+64>>3]<=0.0){a[q>>0]=0;break}h[t>>3]=+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+64>>3]/+(c[r>>2]|0);h[u>>3]=+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+64+8>>3]/+(c[r+4>>2]|0);if(+h[t>>3]<1.0|+h[u>>3]<1.0)if(+h[t>>3]<+h[u>>3]){h[u>>3]=+h[u>>3]/+h[t>>3];h[t>>3]=1.0;break}else{h[t>>3]=+h[t>>3]/+h[u>>3];h[u>>3]=1.0;break}}else{d=c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0;if((c[e+84>>2]|0)==5){if(+h[d+64>>3]<=0.0){a[q>>0]=0;break}h[t>>3]=+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+64>>3]/+h[(c[(c[k>>2]|0)+8>>2]|0)+16+16>>3];h[u>>3]=+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+64+8>>3]/+h[(c[(c[k>>2]|0)+8>>2]|0)+16+16+8>>3];if(+h[t>>3]>1.0&+h[u>>3]>1.0){h[p>>3]=+h[t>>3]<+h[u>>3]?+h[t>>3]:+h[u>>3];w=+h[p>>3];h[u>>3]=w;h[t>>3]=w;break}else{a[q>>0]=0;break}}else{if((c[d+84>>2]|0)!=1){a[q>>0]=0;break}h[n>>3]=+h[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+16>>3];h[m>>3]=+(c[r+4>>2]|0)/+(c[r>>2]|0);if(+h[m>>3]<+h[n>>3]){h[u>>3]=+h[n>>3]/+h[m>>3];h[t>>3]=1.0;break}else{h[t>>3]=+h[m>>3]/+h[n>>3];h[u>>3]=1.0;break}}}while(0);if(a[q>>0]|0){if(c[(c[(c[k>>2]|0)+8>>2]|0)+116>>2]&1){h[s>>3]=+h[t>>3];h[t>>3]=+h[u>>3];h[u>>3]=+h[s>>3]}c[o>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[o>>2]|0))break;w=+h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3]*+h[t>>3];h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3]=+(~~(+h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3]*+h[t>>3]>=0.0?w+.5:w-.5)|0);w=+h[(c[(c[o>>2]|0)+8>>2]|0)+16+8>>3]*+h[u>>3];h[(c[(c[o>>2]|0)+8>>2]|0)+16+8>>3]=+(~~(+h[(c[(c[o>>2]|0)+8>>2]|0)+16+8>>3]*+h[u>>3]>=0.0?w+.5:w-.5)|0);c[o>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+164>>2]}Mi(c[k>>2]|0,c[k>>2]|0,+h[t>>3],+h[u>>3])}}if(!(c[l>>2]|0)){i=v;return}Ni(c[k>>2]|0,c[l>>2]|0);i=v;return}function Ii(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+20|0;e=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;d=l;c[f>>2]=b;c[g>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;c[e>>2]=0;while(1){b=c[(c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]|0)+(c[e>>2]<<2)>>2]|0;c[d>>2]=b;if(!b)break;B1(c[(c[d>>2]|0)+8>>2]|0);B1(c[d>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]|0)B1(c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]|0);if(c[(c[(c[g>>2]|0)+8>>2]|0)+172>>2]|0)B1(c[(c[(c[g>>2]|0)+8>>2]|0)+172>>2]|0);b=(c[(c[g>>2]|0)+8>>2]|0)+180|0;m=(c[(c[g>>2]|0)+8>>2]|0)+256|0;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];b=(c[(c[g>>2]|0)+8>>2]|0)+172|0;m=(c[(c[g>>2]|0)+8>>2]|0)+248|0;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[g>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+164>>2]}c[k>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+164>>2];if((a[(c[(c[g>>2]|0)+8>>2]|0)+156>>0]|0)==2){d=c[h>>2]|0;if(c[k>>2]|0)c[(c[(c[k>>2]|0)+8>>2]|0)+164>>2]=d;else c[(c[(c[f>>2]|0)+8>>2]|0)+192>>2]=d;B1(c[(c[g>>2]|0)+8>>2]|0);B1(c[g>>2]|0)}else c[k>>2]=c[g>>2];c[g>>2]=c[h>>2]}c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+192>>2]|0)+8>>2]|0)+168>>2]=0;i=l;return}function Ji(a){a=+a;var b=0,d=0,e=0;b=i;i=i+32|0;if((i|0)>=(j|0))ba();d=b+8|0;e=b;h[e>>3]=a;h[d>>3]=+h[e>>3];c[d+8>>2]=65535;pA(1,123755,d)|0;i=b;return 65535.0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0))break;Ki(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Pi(c[d>>2]|0,c[e>>2]|0);i=g;return}function Li(b,d){b=b|0;d=+d;var e=0,f=0,g=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;v=i;i=i+160|0;if((i|0)>=(j|0))ba();q=v+136|0;s=v+120|0;e=v+156|0;f=v+152|0;g=v+112|0;t=v+104|0;u=v+96|0;o=v+88|0;m=v+80|0;n=v+64|0;r=v+48|0;p=v+32|0;k=v+16|0;l=v;c[f>>2]=b;h[g>>3]=d;b=(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0)+48|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(!(+h[r>>3]<.001)?!(+h[r+8>>3]<.001):0){b=(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0)+32|0;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];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[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];Oi(k,s,q);c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];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[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];Oi(l,s,q);c[r>>2]=c[l>>2];c[r+4>>2]=c[l+4>>2];c[r+8>>2]=c[l+8>>2];c[r+12>>2]=c[l+12>>2];h[n>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+16+16>>3];h[n+8>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+16+16+8>>3];h[t>>3]=+h[r>>3]/+h[n>>3];h[u>>3]=+h[r+8>>3]/+h[n+8>>3];if(+h[t>>3]>=1.0&+h[u>>3]>=1.0){a[e>>0]=0;u=a[e>>0]|0;i=v;return u|0}else{h[o>>3]=+h[t>>3]<+h[u>>3]?+h[t>>3]:+h[u>>3];d=+h[o>>3]>+h[g>>3]?+h[o>>3]:+h[g>>3];h[u>>3]=d;h[t>>3]=d;h[m>>3]=+Z(+(+h[t>>3]*+h[n>>3]/+h[r>>3]));h[t>>3]=+h[m>>3]*+h[r>>3]/+h[n>>3];h[m>>3]=+Z(+(+h[u>>3]*+h[n+8>>3]/+h[r+8>>3]));h[u>>3]=+h[m>>3]*+h[r+8>>3]/+h[n+8>>3];h[(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0)+64>>3]=+h[n>>3]*+h[t>>3];h[(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0)+64+8>>3]=+h[n+8>>3]*+h[u>>3];a[e>>0]=1;u=a[e>>0]|0;i=v;return u|0}}a[e>>0]=0;u=a[e>>0]|0;i=v;return u|0}function Mi(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();f=n+24|0;g=n+20|0;k=n+8|0;l=n;m=n+16|0;c[f>>2]=a;c[g>>2]=b;h[k>>3]=d;h[l>>3]=e;c[m>>2]=1;while(1){if((c[m>>2]|0)>(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0))break;Mi(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]|0)+(c[m>>2]<<2)>>2]|0,c[g>>2]|0,+h[k>>3],+h[l>>3]);c[m>>2]=(c[m>>2]|0)+1}b=(c[(c[f>>2]|0)+8>>2]|0)+16|0;h[b>>3]=+h[b>>3]*+h[k>>3];b=(c[(c[f>>2]|0)+8>>2]|0)+16+8|0;h[b>>3]=+h[b>>3]*+h[l>>3];b=(c[(c[f>>2]|0)+8>>2]|0)+16+16|0;h[b>>3]=+h[b>>3]*+h[k>>3];b=(c[(c[f>>2]|0)+8>>2]|0)+16+16+8|0;h[b>>3]=+h[b>>3]*+h[l>>3];i=n;return}function Ni(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0.0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();n=o+40|0;m=o+32|0;g=o+24|0;f=o+8|0;e=o+48|0;k=o+44|0;l=o;c[e>>2]=b;c[k>>2]=d;h[l>>3]=(+h[(c[(c[e>>2]|0)+8>>2]|0)+16+16>>3]-+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3])/(+h[(c[(c[e>>2]|0)+8>>2]|0)+16+16+8>>3]-+h[(c[(c[e>>2]|0)+8>>2]|0)+16+8>>3]);if(a[139078]|0){b=c[24742]|0;p=(+h[(c[(c[e>>2]|0)+8>>2]|0)+16+16>>3]-+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3])*(+h[(c[(c[e>>2]|0)+8>>2]|0)+16+16+8>>3]-+h[(c[(c[e>>2]|0)+8>>2]|0)+16+8>>3])/1.0e4;h[f>>3]=+h[l>>3];h[f+8>>3]=p;p3(b,123831,f)|0;f=c[24742]|0;c[g>>2]=lk(c[e>>2]|0)|0;p3(f,123856,g)|0}do if(!(+h[l>>3]>+h[c[k>>2]>>3]*1.1)){e=(c[k>>2]|0)+24|0;if(!(+h[l>>3]<=+h[c[k>>2]>>3]*.8)){c[e>>2]=0;break}c[e>>2]=-1;if(a[139078]|0)p3(c[24742]|0,123866,m)|0}else c[(c[k>>2]|0)+24>>2]=~~(+h[c[k>>2]>>3]*+((c[(c[k>>2]|0)+20>>2]|0)-(c[(c[k>>2]|0)+16>>2]|0)|0)/+h[l>>3]);while(0);if(!(a[139078]|0)){i=o;return}m=c[24742]|0;c[n>>2]=c[(c[k>>2]|0)+24>>2];p3(m,123901,n)|0;i=o;return}function Oi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=+h[b>>3]-+h[d>>3];h[f+8>>3]=+h[b+8>>3]-+h[d+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function Pi(d,e){d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;if((i|0)>=(j|0))ba();f=s+68|0;g=s+64|0;o=s+60|0;m=s+56|0;r=s+40|0;n=s+32|0;q=s+52|0;k=s+16|0;l=s;p=s+48|0;c[f>>2]=d;c[g>>2]=e;e=c[f>>2]|0;a:do if((e|0)==(Nf(c[f>>2]|0)|0)){h[k>>3]=2147483647.0;h[l>>3]=-2147483647.0;c[o>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[o>>2]|0)>(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0))break;c[p>>2]=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)>>2];if((c[p>>2]|0)!=0?(e=c[c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)+4>>2]>>2]|0,c[q>>2]=e,(e|0)!=0):0){c[m>>2]=1;while(1){if(!(a[(c[(c[q>>2]|0)+8>>2]|0)+156>>0]|0))break;if((c[m>>2]|0)>=(c[p>>2]|0))break;c[q>>2]=c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)+4>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}if(!(a[(c[(c[q>>2]|0)+8>>2]|0)+156>>0]|0)){h[r>>3]=+h[(c[(c[q>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[q>>2]|0)+8>>2]|0)+88>>3];h[k>>3]=+h[k>>3]<+h[r>>3]?+h[k>>3]:+h[r>>3];c[q>>2]=c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)+4>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[m>>2]=(c[p>>2]|0)-2;while(1){if(!(a[(c[(c[q>>2]|0)+8>>2]|0)+156>>0]|0))break;c[q>>2]=c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)+4>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+-1}h[r>>3]=+h[(c[(c[q>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[q>>2]|0)+8>>2]|0)+96>>3];h[l>>3]=+h[l>>3]>+h[r>>3]?+h[l>>3]:+h[r>>3]}}c[o>>2]=(c[o>>2]|0)+1}h[n>>3]=8.0;c[m>>2]=1;while(1){if((c[m>>2]|0)>(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0))break a;h[r>>3]=+h[(c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]|0)+(c[m>>2]<<2)>>2]|0)+8>>2]|0)+16>>3]-+h[n>>3];h[k>>3]=+h[k>>3]<+h[r>>3]?+h[k>>3]:+h[r>>3];h[r>>3]=+h[(c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]|0)+(c[m>>2]<<2)>>2]|0)+8>>2]|0)+16+16>>3]+ +h[n>>3];h[l>>3]=+h[l>>3]>+h[r>>3]?+h[l>>3]:+h[r>>3];c[m>>2]=(c[m>>2]|0)+1}}else{h[k>>3]=+(c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+256>>2]|0)+8>>2]|0)+232>>2]|0);h[l>>3]=+(c[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+260>>2]|0)+8>>2]|0)+232>>2]|0)}while(0);h[k+8>>3]=+h[(c[(c[c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[f>>2]|0)+8>>2]|0)+120>>3];h[l+8>>3]=+h[(c[(c[c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[f>>2]|0)+8>>2]|0)+128>>3];r=(c[(c[f>>2]|0)+8>>2]|0)+16|0;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];r=(c[(c[f>>2]|0)+8>>2]|0)+16+16|0;c[r>>2]=c[l>>2];c[r+4>>2]=c[l+4>>2];c[r+8>>2]=c[l+8>>2];c[r+12>>2]=c[l+12>>2];i=s;return}function Qi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();h=g+16|0;b=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[e>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[e>>2]|0))break;h=(c[(c[e>>2]|0)+8>>2]|0)+248|0;a=(c[(c[e>>2]|0)+8>>2]|0)+172|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];h=(c[(c[e>>2]|0)+8>>2]|0)+256|0;a=(c[(c[e>>2]|0)+8>>2]|0)+180|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[b>>2]=0;while(1){if(!(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0)+(c[b>>2]<<2)>>2]|0))break;c[b>>2]=(c[b>>2]|0)+1}c[d>>2]=0;while(1){if(!(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]|0)+(c[d>>2]<<2)>>2]|0))break;c[d>>2]=(c[d>>2]|0)+1}c[f>>2]=(c[b>>2]|0)+(c[d>>2]|0);c[(c[(c[e>>2]|0)+8>>2]|0)+172+4>>2]=0;h=qK((c[f>>2]|0)+3+1<<2)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]=h;c[(c[(c[e>>2]|0)+8>>2]|0)+180+4>>2]=0;h=qK(16)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]=h;c[e>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+164>>2]}i=g;return}function Ri(a){a=a|0;var f=0.0,g=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;E=i;i=i+96|0;if((i|0)>=(j|0))ba();k=E+88|0;q=E+84|0;r=E+80|0;s=E+76|0;z=E+72|0;u=E+68|0;v=E+64|0;D=E+8|0;y=E+56|0;w=E+52|0;l=E+48|0;m=E+44|0;n=E+40|0;o=E+36|0;B=E+32|0;C=E+28|0;A=E+24|0;p=E+20|0;x=E+16|0;t=E;c[k>>2]=a;c[x>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+196>>2];F=(d[(c[(c[k>>2]|0)+8>>2]|0)+113>>0]&1|0)!=0;a=c[(c[(c[k>>2]|0)+8>>2]|0)+248>>2]|0;c[y>>2]=a;g=y+4|0;if(F)c[g>>2]=5;else c[g>>2]=a;c[q>>2]=b[(c[(c[k>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[q>>2]|0)>(b[(c[(c[k>>2]|0)+8>>2]|0)+238>>1]|0))break;c[(c[(c[c[(c[x>>2]|0)+(c[q>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+232>>2]=0;h[t>>3]=0.0;c[w>>2]=c[y+((c[q>>2]&1)<<2)>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[x>>2]|0)+(c[q>>2]<<6)>>2]|0))break;c[B>>2]=c[(c[(c[x>>2]|0)+(c[q>>2]<<6)+4>>2]|0)+(c[r>>2]<<2)>>2];h[(c[(c[B>>2]|0)+8>>2]|0)+240>>3]=+h[(c[(c[B>>2]|0)+8>>2]|0)+96>>3];if((c[(c[(c[B>>2]|0)+8>>2]|0)+204+4>>2]|0)>0){c[z>>2]=0;c[s>>2]=0;while(1){F=c[(c[(c[(c[B>>2]|0)+8>>2]|0)+204>>2]|0)+(c[s>>2]<<2)>>2]|0;c[l>>2]=F;if(!F)break;g=c[l>>2]|0;F=c[l>>2]|0;if((c[((c[c[l>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)==(c[((c[c[l>>2]>>2]&3|0)==2?F:F+-32|0)+28>>2]|0)){F=CN(c[l>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+F}c[s>>2]=(c[s>>2]|0)+1}F=(c[(c[B>>2]|0)+8>>2]|0)+96|0;h[F>>3]=+h[F>>3]+ +(c[z>>2]|0)}c[C>>2]=c[(c[(c[x>>2]|0)+(c[q>>2]<<6)+4>>2]|0)+((c[r>>2]|0)+1<<2)>>2];if(c[C>>2]|0){h[D>>3]=+h[(c[(c[B>>2]|0)+8>>2]|0)+96>>3]+ +h[(c[(c[C>>2]|0)+8>>2]|0)+88>>3]+ +(c[w>>2]|0);c[m>>2]=zi(c[B>>2]|0,c[C>>2]|0,+h[D>>3],0)|0;F=~~(+h[t>>3]+ +h[D>>3]);c[(c[(c[C>>2]|0)+8>>2]|0)+232>>2]=F;h[t>>3]=+(F|0)}F=c[(c[(c[B>>2]|0)+8>>2]|0)+112>>2]|0;c[l>>2]=F;if(F){c[m>>2]=c[c[(c[(c[B>>2]|0)+8>>2]|0)+256>>2]>>2];c[n>>2]=c[(c[(c[(c[B>>2]|0)+8>>2]|0)+256>>2]|0)+4>>2];g=c[m>>2]|0;F=c[n>>2]|0;if((c[(c[(c[((c[c[m>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)>(c[(c[(c[((c[c[n>>2]>>2]&3|0)==2?F:F+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)){c[o>>2]=c[m>>2];c[m>>2]=c[n>>2];c[n>>2]=c[o>>2]}c[u>>2]=(_(e[(c[(c[l>>2]|0)+8>>2]|0)+170>>1]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+248>>2]|0)|0)/2|0;F=c[m>>2]|0;g=c[m>>2]|0;c[v>>2]=~~(+(c[u>>2]|0)+ +h[(c[(c[((c[c[m>>2]>>2]&3|0)==2?F:F+-32|0)+28>>2]|0)+8>>2]|0)+96>>3]+ +h[(c[(c[((c[c[m>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)+8>>2]|0)+88>>3]);g=c[m>>2]|0;F=c[m>>2]|0;if(!(aj(c[((c[c[m>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0,c[((c[c[m>>2]>>2]&3|0)==2?F:F+-32|0)+28>>2]|0)|0)){g=c[m>>2]|0;F=c[m>>2]|0;zi(c[((c[c[m>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0,c[((c[c[m>>2]>>2]&3|0)==3?F:F+32|0)+28>>2]|0,+(c[v>>2]|0),c[(c[(c[l>>2]|0)+8>>2]|0)+156>>2]|0)|0}F=c[n>>2]|0;g=c[n>>2]|0;c[v>>2]=~~(+(c[u>>2]|0)+ +h[(c[(c[((c[c[n>>2]>>2]&3|0)==3?F:F+32|0)+28>>2]|0)+8>>2]|0)+96>>3]+ +h[(c[(c[((c[c[n>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+88>>3]);g=c[n>>2]|0;F=c[n>>2]|0;if(!(aj(c[((c[c[n>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0,c[((c[c[n>>2]>>2]&3|0)==3?F:F+32|0)+28>>2]|0)|0)){g=c[n>>2]|0;F=c[n>>2]|0;zi(c[((c[c[n>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0,c[((c[c[n>>2]>>2]&3|0)==2?F:F+-32|0)+28>>2]|0,+(c[v>>2]|0),c[(c[(c[l>>2]|0)+8>>2]|0)+156>>2]|0)|0}}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[(c[B>>2]|0)+8>>2]|0)+188+4>>2]|0))break;c[l>>2]=c[(c[(c[(c[B>>2]|0)+8>>2]|0)+188>>2]|0)+(c[s>>2]<<2)>>2];g=c[l>>2]|0;F=c[l>>2]|0;a=c[c[l>>2]>>2]&3;if((c[(c[(c[((c[c[l>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)<(c[(c[(c[((c[c[l>>2]>>2]&3|0)==2?F:F+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)){F=c[l>>2]|0;c[A>>2]=c[((a|0)==3?F:F+32|0)+28>>2];F=c[l>>2]|0;c[p>>2]=c[((c[c[l>>2]>>2]&3|0)==2?F:F+-32|0)+28>>2]}else{F=c[l>>2]|0;c[A>>2]=c[((a|0)==2?F:F+-32|0)+28>>2];F=c[l>>2]|0;c[p>>2]=c[((c[c[l>>2]>>2]&3|0)==3?F:F+32|0)+28>>2]}h[D>>3]=+h[(c[(c[A>>2]|0)+8>>2]|0)+96>>3]+ +h[(c[(c[p>>2]|0)+8>>2]|0)+88>>3];f=+(_(e[(c[(c[l>>2]|0)+8>>2]|0)+170>>1]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+248>>2]|0)|0);c[u>>2]=~~(f+ +h[D>>3]);F=Zg(c[A>>2]|0,c[p>>2]|0)|0;c[m>>2]=F;if(!F){if(!(c[(c[(c[l>>2]|0)+8>>2]|0)+96>>2]|0))zi(c[A>>2]|0,c[p>>2]|0,+(c[u>>2]|0),c[(c[(c[l>>2]|0)+8>>2]|0)+156>>2]|0)|0}else{f=+h[(c[(c[l>>2]|0)+8>>2]|0)+136>>3];if(+(c[u>>2]|0)>+h[D>>3]+ +(c[(c[(c[k>>2]|0)+8>>2]|0)+248>>2]|0)+ +(~~(+h[(c[(c[l>>2]|0)+8>>2]|0)+136>>3]>=0.0?f+.5:f-.5)|0))f=+(c[u>>2]|0);else{f=+h[(c[(c[l>>2]|0)+8>>2]|0)+136>>3];f=+h[D>>3]+ +(c[(c[(c[k>>2]|0)+8>>2]|0)+248>>2]|0)+ +(~~(+h[(c[(c[l>>2]|0)+8>>2]|0)+136>>3]>=0.0?f+.5:f-.5)|0)}c[u>>2]=~~f;if((c[u>>2]|0)>65535)c[u>>2]=~~+Ji(+(c[u>>2]|0));if((e[(c[(c[m>>2]|0)+8>>2]|0)+170>>1]|0)>(c[u>>2]|0))a=e[(c[(c[m>>2]|0)+8>>2]|0)+170>>1]|0;else a=c[u>>2]|0;b[(c[(c[m>>2]|0)+8>>2]|0)+170>>1]=a;if((c[(c[(c[m>>2]|0)+8>>2]|0)+156>>2]|0)>(c[(c[(c[l>>2]|0)+8>>2]|0)+156>>2]|0))a=c[(c[(c[m>>2]|0)+8>>2]|0)+156>>2]|0;else a=c[(c[(c[l>>2]|0)+8>>2]|0)+156>>2]|0;c[(c[(c[m>>2]|0)+8>>2]|0)+156>>2]=a}c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}i=E;return}function Si(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();d=n+24|0;f=n+20|0;g=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;e=n;c[d>>2]=b;c[l>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[l>>2]|0))break;a:do if(c[(c[(c[l>>2]|0)+8>>2]|0)+256>>2]|0){c[f>>2]=0;while(1){b=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+256>>2]|0)+(c[f>>2]<<2)>>2]|0;c[e>>2]=b;if(!b)break a;c[m>>2]=jh(c[d>>2]|0)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+156>>0]=2;c[g>>2]=~~(+h[(c[(c[e>>2]|0)+8>>2]|0)+56>>3]-+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3]);if((c[g>>2]|0)>0)c[k>>2]=0;else{c[k>>2]=0-(c[g>>2]|0);c[g>>2]=0}p=c[e>>2]|0;zi(c[m>>2]|0,c[((c[c[e>>2]>>2]&3|0)==3?p:p+32|0)+28>>2]|0,+((c[g>>2]|0)+1|0),c[(c[(c[e>>2]|0)+8>>2]|0)+156>>2]|0)|0;p=c[e>>2]|0;zi(c[m>>2]|0,c[((c[c[e>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0,+((c[k>>2]|0)+1|0),c[(c[(c[e>>2]|0)+8>>2]|0)+156>>2]|0)|0;p=c[e>>2]|0;o=c[e>>2]|0;b=c[c[e>>2]>>2]&3;if(((c[(c[(c[((c[c[e>>2]>>2]&3|0)==3?p:p+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[g>>2]|0)-1|0)<((c[(c[(c[((c[c[e>>2]>>2]&3|0)==2?o:o+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[k>>2]|0)-1|0)){p=c[e>>2]|0;b=(c[(c[(c[((b|0)==3?p:p+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[g>>2]|0)|0}else{p=c[e>>2]|0;b=(c[(c[(c[((b|0)==2?p:p+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[k>>2]|0)|0}c[(c[(c[m>>2]|0)+8>>2]|0)+232>>2]=b-1;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[l>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+164>>2]}i=n;return}function Ti(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if((c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0)<=0){i=d;return}Xi(c[b>>2]|0);Yi(c[b>>2]|0);Zi(c[b>>2]|0);_i(c[b>>2]|0);i=d;return}function Ui(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();b=f+24|0;e=f+16|0;d=f;c[b>>2]=a;if((c[(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]|0)!=3){i=f;return}a=(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)+64|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];if(+h[d>>3]*+h[d+8>>3]<=1.0){i=f;return}Vi(c[b>>2]|0);if(!(c[(c[(c[b>>2]|0)+8>>2]|0)+116>>2]&1))h[e>>3]=+h[d>>3];else h[e>>3]=+h[d+8>>3];h[e>>3]=+h[e>>3]<65535.0?+h[e>>3]:65535.0;zi(c[(c[(c[b>>2]|0)+8>>2]|0)+256>>2]|0,c[(c[(c[b>>2]|0)+8>>2]|0)+260>>2]|0,+h[e>>3],1e3)|0;i=f;return}function Vi(a){a=a|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n;d=n+28|0;f=n+24|0;g=n+20|0;e=n+16|0;k=n+12|0;l=n+8|0;c[d>>2]=a;c[f>>2]=tO(c[d>>2]|0,c[13813]|0,8,0)|0;Wi(c[d>>2]|0);c[e>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+256>>2];c[k>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+260>>2];c[g>>2]=b[(c[(c[d>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[g>>2]|0)>(b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]|0))break;do if(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]|0){c[l>>2]=c[c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+4>>2]>>2];if(!(c[l>>2]|0)){o=MB(c[d>>2]|0)|0;a=c[g>>2]|0;c[m>>2]=o;c[m+4>>2]=a;pA(1,123939,m)|0;break}else{zi(c[e>>2]|0,c[l>>2]|0,+h[(c[(c[l>>2]|0)+8>>2]|0)+88>>3]+ +(c[f>>2]|0)+ +h[(c[(c[d>>2]|0)+8>>2]|0)+48+48>>3],0)|0;c[l>>2]=c[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+4>>2]|0)+((c[(c[(c[(c[d>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]|0)-1<<2)>>2];zi(c[l>>2]|0,c[k>>2]|0,+h[(c[(c[l>>2]|0)+8>>2]|0)+96>>3]+ +(c[f>>2]|0)+ +h[(c[(c[d>>2]|0)+8>>2]|0)+48+16>>3],0)|0;break}}while(0);c[g>>2]=(c[g>>2]|0)+1}i=n;return}function Wi(b){b=b|0;var d=0.0,e=0,f=0,g=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();e=l+12|0;f=l+8|0;g=l+4|0;k=l;c[e>>2]=b;if(c[(c[(c[e>>2]|0)+8>>2]|0)+256>>2]|0){i=l;return}c[f>>2]=jh(Nf(c[e>>2]|0)|0)|0;a[(c[(c[f>>2]|0)+8>>2]|0)+156>>0]=2;c[g>>2]=jh(Nf(c[e>>2]|0)|0)|0;a[(c[(c[g>>2]|0)+8>>2]|0)+156>>0]=2;if(((c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0)!=0?(b=c[e>>2]|0,(b|0)!=(Nf(c[e>>2]|0)|0)):0)?(c[(c[(HC(c[e>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)==0:0){b=(c[(c[e>>2]|0)+8>>2]|0)+48|0;if(+h[(c[(c[e>>2]|0)+8>>2]|0)+48>>3]>+h[(c[(c[e>>2]|0)+8>>2]|0)+48+32>>3])d=+h[b>>3];else d=+h[b+32>>3];c[k>>2]=~~d;zi(c[f>>2]|0,c[g>>2]|0,+(c[k>>2]|0),0)|0}c[(c[(c[e>>2]|0)+8>>2]|0)+256>>2]=c[f>>2];c[(c[(c[e>>2]|0)+8>>2]|0)+260>>2]=c[g>>2];i=l;return}function Xi(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;a=c[b>>2]|0;do if((a|0)!=(Nf(c[b>>2]|0)|0)){Vi(c[b>>2]|0);a=Zg(c[(c[(c[b>>2]|0)+8>>2]|0)+256>>2]|0,c[(c[(c[b>>2]|0)+8>>2]|0)+260>>2]|0)|0;c[e>>2]=a;if(a){a=(c[(c[e>>2]|0)+8>>2]|0)+156|0;c[a>>2]=(c[a>>2]|0)+128;break}else{zi(c[(c[(c[b>>2]|0)+8>>2]|0)+256>>2]|0,c[(c[(c[b>>2]|0)+8>>2]|0)+260>>2]|0,1.0,128)|0;break}}while(0);c[d>>2]=1;while(1){if((c[d>>2]|0)>(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0))break;Xi(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Yi(d){d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();e=p+24|0;g=p+20|0;f=p+16|0;l=p+12|0;k=p+8|0;m=p+4|0;n=p;c[e>>2]=d;c[k>>2]=tO(c[e>>2]|0,c[13813]|0,8,0)|0;c[l>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[l>>2]|0)>(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0))break;a:do if((c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)>>2]|0)!=0?(c[n>>2]=c[c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+4>>2]>>2],(c[n>>2]|0)!=0):0){c[g>>2]=(c[(c[(c[n>>2]|0)+8>>2]|0)+236>>2]|0)-1;while(1){if((c[g>>2]|0)<0)break;d=c[g>>2]|0;q=c[l>>2]|0;c[m>>2]=c[(c[(c[(c[(Nf(c[e>>2]|0)|0)+8>>2]|0)+196>>2]|0)+(q<<6)+4>>2]|0)+(d<<2)>>2];if(!(a[(c[(c[m>>2]|0)+8>>2]|0)+156>>0]|0)){o=9;break}if($i(c[e>>2]|0,c[m>>2]|0)|0){o=9;break}c[g>>2]=(c[g>>2]|0)+-1}if((o|0)==9){o=0;zi(c[m>>2]|0,c[(c[(c[e>>2]|0)+8>>2]|0)+256>>2]|0,+(c[k>>2]|0)+ +h[(c[(c[m>>2]|0)+8>>2]|0)+96>>3],0)|0}c[g>>2]=(c[(c[(c[n>>2]|0)+8>>2]|0)+236>>2]|0)+(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)>>2]|0);while(1){d=c[g>>2]|0;q=c[l>>2]|0;if((d|0)>=(c[(c[(c[(Nf(c[e>>2]|0)|0)+8>>2]|0)+196>>2]|0)+(q<<6)>>2]|0))break a;q=c[g>>2]|0;d=c[l>>2]|0;c[m>>2]=c[(c[(c[(c[(Nf(c[e>>2]|0)|0)+8>>2]|0)+196>>2]|0)+(d<<6)+4>>2]|0)+(q<<2)>>2];if(!(a[(c[(c[m>>2]|0)+8>>2]|0)+156>>0]|0))break;if($i(c[e>>2]|0,c[m>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}zi(c[(c[(c[e>>2]|0)+8>>2]|0)+260>>2]|0,c[m>>2]|0,+(c[k>>2]|0)+ +h[(c[(c[m>>2]|0)+8>>2]|0)+88>>3],0)|0}while(0);c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;Yi(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=p;return}function Zi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=tO(c[b>>2]|0,c[13813]|0,8,0)|0;Wi(c[b>>2]|0);c[d>>2]=1;while(1){if((c[d>>2]|0)>(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0))break;c[f>>2]=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+184>>2]|0)+(c[d>>2]<<2)>>2];Wi(c[f>>2]|0);zi(c[(c[(c[b>>2]|0)+8>>2]|0)+256>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+256>>2]|0,+(c[e>>2]|0)+ +h[(c[(c[b>>2]|0)+8>>2]|0)+48+48>>3],0)|0;zi(c[(c[(c[f>>2]|0)+8>>2]|0)+260>>2]|0,c[(c[(c[b>>2]|0)+8>>2]|0)+260>>2]|0,+(c[e>>2]|0)+ +h[(c[(c[b>>2]|0)+8>>2]|0)+48+16>>3],0)|0;Zi(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}i=g;return}function _i(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();d=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;k=o+16|0;e=o+12|0;h=o+8|0;m=o+4|0;n=o;c[d>>2]=a;c[l>>2]=tO(c[d>>2]|0,c[13813]|0,8,0)|0;c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0))break;Wi(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0))break;c[g>>2]=(c[f>>2]|0)+1;while(1){a=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2]|0;if((c[g>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0))break;c[k>>2]=a;c[e>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[g>>2]<<2)>>2];if((b[(c[(c[k>>2]|0)+8>>2]|0)+236>>1]|0)>(b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]|0)){c[n>>2]=c[k>>2];c[k>>2]=c[e>>2];c[e>>2]=c[n>>2]}if((b[(c[(c[k>>2]|0)+8>>2]|0)+238>>1]|0)>=(b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]|0)){if((c[(c[(c[c[(c[(c[(c[k>>2]|0)+8>>2]|0)+196>>2]|0)+(b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]<<6)+4>>2]>>2]|0)+8>>2]|0)+236>>2]|0)<(c[(c[(c[c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]<<6)+4>>2]>>2]|0)+8>>2]|0)+236>>2]|0)){c[h>>2]=c[k>>2];c[m>>2]=c[e>>2]}else{c[h>>2]=c[e>>2];c[m>>2]=c[k>>2]}zi(c[(c[(c[h>>2]|0)+8>>2]|0)+260>>2]|0,c[(c[(c[m>>2]|0)+8>>2]|0)+256>>2]|0,+(c[l>>2]|0),0)|0}c[g>>2]=(c[g>>2]|0)+1}_i(a);c[f>>2]=(c[f>>2]|0)+1}i=o;return}function $i(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;if((a[(c[(c[g>>2]|0)+8>>2]|0)+156>>0]|0)!=1){c[e>>2]=0;d=c[e>>2]|0;i=k;return d|0}c[h>>2]=c[c[(c[(c[g>>2]|0)+8>>2]|0)+256>>2]>>2];while(1){if(!(c[(c[(c[h>>2]|0)+8>>2]|0)+116>>2]|0))break;c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+116>>2]}d=c[h>>2]|0;if(QC(c[f>>2]|0,c[((c[c[h>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)|0){c[e>>2]=0;d=c[e>>2]|0;i=k;return d|0}d=c[h>>2]|0;if(QC(c[f>>2]|0,c[((c[c[h>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)|0){c[e>>2]=0;d=c[e>>2]|0;i=k;return d|0}else{c[e>>2]=1;d=c[e>>2]|0;i=k;return d|0}return 0}function aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=bj(c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();h=k+16|0;d=k+12|0;e=k+8|0;g=k+4|0;f=k;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==(c[e>>2]|0)){c[h>>2]=1;h=c[h>>2]|0;i=k;return h|0}c[g>>2]=0;while(1){b=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0)+(c[g>>2]<<2)>>2]|0;c[f>>2]=b;if(!b){d=8;break}b=c[f>>2]|0;if(bj(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,c[e>>2]|0)|0){d=6;break}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=k;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=k;return h|0}return 0}function cj(d){d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=d;c[h>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[h>>2]|0)>(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0))break;c[g>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0))break;c[k>>2]=c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[f>>2]<<2)>>2];c[(c[(c[k>>2]|0)+8>>2]|0)+236>>2]=c[g>>2];d=c[g>>2]|0;if((a[(c[(c[k>>2]|0)+8>>2]|0)+159>>0]|0)==6)c[g>>2]=d+(c[(c[(c[k>>2]|0)+8>>2]|0)+216>>2]|0);else c[g>>2]=d+1;c[f>>2]=(c[f>>2]|0)+1}if((c[g>>2]|0)>(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0)){if(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)d=tK(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0,(c[g>>2]|0)+1<<2)|0;else d=rK((c[g>>2]|0)+1<<2)|0;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]=d;c[f>>2]=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[k>>2]=c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[f>>2]<<2)>>2];c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[(c[(c[k>>2]|0)+8>>2]|0)+236>>2]<<2)>>2]=c[k>>2];c[f>>2]=(c[f>>2]|0)+-1}c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]=c[g>>2];c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[g>>2]<<2)>>2]=0}c[h>>2]=(c[h>>2]|0)+1}i=l;return}function dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+80|0;if((i|0)>=(j|0))ba();q=r+64|0;l=r+56|0;m=r+52|0;o=r+48|0;p=r+40|0;e=r+36|0;n=r+32|0;d=r+24|0;k=r+16|0;f=r+8|0;g=r;c[l>>2]=a;c[m>>2]=b;if((c[(c[(c[m>>2]|0)+8>>2]|0)+216>>2]|0)<=1){i=r;return}c[p>>2]=~~(+h[(c[(c[m>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[m>>2]|0)+8>>2]|0)+88>>3]);c[p+4>>2]=~~+h[(c[(c[m>>2]|0)+8>>2]|0)+16+8>>3];b=c[m>>2]|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];ej(d,b,q);c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];d=c[(c[m>>2]|0)+8>>2]|0;if((c[(c[(c[m>>2]|0)+8>>2]|0)+180+4>>2]|0)>0){g=c[c[(c[(c[m>>2]|0)+8>>2]|0)+180>>2]>>2]|0;c[e>>2]=c[((c[c[c[d+180>>2]>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2];c[o>>2]=(c[(c[(c[m>>2]|0)+8>>2]|0)+236>>2]|0)+1;c[n>>2]=fB(c[l>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;g=c[n>>2]|0;c[k>>2]=(c[c[n>>2]>>2]&3|0)==2?g:g+-32|0;g=c[k>>2]|0;if((c[((c[c[k>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)!=(c[m>>2]|0)?(g=c[k>>2]|0,g=AO(c[((c[c[k>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)|0,(g|0)==(c[m>>2]|0)):0){e=c[l>>2]|0;g=c[k>>2]|0;g=c[((c[c[k>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0;d=c[o>>2]|0;c[o>>2]=d+1;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];fj(f,e,g,q,d);c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];nh(c[k>>2]|0);d=c[k>>2]|0;d=(c[(c[((c[c[k>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)+8>>2]|0)+172|0;if(c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?c[k>>2]|0:(c[k>>2]|0)+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0){g=c[k>>2]|0;d=tK(c[d>>2]|0,(c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+172+4>>2]|0)+2<<2)|0}else d=rK((c[d+4>>2]|0)+2<<2)|0;b=c[k>>2]|0;c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]=d;b=c[k>>2]|0;e=c[k>>2]|0;e=(c[(c[((c[c[k>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+172+4|0;g=c[e>>2]|0;c[e>>2]=g+1;e=c[k>>2]|0;c[(c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0)+(g<<2)>>2]=b;g=c[k>>2]|0;e=c[k>>2]|0;c[(c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0)+(c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+172+4>>2]<<2)>>2]=0}c[n>>2]=gB(c[l>>2]|0,c[n>>2]|0)|0}i=r;return}else{k=c[c[(c[(c[m>>2]|0)+8>>2]|0)+172>>2]>>2]|0;c[e>>2]=c[((c[c[c[d+172>>2]>>2]>>2]&3|0)==3?k:k+32|0)+28>>2];c[o>>2]=(c[(c[(c[m>>2]|0)+8>>2]|0)+236>>2]|0)+1;c[n>>2]=cB(c[l>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;k=c[n>>2]|0;if((c[((c[c[n>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)!=(c[m>>2]|0)?(k=c[n>>2]|0,k=AO(c[((c[c[n>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)|0,(k|0)==(c[m>>2]|0)):0){f=c[l>>2]|0;k=c[n>>2]|0;k=c[((c[c[n>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0;d=c[o>>2]|0;c[o>>2]=d+1;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];fj(g,f,k,q,d);c[p>>2]=c[g>>2];c[p+4>>2]=c[g+4>>2];nh(c[n>>2]|0);d=c[n>>2]|0;d=(c[(c[((c[c[n>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+180|0;if(c[(c[(c[((c[c[n>>2]>>2]&3|0)==3?c[n>>2]|0:(c[n>>2]|0)+32|0)+28>>2]|0)+8>>2]|0)+180>>2]|0){k=c[n>>2]|0;d=tK(c[d>>2]|0,(c[(c[(c[((c[c[n>>2]>>2]&3|0)==3?k:k+32|0)+28>>2]|0)+8>>2]|0)+180+4>>2]|0)+2<<2)|0}else d=rK((c[d+4>>2]|0)+2<<2)|0;e=c[n>>2]|0;c[(c[(c[((c[c[n>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+180>>2]=d;e=c[n>>2]|0;f=c[n>>2]|0;f=(c[(c[((c[c[n>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+180+4|0;k=c[f>>2]|0;c[f>>2]=k+1;f=c[n>>2]|0;c[(c[(c[(c[((c[c[n>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+180>>2]|0)+(k<<2)>>2]=e;k=c[n>>2]|0;f=c[n>>2]|0;c[(c[(c[(c[((c[c[n>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+180>>2]|0)+(c[(c[(c[((c[c[n>>2]>>2]&3|0)==3?k:k+32|0)+28>>2]|0)+8>>2]|0)+180+4>>2]<<2)>>2]=0}c[n>>2]=eB(c[l>>2]|0,c[n>>2]|0)|0}i=r;return}}function ej(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[f>>2]=b;b=c[f>>2]|0;iP(b,c[(c[(GC(c[f>>2]|0)|0)+8>>2]|0)+116>>2]&1);h[(c[(c[f>>2]|0)+8>>2]|0)+16+8>>3]=+(c[d+4>>2]|0);h[(c[(c[f>>2]|0)+8>>2]|0)+16>>3]=+(c[d>>2]|0)+ +h[(c[(c[f>>2]|0)+8>>2]|0)+88>>3];g=+(c[d>>2]|0)+ +h[(c[(c[f>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[f>>2]|0)+8>>2]|0)+96>>3];c[d>>2]=~~(g+ +(c[(c[(GC(c[f>>2]|0)|0)+8>>2]|0)+248>>2]|0));c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];i=e;return}function fj(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,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();l=n+24|0;o=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;k=n;c[o>>2]=b;c[g>>2]=d;c[h>>2]=f;c[k>>2]=Nf(c[o>>2]|0)|0;c[m>>2]=AO(c[g>>2]|0)|0;if((c[g>>2]|0)!=(c[m>>2]|0))hh(c[m>>2]|0,c[g>>2]|0);c[(c[(c[g>>2]|0)+8>>2]|0)+236>>2]=c[h>>2];c[(c[(c[g>>2]|0)+8>>2]|0)+232>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+232>>2];c[(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+196>>2]|0)+(c[(c[(c[g>>2]|0)+8>>2]|0)+232>>2]<<6)+4>>2]|0)+(c[(c[(c[g>>2]|0)+8>>2]|0)+236>>2]<<2)>>2]=c[g>>2];o=c[g>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];ej(a,o,l);i=n;return}function gj(a){a=a|0;var d=0.0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();m=p+36|0;e=p+32|0;l=p+8|0;f=p;k=p+28|0;o=p+24|0;g=p+20|0;n=p+16|0;c[m>>2]=a;c[o>>2]=c[(c[(Nf(c[m>>2]|0)|0)+8>>2]|0)+196>>2];c[n>>2]=0;a=c[m>>2]|0;if((a|0)==(Nf(c[m>>2]|0)|0))c[g>>2]=8;else c[g>>2]=tO(c[m>>2]|0,c[13813]|0,8,0)|0;h[l>>3]=+h[(c[(c[m>>2]|0)+8>>2]|0)+120>>3];h[f>>3]=+h[(c[(c[m>>2]|0)+8>>2]|0)+128>>3];c[e>>2]=1;while(1){if((c[e>>2]|0)>(c[(c[(c[m>>2]|0)+8>>2]|0)+180>>2]|0))break;c[k>>2]=c[(c[(c[(c[m>>2]|0)+8>>2]|0)+184>>2]|0)+(c[e>>2]<<2)>>2];a=gj(c[k>>2]|0)|0;c[n>>2]=c[n>>2]|a;if((b[(c[(c[k>>2]|0)+8>>2]|0)+238>>1]|0)==(b[(c[(c[m>>2]|0)+8>>2]|0)+238>>1]|0)){if(+h[l>>3]>+h[(c[(c[k>>2]|0)+8>>2]|0)+120>>3]+ +(c[g>>2]|0))d=+h[l>>3];else d=+h[(c[(c[k>>2]|0)+8>>2]|0)+120>>3]+ +(c[g>>2]|0);h[l>>3]=d}if((b[(c[(c[k>>2]|0)+8>>2]|0)+236>>1]|0)==(b[(c[(c[m>>2]|0)+8>>2]|0)+236>>1]|0)){if(+h[f>>3]>+h[(c[(c[k>>2]|0)+8>>2]|0)+128>>3]+ +(c[g>>2]|0))d=+h[f>>3];else d=+h[(c[(c[k>>2]|0)+8>>2]|0)+128>>3]+ +(c[g>>2]|0);h[f>>3]=d}c[e>>2]=(c[e>>2]|0)+1}k=c[m>>2]|0;if(((k|0)!=(Nf(c[m>>2]|0)|0)?(c[(c[(c[m>>2]|0)+8>>2]|0)+12>>2]|0)!=0:0)?(c[n>>2]=1,(c[(c[(HC(c[m>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)==0):0){h[l>>3]=+h[l>>3]+ +h[(c[(c[m>>2]|0)+8>>2]|0)+48+8>>3];h[f>>3]=+h[f>>3]+ +h[(c[(c[m>>2]|0)+8>>2]|0)+48+32+8>>3]}h[(c[(c[m>>2]|0)+8>>2]|0)+120>>3]=+h[l>>3];h[(c[(c[m>>2]|0)+8>>2]|0)+128>>3]=+h[f>>3];k=c[m>>2]|0;if((k|0)==(Nf(c[m>>2]|0)|0)){o=c[n>>2]|0;i=p;return o|0}if(+h[(c[o>>2]|0)+(b[(c[(c[m>>2]|0)+8>>2]|0)+236>>1]<<6)+24>>3]>+h[f>>3])d=+h[(c[o>>2]|0)+(b[(c[(c[m>>2]|0)+8>>2]|0)+236>>1]<<6)+24>>3];else d=+h[f>>3];h[(c[o>>2]|0)+(b[(c[(c[m>>2]|0)+8>>2]|0)+236>>1]<<6)+24>>3]=d;if(+h[(c[o>>2]|0)+(b[(c[(c[m>>2]|0)+8>>2]|0)+238>>1]<<6)+16>>3]>+h[l>>3])d=+h[(c[o>>2]|0)+(b[(c[(c[m>>2]|0)+8>>2]|0)+238>>1]<<6)+16>>3];else d=+h[l>>3];h[(c[o>>2]|0)+(b[(c[(c[m>>2]|0)+8>>2]|0)+238>>1]<<6)+16>>3]=d;o=c[n>>2]|0;i=p;return o|0}function hj(a,d){a=a|0;d=d|0;var e=0.0,f=0,g=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;v=i;i=i+80|0;if((i|0)>=(j|0))ba();t=v+68|0;l=v+64|0;p=v+32|0;s=v+24|0;q=v+60|0;r=v+56|0;g=v+52|0;f=v+48|0;m=v+16|0;n=v+8|0;o=v;u=v+44|0;k=v+40|0;c[t>>2]=a;c[l>>2]=d;c[u>>2]=c[(c[(Nf(c[t>>2]|0)|0)+8>>2]|0)+196>>2];d=c[t>>2]|0;if((d|0)==(Nf(c[t>>2]|0)|0))c[g>>2]=0;else c[g>>2]=tO(c[t>>2]|0,c[13813]|0,8,0)|0;h[n>>3]=+h[(c[(c[t>>2]|0)+8>>2]|0)+120>>3];h[o>>3]=+h[(c[(c[t>>2]|0)+8>>2]|0)+128>>3];c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[(c[(c[t>>2]|0)+8>>2]|0)+180>>2]|0))break;c[k>>2]=c[(c[(c[(c[t>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2];hj(c[k>>2]|0,(c[g>>2]|0)+(c[l>>2]|0)|0);if((b[(c[(c[k>>2]|0)+8>>2]|0)+238>>1]|0)==(b[(c[(c[t>>2]|0)+8>>2]|0)+238>>1]|0)){if(+h[n>>3]>+h[(c[(c[k>>2]|0)+8>>2]|0)+120>>3]+ +(c[g>>2]|0))e=+h[n>>3];else e=+h[(c[(c[k>>2]|0)+8>>2]|0)+120>>3]+ +(c[g>>2]|0);h[n>>3]=e}if((b[(c[(c[k>>2]|0)+8>>2]|0)+236>>1]|0)==(b[(c[(c[t>>2]|0)+8>>2]|0)+236>>1]|0)){if(+h[o>>3]>+h[(c[(c[k>>2]|0)+8>>2]|0)+128>>3]+ +(c[g>>2]|0))e=+h[o>>3];else e=+h[(c[(c[k>>2]|0)+8>>2]|0)+128>>3]+ +(c[g>>2]|0);h[o>>3]=e}c[f>>2]=(c[f>>2]|0)+1}h[(c[(c[t>>2]|0)+8>>2]|0)+120>>3]=+h[n>>3];h[(c[(c[t>>2]|0)+8>>2]|0)+128>>3]=+h[o>>3];g=c[t>>2]|0;if((g|0)!=(Nf(c[t>>2]|0)|0)?(c[(c[(c[t>>2]|0)+8>>2]|0)+12>>2]|0)!=0:0){a=(c[(c[t>>2]|0)+8>>2]|0)+48|0;if(+h[(c[(c[t>>2]|0)+8>>2]|0)+48+48+8>>3]>+h[(c[(c[t>>2]|0)+8>>2]|0)+48+16+8>>3])e=+h[a+48+8>>3];else e=+h[a+16+8>>3];h[p>>3]=e;c[q>>2]=b[(c[(c[t>>2]|0)+8>>2]|0)+238>>1];c[r>>2]=b[(c[(c[t>>2]|0)+8>>2]|0)+236>>1];h[s>>3]=+h[(c[(c[c[(c[u>>2]|0)+(c[r>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[c[(c[u>>2]|0)+(c[q>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8>>3];h[m>>3]=+h[p>>3]-(+h[s>>3]+ +h[n>>3]+ +h[o>>3]);if(+h[m>>3]>0.0)ij(c[t>>2]|0,~~+h[m>>3],c[l>>2]|0)}s=c[t>>2]|0;if((s|0)==(Nf(c[t>>2]|0)|0)){i=v;return}a=c[(c[t>>2]|0)+8>>2]|0;if(+h[(c[u>>2]|0)+(b[(c[(c[t>>2]|0)+8>>2]|0)+236>>1]<<6)+24>>3]>+h[(c[(c[t>>2]|0)+8>>2]|0)+128>>3])e=+h[(c[u>>2]|0)+(b[a+236>>1]<<6)+24>>3];else e=+h[a+128>>3];h[(c[u>>2]|0)+(b[(c[(c[t>>2]|0)+8>>2]|0)+236>>1]<<6)+24>>3]=e;a=c[(c[t>>2]|0)+8>>2]|0;if(+h[(c[u>>2]|0)+(b[(c[(c[t>>2]|0)+8>>2]|0)+238>>1]<<6)+16>>3]>+h[(c[(c[t>>2]|0)+8>>2]|0)+120>>3])e=+h[(c[u>>2]|0)+(b[a+238>>1]<<6)+16>>3];else e=+h[a+120>>3];h[(c[u>>2]|0)+(b[(c[(c[t>>2]|0)+8>>2]|0)+238>>1]<<6)+16>>3]=e;i=v;return}function ij(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();f=t+40|0;g=t+36|0;k=t+32|0;q=t+28|0;l=t+24|0;n=t+20|0;m=t+16|0;s=t+12|0;r=t+8|0;o=t+4|0;p=t;c[f>>2]=a;c[g>>2]=d;c[k>>2]=e;c[s>>2]=Nf(c[f>>2]|0)|0;c[r>>2]=c[(c[(c[s>>2]|0)+8>>2]|0)+196>>2];c[o>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1];c[p>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1];c[l>>2]=((c[g>>2]|0)+1|0)/2|0;c[m>>2]=~~(+h[(c[(c[f>>2]|0)+8>>2]|0)+120>>3]+ +(c[l>>2]|0)-(+h[(c[r>>2]|0)+(c[o>>2]<<6)+16>>3]-+(c[k>>2]|0)));if((c[m>>2]|0)>0){c[q>>2]=c[o>>2];while(1){if((c[q>>2]|0)<(c[p>>2]|0))break;if((c[(c[r>>2]|0)+(c[q>>2]<<6)>>2]|0)>0){o=(c[(c[c[(c[r>>2]|0)+(c[q>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8|0;h[o>>3]=+h[o>>3]+ +(c[m>>2]|0)}c[q>>2]=(c[q>>2]|0)+-1}c[n>>2]=~~(+h[(c[(c[f>>2]|0)+8>>2]|0)+128>>3]+ +((c[g>>2]|0)-(c[l>>2]|0)|0)+ +(c[m>>2]|0)-(+h[(c[r>>2]|0)+(c[p>>2]<<6)+24>>3]-+(c[k>>2]|0)))}else c[n>>2]=~~(+h[(c[(c[f>>2]|0)+8>>2]|0)+128>>3]+ +((c[g>>2]|0)-(c[l>>2]|0)|0)-(+h[(c[r>>2]|0)+(c[p>>2]<<6)+24>>3]-+(c[k>>2]|0)));if((c[n>>2]|0)<=0){r=c[g>>2]|0;s=c[l>>2]|0;s=r-s|0;u=+(s|0);s=c[f>>2]|0;s=s+8|0;s=c[s>>2]|0;s=s+128|0;v=+h[s>>3];u=v+u;h[s>>3]=u;s=c[l>>2]|0;u=+(s|0);s=c[f>>2]|0;s=s+8|0;s=c[s>>2]|0;s=s+120|0;v=+h[s>>3];u=v+u;h[s>>3]=u;i=t;return}c[q>>2]=(c[p>>2]|0)-1;while(1){if((c[q>>2]|0)<(b[(c[(c[s>>2]|0)+8>>2]|0)+236>>1]|0))break;if((c[(c[r>>2]|0)+(c[q>>2]<<6)>>2]|0)>0){p=(c[(c[c[(c[r>>2]|0)+(c[q>>2]<<6)+4>>2]>>2]|0)+8>>2]|0)+16+8|0;h[p>>3]=+h[p>>3]+ +(c[n>>2]|0)}c[q>>2]=(c[q>>2]|0)+-1}r=c[g>>2]|0;s=c[l>>2]|0;s=r-s|0;v=+(s|0);s=c[f>>2]|0;s=s+8|0;s=c[s>>2]|0;s=s+128|0;u=+h[s>>3];v=u+v;h[s>>3]=v;s=c[l>>2]|0;v=+(s|0);s=c[f>>2]|0;s=s+8|0;s=c[s>>2]|0;s=s+120|0;u=+h[s>>3];v=u+v;h[s>>3]=v;i=t;return}function jj(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[e>>2]=0;b[(c[(c[d>>2]|0)+8>>2]|0)+236>>1]=32767;b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]=-1;c[f>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;if((b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]|0)<(c[(c[(c[f>>2]|0)+8>>2]|0)+232>>2]|0))b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]=c[(c[(c[f>>2]|0)+8>>2]|0)+232>>2];if((b[(c[(c[d>>2]|0)+8>>2]|0)+236>>1]|0)>(c[(c[(c[f>>2]|0)+8>>2]|0)+232>>2]|0))b[(c[(c[d>>2]|0)+8>>2]|0)+236>>1]=c[(c[(c[f>>2]|0)+8>>2]|0)+232>>2];a=c[f>>2]|0;if(c[e>>2]|0){if((c[(c[a+8>>2]|0)+232>>2]|0)<(c[(c[(c[e>>2]|0)+8>>2]|0)+232>>2]|0))c[e>>2]=c[f>>2]}else c[e>>2]=a;c[f>>2]=qC(c[d>>2]|0,c[f>>2]|0)|0}c[(c[(c[d>>2]|0)+8>>2]|0)+264>>2]=c[e>>2];i=g;return}function kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0.0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2147483647;a=OA(c[b>>2]|0,123984)|0;c[f>>2]=a;if(a){h=+M3(c[f>>2]|0);c[e>>2]=~~(h*+(AB(c[b>>2]|0)|0))}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[(c[b>>2]|0)+8>>2]|0)+216+4>>2]|0))break;c[(c[(c[b>>2]|0)+8>>2]|0)+192>>2]=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+216>>2]|0)+(c[d>>2]<<2)>>2];vK(c[b>>2]|0,(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0)==0?1:0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=g;return}function lj(d,f){d=d|0;f=f|0;var g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();k=l;g=l+12|0;h=l+8|0;c[g>>2]=d;c[h>>2]=f;d=(OA(c[g>>2]|0,123993)|0)!=0;f=c[g>>2]|0;if(d){d=(c[f+8>>2]|0)+136|0;b[d>>1]=e[d>>1]|16;nj(c[g>>2]|0,c[h>>2]|0)}else oj(f,c[h>>2]|0);if(!(a[139078]|0)){i=l;return}h=c[24742]|0;d=b[(c[(c[g>>2]|0)+8>>2]|0)+236>>1]|0;c[k>>2]=b[(c[(c[g>>2]|0)+8>>2]|0)+238>>1];c[k+4>>2]=d;p3(h,124001,k)|0;i=l;return}function mj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=(g4(MB(c[d>>2]|0)|0,145693,7)|0)==0&1;i=b;return a|0}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();n=m+28|0;d=m+24|0;e=m+20|0;l=m+16|0;h=m+12|0;g=m+8|0;k=m+4|0;f=m;c[d>>2]=a;c[e>>2]=b;c[g>>2]=2147483647;c[12579]=0;c[n>>2]=c[13066];c[f>>2]=wB(124211,n,0)|0;aD(c[f>>2]|0,124240,280,1)|0;OC(c[f>>2]|0,50320,50256);pj(c[d>>2]|0);a=OA(c[d>>2]|0,123984)|0;c[k>>2]=a;if(a){o=+M3(c[k>>2]|0);c[g>>2]=~~(o*+(AB(c[d>>2]|0)|0))}else c[g>>2]=2147483647;Ej(c[d>>2]|0,0);Fj(c[d>>2]|0,c[f>>2]|0);Gj(c[d>>2]|0,c[f>>2]|0);Hj(c[d>>2]|0,c[f>>2]|0,0,0);Ij(c[f>>2]|0);c[h>>2]=Jj(c[f>>2]|0)|0;Kj(c[f>>2]|0);if(c[e>>2]|0){ok(c[f>>2]|0);mk(c[f>>2]|0)}n=OA(c[d>>2]|0,140122)|0;c[k>>2]=n;if(n){c[l>>2]=N3(c[k>>2]|0)|0;a=c[f>>2]|0;n=c[g>>2]|0;k=c[l>>2]|0;uK(a,1,n,k)|0;k=c[d>>2]|0;l=c[f>>2]|0;n=c[h>>2]|0;Lj(k,l,n);n=c[f>>2]|0;zB(n)|0;i=m;return}else{c[l>>2]=-1;a=c[f>>2]|0;n=c[g>>2]|0;k=c[l>>2]|0;uK(a,1,n,k)|0;k=c[d>>2]|0;l=c[f>>2]|0;n=c[h>>2]|0;Lj(k,l,n);n=c[f>>2]|0;zB(n)|0;i=m;return}}function oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+24|0;g=k+20|0;h=k+16|0;e=k+8|0;d=k;c[g>>2]=a;c[h>>2]=b;pj(c[g>>2]|0);if(c[h>>2]|0){ok(c[g>>2]|0);mk(c[g>>2]|0)}qj(c[g>>2]|0,c[g>>2]|0);Bk(c[g>>2]|0);rj(d,c[g>>2]|0);c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];ul(c[g>>2]|0,0);do if(c[h>>2]|0){if((c[(c[(c[g>>2]|0)+8>>2]|0)+216+4>>2]|0)<=1?(c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]|0)<=0:0)break;c[(c[h>>2]|0)+32>>2]=1;c[h>>2]=0}while(0);jk(c[g>>2]|0);a=c[g>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];if(sj(a,f)|0)ul(c[g>>2]|0,0);d=c[g>>2]|0;if(c[h>>2]|0){nk(d,c[h>>2]|0);f=c[g>>2]|0;h=c[h>>2]|0;tj(f,h);h=c[g>>2]|0;uj(h);i=k;return}else{kj(d);f=c[g>>2]|0;h=c[h>>2]|0;tj(f,h);h=c[g>>2]|0;uj(h);i=k;return}}function pj(a){a=a|0;var f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k+8|0;h=k+4|0;g=k;c[f>>2]=a;if(!((d[(c[(c[f>>2]|0)+8>>2]|0)+113>>0]|0)&1)){i=k;return}c[h>>2]=pC(c[f>>2]|0)|0;while(1){a=c[f>>2]|0;if(!(c[h>>2]|0))break;c[g>>2]=cB(a,c[h>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;a=(c[(c[g>>2]|0)+8>>2]|0)+170|0;b[a>>1]=(e[a>>1]|0)<<1;c[g>>2]=eB(c[f>>2]|0,c[g>>2]|0)|0}c[h>>2]=qC(c[f>>2]|0,c[h>>2]|0)|0}c[(c[(c[f>>2]|0)+8>>2]|0)+252>>2]=((c[(c[a+8>>2]|0)+252>>2]|0)+1|0)/2|0;i=k;return}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=vD(c[h>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[e>>2]=Cj(c[f>>2]|0)|0;do if(c[e>>2]|0){a=c[d>>2]|0;b=c[f>>2]|0;if((c[e>>2]|0)==7&(c[13797]|0)==100){yj(a,b);break}else{Dj(a,b,c[e>>2]|0);break}}else qj(c[d>>2]|0,c[f>>2]|0);while(0);c[f>>2]=wD(c[f>>2]|0)|0}i=g;return}function rj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+16|0;g=k+12|0;f=k+8|0;h=k;c[e>>2]=d;c[h+4>>2]=0;c[h>>2]=0;if((c[(c[(c[e>>2]|0)+8>>2]|0)+228>>2]|0)==0?(c[(c[(c[e>>2]|0)+8>>2]|0)+224>>2]|0)==0:0){c[b>>2]=c[h>>2];c[b+4>>2]=c[h+4>>2];i=k;return}if(c[(c[(c[e>>2]|0)+8>>2]|0)+224>>2]|0){d=AO(c[(c[(c[e>>2]|0)+8>>2]|0)+224>>2]|0)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+224>>2]=d}if(c[(c[(c[e>>2]|0)+8>>2]|0)+228>>2]|0){d=AO(c[(c[(c[e>>2]|0)+8>>2]|0)+228>>2]|0)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+228>>2]=d}d=c[(c[(c[e>>2]|0)+8>>2]|0)+228>>2]|0;c[g>>2]=d;a:do if(d){c[h+4>>2]=(a[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+228>>2]|0)+8>>2]|0)+159>>0]|0)==5&1;while(1){d=c[c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]>>2]|0;c[f>>2]=d;if(!d)break a;l=c[f>>2]|0;l=c[((c[c[f>>2]>>2]&3|0)==2?l:l+-32|0)+28>>2]|0;d=c[f>>2]|0;if((l|0)!=(AO(c[((c[c[f>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)|0))break;ik(c[f>>2]|0)}db(124104,124044,346,124136)}while(0);l=c[(c[(c[e>>2]|0)+8>>2]|0)+224>>2]|0;c[g>>2]=l;b:do if(l){c[h>>2]=(a[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+224>>2]|0)+8>>2]|0)+159>>0]|0)==3&1;while(1){l=c[c[(c[(c[g>>2]|0)+8>>2]|0)+172>>2]>>2]|0;c[f>>2]=l;if(!l)break b;d=c[f>>2]|0;d=c[((c[c[f>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0;l=c[f>>2]|0;if((d|0)!=(AO(c[((c[c[f>>2]>>2]&3|0)==3?l:l+32|0)+28>>2]|0)|0))break;ik(c[f>>2]|0)}db(124149,124044,353,124136)}while(0);c[b>>2]=c[h>>2];c[b+4>>2]=c[h+4>>2];i=k;return}function sj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;g=h+4|0;f=h;c[e>>2]=a;c[f>>2]=0;if((c[(c[(c[e>>2]|0)+8>>2]|0)+228>>2]|0)==0?(c[(c[(c[e>>2]|0)+8>>2]|0)+224>>2]|0)==0:0){d=c[f>>2]|0;d=(d|0)!=0;d=d&1;i=h;return d|0}c[g>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;a=c[g>>2]|0;if((a|0)==(AO(c[g>>2]|0)|0)){if(((c[(c[(c[g>>2]|0)+8>>2]|0)+180+4>>2]|0)==0?(c[(c[(c[e>>2]|0)+8>>2]|0)+228>>2]|0)!=0:0)?(c[g>>2]|0)!=(c[(c[(c[e>>2]|0)+8>>2]|0)+228>>2]|0):0){c[f>>2]=fh(c[g>>2]|0,c[(c[(c[e>>2]|0)+8>>2]|0)+228>>2]|0,0)|0;b[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]=c[d+4>>2];c[(c[(c[f>>2]|0)+8>>2]|0)+156>>2]=0}if(((c[(c[(c[g>>2]|0)+8>>2]|0)+172+4>>2]|0)==0?(c[(c[(c[e>>2]|0)+8>>2]|0)+224>>2]|0)!=0:0)?(c[g>>2]|0)!=(c[(c[(c[e>>2]|0)+8>>2]|0)+224>>2]|0):0){c[f>>2]=fh(c[(c[(c[e>>2]|0)+8>>2]|0)+224>>2]|0,c[g>>2]|0,0)|0;b[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]=c[d>>2];c[(c[(c[f>>2]|0)+8>>2]|0)+156>>2]=0}}c[g>>2]=qC(c[e>>2]|0,c[g>>2]|0)|0}d=c[f>>2]|0;d=(d|0)!=0;d=d&1;i=h;return d|0}function tj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;k=m;c[f>>2]=d;c[g>>2]=e;d=pC(c[f>>2]|0)|0;c[l>>2]=d;e=c[(c[f>>2]|0)+8>>2]|0;if(!d){b[e+238>>1]=0;b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1]=0;i=m;return}b[e+236>>1]=32767;b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]=-1;while(1){if(!(c[l>>2]|0))break;c[k>>2]=AO(c[l>>2]|0)|0;do if((c[k>>2]|0)!=(c[l>>2]|0)){if((c[g>>2]|0)!=0?(c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0)!=0:0)break;d=(c[(c[l>>2]|0)+8>>2]|0)+232|0;c[d>>2]=(c[d>>2]|0)+(c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2]|0)}while(0);if((b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0)<(c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0))b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]=c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2];if((b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1]|0)>(c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0))b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1]=c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2];if((a[(c[(c[l>>2]|0)+8>>2]|0)+159>>0]|0)!=0?(a[(c[(c[l>>2]|0)+8>>2]|0)+159>>0]|0)!=6:0)CO(c[l>>2]|0);c[l>>2]=qC(c[f>>2]|0,c[l>>2]|0)|0}l=c[f>>2]|0;if((l|0)!=(Nf(c[f>>2]|0)|0)){i=m;return}if((c[13797]|0)!=100){xj(c[f>>2]|0);i=m;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>(c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]|0))break;wj(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+184>>2]|0)+(c[h>>2]<<2)>>2]|0);c[h>>2]=(c[h>>2]|0)+1}i=m;return}function uj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+28|0;l=n+24|0;f=n+20|0;h=n+16|0;d=n+12|0;g=n+8|0;k=n+4|0;m=n;c[e>>2]=b;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[(c[e>>2]|0)+8>>2]|0)+216+4>>2]|0))break;c[(c[(c[e>>2]|0)+8>>2]|0)+192>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+216>>2]|0)+(c[d>>2]<<2)>>2];c[l>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[l>>2]|0))break;vj((c[(c[l>>2]|0)+8>>2]|0)+172|0);vj((c[(c[l>>2]|0)+8>>2]|0)+180|0);a[(c[(c[l>>2]|0)+8>>2]|0)+157>>0]=0;c[l>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+164>>2]}c[d>>2]=(c[d>>2]|0)+1}c[l>>2]=pC(c[e>>2]|0)|0;while(1){d=c[e>>2]|0;if(!(c[l>>2]|0))break;c[f>>2]=cB(d,c[l>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2];if((c[h>>2]|0)!=0?(c[f>>2]|0)==(c[(c[(c[h>>2]|0)+8>>2]|0)+116>>2]|0):0){c[m>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;c[g>>2]=cB(c[e>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;if(((c[f>>2]|0)!=(c[g>>2]|0)?(c[k>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+172>>2],(c[k>>2]|0)!=0):0)?(c[h>>2]|0)==(c[k>>2]|0):0)c[(c[(c[g>>2]|0)+8>>2]|0)+172>>2]=0;c[g>>2]=eB(c[e>>2]|0,c[g>>2]|0)|0}c[m>>2]=qC(c[e>>2]|0,c[m>>2]|0)|0}B1(c[(c[h>>2]|0)+8>>2]|0);B1(c[h>>2]|0)}c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]=0;c[f>>2]=eB(c[e>>2]|0,c[f>>2]|0)|0}c[l>>2]=qC(c[e>>2]|0,c[l>>2]|0)|0}B1(c[(c[d+8>>2]|0)+216>>2]|0);c[(c[(c[e>>2]|0)+8>>2]|0)+216>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+216+4>>2]=0;i=n;return}function vj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];while(1){if((c[d>>2]|0)<0)break;c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]=0;c[d>>2]=(c[d>>2]|0)+-1}c[(c[b>>2]|0)+4>>2]=0;i=e;return}function wj(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;a=(c[(c[d>>2]|0)+8>>2]|0)+236|0;b[a>>1]=(b[a>>1]|0)+(c[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+264>>2]|0)+8>>2]|0)+232>>2]|0);a=(c[(c[d>>2]|0)+8>>2]|0)+238|0;b[a>>1]=(b[a>>1]|0)+(c[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+264>>2]|0)+8>>2]|0)+232>>2]|0);c[e>>2]=1;while(1){if((c[e>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0))break;wj(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=f;return}function xj(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=vD(Nf(c[d>>2]|0)|0)|0;while(1){if(!(c[e>>2]|0))break;if((a[(c[(c[e>>2]|0)+8>>2]|0)+274>>0]|0)==7)yj(c[d>>2]|0,c[e>>2]|0);c[e>>2]=wD(c[e>>2]|0)|0}i=f;return}function yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[(c[e>>2]|0)+8>>2]|0)+200>>2]|0){i=f;return}c[(c[(c[e>>2]|0)+8>>2]|0)+200>>2]=c[d>>2];zj(c[d>>2]|0,c[e>>2]|0);if(!(pC(c[e>>2]|0)|0)){i=f;return}Aj(c[d>>2]|0,c[e>>2]|0)|0;d=c[e>>2]|0;if((c[13797]|0)==100){oj(d,0);Bj(c[e>>2]|0);i=f;return}else{jj(d);i=f;return}}function zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;h=m+16|0;l=m+12|0;g=m+8|0;k=m+4|0;f=m;c[e>>2]=b;c[h>>2]=d;c[l>>2]=pC(c[h>>2]|0)|0;while(1){d=c[h>>2]|0;if(!(c[l>>2]|0))break;c[g>>2]=qC(d,c[l>>2]|0)|0;if(a[(c[(c[l>>2]|0)+8>>2]|0)+159>>0]|0)FC(c[h>>2]|0,c[l>>2]|0)|0;else{c[f>>2]=1;while(1){if((c[f>>2]|0)>=(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;if(QC(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2]|0,c[l>>2]|0)|0)break;c[f>>2]=(c[f>>2]|0)+1}if((c[f>>2]|0)<(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))FC(c[h>>2]|0,c[l>>2]|0)|0;c[(c[(c[l>>2]|0)+8>>2]|0)+212>>2]=0}c[l>>2]=c[g>>2]}c[l>>2]=pC(d)|0;while(1){if(!(c[l>>2]|0))break;g=Nf(c[h>>2]|0)|0;c[k>>2]=cB(g,c[l>>2]|0)|0;while(1){d=c[h>>2]|0;if(!(c[k>>2]|0))break;g=c[k>>2]|0;if(QC(d,c[((c[c[k>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)|0)mB(c[h>>2]|0,c[k>>2]|0,1)|0;g=Nf(c[h>>2]|0)|0;c[k>>2]=eB(g,c[k>>2]|0)|0}c[l>>2]=qC(d,c[l>>2]|0)|0}i=m;return}function Aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;a=(c[(c[d>>2]|0)+8>>2]|0)+180|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;if(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)a=sK(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0,(c[f>>2]|0)+1|0,4,c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0)|0;else a=qK((c[f>>2]|0)+1<<2)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]=a;c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];_J(c[e>>2]|0);i=g;return c[f>>2]|0}function Bj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=b;c[f>>2]=0;c[e>>2]=0;c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;if((c[(c[(c[g>>2]|0)+8>>2]|0)+232>>2]|0)==0?(a[(c[(c[g>>2]|0)+8>>2]|0)+156>>0]|0)==0:0)c[e>>2]=c[g>>2];if((c[f>>2]|0)<(c[(c[(c[g>>2]|0)+8>>2]|0)+232>>2]|0))c[f>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+232>>2];c[g>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+164>>2]}if(!(c[e>>2]|0))db(124029,124044,238,124051);c[(c[(c[d>>2]|0)+8>>2]|0)+264>>2]=c[e>>2];c[g>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[g>>2]|0)){d=17;break}if((c[(c[(c[g>>2]|0)+8>>2]|0)+216>>2]|0)>1?(c[g>>2]|0)!=(c[e>>2]|0):0){d=15;break}BO(c[g>>2]|0,c[e>>2]|0)|0;a[(c[(c[g>>2]|0)+8>>2]|0)+159>>0]=7;c[g>>2]=qC(c[d>>2]|0,c[g>>2]|0)|0}if((d|0)==15)db(124066,124044,242,124051);else if((d|0)==17){i=h;return}}function Cj(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(mj(c[e>>2]|0)|0){c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}else{c[f>>2]=IO(OA(c[e>>2]|0,124181)|0,50268,50292)|0;a[(c[(c[e>>2]|0)+8>>2]|0)+274>>0]=c[f>>2];c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}return 0}function Dj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;d=pC(c[g>>2]|0)|0;c[l>>2]=d;c[k>>2]=d;if(!(c[k>>2]|0)){i=m;return}a[(c[(c[k>>2]|0)+8>>2]|0)+159>>0]=c[h>>2];while(1){d=qC(c[g>>2]|0,c[l>>2]|0)|0;c[l>>2]=d;if(!d)break;BO(c[k>>2]|0,c[l>>2]|0)|0;a[(c[(c[l>>2]|0)+8>>2]|0)+159>>0]=a[(c[(c[k>>2]|0)+8>>2]|0)+159>>0]|0}a:do switch(c[h>>2]|0){case 3:case 2:if(!(c[(c[(c[f>>2]|0)+8>>2]|0)+224>>2]|0)){c[(c[(c[f>>2]|0)+8>>2]|0)+224>>2]=c[k>>2];break a}else{l=BO(c[(c[(c[f>>2]|0)+8>>2]|0)+224>>2]|0,c[k>>2]|0)|0;c[(c[(c[f>>2]|0)+8>>2]|0)+224>>2]=l;break a}case 5:case 4:if(!(c[(c[(c[f>>2]|0)+8>>2]|0)+228>>2]|0)){c[(c[(c[f>>2]|0)+8>>2]|0)+228>>2]=c[k>>2];break a}else{l=BO(c[(c[(c[f>>2]|0)+8>>2]|0)+228>>2]|0,c[k>>2]|0)|0;c[(c[(c[f>>2]|0)+8>>2]|0)+228>>2]=l;break a}default:{}}while(0);switch(c[h>>2]|0){case 3:{a[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+224>>2]|0)+8>>2]|0)+159>>0]=c[h>>2];i=m;return}case 5:{a[(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+228>>2]|0)+8>>2]|0)+159>>0]=c[h>>2];i=m;return}default:{i=m;return}}}function Ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();n=p;e=p+32|0;f=p+28|0;l=p+24|0;g=p+20|0;k=p+16|0;h=p+12|0;m=p+8|0;c[e>>2]=b;c[f>>2]=d;if(Zj(c[e>>2]|0)|0){i=p;return}do if(RO(c[e>>2]|0)|0){c[g>>2]=c[e>>2];if(c[f>>2]|0){c[(c[(c[e>>2]|0)+8>>2]|0)+204>>2]=(c[(c[(c[f>>2]|0)+8>>2]|0)+204>>2]|0)+1;_j(c[e>>2]|0,c[f>>2]|0);break}else{c[(c[(c[e>>2]|0)+8>>2]|0)+204>>2]=0;break}}else c[g>>2]=c[f>>2];while(0);c[l>>2]=vD(c[e>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;Ej(c[l>>2]|0,c[g>>2]|0);c[l>>2]=wD(c[l>>2]|0)|0}a:do if(RO(c[e>>2]|0)|0){c[k>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[k>>2]|0))break a;if(!(c[(c[(c[k>>2]|0)+8>>2]|0)+212>>2]|0))c[(c[(c[k>>2]|0)+8>>2]|0)+212>>2]=c[e>>2];c[k>>2]=qC(c[e>>2]|0,c[k>>2]|0)|0}}while(0);switch($j(c[e>>2]|0)|0){case 3:{a[(c[(c[g>>2]|0)+8>>2]|0)+241>>0]=1;o=18;break}case 2:{o=18;break}case 5:{a[(c[(c[g>>2]|0)+8>>2]|0)+242>>0]=1;o=20;break}case 4:{o=20;break}case 1:{c[h>>2]=ak(c[e>>2]|0)|0;break}case 6:break;default:{l=MB(c[e>>2]|0)|0;b=OA(c[e>>2]|0,124181)|0;c[n>>2]=l;c[n+4>>2]=b;pA(0,124364,n)|0}}if((o|0)==18){c[h>>2]=ak(c[e>>2]|0)|0;o=bk(c[h>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+208>>2]|0)|0;c[(c[(c[g>>2]|0)+8>>2]|0)+208>>2]=o}else if((o|0)==20){c[h>>2]=ak(c[e>>2]|0)|0;o=bk(c[h>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+212>>2]|0)|0;c[(c[(c[g>>2]|0)+8>>2]|0)+212>>2]=o}if(!(RO(c[e>>2]|0)|0)){i=p;return}if(!(c[(c[(c[e>>2]|0)+8>>2]|0)+208>>2]|0)){i=p;return}if((c[(c[(c[e>>2]|0)+8>>2]|0)+208>>2]|0)!=(c[(c[(c[e>>2]|0)+8>>2]|0)+212>>2]|0)){i=p;return}c[m>>2]=ak(c[e>>2]|0)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+208>>2]=c[m>>2];c[(c[(c[e>>2]|0)+8>>2]|0)+212>>2]=c[m>>2];i=p;return}function Fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[12579]=0;c[f>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;a=Mj(c[f>>2]|0)|0;if((a|0)==(c[f>>2]|0)){a=c[e>>2]|0;a=Pj(a,MB(c[f>>2]|0)|0)|0;c[(c[(c[f>>2]|0)+8>>2]|0)+148>>2]=a}c[f>>2]=qC(c[d>>2]|0,c[f>>2]|0)|0}c[f>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;if(!(c[(c[(c[f>>2]|0)+8>>2]|0)+148>>2]|0)){a=c[(c[(Mj(c[f>>2]|0)|0)+8>>2]|0)+148>>2]|0;c[(c[(c[f>>2]|0)+8>>2]|0)+148>>2]=a}c[f>>2]=qC(c[d>>2]|0,c[f>>2]|0)|0}i=g;return}function Gj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();d=o+32|0;e=o+28|0;l=o+24|0;h=o+20|0;g=o+16|0;f=o+12|0;m=o+8|0;k=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;c[l>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;c[g>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+148>>2];c[h>>2]=cB(c[d>>2]|0,c[l>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;do if((Uj(c[h>>2]|0)|0)==0?(a=c[h>>2]|0,c[f>>2]=c[(c[(Mj(c[((c[c[h>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)|0)+8>>2]|0)+148>>2],(c[g>>2]|0)!=(c[f>>2]|0)):0){a=c[h>>2]|0;c[m>>2]=c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+212>>2];a=c[h>>2]|0;c[k>>2]=c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+212>>2];if(Vj(c[h>>2]|0)|0){b=c[h>>2]|0;b=Mj(c[((c[c[h>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)|0;a=c[h>>2]|0;if(!((b|0)!=(c[(c[(c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0)+8>>2]|0)+212>>2]|0)?(b=c[h>>2]|0,b=Mj(c[((c[c[h>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)|0,a=c[h>>2]|0,(b|0)!=(c[(c[(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0)+8>>2]|0)+208>>2]|0)):0)){c[n>>2]=c[g>>2];c[g>>2]=c[f>>2];c[f>>2]=c[n>>2]}Wj(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);break}else{if((Tj(c[m>>2]|0)|0)==0?(Tj(c[k>>2]|0)|0)==0:0){Wj(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);break}Xj(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);break}}while(0);c[h>>2]=eB(c[d>>2]|0,c[h>>2]|0)|0}c[l>>2]=qC(c[d>>2]|0,c[l>>2]|0)|0}i=o;return}function Hj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;l=p+4|0;o=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if((RO(c[f>>2]|0)|0)!=0?(Tj(c[f>>2]|0)|0)!=0:0){c[m>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;if(!(fB(c[f>>2]|0,c[m>>2]|0)|0)){c[n>>2]=c[(c[(Mj(c[m>>2]|0)|0)+8>>2]|0)+148>>2];if(!(c[h>>2]|0))c[h>>2]=Pj(c[g>>2]|0,124262)|0;jB(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,0,1)|0}if(!(cB(c[f>>2]|0,c[m>>2]|0)|0)){c[n>>2]=c[(c[(Mj(c[m>>2]|0)|0)+8>>2]|0)+148>>2];if(!(c[k>>2]|0))c[k>>2]=Pj(c[g>>2]|0,124267)|0;jB(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0,0,1)|0}c[m>>2]=qC(c[f>>2]|0,c[m>>2]|0)|0}if((c[h>>2]|0)!=0&(c[k>>2]|0)!=0){c[l>>2]=jB(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,0,1)|0;Sj(c[l>>2]|0,0,1e3)}}c[o>>2]=vD(c[f>>2]|0)|0;while(1){if(!(c[o>>2]|0))break;Hj(c[o>>2]|0,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);c[o>>2]=wD(c[o>>2]|0)|0}i=p;return}function Ij(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;a[(c[(c[e>>2]|0)+8>>2]|0)+158>>0]=0;a[(c[(c[e>>2]|0)+8>>2]|0)+157>>0]=0;c[e>>2]=qC(c[d>>2]|0,c[e>>2]|0)|0}c[e>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;Qj(c[d>>2]|0,c[e>>2]|0);c[e>>2]=qC(c[d>>2]|0,c[e>>2]|0)|0}i=f;return}function Jj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();b=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[b>>2]=a;c[d>>2]=0;c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[(c[(c[e>>2]|0)+8>>2]|0)+128>>2]=0;c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;if(!(c[(c[(c[e>>2]|0)+8>>2]|0)+128>>2]|0)){l=c[b>>2]|0;k=c[e>>2]|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;Oj(l,k,a)}c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}if((c[d>>2]|0)<=1){l=c[d>>2]|0;i=h;return l|0}c[g>>2]=Pj(c[b>>2]|0,124256)|0;c[f>>2]=1;c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;if((c[(c[(c[e>>2]|0)+8>>2]|0)+128>>2]|0)==(c[f>>2]|0)){jB(c[b>>2]|0,c[g>>2]|0,c[e>>2]|0,0,1)|0;c[f>>2]=(c[f>>2]|0)+1}c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}l=c[d>>2]|0;i=h;return l|0}function Kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[d>>2]=cB(c[b>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;a=(c[(c[e>>2]|0)+8>>2]|0)+180|0;if(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0)a=tK(c[a>>2]|0,(c[(c[(c[e>>2]|0)+8>>2]|0)+180+4>>2]|0)+2<<2)|0;else a=rK((c[a+4>>2]|0)+2<<2)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]=a;g=c[d>>2]|0;h=(c[(c[e>>2]|0)+8>>2]|0)+180+4|0;a=c[h>>2]|0;c[h>>2]=a+1;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0)+(a<<2)>>2]=g;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0)+(c[(c[(c[e>>2]|0)+8>>2]|0)+180+4>>2]<<2)>>2]=0;a=c[d>>2]|0;a=(c[(c[((c[c[d>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+172|0;if(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?c[d>>2]|0:(c[d>>2]|0)+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0){h=c[d>>2]|0;a=tK(c[a>>2]|0,(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?h:h+-32|0)+28>>2]|0)+8>>2]|0)+172+4>>2]|0)+2<<2)|0}else a=rK((c[a+4>>2]|0)+2<<2)|0;g=c[d>>2]|0;c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]=a;a=c[d>>2]|0;g=c[d>>2]|0;g=(c[(c[((c[c[d>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+172+4|0;h=c[g>>2]|0;c[g>>2]=h+1;g=c[d>>2]|0;c[(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0)+(h<<2)>>2]=a;h=c[d>>2]|0;g=c[d>>2]|0;c[(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+172>>2]|0)+(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?h:h+-32|0)+28>>2]|0)+8>>2]|0)+172+4>>2]<<2)>>2]=0;c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}i=f;return}function Lj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();k=q+32|0;l=q+28|0;f=q+24|0;p=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;g=q+4|0;m=q;c[k>>2]=a;c[l>>2]=d;c[f>>2]=e;c[o>>2]=0;c[n>>2]=0;b[(c[(c[k>>2]|0)+8>>2]|0)+236>>1]=32767;b[(c[(c[k>>2]|0)+8>>2]|0)+238>>1]=-1;a:do if((c[f>>2]|0)>1){c[o>>2]=qK((c[f>>2]|0)+1<<2)|0;c[g>>2]=1;while(1){if((c[g>>2]|0)>(c[f>>2]|0))break a;c[(c[o>>2]|0)+(c[g>>2]<<2)>>2]=32767;c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=pC(c[k>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;c[h>>2]=c[(c[(Mj(c[p>>2]|0)|0)+8>>2]|0)+148>>2];c[(c[(c[p>>2]|0)+8>>2]|0)+232>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2];if((b[(c[(c[k>>2]|0)+8>>2]|0)+238>>1]|0)<(c[(c[(c[p>>2]|0)+8>>2]|0)+232>>2]|0))b[(c[(c[k>>2]|0)+8>>2]|0)+238>>1]=c[(c[(c[p>>2]|0)+8>>2]|0)+232>>2];if((b[(c[(c[k>>2]|0)+8>>2]|0)+236>>1]|0)>(c[(c[(c[p>>2]|0)+8>>2]|0)+232>>2]|0))b[(c[(c[k>>2]|0)+8>>2]|0)+236>>1]=c[(c[(c[p>>2]|0)+8>>2]|0)+232>>2];if(c[o>>2]|0){c[(c[(c[p>>2]|0)+8>>2]|0)+128>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+128>>2];f=c[(c[p>>2]|0)+8>>2]|0;if((c[(c[o>>2]|0)+(c[(c[(c[p>>2]|0)+8>>2]|0)+128>>2]<<2)>>2]|0)<(c[(c[(c[p>>2]|0)+8>>2]|0)+232>>2]|0))f=c[(c[o>>2]|0)+(c[f+128>>2]<<2)>>2]|0;else f=c[f+232>>2]|0;c[(c[o>>2]|0)+(c[(c[(c[p>>2]|0)+8>>2]|0)+128>>2]<<2)>>2]=f}c[p>>2]=qC(c[k>>2]|0,c[p>>2]|0)|0}f=c[k>>2]|0;if(!(c[o>>2]|0)){if((b[(c[f+8>>2]|0)+236>>1]|0)>0){c[m>>2]=b[(c[(c[k>>2]|0)+8>>2]|0)+236>>1];c[p>>2]=pC(c[k>>2]|0)|0;while(1){f=c[m>>2]|0;if(!(c[p>>2]|0))break;h=(c[(c[p>>2]|0)+8>>2]|0)+232|0;c[h>>2]=(c[h>>2]|0)-f;c[p>>2]=qC(c[k>>2]|0,c[p>>2]|0)|0}h=(c[(c[k>>2]|0)+8>>2]|0)+236|0;b[h>>1]=(b[h>>1]|0)-f;h=(c[(c[k>>2]|0)+8>>2]|0)+238|0;b[h>>1]=(b[h>>1]|0)-(c[m>>2]|0)}}else{c[p>>2]=pC(f)|0;while(1){if(!(c[p>>2]|0))break;m=(c[(c[p>>2]|0)+8>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-(c[(c[o>>2]|0)+(c[(c[(c[p>>2]|0)+8>>2]|0)+128>>2]<<2)>>2]|0);c[p>>2]=qC(c[k>>2]|0,c[p>>2]|0)|0}c[n>>2]=1}Nj(c[k>>2]|0,c[n>>2]|0);c[p>>2]=pC(c[l>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]|0)B1(c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]|0);if(c[(c[(c[p>>2]|0)+8>>2]|0)+180>>2]|0)B1(c[(c[(c[p>>2]|0)+8>>2]|0)+180>>2]|0);c[p>>2]=qC(c[l>>2]|0,c[p>>2]|0)|0}B1(c[(c[(pC(c[k>>2]|0)|0)+8>>2]|0)+112>>2]|0);c[p>>2]=pC(c[k>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;c[(c[(c[p>>2]|0)+8>>2]|0)+112>>2]=0;c[p>>2]=qC(c[k>>2]|0,c[p>>2]|0)|0}if(!(c[o>>2]|0)){i=q;return}B1(c[o>>2]|0);i=q;return}function Mj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;a=c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]|0;c[d>>2]=a;if(!a){a=c[b>>2]|0;c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]=a;c[d>>2]=a;d=c[d>>2]|0;i=e;return d|0}if((c[d>>2]|0)==(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}a=Mj(c[d>>2]|0)|0;c[(c[(c[b>>2]|0)+8>>2]|0)+152>>2]=a;c[d>>2]=a;d=c[d>>2]|0;i=e;return d|0}function Nj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;l=m+8|0;k=m+4|0;h=m;c[e>>2]=a;c[f>>2]=d;c[g>>2]=1;while(1){if((c[g>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;Nj(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[g>>2]<<2)>>2]|0,0);c[g>>2]=(c[g>>2]|0)+1}if(!((c[f>>2]|0)!=0?1:(c[(c[(c[e>>2]|0)+8>>2]|0)+200>>2]|0)!=0)){i=m;return}b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]=32767;b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]=-1;c[k>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2];if((b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0)<(c[l>>2]|0))b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]=c[l>>2];if((b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]|0)>(c[l>>2]|0)){b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]=c[l>>2];c[h>>2]=c[k>>2]}c[k>>2]=qC(c[e>>2]|0,c[k>>2]|0)|0}c[(c[(c[e>>2]|0)+8>>2]|0)+264>>2]=c[h>>2];i=m;return}function Oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[(c[f>>2]|0)+8>>2]|0)+128>>2]|0){i=k;return}c[(c[(c[f>>2]|0)+8>>2]|0)+128>>2]=c[g>>2];c[h>>2]=cB(c[e>>2]|0,c[f>>2]|0)|0;while(1){d=c[e>>2]|0;if(!(c[h>>2]|0))break;b=c[h>>2]|0;Oj(d,c[((c[c[h>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,c[g>>2]|0);c[h>>2]=eB(c[e>>2]|0,c[h>>2]|0)|0}c[h>>2]=fB(d,c[f>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;f=c[h>>2]|0;Oj(c[e>>2]|0,c[((c[c[h>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0,c[g>>2]|0);c[h>>2]=gB(c[e>>2]|0,c[h>>2]|0)|0}i=k;return}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=vC(c[d>>2]|0,c[g>>2]|0,1)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+172+4>>2]=0;b=qK(20)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+172>>2]=b;c[(c[(c[e>>2]|0)+8>>2]|0)+180+4>>2]=0;b=qK(20)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]=b;if(c[12579]|0){c[(c[(c[e>>2]|0)+8>>2]|0)+168>>2]=c[12579];c[(c[(c[12579]|0)+8>>2]|0)+164>>2]=c[e>>2];g=c[e>>2]|0;c[12579]=g;g=c[e>>2]|0;g=g+8|0;g=c[g>>2]|0;g=g+164|0;c[g>>2]=0;g=c[e>>2]|0;i=f;return g|0}else{c[(c[(c[e>>2]|0)+8>>2]|0)+168>>2]=0;c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2]=c[e>>2];g=c[e>>2]|0;c[12579]=g;g=c[e>>2]|0;g=g+8|0;g=c[g>>2]|0;g=g+164|0;c[g>>2]=0;g=c[e>>2]|0;i=f;return g|0}return 0}function Qj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=b;c[f>>2]=d;if(a[(c[(c[f>>2]|0)+8>>2]|0)+157>>0]|0){i=l;return}a[(c[(c[f>>2]|0)+8>>2]|0)+157>>0]=1;a[(c[(c[f>>2]|0)+8>>2]|0)+158>>0]=1;c[g>>2]=cB(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;c[h>>2]=eB(c[e>>2]|0,c[g>>2]|0)|0;d=c[g>>2]|0;c[k>>2]=c[((c[c[g>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2];if(!(a[(c[(c[k>>2]|0)+8>>2]|0)+158>>0]|0)){if(!(a[(c[(c[k>>2]|0)+8>>2]|0)+157>>0]|0))Qj(c[e>>2]|0,c[k>>2]|0)}else Rj(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}a[(c[(c[f>>2]|0)+8>>2]|0)+158>>0]=0;i=l;return}function Rj(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=b;b=c[f>>2]|0;a=c[f>>2]|0;c[g>>2]=jB(c[d>>2]|0,c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0,0,0)|0;if(!(c[g>>2]|0)){b=c[f>>2]|0;a=c[f>>2]|0;c[g>>2]=jB(c[d>>2]|0,c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0,0,1)|0}Sj(c[g>>2]|0,e[(c[(c[f>>2]|0)+8>>2]|0)+170>>1]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+156>>2]|0);FC(c[d>>2]|0,c[f>>2]|0)|0;i=h;return}function Sj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();h=l+8|0;g=l+4|0;k=l;c[h>>2]=a;c[g>>2]=d;c[k>>2]=f;if((e[(c[(c[h>>2]|0)+8>>2]|0)+170>>1]|0|0)>(c[g>>2]|0))g=e[(c[(c[h>>2]|0)+8>>2]|0)+170>>1]|0;else g=c[g>>2]|0;b[(c[(c[h>>2]|0)+8>>2]|0)+170>>1]=g;h=(c[(c[h>>2]|0)+8>>2]|0)+156|0;c[h>>2]=(c[h>>2]|0)+(c[k>>2]|0);i=l;return}function Tj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[e>>2]=OA(c[f>>2]|0,124272)|0;c[d>>2]=(JO(c[e>>2]|0,0)|0)&255;i=b;return c[d>>2]|0}function Uj(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if((((c[13873]|0)!=0?(b=PA(c[e>>2]|0,c[13873]|0)|0,c[f>>2]=b,(b|0)!=0):0)?(a[c[f>>2]>>0]|0)!=0:0)?((zO(c[f>>2]|0)|0)&255|0)==0:0){c[d>>2]=1;b=c[d>>2]|0;i=g;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=g;return b|0}function Vj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();b=g+16|0;h=g+12|0;f=g+8|0;e=g+4|0;d=g;c[h>>2]=a;a=c[h>>2]|0;c[e>>2]=c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+212>>2];a=c[h>>2]|0;c[d>>2]=c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+212>>2];if((c[e>>2]|0)==(c[d>>2]|0)){c[b>>2]=1;h=c[b>>2]|0;i=g;return h|0}c[f>>2]=Yj(c[e>>2]|0,c[d>>2]|0)|0;if((c[f>>2]|0)!=(c[e>>2]|0)?(c[f>>2]|0)!=(c[d>>2]|0):0){c[b>>2]=0;h=c[b>>2]|0;i=g;return h|0}c[b>>2]=1;h=c[b>>2]|0;i=g;return h|0}function Wj(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();n=o;g=o+24|0;h=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=f;b=jB(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,0,0)|0;c[m>>2]=b;if(((b|0)==0?(b=jB(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0,0,0)|0,c[m>>2]=b,(b|0)==0):0)?(b=jB(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,0,1)|0,c[m>>2]=b,(b|0)==0):0){f=MB(c[h>>2]|0)|0;b=MB(c[k>>2]|0)|0;c[n>>2]=f;c[n+4>>2]=b;pA(1,124289,n)|0;i=o;return}Sj(c[m>>2]|0,e[(c[(c[l>>2]|0)+8>>2]|0)+170>>1]|0,c[(c[(c[l>>2]|0)+8>>2]|0)+156>>2]|0);i=o;return}function Xj(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+144|0;if((i|0)>=(j|0))ba();o=t;h=t+28|0;k=t+24|0;l=t+20|0;r=t+16|0;n=t+12|0;q=t+8|0;s=t+4|0;m=t+32|0;c[h>>2]=a;c[k>>2]=d;c[l>>2]=f;c[r>>2]=g;c[q>>2]=fB(c[h>>2]|0,c[k>>2]|0)|0;while(1){a=c[q>>2]|0;if(!(c[q>>2]|0))break;d=c[q>>2]|0;c[n>>2]=c[((c[a>>2]&3|0)==3?d:d+32|0)+28>>2];d=cB(c[h>>2]|0,c[n>>2]|0)|0;c[s>>2]=d;if((d|0)!=0?(d=c[s>>2]|0,(c[((c[c[s>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)==(c[l>>2]|0)):0){p=14;break}c[q>>2]=gB(c[h>>2]|0,c[q>>2]|0)|0}if((p|0)==14){i=t;return}if(!a){p=c[12589]|0;c[12589]=p+1;c[o>>2]=p;D3(m,124280,o)|0;c[n>>2]=Pj(c[h>>2]|0,m)|0;c[q>>2]=jB(c[h>>2]|0,c[n>>2]|0,c[k>>2]|0,0,1)|0;c[s>>2]=jB(c[h>>2]|0,c[n>>2]|0,c[l>>2]|0,0,1)|0}if((e[(c[(c[q>>2]|0)+8>>2]|0)+170>>1]|0|0)>0)a=e[(c[(c[q>>2]|0)+8>>2]|0)+170>>1]|0;else a=0;b[(c[(c[q>>2]|0)+8>>2]|0)+170>>1]=a;q=(c[(c[q>>2]|0)+8>>2]|0)+156|0;c[q>>2]=(c[q>>2]|0)+((c[(c[(c[r>>2]|0)+8>>2]|0)+156>>2]|0)*1e3|0);if((e[(c[(c[s>>2]|0)+8>>2]|0)+170>>1]|0|0)>(e[(c[(c[r>>2]|0)+8>>2]|0)+170>>1]|0|0))a=b[(c[(c[s>>2]|0)+8>>2]|0)+170>>1]|0;else a=b[(c[(c[r>>2]|0)+8>>2]|0)+170>>1]|0;b[(c[(c[s>>2]|0)+8>>2]|0)+170>>1]=a;s=(c[(c[s>>2]|0)+8>>2]|0)+156|0;c[s>>2]=(c[s>>2]|0)+(c[(c[(c[r>>2]|0)+8>>2]|0)+156>>2]|0);i=t;return}function Yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;while(1){a=c[d>>2]|0;if((c[d>>2]|0)==(c[e>>2]|0))break;if((c[(c[a+8>>2]|0)+204>>2]|0)>=(c[(c[(c[e>>2]|0)+8>>2]|0)+204>>2]|0)){c[d>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+200>>2];continue}else{c[e>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+200>>2];continue}}i=f;return a|0}function Zj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=((pC(c[d>>2]|0)|0)!=0^1)&1;i=b;return a|0}function _j(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[(c[e>>2]|0)+8>>2]|0)+200>>2]=c[f>>2];Aj(c[f>>2]|0,c[e>>2]|0)|0;zj(c[f>>2]|0,c[e>>2]|0);i=d;return}function $j(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;h=g+4|0;e=g;c[h>>2]=b;c[e>>2]=OA(c[h>>2]|0,124181)|0;do if((c[e>>2]|0)!=0?(a[c[e>>2]>>0]|0)!=0:0){if(!(a4(c[e>>2]|0,124191)|0)){c[d>>2]=2;break}if(!(a4(c[e>>2]|0,124195)|0)){c[d>>2]=3;break}if(!(a4(c[e>>2]|0,124202)|0)){c[d>>2]=4;break}if(!(a4(c[e>>2]|0,124206)|0)){c[d>>2]=5;break}if(!(a4(c[e>>2]|0,124186)|0))c[d>>2]=1;else f=13}else f=13;while(0);if((f|0)==13)c[d>>2]=6;i=g;return c[d>>2]|0}function ak(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[f>>2]=pC(c[d>>2]|0)|0;a=c[f>>2]|0;if(!(c[f>>2]|0)){c[b>>2]=a;f=c[b>>2]|0;i=g;return f|0}c[e>>2]=Mj(a)|0;while(1){h=qC(c[d>>2]|0,c[f>>2]|0)|0;c[f>>2]=h;a=c[e>>2]|0;if(!h)break;bk(a,c[f>>2]|0)|0}c[b>>2]=a;h=c[b>>2]|0;i=g;return h|0}function bk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;a=c[g>>2]|0;if(c[e>>2]|0){g=Mj(a)|0;c[(c[(Mj(c[e>>2]|0)|0)+8>>2]|0)+152>>2]=g;c[d>>2]=g;g=c[d>>2]|0;i=f;return g|0}else{c[d>>2]=a;g=c[d>>2]|0;i=f;return g|0}return 0}function ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;h=e+4|0;f=e;c[e+12>>2]=a;c[g>>2]=b;c[h>>2]=d;c[f>>2]=c[h>>2];aD(c[g>>2]|0,124240,c[c[f>>2]>>2]|0,1)|0;i=e;return}function dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;h=e+4|0;f=e;c[e+12>>2]=a;c[g>>2]=b;c[h>>2]=d;c[f>>2]=c[h>>2];aD(c[g>>2]|0,124407,c[(c[f>>2]|0)+4>>2]|0,1)|0;i=e;return}function ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;h=e+4|0;f=e;c[e+12>>2]=a;c[g>>2]=b;c[h>>2]=d;c[f>>2]=c[h>>2];aD(c[g>>2]|0,124392,c[(c[f>>2]|0)+8>>2]|0,1)|0;i=e;return}function fk(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+272|0;if((i|0)>=(j|0))ba();d=p+264|0;k=p+260|0;e=p+256|0;g=p+252|0;n=p+120|0;o=p;l=p+248|0;m=p+244|0;f=p+240|0;c[d>>2]=b;c[13877]=GA(c[d>>2]|0,2,124422,0)|0;c[13878]=GA(c[d>>2]|0,2,124431,0)|0;if(!((c[13877]|0)!=0|(c[13878]|0)!=0)){i=p;return}c[k>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[m>>2]=0;c[l>>2]=0;c[e>>2]=hB(c[d>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;q=c[e>>2]|0;b=c[e>>2]|0;do if((c[((c[c[e>>2]>>2]&3|0)==2?q:q+-32|0)+28>>2]|0)!=(c[((c[c[e>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)){q=c[e>>2]|0;if(((c[13877]|0)!=0?(c[((c[c[e>>2]>>2]&3|0)==2?q:q+-32|0)+28>>2]|0)==(c[k>>2]|0):0)?(q=PA(c[e>>2]|0,c[13877]|0)|0,c[g>>2]=q,(a[q>>0]|0)!=0):0){c[l>>2]=gk(n,c[l>>2]|0,c[k>>2]|0,c[e>>2]|0,c[g>>2]|0)|0;break}q=c[e>>2]|0;if(((c[13878]|0)!=0?(c[((c[c[e>>2]>>2]&3|0)==3?q:q+32|0)+28>>2]|0)==(c[k>>2]|0):0)?(q=PA(c[e>>2]|0,c[13878]|0)|0,c[g>>2]=q,(a[q>>0]|0)!=0):0)c[m>>2]=gk(o,c[m>>2]|0,c[k>>2]|0,c[e>>2]|0,c[g>>2]|0)|0}while(0);c[e>>2]=iB(c[d>>2]|0,c[e>>2]|0,c[k>>2]|0)|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[l>>2]|0))break;if((c[n+((c[f>>2]|0)*24|0)+4+4>>2]|0)>1)hk(c[k>>2]|0,n+((c[f>>2]|0)*24|0)+4|0,+h[n+((c[f>>2]|0)*24|0)+16>>3]);if(c[n+((c[f>>2]|0)*24|0)+4>>2]|0)B1(c[n+((c[f>>2]|0)*24|0)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[m>>2]|0))break;if((c[o+((c[f>>2]|0)*24|0)+4+4>>2]|0)>1)hk(c[k>>2]|0,o+((c[f>>2]|0)*24|0)+4|0,+h[o+((c[f>>2]|0)*24|0)+16>>3]);if(c[o+((c[f>>2]|0)*24|0)+4>>2]|0)B1(c[o+((c[f>>2]|0)*24|0)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}c[k>>2]=qC(c[d>>2]|0,c[k>>2]|0)|0}i=p;return}function gk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var k=0.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;w=i;i=i+48|0;if((i|0)>=(j|0))ba();m=w;s=w+44|0;t=w+40|0;u=w+36|0;n=w+32|0;o=w+28|0;l=w+24|0;v=w+20|0;r=w+16|0;p=w+12|0;q=w+8|0;c[t>>2]=b;c[u>>2]=d;c[n>>2]=e;c[o>>2]=f;c[l>>2]=g;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[u>>2]|0)){f=10;break}if((a[c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)>>2]>>0]|0)==(a[c[l>>2]>>0]|0)?(a4(c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)>>2]|0,c[l>>2]|0)|0)==0:0){f=5;break}c[v>>2]=(c[v>>2]|0)+1}do if((f|0)==5){f=(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4|0;if(c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4>>2]|0)f=tK(c[f>>2]|0,(c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4+4>>2]|0)+2<<2)|0;else f=rK((c[f+4>>2]|0)+2<<2)|0;c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4>>2]=f;l=c[o>>2]|0;b=(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4+4|0;m=c[b>>2]|0;c[b>>2]=m+1;c[(c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4>>2]|0)+(m<<2)>>2]=l;c[(c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4>>2]|0)+(c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4+4>>2]<<2)>>2]=0}else if((f|0)==10){b=(c[u>>2]|0)+1|0;c[u>>2]=b;if((b|0)<=5){c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4+4>>2]=0;b=qK(8)|0;c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4>>2]=b;b=c[o>>2]|0;d=(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4+4|0;m=c[d>>2]|0;c[d>>2]=m+1;c[(c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4>>2]|0)+(m<<2)>>2]=b;c[(c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4>>2]|0)+(c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+4+4>>2]<<2)>>2]=0;c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)>>2]=c[l>>2];c[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+12>>2]=0;h[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+16>>3]=0.0;break}c[u>>2]=(c[u>>2]|0)+-1;v=MB(c[n>>2]|0)|0;c[m>>2]=5;c[m+4>>2]=v;pA(1,124440,m)|0;c[s>>2]=c[u>>2];v=c[s>>2]|0;i=w;return v|0}while(0);qH(c[o>>2]|0,r,p);m=c[o>>2]|0;r=(c[((c[c[o>>2]>>2]&3|0)==2?m:m+-32|0)+28>>2]|0)==(c[n>>2]|0)?c[p>>2]|0:c[r>>2]|0;c[q>>2]=r;if(r){p=(c[t>>2]|0)+((c[v>>2]|0)*24|0)+12|0;r=(c[p>>2]|0)+1|0;c[p>>2]=r;if((r|0)==1)k=+rH(c[o>>2]|0,c[q>>2]|0);else k=0.0;h[(c[t>>2]|0)+((c[v>>2]|0)*24|0)+16>>3]=k}c[s>>2]=c[u>>2];v=c[s>>2]|0;i=w;return v|0}function hk(b,d,e){b=b|0;d=d|0;e=+e;var f=0,g=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.0;z=i;i=i+208|0;if((i|0)>=(j|0))ba();r=z+196|0;s=z+192|0;f=z+188|0;t=z+184|0;v=z+180|0;w=z+176|0;l=z+152|0;o=z+144|0;m=z+136|0;p=z+128|0;n=z+120|0;q=z+112|0;k=z+104|0;x=z+64|0;y=z+172|0;u=z+168|0;g=z;c[r>>2]=b;c[s>>2]=d;h[z+160>>3]=e;h[l>>3]=0.0;h[o>>3]=0.0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[s>>2]|0)+4>>2]|0))break;c[t>>2]=c[(c[c[s>>2]>>2]|0)+(c[w>>2]<<2)>>2];b=c[t>>2]|0;d=c[c[t>>2]>>2]&3;if((c[((c[c[t>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)==(c[r>>2]|0)){b=c[t>>2]|0;c[f>>2]=c[((d|0)==3?b:b+32|0)+28>>2]}else{b=c[t>>2]|0;c[f>>2]=c[((d|0)==2?b:b+-32|0)+28>>2]}h[m>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[r>>2]|0)+8>>2]|0)+16>>3];h[p>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[r>>2]|0)+8>>2]|0)+16+8>>3];h[k>>3]=+w2(+h[m>>3],+h[p>>3]);h[l>>3]=+h[l>>3]+ +h[m>>3]/+h[k>>3];h[o>>3]=+h[o>>3]+ +h[p>>3]/+h[k>>3];c[w>>2]=(c[w>>2]|0)+1}h[k>>3]=+w2(+h[l>>3],+h[o>>3]);h[l>>3]=+h[l>>3]/+h[k>>3];h[o>>3]=+h[o>>3]/+h[k>>3];h[m>>3]=+h[(c[(c[r>>2]|0)+8>>2]|0)+16>>3];h[p>>3]=+h[(c[(c[r>>2]|0)+8>>2]|0)+16+8>>3];A=+h[(c[(c[r>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[r>>2]|0)+8>>2]|0)+96>>3];e=+h[(c[(c[r>>2]|0)+8>>2]|0)+80>>3];b=A>e+ +(c[(c[(GC(c[r>>2]|0)|0)+8>>2]|0)+252>>2]|0);d=c[(c[r>>2]|0)+8>>2]|0;if(b)e=+h[d+88>>3]+ +h[(c[(c[r>>2]|0)+8>>2]|0)+96>>3];else{e=+h[d+80>>3];e=e+ +(c[(c[(GC(c[r>>2]|0)|0)+8>>2]|0)+252>>2]|0)}h[k>>3]=e;h[n>>3]=+h[l>>3]*+h[k>>3]+ +h[(c[(c[r>>2]|0)+8>>2]|0)+16>>3];h[q>>3]=+h[o>>3]*+h[k>>3]+ +h[(c[(c[r>>2]|0)+8>>2]|0)+16+8>>3];h[g>>3]=+h[m>>3];h[g+8>>3]=+h[p>>3];h[g+16>>3]=(+h[m>>3]*2.0+ +h[n>>3])/3.0;h[g+16+8>>3]=(+h[p>>3]*2.0+ +h[q>>3])/3.0;h[g+32>>3]=(+h[n>>3]*2.0+ +h[m>>3])/3.0;h[g+32+8>>3]=(+h[q>>3]*2.0+ +h[p>>3])/3.0;h[g+48>>3]=+h[n>>3];h[g+48+8>>3]=+h[q>>3];wN(c[r>>2]|0,g);h[m>>3]=+h[g>>3]-+h[(c[(c[r>>2]|0)+8>>2]|0)+16>>3];h[p>>3]=+h[g+8>>3]-+h[(c[(c[r>>2]|0)+8>>2]|0)+16+8>>3];A=+h[m>>3];h[x>>3]=+(~~(+h[m>>3]>=0.0?A+.5:A-.5)|0);A=+h[p>>3];h[x+8>>3]=+(~~(+h[p>>3]>=0.0?A+.5:A-.5)|0);c[x+24>>2]=0;a[x+32>>0]=~~((+h[(c[(c[r>>2]|0)+8>>2]|0)+88>>3]+ +h[x>>3])*256.0/(+h[(c[(c[r>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[r>>2]|0)+8>>2]|0)+96>>3]));a[x+29>>0]=0;a[x+28>>0]=1;a[x+30>>0]=0;a[x+31>>0]=0;h[x+16>>3]=0.0;a[x+33>>0]=0;c[x+36>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[s>>2]|0)+4>>2]|0))break;c[t>>2]=c[(c[c[s>>2]>>2]|0)+(c[w>>2]<<2)>>2];qH(c[t>>2]|0,y,u);while(1){if(!(c[t>>2]|0))break;c[v>>2]=c[t>>2];while(1){if(!(c[v>>2]|0))break;p=c[v>>2]|0;if((c[((c[c[v>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0)==(c[r>>2]|0)){f=(c[(c[v>>2]|0)+8>>2]|0)+56|0;b=x;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0))}p=c[v>>2]|0;if((c[((c[c[v>>2]>>2]&3|0)==3?p:p+32|0)+28>>2]|0)==(c[r>>2]|0)){f=(c[(c[v>>2]|0)+8>>2]|0)+16|0;b=x;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0))}if(((a[(c[(c[v>>2]|0)+8>>2]|0)+112>>0]|0)==1?(p=c[v>>2]|0,(a[(c[(c[((c[c[v>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0)+8>>2]|0)+156>>0]|0)==1):0)?(p=c[v>>2]|0,(c[(c[(c[((c[c[v>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0)+8>>2]|0)+180+4>>2]|0)==1):0){f=c[v>>2]|0;f=c[c[(c[(c[((c[c[v>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0)+8>>2]|0)+180>>2]>>2]|0}else f=0;c[v>>2]=f}c[v>>2]=c[t>>2];while(1){if(!(c[v>>2]|0))break;p=c[v>>2]|0;if((c[((c[c[v>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0)==(c[r>>2]|0)){f=(c[(c[v>>2]|0)+8>>2]|0)+56|0;b=x;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0))}p=c[v>>2]|0;if((c[((c[c[v>>2]>>2]&3|0)==3?p:p+32|0)+28>>2]|0)==(c[r>>2]|0)){f=(c[(c[v>>2]|0)+8>>2]|0)+16|0;b=x;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0))}if(((a[(c[(c[v>>2]|0)+8>>2]|0)+112>>0]|0)==1?(p=c[v>>2]|0,(a[(c[(c[((c[c[v>>2]>>2]&3|0)==3?p:p+32|0)+28>>2]|0)+8>>2]|0)+156>>0]|0)==1):0)?(p=c[v>>2]|0,(c[(c[(c[((c[c[v>>2]>>2]&3|0)==3?p:p+32|0)+28>>2]|0)+8>>2]|0)+172+4>>2]|0)==1):0){f=c[v>>2]|0;f=c[c[(c[(c[((c[c[v>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+172>>2]>>2]|0}else f=0;c[v>>2]=f}c[t>>2]=c[(c[(c[t>>2]|0)+8>>2]|0)+172>>2]}c[w>>2]=(c[w>>2]|0)+1}a[(c[(c[r>>2]|0)+8>>2]|0)+145>>0]=1;i=z;return}function ik(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;bh(c[b>>2]|0);a=c[b>>2]|0;f=c[b>>2]|0;f=Zg(c[((c[c[b>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0,c[((c[c[b>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)|0;c[d>>2]=f;a=c[b>>2]|0;if(f){mh(a,c[d>>2]|0);i=e;return}else{d=c[b>>2]|0;f=c[b>>2]|0;fh(c[((c[a>>2]&3|0)==2?d:d+-32|0)+28>>2]|0,c[((c[c[b>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0,c[b>>2]|0)|0;i=e;return}}function jk(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[(c[d>>2]|0)+8>>2]|0)+216+4>>2]|0))break;c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+216>>2]|0)+(c[e>>2]<<2)>>2];c[f>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[f>>2]|0))break;a[(c[(c[f>>2]|0)+8>>2]|0)+157>>0]=0;c[f>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+164>>2]}c[f>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[f>>2]|0))break;kk(c[f>>2]|0);c[f>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+164>>2]}c[e>>2]=(c[e>>2]|0)+1}i=g;return}function kk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;f=h+8|0;e=h+4|0;g=h;c[d>>2]=b;if(a[(c[(c[d>>2]|0)+8>>2]|0)+157>>0]|0){i=h;return}a[(c[(c[d>>2]|0)+8>>2]|0)+157>>0]=1;a[(c[(c[d>>2]|0)+8>>2]|0)+158>>0]=1;c[f>>2]=0;while(1){b=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0)+(c[f>>2]<<2)>>2]|0;c[e>>2]=b;if(!b)break;b=c[e>>2]|0;c[g>>2]=c[((c[c[e>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2];if(!(a[(c[(c[g>>2]|0)+8>>2]|0)+158>>0]|0)){if(!(a[(c[(c[g>>2]|0)+8>>2]|0)+157>>0]|0))kk(c[g>>2]|0)}else{ik(c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}c[f>>2]=(c[f>>2]|0)+1}a[(c[(c[d>>2]|0)+8>>2]|0)+158>>0]=0;i=h;return}function lk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[d>>2]=0;c[f>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[e>>2]=cB(c[b>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;h=c[e>>2]|0;a=c[e>>2]|0;if((c[(c[(c[((c[c[e>>2]>>2]&3|0)==2?h:h+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)!=(c[(c[(c[((c[c[e>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)){a=c[e>>2]|0;h=c[e>>2]|0;h=(N((c[(c[(c[((c[c[e>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[e>>2]>>2]&3|0)==3?h:h+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)|0)|0)-1|0;c[d>>2]=(c[d>>2]|0)+h}c[e>>2]=eB(c[b>>2]|0,c[e>>2]|0)|0}c[f>>2]=qC(c[b>>2]|0,c[f>>2]|0)|0}i=g;return c[d>>2]|0}function mk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=b;c[g>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[(c[g>>2]|0)+8>>2]|0)+172+4>>2]|0))break;c[e>>2]=c[(c[(c[(c[g>>2]|0)+8>>2]|0)+172>>2]|0)+(c[f>>2]<<2)>>2];a[(c[(c[e>>2]|0)+8>>2]|0)+112>>0]=0;c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=qC(c[d>>2]|0,c[g>>2]|0)|0}i=h;return}function nk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();n=p+8|0;e=p+32|0;f=p+28|0;m=p+24|0;g=p+20|0;k=p+16|0;l=p;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[(c[f>>2]|0)+24>>2];h[l>>3]=1797693134862315708145274.0e284;qk(c[e>>2]|0);c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[k>>2]|0)?1:(c[k>>2]|0)==-1)){o=13;break}c[m>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;c[(c[(c[m>>2]|0)+8>>2]|0)+232>>2]=0;c[m>>2]=qC(c[e>>2]|0,c[m>>2]|0)|0}kj(c[e>>2]|0);q=+rk(c[e>>2]|0);h[(c[f>>2]|0)+8>>3]=q;if(a[139078]|0){b=c[24742]|0;h[n>>3]=+h[(c[f>>2]|0)+8>>3];p3(b,124492,n)|0}if(+h[(c[f>>2]|0)+8>>3]<=+h[c[f>>2]>>3])break;if((c[k>>2]|0)==-1?+h[l>>3]<=+h[(c[f>>2]|0)+8>>3]:0)break;h[l>>3]=+h[(c[f>>2]|0)+8>>3];sk(c[e>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if((o|0)==13){o=c[e>>2]|0;kj(o);o=c[e>>2]|0;tk(o);o=c[e>>2]|0;uk(o);o=c[e>>2]|0;q=+rk(o);o=c[f>>2]|0;o=o+8|0;h[o>>3]=q;i=p;return}c[(c[f>>2]|0)+16>>2]=c[(c[f>>2]|0)+20>>2];c[(c[f>>2]|0)+20>>2]=c[g>>2];o=c[e>>2]|0;kj(o);o=c[e>>2]|0;tk(o);o=c[e>>2]|0;uk(o);o=c[e>>2]|0;q=+rk(o);o=c[f>>2]|0;o=o+8|0;h[o>>3]=q;i=p;return}function ok(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;c[(c[(c[d>>2]|0)+8>>2]|0)+216>>2]=0;c[d>>2]=qC(c[b>>2]|0,c[d>>2]|0)|0}i=e;return}function pk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+48|0;if((i|0)>=(j|0))ba();k=l+16|0;h=l+8|0;d=l+40|0;m=l+36|0;e=l+32|0;f=l+28|0;g=l+20|0;c[m>>2]=a;c[e>>2]=b;c[g>>2]=5;c[f>>2]=OA(c[m>>2]|0,137017)|0;if((c[f>>2]|0)!=0?(m=c[f>>2]|0,c[h>>2]=l,c[h+4>>2]=g,m=E3(m,124507,h)|0,c[l+24>>2]=m,(m|0)>0):0){pA(0,124514,k)|0;c[(c[e>>2]|0)+24>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[d>>2]=0;m=c[d>>2]|0;i=l;return m|0}c[(c[e>>2]|0)+24>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[d>>2]=0;m=c[d>>2]|0;i=l;return m|0}function qk(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,k=0,l=0,m=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();d=k+12|0;g=k+8|0;f=k+4|0;e=k;c[d>>2]=a;c[12593]=rK((AB(c[d>>2]|0)|0)*24|0)|0;c[12592]=0;c[g>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;c[(c[(c[g>>2]|0)+8>>2]|0)+120>>2]=-1;c[g>>2]=qC(c[d>>2]|0,c[g>>2]|0)|0}c[g>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;do if(!(c[(c[(c[g>>2]|0)+8>>2]|0)+216>>2]|0)){a=qK(4)|0;c[(c[12593]|0)+((c[12592]|0)*24|0)>>2]=a;c[c[(c[12593]|0)+((c[12592]|0)*24|0)>>2]>>2]=c[g>>2];c[(c[12593]|0)+((c[12592]|0)*24|0)+4>>2]=1;h[(c[12593]|0)+((c[12592]|0)*24|0)+8>>3]=+h[(c[(c[g>>2]|0)+8>>2]|0)+32>>3];h[(c[12593]|0)+((c[12592]|0)*24|0)+16>>3]=+h[(c[(c[g>>2]|0)+8>>2]|0)+40>>3];c[(c[(c[g>>2]|0)+8>>2]|0)+120>>2]=c[12592];c[12592]=(c[12592]|0)+1}else{c[f>>2]=AO(c[g>>2]|0)|0;a=c[(c[f>>2]|0)+8>>2]|0;if((c[(c[(c[f>>2]|0)+8>>2]|0)+120>>2]|0)>-1){c[e>>2]=c[a+120>>2];l=c[g>>2]|0;m=(c[12593]|0)+((c[e>>2]|0)*24|0)+4|0;a=c[m>>2]|0;c[m>>2]=a+1;c[(c[(c[12593]|0)+((c[e>>2]|0)*24|0)>>2]|0)+(a<<2)>>2]=l;a=(c[12593]|0)+((c[e>>2]|0)*24|0)+8|0;h[a>>3]=+h[a>>3]+ +h[(c[(c[g>>2]|0)+8>>2]|0)+32>>3];if(+h[(c[12593]|0)+((c[e>>2]|0)*24|0)+16>>3]<+h[(c[(c[g>>2]|0)+8>>2]|0)+40>>3])b=+h[(c[(c[g>>2]|0)+8>>2]|0)+40>>3];else b=+h[(c[12593]|0)+((c[e>>2]|0)*24|0)+16>>3];h[(c[12593]|0)+((c[e>>2]|0)*24|0)+16>>3]=b;c[(c[(c[g>>2]|0)+8>>2]|0)+120>>2]=c[e>>2];break}m=qK(c[a+216>>2]<<2)|0;c[(c[12593]|0)+((c[12592]|0)*24|0)>>2]=m;m=(c[f>>2]|0)==(c[g>>2]|0);c[c[(c[12593]|0)+((c[12592]|0)*24|0)>>2]>>2]=c[f>>2];if(m){c[(c[12593]|0)+((c[12592]|0)*24|0)+4>>2]=1;h[(c[12593]|0)+((c[12592]|0)*24|0)+8>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+32>>3];h[(c[12593]|0)+((c[12592]|0)*24|0)+16>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+40>>3]}else{c[(c[(c[12593]|0)+((c[12592]|0)*24|0)>>2]|0)+4>>2]=c[g>>2];c[(c[12593]|0)+((c[12592]|0)*24|0)+4>>2]=2;h[(c[12593]|0)+((c[12592]|0)*24|0)+8>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+32>>3]+ +h[(c[(c[g>>2]|0)+8>>2]|0)+32>>3];if(+h[(c[(c[f>>2]|0)+8>>2]|0)+40>>3]<+h[(c[(c[g>>2]|0)+8>>2]|0)+40>>3])b=+h[(c[(c[g>>2]|0)+8>>2]|0)+40>>3];else b=+h[(c[(c[f>>2]|0)+8>>2]|0)+40>>3];h[(c[12593]|0)+((c[12592]|0)*24|0)+16>>3]=b}c[(c[(c[f>>2]|0)+8>>2]|0)+120>>2]=c[12592];c[(c[(c[g>>2]|0)+8>>2]|0)+120>>2]=c[12592];c[12592]=(c[12592]|0)+1}while(0);c[g>>2]=qC(c[d>>2]|0,c[g>>2]|0)|0}i=k;return}function rk(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();d=m+32|0;e=m+28|0;g=m+24|0;k=m+16|0;f=m+8|0;l=m;c[d>>2]=a;h[k>>3]=0.0;tk(c[d>>2]|0);h[f>>3]=+(_((c[12590]|0)-1|0,c[(c[(c[d>>2]|0)+8>>2]|0)+252>>2]|0)|0);c[e>>2]=0;while(1){b=+h[k>>3];if((c[e>>2]|0)>=(c[12590]|0))break;if(b<+h[(c[12591]|0)+((c[e>>2]|0)*40|0)+24>>3]+ +(_(c[(c[12591]|0)+((c[e>>2]|0)*40|0)+16>>2]|0,c[(c[(c[d>>2]|0)+8>>2]|0)+248>>2]|0)|0)){h[k>>3]=+h[(c[12591]|0)+((c[e>>2]|0)*40|0)+24>>3]+ +(_(c[(c[12591]|0)+((c[e>>2]|0)*40|0)+16>>2]|0,c[(c[(c[d>>2]|0)+8>>2]|0)+248>>2]|0)|0);c[g>>2]=c[e>>2]}h[f>>3]=+h[f>>3]+ +h[(c[12591]|0)+((c[e>>2]|0)*40|0)+32>>3];c[e>>2]=(c[e>>2]|0)+1}h[l>>3]=b/+h[f>>3];i=m;return +(+h[l>>3])}function sk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[12594]=qK((AB(c[b>>2]|0)|0)<<2)|0;c[d>>2]=0;while(1){a=c[d>>2]|0;if((a|0)>=(AB(c[b>>2]|0)|0))break;c[(c[12594]|0)+(c[d>>2]<<2)>>2]=c[d>>2];c[d>>2]=(c[d>>2]|0)+1}tk(c[b>>2]|0);vk(c[b>>2]|0);wk(c[b>>2]|0);i=e;return}function tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();b=m+24|0;e=m+20|0;l=m+16|0;k=m+12|0;d=m+8|0;f=m+4|0;g=m;c[b>>2]=a;c[12590]=0;if(c[12591]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[12592]|0))break;if(c[(c[12591]|0)+((c[e>>2]|0)*40|0)+4>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[12591]|0)+((c[e>>2]|0)*40|0)+12>>2]|0))break;c[f>>2]=(c[f>>2]|0)+1}B1(c[(c[12591]|0)+((c[e>>2]|0)*40|0)+4>>2]|0)}if(c[(c[12591]|0)+((c[e>>2]|0)*40|0)+8>>2]|0)B1(c[(c[12591]|0)+((c[e>>2]|0)*40|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}B1(c[12591]|0)}c[12591]=qK((c[12592]|0)*40|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[12592]|0))break;f=qK(c[12592]<<2)|0;c[(c[12591]|0)+((c[e>>2]|0)*40|0)+4>>2]=f;f=qK(c[12592]<<2)|0;c[(c[12591]|0)+((c[e>>2]|0)*40|0)+8>>2]=f;c[(c[12591]|0)+((c[e>>2]|0)*40|0)>>2]=c[e>>2];c[(c[12591]|0)+((c[e>>2]|0)*40|0)+12>>2]=0;c[(c[12591]|0)+((c[e>>2]|0)*40|0)+16>>2]=0;h[(c[12591]|0)+((c[e>>2]|0)*40|0)+24>>3]=0.0;h[(c[12591]|0)+((c[e>>2]|0)*40|0)+32>>3]=0.0;c[e>>2]=(c[e>>2]|0)+1}c[k>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[d>>2]=cB(c[b>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;f=c[d>>2]|0;c[g>>2]=(c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)+1;while(1){f=c[d>>2]|0;if((c[g>>2]|0)>=(c[(c[(c[((c[c[d>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0))break;f=(c[12591]|0)+((c[g>>2]|0)*40|0)+16|0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}c[k>>2]=qC(c[b>>2]|0,c[k>>2]|0)|0}c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[12592]|0))break;c[l>>2]=c[c[(c[12593]|0)+((c[e>>2]|0)*24|0)>>2]>>2];if(((c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0)+1|0)>(c[12590]|0))c[12590]=(c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0)+1;n=+h[(c[12593]|0)+((c[e>>2]|0)*24|0)+8>>3]*72.0+ +(_(+h[(c[12591]|0)+((c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0)*40|0)+24>>3]>0.0&1,c[(c[(c[b>>2]|0)+8>>2]|0)+248>>2]|0)|0);k=(c[12591]|0)+((c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0)*40|0)+24|0;h[k>>3]=+h[k>>3]+n;if(+h[(c[12591]|0)+((c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0)*40|0)+32>>3]<+h[(c[12593]|0)+((c[e>>2]|0)*24|0)+16>>3]*72.0)h[(c[12591]|0)+((c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0)*40|0)+32>>3]=+h[(c[12593]|0)+((c[e>>2]|0)*24|0)+16>>3]*72.0;c[(c[(c[12591]|0)+((c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0)*40|0)+4>>2]|0)+(c[(c[12591]|0)+((c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0)*40|0)+12>>2]<<2)>>2]=(c[12593]|0)+((c[e>>2]|0)*24|0);k=(c[12591]|0)+((c[(c[(c[l>>2]|0)+8>>2]|0)+232>>2]|0)*40|0)+12|0;c[k>>2]=(c[k>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}i=m;return}function uk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+24|0;e=l+20|0;k=l+16|0;b=l+12|0;h=l+8|0;g=l+4|0;f=l;c[l+28>>2]=a;c[k>>2]=0;c[b>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[12590]|0))break;a=c[b>>2]|0;a:do if(c[(c[12591]|0)+((c[d>>2]|0)*40|0)+12>>2]|0){if((a|0)!=0?(c[(c[12591]|0)+((c[d>>2]|0)*40|0)>>2]|0)>(c[k>>2]|0):0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[12591]|0)+((c[d>>2]|0)*40|0)+12>>2]|0))break a;c[g>>2]=c[(c[(c[12591]|0)+((c[d>>2]|0)*40|0)+4>>2]|0)+(c[e>>2]<<2)>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0))break;c[f>>2]=c[(c[c[g>>2]>>2]|0)+(c[h>>2]<<2)>>2];a=(c[(c[f>>2]|0)+8>>2]|0)+232|0;c[a>>2]=(c[a>>2]|0)-(c[b>>2]|0);c[h>>2]=(c[h>>2]|0)+1}c[e>>2]=(c[e>>2]|0)+1}}}else{if(!a)c[k>>2]=c[(c[12591]|0)+((c[d>>2]|0)*40|0)>>2];c[b>>2]=(c[b>>2]|0)+1}while(0);c[d>>2]=(c[d>>2]|0)+1}i=l;return}function vk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=c[12594]|0;P3(a,AB(c[d>>2]|0)|0,4,63);i=b;return}function wk(b){b=b|0;var d=0.0,e=0,f=0,g=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=i;i=i+80|0;if((i|0)>=(j|0))ba();g=y+72|0;m=y+68|0;o=y+64|0;f=y+16|0;x=y+8|0;w=y;k=y+60|0;l=y+56|0;p=y+52|0;s=y+48|0;t=y+44|0;n=y+40|0;u=y+36|0;v=y+32|0;r=y+28|0;q=y+24|0;c[g>>2]=b;h[x>>3]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[12590]|0))break;b=c[m>>2]|0;if((c[(c[12591]|0)+((c[(c[12594]|0)+(c[m>>2]<<2)>>2]|0)*40|0)+12>>2]|0)>1){e=4;break}c[m>>2]=b+1}if((e|0)==4){c[o>>2]=c[(c[12594]|0)+(b<<2)>>2];if((c[12590]|0)>((c[m>>2]|0)+1|0))d=+h[(c[12591]|0)+((c[(c[12594]|0)+((c[m>>2]|0)+1<<2)>>2]|0)*40|0)+24>>3];else d=0.0;h[f>>3]=d}if((c[m>>2]|0)==(c[12590]|0)){i=y;return}P3(c[(c[12591]|0)+((c[o>>2]|0)*40|0)+4>>2]|0,c[(c[12591]|0)+((c[o>>2]|0)*40|0)+12>>2]|0,4,64);if(!(!(+h[f>>3]<=+h[(c[12591]|0)+((c[o>>2]|0)*40|0)+24>>3]/4.0)?!(+h[f>>3]>=+h[(c[12591]|0)+((c[o>>2]|0)*40|0)+24>>3]*3.0/4.0):0))h[f>>3]=+h[(c[12591]|0)+((c[o>>2]|0)*40|0)+24>>3]/2.0;h[w>>3]=+h[f>>3];c[k>>2]=0;c[p>>2]=0;c[n>>2]=c[(c[12591]|0)+((c[o>>2]|0)*40|0)+12>>2];c[u>>2]=0;c[v>>2]=0;h[x>>3]=0.0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=((c[n>>2]|0)+(c[u>>2]|0)|0))break;do if(c[(c[(c[12591]|0)+((c[o>>2]|0)*40|0)+8>>2]|0)+(c[m>>2]<<2)>>2]|0)c[u>>2]=(c[u>>2]|0)+1;else{d=+h[x>>3]+ +h[(c[(c[(c[12591]|0)+((c[o>>2]|0)*40|0)+4>>2]|0)+(c[m>>2]<<2)>>2]|0)+8>>3]*72.0+ +(_(+h[x>>3]>0.0&1,c[(c[(c[g>>2]|0)+8>>2]|0)+248>>2]|0)|0);b=c[(c[(c[12591]|0)+((c[o>>2]|0)*40|0)+4>>2]|0)+(c[m>>2]<<2)>>2]|0;if(!((c[k>>2]|0)!=0?!(d<=+h[w>>3]):0)){d=+h[b+8>>3]*72.0+ +(_(+h[x>>3]>0.0&1,c[(c[(c[g>>2]|0)+8>>2]|0)+248>>2]|0)|0);h[x>>3]=+h[x>>3]+d;if(c[k>>2]|0)break;c[l>>2]=c[(c[(c[12591]|0)+((c[o>>2]|0)*40|0)+4>>2]|0)+(c[m>>2]<<2)>>2];c[k>>2]=1;break}c[r>>2]=b;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[(c[l>>2]|0)+4>>2]|0))break;c[t>>2]=0;while(1){b=c[s>>2]|0;if((c[t>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break;c[q>>2]=fh(c[(c[c[l>>2]>>2]|0)+(b<<2)>>2]|0,c[(c[c[r>>2]>>2]|0)+(c[t>>2]<<2)>>2]|0,0)|0;a[(c[(c[q>>2]|0)+8>>2]|0)+112>>0]=1;c[p>>2]=(c[p>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=b+1}c[(c[(c[12591]|0)+((c[o>>2]|0)*40|0)+8>>2]|0)+(c[m>>2]<<2)>>2]=1;c[v>>2]=(c[v>>2]|0)+1;f=(c[12591]|0)+((c[o>>2]|0)*40|0)+12|0;c[f>>2]=(c[f>>2]|0)+-1;f=(c[12591]|0)+((c[o>>2]|0)*40|0)+16|0;c[f>>2]=(c[f>>2]|0)+1;f=(c[12591]|0)+((c[o>>2]|0)*40|0)+24|0;h[f>>3]=+h[f>>3]-(+h[(c[r>>2]|0)+8>>3]*72.0+ +(c[(c[(c[g>>2]|0)+8>>2]|0)+248>>2]|0))}while(0);c[m>>2]=(c[m>>2]|0)+1}i=y;return}function xk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();l=d+20|0;k=d+16|0;h=d+12|0;g=d+8|0;e=d+4|0;f=d;c[l>>2]=a;c[k>>2]=b;c[h>>2]=c[l>>2];c[g>>2]=c[k>>2];c[e>>2]=yk(c[c[h>>2]>>2]|0)|0;c[f>>2]=yk(c[c[g>>2]>>2]|0)|0;i=d;return ((c[f>>2]|0)<(c[e>>2]|0)&1)-((c[f>>2]|0)>(c[e>>2]|0)&1)|0}function yk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();b=k+20|0;g=k+16|0;d=k+12|0;h=k+8|0;e=k+4|0;f=k;c[b>>2]=a;c[d>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[h>>2]=c[(c[c[b>>2]>>2]|0)+(c[g>>2]<<2)>>2];c[f>>2]=GC(c[h>>2]|0)|0;c[e>>2]=cB(c[f>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=eB(c[f>>2]|0,c[e>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}i=k;return c[d>>2]|0}function zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();k=d+12|0;g=d+8|0;e=d+4|0;f=d;c[k>>2]=a;c[g>>2]=b;c[e>>2]=c[k>>2];c[f>>2]=c[g>>2];i=d;return (+h[(c[12591]|0)+((c[c[f>>2]>>2]|0)*40|0)+24>>3]>+h[(c[12591]|0)+((c[c[e>>2]>>2]|0)*40|0)+24>>3]&1)-(+h[(c[12591]|0)+((c[c[f>>2]>>2]|0)*40|0)+24>>3]<+h[(c[12591]|0)+((c[c[e>>2]>>2]|0)*40|0)+24>>3]&1)|0}function Ak(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if((((c[13873]|0)!=0?(b=PA(c[e>>2]|0,c[13873]|0)|0,c[f>>2]=b,(b|0)!=0):0)?(a[c[f>>2]>>0]|0)!=0:0)?((zO(c[f>>2]|0)|0)&255|0)==0:0){c[d>>2]=1;b=c[d>>2]|0;i=g;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=g;return b|0}function Bk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();b=k+20|0;f=k+16|0;h=k+12|0;e=k+8|0;d=k+4|0;g=k;c[b>>2]=a;Pk(c[b>>2]|0);c[f>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[d>>2]=cB(c[b>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;do if(((c[(c[(c[d>>2]|0)+8>>2]|0)+172>>2]|0)==0?(Ak(c[d>>2]|0)|0)==0:0)?(a=c[d>>2]|0,c[h>>2]=AO(c[((c[c[d>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)|0,a=c[d>>2]|0,c[e>>2]=AO(c[((c[c[d>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)|0,(c[h>>2]|0)!=(c[e>>2]|0)):0){if((c[(c[(c[h>>2]|0)+8>>2]|0)+212>>2]|0)==0?(c[(c[(c[e>>2]|0)+8>>2]|0)+212>>2]|0)==0:0){a=Zg(c[h>>2]|0,c[e>>2]|0)|0;c[g>>2]=a;if(a){mh(c[d>>2]|0,c[g>>2]|0);break}else{fh(c[h>>2]|0,c[e>>2]|0,c[d>>2]|0)|0;break}}l=c[d>>2]|0;a=c[d>>2]|0;Ck(c[b>>2]|0,c[((c[c[d>>2]>>2]&3|0)==3?l:l+32|0)+28>>2]|0,c[((c[c[d>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0,c[d>>2]|0)}while(0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}c[f>>2]=qC(c[b>>2]|0,c[f>>2]|0)|0}i=k;return}function Ck(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=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=i;i=i+64|0;if((i|0)>=(j|0))ba();h=x+52|0;k=x+48|0;l=x+44|0;m=x+40|0;w=x+36|0;t=x+32|0;n=x+28|0;q=x+24|0;u=x+20|0;o=x+16|0;v=x+12|0;p=x+8|0;s=x+4|0;r=x;c[h>>2]=b;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;d=c[m>>2]|0;if(c[(c[(c[((c[c[m>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0){f=c[m>>2]|0;d=c[m>>2]|0;c[v>>2]=(c[(c[(c[((c[c[m>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[(c[(c[(c[(c[((c[c[m>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0)+8>>2]|0)+264>>2]|0)+8>>2]|0)+232>>2]|0)}else c[v>>2]=0;d=c[m>>2]|0;if(c[(c[(c[((c[c[m>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0){f=c[m>>2]|0;d=c[m>>2]|0;c[p>>2]=(c[(c[(c[((c[c[m>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[(c[(c[(c[(c[((c[c[m>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0)+8>>2]|0)+212>>2]|0)+8>>2]|0)+264>>2]|0)+8>>2]|0)+232>>2]|0)}else c[p>>2]=0;c[q>>2]=(e[(c[(c[m>>2]|0)+8>>2]|0)+170>>1]|0)+(c[v>>2]|0)-(c[p>>2]|0);if((c[q>>2]|0)>0){c[u>>2]=0;c[o>>2]=c[q>>2]}else{c[u>>2]=0-(c[q>>2]|0);c[o>>2]=0}c[w>>2]=jh(c[h>>2]|0)|0;a[(c[(c[w>>2]|0)+8>>2]|0)+156>>0]=2;c[t>>2]=AO(c[k>>2]|0)|0;c[n>>2]=AO(c[l>>2]|0)|0;c[s>>2]=zi(c[w>>2]|0,c[t>>2]|0,+(c[u>>2]|0),(c[(c[(c[m>>2]|0)+8>>2]|0)+156>>2]|0)*10|0)|0;c[r>>2]=zi(c[w>>2]|0,c[n>>2]|0,+(c[o>>2]|0),c[(c[(c[m>>2]|0)+8>>2]|0)+156>>2]|0)|0;w=c[m>>2]|0;c[(c[(c[r>>2]|0)+8>>2]|0)+116>>2]=w;c[(c[(c[s>>2]|0)+8>>2]|0)+116>>2]=w;i=x;return}function Dk(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;f=c[h>>2]|0;a=c[h>>2]|0;d=c[c[h>>2]>>2]&3;if((c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)>(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)){a=c[h>>2]|0;d=c[(c[(c[((d|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0}else{a=c[h>>2]|0;d=c[(c[(c[((d|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0}c[m>>2]=d;if(c[(c[(c[h>>2]|0)+8>>2]|0)+172>>2]|0)db(124603,124625,149,124634);c[(c[(c[h>>2]|0)+8>>2]|0)+172>>2]=c[k>>2];c[n>>2]=c[k>>2];while(1){if(c[l>>2]|0){k=(c[(c[n>>2]|0)+8>>2]|0)+168|0;b[k>>1]=(b[k>>1]|0)+(b[(c[(c[h>>2]|0)+8>>2]|0)+168>>1]|0)}k=(c[(c[n>>2]|0)+8>>2]|0)+154|0;b[k>>1]=(b[k>>1]|0)+(b[(c[(c[h>>2]|0)+8>>2]|0)+154>>1]|0);k=(c[(c[n>>2]|0)+8>>2]|0)+156|0;c[k>>2]=(c[k>>2]|0)+(c[(c[(c[h>>2]|0)+8>>2]|0)+156>>2]|0);k=c[n>>2]|0;if((c[(c[(c[((c[c[n>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)==(c[m>>2]|0)){d=11;break}k=c[n>>2]|0;Gk(c[g>>2]|0,c[((c[c[n>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0);k=c[n>>2]|0;c[n>>2]=c[c[(c[(c[((c[c[n>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+180>>2]>>2];if(!(c[n>>2]|0)){d=11;break}}if((d|0)==11){i=o;return}}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(((((c[e>>2]|0)!=0&(c[f>>2]|0)!=0?(a=c[e>>2]|0,b=c[f>>2]|0,(c[((c[c[e>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)==(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)):0)?(a=c[e>>2]|0,b=c[f>>2]|0,(c[((c[c[e>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)==(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)):0)?(c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2]|0)==(c[(c[(c[f>>2]|0)+8>>2]|0)+96>>2]|0):0)?(Ai(c[e>>2]|0,c[f>>2]|0)|0)!=0:0){c[d>>2]=1;b=c[d>>2]|0;i=g;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=g;return b|0}function Fk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();n=o+28|0;e=o+24|0;h=o+20|0;m=o+16|0;g=o+12|0;f=o+8|0;l=o+4|0;k=o;c[n>>2]=b;c[(c[(c[n>>2]|0)+8>>2]|0)+192>>2]=0;c[(c[(c[n>>2]|0)+8>>2]|0)+232>>2]=0;Pk(c[n>>2]|0);c[e>>2]=1;while(1){d=c[n>>2]|0;if((c[e>>2]|0)>(c[(c[(c[n>>2]|0)+8>>2]|0)+180>>2]|0))break;Qk(d,c[(c[(c[(c[n>>2]|0)+8>>2]|0)+184>>2]|0)+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}c[h>>2]=pC(d)|0;while(1){d=c[n>>2]|0;if(!(c[h>>2]|0))break;c[f>>2]=cB(d,c[h>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;e=c[f>>2]|0;if((a[(c[(c[((c[c[f>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+160>>0]|0)<=2){e=c[f>>2]|0;e=(c[(c[((c[c[f>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+160|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24}e=c[f>>2]|0;if((a[(c[(c[((c[c[f>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+160>>0]|0)<=2){e=c[f>>2]|0;e=(c[(c[((c[c[f>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+160|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24}c[f>>2]=eB(c[n>>2]|0,c[f>>2]|0)|0}c[h>>2]=qC(c[n>>2]|0,c[h>>2]|0)|0}c[h>>2]=pC(d)|0;while(1){if(!(c[h>>2]|0))break;if((c[(c[(c[h>>2]|0)+8>>2]|0)+212>>2]|0)==0?(e=c[h>>2]|0,(e|0)==(AO(c[h>>2]|0)|0)):0){gh(c[n>>2]|0,c[h>>2]|0);e=(c[(c[n>>2]|0)+8>>2]|0)+232|0;c[e>>2]=(c[e>>2]|0)+1}c[l>>2]=0;c[f>>2]=cB(c[n>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;d=c[f>>2]|0;a:do if(!(c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]|0)){e=(Hk(d)|0)!=0;d=c[l>>2]|0;if(e){if(!(Ek(d,c[f>>2]|0)|0)){Ik(c[n>>2]|0,c[f>>2]|0);c[l>>2]=c[f>>2];break}if(c[(c[(c[l>>2]|0)+8>>2]|0)+172>>2]|0){Dk(c[n>>2]|0,c[f>>2]|0,c[(c[(c[l>>2]|0)+8>>2]|0)+172>>2]|0,0);ch(c[f>>2]|0);break}b=c[f>>2]|0;e=c[f>>2]|0;if((c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)!=(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0))break;mh(c[f>>2]|0,c[l>>2]|0);ch(c[f>>2]|0);break}if(((d|0)!=0?(b=c[f>>2]|0,e=c[l>>2]|0,(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)==(c[((c[c[l>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)):0)?(b=c[f>>2]|0,e=c[l>>2]|0,(c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)==(c[((c[c[l>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)):0){b=c[f>>2]|0;e=c[f>>2]|0;d=c[f>>2]|0;if((c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)==(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)){mh(d,c[l>>2]|0);ch(c[f>>2]|0);break}if(((c[(c[d+8>>2]|0)+96>>2]|0)==0?(c[(c[(c[l>>2]|0)+8>>2]|0)+96>>2]|0)==0:0)?(Ai(c[f>>2]|0,c[l>>2]|0)|0)!=0:0)if(a[139080]|0){a[(c[(c[f>>2]|0)+8>>2]|0)+112>>0]=6;break}else{Dk(c[n>>2]|0,c[f>>2]|0,c[(c[(c[l>>2]|0)+8>>2]|0)+172>>2]|0,1);ch(c[f>>2]|0);break}}b=c[f>>2]|0;e=c[f>>2]|0;d=c[f>>2]|0;if((c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)==(c[((c[c[f>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)){ch(d);c[l>>2]=c[f>>2];break}e=c[f>>2]|0;c[m>>2]=AO(c[((c[d>>2]&3|0)==3?e:e+32|0)+28>>2]|0)|0;e=c[f>>2]|0;c[g>>2]=AO(c[((c[c[f>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)|0;e=c[f>>2]|0;if((c[((c[c[f>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)==(c[m>>2]|0)?(e=c[f>>2]|0,(c[((c[c[f>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)==(c[g>>2]|0)):0){b=c[f>>2]|0;e=c[f>>2]|0;if((c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)==(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)){kh(c[n>>2]|0,c[f>>2]|0);c[l>>2]=c[f>>2];break}p=c[f>>2]|0;e=c[f>>2]|0;d=c[n>>2]|0;b=c[c[f>>2]>>2]&3;if((c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)>(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)){e=c[f>>2]|0;p=c[f>>2]|0;Jk(d,c[((b|0)==3?e:e+32|0)+28>>2]|0,c[((c[c[f>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0,c[f>>2]|0);c[l>>2]=c[f>>2];break}e=c[f>>2]|0;p=c[f>>2]|0;p=jB(d,c[((b|0)==2?e:e+-32|0)+28>>2]|0,c[((c[c[f>>2]>>2]&3|0)==3?p:p+32|0)+28>>2]|0,0,0)|0;c[k>>2]=p;do if((p|0)!=0?(e=c[k>>2]|0,p=c[f>>2]|0,(c[((c[c[k>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)!=(c[((c[c[f>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0)):0){if(!(c[(c[(c[k>>2]|0)+8>>2]|0)+172>>2]|0)){e=c[k>>2]|0;p=c[k>>2]|0;Jk(c[n>>2]|0,c[((c[c[k>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0,c[((c[c[k>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0,c[k>>2]|0)}if((c[(c[(c[f>>2]|0)+8>>2]|0)+96>>2]|0)==0?(c[(c[(c[k>>2]|0)+8>>2]|0)+96>>2]|0)==0:0){if(!(Ai(c[f>>2]|0,c[k>>2]|0)|0))break;d=c[f>>2]|0;if(a[139080]|0){a[(c[d+8>>2]|0)+112>>0]=6;a[(c[(c[k>>2]|0)+8>>2]|0)+153>>0]=1;break a}else{ch(d);Dk(c[n>>2]|0,c[f>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+172>>2]|0,1);break a}}}while(0);e=c[f>>2]|0;p=c[f>>2]|0;Jk(c[n>>2]|0,c[((c[c[f>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0,c[((c[c[f>>2]>>2]&3|0)==3?p:p+32|0)+28>>2]|0,c[f>>2]|0);c[l>>2]=c[f>>2]}}else c[l>>2]=d;while(0);c[f>>2]=eB(c[n>>2]|0,c[f>>2]|0)|0}c[h>>2]=qC(c[n>>2]|0,c[h>>2]|0)|0}p=c[n>>2]|0;if((p|0)==(Nf(c[n>>2]|0)|0)){i=o;return}if(c[(c[(c[n>>2]|0)+8>>2]|0)+216>>2]|0)d=tK(c[(c[(c[n>>2]|0)+8>>2]|0)+216>>2]|0,4)|0;else d=rK(4)|0;c[(c[(c[n>>2]|0)+8>>2]|0)+216>>2]=d;c[c[(c[(c[n>>2]|0)+8>>2]|0)+216>>2]>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+192>>2];i=o;return}function Gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=(c[(c[(c[g>>2]|0)+8>>2]|0)+248>>2]|0)/2|0;b=(c[(c[f>>2]|0)+8>>2]|0)+88|0;h[b>>3]=+h[b>>3]+ +(c[e>>2]|0);b=(c[(c[f>>2]|0)+8>>2]|0)+96|0;h[b>>3]=+h[b>>3]+ +(c[e>>2]|0);i=d;return}function Hk(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;b=c[d>>2]|0;if((a[(c[(c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+159>>0]|0)==7){b=1;b=b&1;i=e;return b|0}b=c[d>>2]|0;b=(a[(c[(c[((c[c[d>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+159>>0]|0)==7;b=b&1;i=e;return b|0}function Ik(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;k=m;c[e>>2]=b;c[f>>2]=d;b=c[f>>2]|0;c[h>>2]=Mk(c[e>>2]|0,c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)|0;b=c[f>>2]|0;c[g>>2]=Mk(c[e>>2]|0,c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)|0;if((c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0)>(c[(c[(c[g>>2]|0)+8>>2]|0)+232>>2]|0)){c[k>>2]=c[h>>2];c[h>>2]=c[g>>2];c[g>>2]=c[k>>2]}if((c[(c[(c[h>>2]|0)+8>>2]|0)+212>>2]|0)==(c[(c[(c[g>>2]|0)+8>>2]|0)+212>>2]|0)){i=m;return}k=Zg(c[h>>2]|0,c[g>>2]|0)|0;c[l>>2]=k;if(k){Dk(c[e>>2]|0,c[f>>2]|0,c[l>>2]|0,1);i=m;return}if((c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0)==(c[(c[(c[g>>2]|0)+8>>2]|0)+232>>2]|0)){i=m;return}Jk(c[e>>2]|0,c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);c[l>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2];while(1){if(!(c[l>>2]|0)){e=11;break}k=c[l>>2]|0;if((c[(c[(c[((c[c[l>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)>(c[(c[(c[g>>2]|0)+8>>2]|0)+232>>2]|0)){e=11;break}a[(c[(c[l>>2]|0)+8>>2]|0)+112>>0]=5;c[l>>2]=c[c[(c[(c[((c[c[l>>2]>>2]&3|0)==2?c[l>>2]|0:(c[l>>2]|0)+-32|0)+28>>2]|0)+8>>2]|0)+180>>2]>>2]}if((e|0)==11){i=m;return}}function Jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();g=q+32|0;f=q+28|0;h=q+24|0;k=q+20|0;n=q+16|0;m=q+12|0;o=q+8|0;p=q+4|0;l=q;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;c[k>>2]=e;c[o>>2]=c[f>>2];if(c[(c[(c[k>>2]|0)+8>>2]|0)+96>>2]|0)c[m>>2]=((c[(c[(c[f>>2]|0)+8>>2]|0)+232>>2]|0)+(c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0)|0)/2|0;else c[m>>2]=-1;if(c[(c[(c[k>>2]|0)+8>>2]|0)+172>>2]|0)db(124646,124625,90,124671);c[n>>2]=(c[(c[(c[f>>2]|0)+8>>2]|0)+232>>2]|0)+1;while(1){if((c[n>>2]|0)>(c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0))break;if((c[n>>2]|0)<(c[(c[(c[h>>2]|0)+8>>2]|0)+232>>2]|0)){b=c[g>>2]|0;f=c[k>>2]|0;if((c[n>>2]|0)==(c[m>>2]|0))c[p>>2]=Kk(b,f)|0;else c[p>>2]=Lk(b,f)|0;c[(c[(c[p>>2]|0)+8>>2]|0)+232>>2]=c[n>>2]}else c[p>>2]=c[h>>2];c[l>>2]=fh(c[o>>2]|0,c[p>>2]|0,c[k>>2]|0)|0;Eh(c[l>>2]|0);c[o>>2]=c[p>>2];c[n>>2]=(c[n>>2]|0)+1}if(c[(c[(c[k>>2]|0)+8>>2]|0)+172>>2]|0){i=q;return}else db(124682,124625,104,124671)}function Kk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0.0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+24|0;l=k+20|0;g=k+16|0;f=k;c[e>>2]=b;c[l>>2]=d;d=(c[(c[(c[l>>2]|0)+8>>2]|0)+96>>2]|0)+24|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];c[g>>2]=jh(c[e>>2]|0)|0;c[(c[(c[g>>2]|0)+8>>2]|0)+104>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+96>>2];m=+(c[(c[(HC(c[g>>2]|0)|0)+8>>2]|0)+248>>2]|0);h[(c[(c[g>>2]|0)+8>>2]|0)+88>>3]=m;if(a[(c[(c[l>>2]|0)+8>>2]|0)+114>>0]|0){l=c[g>>2]|0;i=k;return l|0}if(c[(c[(HC(c[e>>2]|0)|0)+8>>2]|0)+116>>2]&1){h[(c[(c[g>>2]|0)+8>>2]|0)+80>>3]=+h[f>>3];h[(c[(c[g>>2]|0)+8>>2]|0)+96>>3]=+h[f+8>>3];l=c[g>>2]|0;i=k;return l|0}else{h[(c[(c[g>>2]|0)+8>>2]|0)+80>>3]=+h[f+8>>3];h[(c[(c[g>>2]|0)+8>>2]|0)+96>>3]=+h[f>>3];l=c[g>>2]|0;i=k;return l|0}return 0}function Lk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+8|0;g=d+4|0;e=d;c[f>>2]=a;c[g>>2]=b;c[g>>2]=c[g>>2];c[e>>2]=jh(c[f>>2]|0)|0;Gk(c[f>>2]|0,c[e>>2]|0);i=d;return c[e>>2]|0}function Mk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[h+12>>2]=b;c[e>>2]=d;b=c[e>>2]|0;if((a[(c[(c[e>>2]|0)+8>>2]|0)+159>>0]|0)!=7){c[g>>2]=AO(b)|0;g=c[g>>2]|0;i=h;return g|0}else{c[f>>2]=c[(c[b+8>>2]|0)+212>>2];c[g>>2]=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+268>>2]|0)+(c[(c[(c[e>>2]|0)+8>>2]|0)+232>>2]<<2)>>2];g=c[g>>2]|0;i=h;return g|0}return 0}function Nk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+24|0;h=n+20|0;k=n+16|0;f=n+12|0;m=n+8|0;l=n+4|0;g=n;c[e>>2]=a;c[h>>2]=Nf(c[e>>2]|0)|0;c[k>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[m>>2]=0;c[f>>2]=hB(c[h>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[l>>2]=iB(c[h>>2]|0,c[f>>2]|0,c[k>>2]|0)|0;do if(!(QC(c[e>>2]|0,c[f>>2]|0)|0)){d=c[f>>2]|0;c[f>>2]=(c[c[f>>2]>>2]&3|0)==2?d:d+-32|0;d=(Ek(c[m>>2]|0,c[f>>2]|0)|0)!=0;b=c[f>>2]|0;a=c[f>>2]|0;a=(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)==(c[(c[(c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0);if(d){if(a)c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]=c[m>>2];else c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]=0;if(!(c[(c[(c[m>>2]|0)+8>>2]|0)+172>>2]|0))break;Dk(c[e>>2]|0,c[f>>2]|0,c[(c[(c[m>>2]|0)+8>>2]|0)+172>>2]|0,0);dh(c[f>>2]|0);break}d=c[c[f>>2]>>2]&3;if(!a){p=c[f>>2]|0;o=c[f>>2]|0;a=c[h>>2]|0;b=c[c[f>>2]>>2]&3;if((c[(c[(c[((d|0)==2?p:p+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)>(c[(c[(c[((c[c[f>>2]>>2]&3|0)==3?o:o+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)){o=c[f>>2]|0;p=c[f>>2]|0;Tk(a,c[((b|0)==3?o:o+32|0)+28>>2]|0,c[((c[c[f>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0,c[f>>2]|0);c[m>>2]=c[f>>2];break}else{o=c[f>>2]|0;p=c[f>>2]|0;Tk(a,c[((b|0)==2?o:o+-32|0)+28>>2]|0,c[((c[c[f>>2]>>2]&3|0)==3?p:p+32|0)+28>>2]|0,c[f>>2]|0);c[m>>2]=c[f>>2];break}}o=c[f>>2]|0;p=c[f>>2]|0;p=_g(c[((d|0)==3?o:o+32|0)+28>>2]|0,c[((c[c[f>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0)|0;c[g>>2]=p;if(!p){kh(c[h>>2]|0,c[f>>2]|0);c[m>>2]=c[f>>2];break}if((c[f>>2]|0)!=(c[g>>2]|0)?(dh(c[f>>2]|0),(c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]|0)==0):0)mh(c[f>>2]|0,c[g>>2]|0)}while(0);c[f>>2]=c[l>>2]}c[k>>2]=qC(c[e>>2]|0,c[k>>2]|0)|0}i=n;return}function Ok(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;Fk(c[d>>2]|0);c[(c[(c[d>>2]|0)+8>>2]|0)+216+4>>2]=1;c[c[(c[(c[d>>2]|0)+8>>2]|0)+216>>2]>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+192>>2];zh(c[d>>2]|0);Bh(c[d>>2]|0,0);Uk(c[d>>2]|0);Nk(c[d>>2]|0);Vk(c[d>>2]|0);i=b;return}function Pk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();m=o;d=o+36|0;e=o+32|0;h=o+28|0;k=o+24|0;n=o+20|0;l=o+16|0;g=o+12|0;f=o+8|0;c[d>>2]=b;c[h>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;if((a[(c[(c[h>>2]|0)+8>>2]|0)+159>>0]|0)==7)CO(c[h>>2]|0);c[(c[(c[h>>2]|0)+8>>2]|0)+212>>2]=0;c[h>>2]=qC(c[d>>2]|0,c[h>>2]|0)|0}c[e>>2]=1;while(1){if((c[e>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0))break;c[f>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[e>>2]<<2)>>2];c[h>>2]=pC(c[f>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;c[k>>2]=qC(c[f>>2]|0,c[h>>2]|0)|0;b=c[h>>2]|0;a:do if(a[(c[(c[h>>2]|0)+8>>2]|0)+159>>0]|0){p=MB(b)|0;b=MB(c[d>>2]|0)|0;c[m>>2]=p;c[m+4>>2]=b;pA(0,124707,m)|0;FC(c[f>>2]|0,c[h>>2]|0)|0}else{DO(b,c[(c[(c[f>>2]|0)+8>>2]|0)+264>>2]|0);c[(c[(c[h>>2]|0)+8>>2]|0)+212>>2]=c[f>>2];a[(c[(c[h>>2]|0)+8>>2]|0)+159>>0]=7;c[l>>2]=cB(c[f>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[l>>2]|0))break a;p=c[(c[(c[l>>2]|0)+8>>2]|0)+172>>2]|0;c[g>>2]=p;b:do if((p|0)!=0&(c[g>>2]|0)!=0)do{p=c[g>>2]|0;p=c[((c[c[g>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0;c[n>>2]=p;if((a[(c[p+8>>2]|0)+156>>0]|0)!=1)break b;c[(c[(c[n>>2]|0)+8>>2]|0)+212>>2]=c[f>>2];p=c[g>>2]|0;c[g>>2]=c[c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?p:p+-32|0)+28>>2]|0)+8>>2]|0)+180>>2]>>2]}while((c[g>>2]|0)!=0);while(0);c[l>>2]=eB(c[f>>2]|0,c[l>>2]|0)|0}}while(0);c[h>>2]=c[k>>2]}c[e>>2]=(c[e>>2]|0)+1}i=o;return}function Qk(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o+20|0;l=o+16|0;n=o+12|0;k=o+8|0;m=o+4|0;h=o;c[f>>2]=d;c[g>>2]=e;c[k>>2]=0;e=qK((b[(c[(c[g>>2]|0)+8>>2]|0)+238>>1]|0)+2<<2)|0;c[(c[(c[g>>2]|0)+8>>2]|0)+268>>2]=e;c[l>>2]=b[(c[(c[g>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[l>>2]|0)>(b[(c[(c[g>>2]|0)+8>>2]|0)+238>>1]|0))break;e=jh(c[f>>2]|0)|0;c[(c[(c[(c[g>>2]|0)+8>>2]|0)+268>>2]|0)+(c[l>>2]<<2)>>2]=e;c[n>>2]=e;c[(c[(c[n>>2]|0)+8>>2]|0)+232>>2]=c[l>>2];a[(c[(c[n>>2]|0)+8>>2]|0)+159>>0]=7;c[(c[(c[n>>2]|0)+8>>2]|0)+212>>2]=c[g>>2];if(c[k>>2]|0){c[h>>2]=fh(c[k>>2]|0,c[n>>2]|0,0)|0;e=(c[(c[h>>2]|0)+8>>2]|0)+154|0;b[e>>1]=(b[e>>1]|0)*1e3}c[k>>2]=c[n>>2];c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;c[m>>2]=c[(c[(c[(c[g>>2]|0)+8>>2]|0)+268>>2]|0)+(c[(c[(c[n>>2]|0)+8>>2]|0)+232>>2]<<2)>>2];e=(c[(c[m>>2]|0)+8>>2]|0)+216|0;c[e>>2]=(c[e>>2]|0)+1;c[h>>2]=cB(c[g>>2]|0,c[n>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;e=c[h>>2]|0;c[l>>2]=c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0)+8>>2]|0)+232>>2];while(1){e=c[h>>2]|0;if((c[l>>2]|0)>=(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0))break;e=(c[(c[c[(c[(c[m>>2]|0)+8>>2]|0)+180>>2]>>2]|0)+8>>2]|0)+168|0;b[e>>1]=(b[e>>1]|0)+1<<16>>16;c[l>>2]=(c[l>>2]|0)+1}c[h>>2]=eB(c[g>>2]|0,c[h>>2]|0)|0}c[n>>2]=qC(c[g>>2]|0,c[n>>2]|0)|0}c[l>>2]=b[(c[(c[g>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[l>>2]|0)>(b[(c[(c[g>>2]|0)+8>>2]|0)+238>>1]|0))break;c[m>>2]=c[(c[(c[(c[g>>2]|0)+8>>2]|0)+268>>2]|0)+(c[l>>2]<<2)>>2];if((c[(c[(c[m>>2]|0)+8>>2]|0)+216>>2]|0)>1){n=(c[(c[m>>2]|0)+8>>2]|0)+216|0;c[n>>2]=(c[n>>2]|0)+-1}c[l>>2]=(c[l>>2]|0)+1}i=o;return}function Rk(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o+20|0;p=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[h>>2]=d;c[p>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+212>>2];if((a[(c[(c[m>>2]|0)+8>>2]|0)+273>>0]|0)==((c[k>>2]|0)+1|0)){i=o;return}c[n>>2]=b[(c[(c[m>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[n>>2]|0)>(b[(c[(c[m>>2]|0)+8>>2]|0)+238>>1]|0))break;Ah(c[h>>2]|0,c[(c[(c[(c[m>>2]|0)+8>>2]|0)+268>>2]|0)+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=b[(c[(c[m>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[n>>2]|0)>(b[(c[(c[m>>2]|0)+8>>2]|0)+238>>1]|0))break;Ch(c[l>>2]|0,c[(c[(c[(c[m>>2]|0)+8>>2]|0)+268>>2]|0)+(c[n>>2]<<2)>>2]|0,c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+1}a[(c[(c[m>>2]|0)+8>>2]|0)+273>>0]=(c[k>>2]|0)+1;i=o;return}function Sk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;e=k;c[d>>2]=b;c[f>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[(c[(c[f>>2]|0)+8>>2]|0)+212>>2]=0;c[g>>2]=cB(c[d>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;b=c[(c[(c[g>>2]|0)+8>>2]|0)+172>>2]|0;c[e>>2]=b;a:do if((b|0)!=0&(c[e>>2]|0)!=0)do{b=c[e>>2]|0;b=c[((c[c[e>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0;c[h>>2]=b;if((a[(c[b+8>>2]|0)+156>>0]|0)!=1)break a;c[(c[(c[h>>2]|0)+8>>2]|0)+212>>2]=0;b=c[e>>2]|0;c[e>>2]=c[c[(c[(c[((c[c[e>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+180>>2]>>2]}while((c[e>>2]|0)!=0);while(0);c[g>>2]=eB(c[d>>2]|0,c[g>>2]|0)|0}c[f>>2]=qC(c[d>>2]|0,c[f>>2]|0)|0}Wk(c[d>>2]|0);i=k;return}function Tk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();n=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[l+24>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=Yk(c[n>>2]|0)|0;c[k>>2]=Yk(c[m>>2]|0)|0;if((c[h>>2]|0)==(c[n>>2]|0)?(c[k>>2]|0)==(c[m>>2]|0):0)c[g>>2]=1;else c[g>>2]=5;Zk(c[h>>2]|0,c[k>>2]|0,c[f>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]|0,c[g>>2]|0);i=l;return}function Uk(d){d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();e=o+28|0;g=o+24|0;f=o+20|0;l=o+16|0;k=o+12|0;h=o+8|0;n=o+4|0;m=o;c[e>>2]=d;c[m>>2]=Nf(c[e>>2]|0)|0;if((b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]|0)>0)a[(c[(c[(c[m>>2]|0)+8>>2]|0)+196>>2]|0)+((b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1]|0)-1<<6)+49>>0]=0;c[l>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1];while(1){d=c[l>>2]|0;if((c[l>>2]|0)>(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0))break;c[f>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(d<<6)>>2];d=c[(c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+268>>2]|0)+(c[l>>2]<<2)>>2]|0)+8>>2]|0)+236>>2]|0;c[k>>2]=d;c[h>>2]=d;Xk(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[f>>2]|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)>>2]|0))break;d=c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+4>>2]|0)+(c[g>>2]<<2)>>2]|0;c[(c[(c[(c[(c[m>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+4>>2]|0)+(c[k>>2]<<2)>>2]=d;c[n>>2]=d;d=c[k>>2]|0;c[k>>2]=d+1;c[(c[(c[n>>2]|0)+8>>2]|0)+236>>2]=d;if((a[(c[(c[n>>2]|0)+8>>2]|0)+156>>0]|0)==1){d=HC(c[m>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=d}ih(c[e>>2]|0,c[n>>2]|0);gh(c[m>>2]|0,c[n>>2]|0);d=(c[(c[m>>2]|0)+8>>2]|0)+232|0;c[d>>2]=(c[d>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+4>>2]=(c[(c[(c[(c[m>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+4>>2]|0)+(c[h>>2]<<2);a[(c[(c[(c[m>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+49>>0]=0;c[l>>2]=(c[l>>2]|0)+1}if((d|0)>=(b[(c[(c[m>>2]|0)+8>>2]|0)+238>>1]|0)){n=c[e>>2]|0;n=n+8|0;n=c[n>>2]|0;n=n+272|0;a[n>>0]=1;i=o;return}a[(c[(c[(c[m>>2]|0)+8>>2]|0)+196>>2]|0)+(c[l>>2]<<6)+49>>0]=0;n=c[e>>2]|0;n=n+8|0;n=c[n>>2]|0;n=n+272|0;a[n>>0]=1;i=o;return}function Vk(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;c[f>>2]=b[(c[(c[d>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[f>>2]|0)>(b[(c[(c[d>>2]|0)+8>>2]|0)+238>>1]|0))break;c[g>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+268>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]>>2]|0;c[e>>2]=a;if(!a)break;bh(c[e>>2]|0)}while(1){a=c[c[(c[(c[g>>2]|0)+8>>2]|0)+172>>2]>>2]|0;c[e>>2]=a;if(!a)break;bh(c[e>>2]|0)}a=Nf(c[d>>2]|0)|0;ih(a,c[g>>2]|0);c[(c[(c[(c[d>>2]|0)+8>>2]|0)+268>>2]|0)+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=h;return}function Wk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();d=m+24|0;f=m+20|0;h=m+16|0;l=m+12|0;k=m+8|0;g=m+4|0;e=m;c[d>>2]=b;c[e>>2]=1;while(1){if((c[e>>2]|0)>(c[(c[(c[d>>2]|0)+8>>2]|0)+180>>2]|0))break;c[f>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+184>>2]|0)+(c[e>>2]<<2)>>2];Wk(c[f>>2]|0);c[e>>2]=(c[e>>2]|0)+1}c[h>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[h>>2]|0))break;if(!(c[(c[(c[h>>2]|0)+8>>2]|0)+212>>2]|0))c[(c[(c[h>>2]|0)+8>>2]|0)+212>>2]=c[d>>2];c[k>>2]=cB(c[d>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;b=c[(c[(c[k>>2]|0)+8>>2]|0)+172>>2]|0;c[g>>2]=b;a:do if((b|0)!=0&(c[g>>2]|0)!=0)do{b=c[g>>2]|0;b=c[((c[c[g>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0;c[l>>2]=b;if((a[(c[b+8>>2]|0)+156>>0]|0)!=1)break a;if(!(c[(c[(c[l>>2]|0)+8>>2]|0)+212>>2]|0))c[(c[(c[l>>2]|0)+8>>2]|0)+212>>2]=c[d>>2];b=c[g>>2]|0;c[g>>2]=c[c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+180>>2]>>2]}while((c[g>>2]|0)!=0);while(0);c[k>>2]=eB(c[d>>2]|0,c[k>>2]|0)|0}c[h>>2]=qC(c[d>>2]|0,c[h>>2]|0)|0}i=m;return}function Xk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();f=o+24|0;g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[n>>2]=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+4>>2];if((c[k>>2]|0)<=0){c[l>>2]=(c[h>>2]|0)-(c[k>>2]|0)+1;while(1){if((c[l>>2]|0)>=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]|0))break;c[m>>2]=c[(c[n>>2]|0)+(c[l>>2]<<2)>>2];c[(c[(c[m>>2]|0)+8>>2]|0)+236>>2]=(c[l>>2]|0)+(c[k>>2]|0)-1;c[(c[n>>2]|0)+(c[(c[(c[m>>2]|0)+8>>2]|0)+236>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]|0)+(c[k>>2]|0)-1;while(1){if((c[l>>2]|0)>=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]|0))break;c[(c[n>>2]|0)+(c[l>>2]<<2)>>2]=0;c[l>>2]=(c[l>>2]|0)+1}m=c[k>>2]|0;m=m-1|0;n=c[g>>2]|0;a=c[f>>2]|0;a=a+8|0;a=c[a>>2]|0;a=a+196|0;a=c[a>>2]|0;n=a+(n<<6)|0;a=c[n>>2]|0;m=a+m|0;c[n>>2]=m;i=o;return}else{c[l>>2]=(c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]|0)-1;while(1){if((c[l>>2]|0)<=(c[h>>2]|0))break;c[m>>2]=c[(c[n>>2]|0)+(c[l>>2]<<2)>>2];c[(c[(c[m>>2]|0)+8>>2]|0)+236>>2]=(c[l>>2]|0)+(c[k>>2]|0)-1;c[(c[n>>2]|0)+(c[(c[(c[m>>2]|0)+8>>2]|0)+236>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+-1}c[l>>2]=(c[h>>2]|0)+1;while(1){if((c[l>>2]|0)>=((c[h>>2]|0)+(c[k>>2]|0)|0))break;c[(c[n>>2]|0)+(c[l>>2]<<2)>>2]=0;c[l>>2]=(c[l>>2]|0)+1}m=c[k>>2]|0;m=m-1|0;n=c[g>>2]|0;a=c[f>>2]|0;a=a+8|0;a=c[a>>2]|0;a=a+196|0;a=c[a>>2]|0;n=a+(n<<6)|0;a=c[n>>2]|0;m=a+m|0;c[n>>2]=m;i=o;return}}function Yk(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+4|0;e=f;c[b>>2]=a;if((c[(c[(c[b>>2]|0)+8>>2]|0)+212>>2]|0)!=0?(d[(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+212>>2]|0)+8>>2]|0)+272>>0]|0|0)==0:0){c[e>>2]=c[(c[(c[(c[(c[(c[b>>2]|0)+8>>2]|0)+212>>2]|0)+8>>2]|0)+268>>2]|0)+(c[(c[(c[b>>2]|0)+8>>2]|0)+232>>2]<<2)>>2];e=c[e>>2]|0;i=f;return e|0}c[e>>2]=c[b>>2];e=c[e>>2]|0;i=f;return e|0}function Zk(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();k=t+32|0;o=t+28|0;p=t+24|0;q=t+20|0;r=t+16|0;l=t+12|0;m=t+8|0;n=t+4|0;s=t;c[k>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;if((c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2]|0)>=(c[(c[(c[o>>2]|0)+8>>2]|0)+232>>2]|0))db(124761,124789,81,124799);g=c[q>>2]|0;if((c[((c[c[q>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)==(c[k>>2]|0)?(g=c[q>>2]|0,(c[((c[c[q>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)==(c[o>>2]|0)):0){i=t;return}if((b[(c[(c[q>>2]|0)+8>>2]|0)+168>>1]|0)>1){c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]=0;if((((c[(c[(c[o>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2]|0)|0)==1?(g=Zg(c[k>>2]|0,c[o>>2]|0)|0,c[s>>2]=g,(g|0)!=0):0)?(Ai(c[p>>2]|0,c[s>>2]|0)|0)!=0:0){mh(c[p>>2]|0,c[s>>2]|0);if(a[(c[(c[k>>2]|0)+8>>2]|0)+156>>0]|0){i=t;return}if(a[(c[(c[o>>2]|0)+8>>2]|0)+156>>0]|0){i=t;return}ch(c[p>>2]|0);i=t;return}c[m>>2]=c[k>>2];c[l>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2];while(1){if((c[l>>2]|0)>=(c[(c[(c[o>>2]|0)+8>>2]|0)+232>>2]|0))break;if((c[l>>2]|0)<((c[(c[(c[o>>2]|0)+8>>2]|0)+232>>2]|0)-1|0)){h=Nf(c[k>>2]|0)|0;g=c[q>>2]|0;c[n>>2]=_k(h,c[((c[c[q>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)|0}else c[n>>2]=c[o>>2];c[s>>2]=fh(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;a[(c[(c[s>>2]|0)+8>>2]|0)+112>>0]=c[r>>2];c[m>>2]=c[n>>2];g=(c[(c[q>>2]|0)+8>>2]|0)+168|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;g=c[q>>2]|0;c[q>>2]=c[c[(c[(c[((c[c[q>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+180>>2]>>2];c[l>>2]=(c[l>>2]|0)+1}i=t;return}do if(((c[(c[(c[o>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2]|0)|0)==1){g=Zg(c[k>>2]|0,c[o>>2]|0)|0;c[q>>2]=g;if((g|0)!=0?(Ai(c[p>>2]|0,c[q>>2]|0)|0)!=0:0){c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]=c[q>>2];a[(c[(c[q>>2]|0)+8>>2]|0)+112>>0]=c[r>>2];g=(c[(c[q>>2]|0)+8>>2]|0)+168|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;if(a[(c[(c[k>>2]|0)+8>>2]|0)+156>>0]|0)break;if(a[(c[(c[o>>2]|0)+8>>2]|0)+156>>0]|0)break;ch(c[p>>2]|0);break}c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]=0;c[q>>2]=fh(c[k>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;a[(c[(c[q>>2]|0)+8>>2]|0)+112>>0]=c[r>>2]}while(0);if(((c[(c[(c[o>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2]|0)|0)<=1){i=t;return}c[s>>2]=c[q>>2];g=c[q>>2]|0;if((c[((c[c[q>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)!=(c[k>>2]|0)){c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]=0;g=c[q>>2]|0;g=fh(c[k>>2]|0,c[((c[c[q>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0,c[p>>2]|0)|0;c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]=g;c[s>>2]=g;bh(c[q>>2]|0)}else c[s>>2]=c[q>>2];while(1){g=c[s>>2]|0;k=c[s>>2]|0;k=c[((c[c[s>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0;if((c[(c[(c[((c[c[s>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)==(c[(c[(c[o>>2]|0)+8>>2]|0)+232>>2]|0))break;c[s>>2]=c[c[(c[k+8>>2]|0)+180>>2]>>2]}if((k|0)==(c[o>>2]|0)){i=t;return}c[q>>2]=c[s>>2];g=c[s>>2]|0;c[s>>2]=fh(c[((c[c[s>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;a[(c[(c[s>>2]|0)+8>>2]|0)+112>>0]=c[r>>2];bh(c[q>>2]|0);i=t;return}function _k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();g=d+12|0;k=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[k>>2]=b;c[f>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2];Xk(c[g>>2]|0,c[f>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+236>>2]|0,2);c[e>>2]=jh(c[g>>2]|0)|0;h[(c[(c[e>>2]|0)+8>>2]|0)+88>>3]=+h[(c[(c[k>>2]|0)+8>>2]|0)+88>>3];h[(c[(c[e>>2]|0)+8>>2]|0)+96>>3]=+h[(c[(c[k>>2]|0)+8>>2]|0)+96>>3];c[(c[(c[e>>2]|0)+8>>2]|0)+232>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2];c[(c[(c[e>>2]|0)+8>>2]|0)+236>>2]=(c[(c[(c[k>>2]|0)+8>>2]|0)+236>>2]|0)+1;c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)+4>>2]|0)+(c[(c[(c[e>>2]|0)+8>>2]|0)+236>>2]<<2)>>2]=c[e>>2];i=d;return c[e>>2]|0}function $k(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;c[d>>2]=UO(c[b>>2]|0)|0;c[f>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[e>>2]=cB(c[b>>2]|0,c[f>>2]|0)|0;while(1){a=c[b>>2]|0;if(!(c[e>>2]|0))break;al(a,c[e>>2]|0,c[d>>2]|0);c[e>>2]=eB(c[b>>2]|0,c[e>>2]|0)|0}c[f>>2]=qC(a,c[f>>2]|0)|0}aA(c[d>>2]|0)|0;i=g;return}function al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;O=i;i=i+416|0;if((i|0)>=(j|0))ba();p=O+328|0;o=O+312|0;M=O+184|0;L=O+168|0;n=O+120|0;m=O+88|0;l=O+64|0;Q=O+404|0;q=O+400|0;P=O+396|0;k=O+392|0;E=O+388|0;y=O+384|0;F=O+380|0;J=O+376|0;z=O+372|0;B=O+368|0;K=O+364|0;x=O+360|0;C=O+356|0;D=O+352|0;I=O+348|0;H=O+248|0;G=O+232|0;A=O+344|0;e=O+216|0;f=O+200|0;g=O+152|0;h=O+136|0;u=O+104|0;v=O+72|0;w=O+48|0;r=O+32|0;s=O+16|0;t=O;c[Q>>2]=a;c[q>>2]=b;c[P>>2]=d;c[J>>2]=0;c[z>>2]=0;a=c[Q>>2]|0;b=OA(c[q>>2]|0,124808)|0;c[k>>2]=bl(a,b,c[P>>2]|0)|0;b=c[Q>>2]|0;a=OA(c[q>>2]|0,124814)|0;c[E>>2]=bl(b,a,c[P>>2]|0)|0;if(!((c[E>>2]|0)!=0|(c[k>>2]|0)!=0)){i=O;return}if(!(c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0)){i=O;return}d=c[q>>2]|0;if((c[(c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)>1){P=c[q>>2]|0;P=MB(c[((c[d>>2]&3|0)==3?P:P+32|0)+28>>2]|0)|0;Q=c[q>>2]|0;Q=MB(c[((c[c[q>>2]>>2]&3|0)==2?Q:Q+-32|0)+28>>2]|0)|0;c[l>>2]=P;c[l+4>>2]=Q;pA(0,124820,l)|0;i=O;return}c[y>>2]=c[c[(c[d+8>>2]|0)+8>>2]>>2];c[I>>2]=c[(c[y>>2]|0)+4>>2];Q=c[q>>2]|0;c[B>>2]=c[((c[c[q>>2]>>2]&3|0)==2?Q:Q+-32|0)+28>>2];Q=c[q>>2]|0;c[K>>2]=c[((c[c[q>>2]>>2]&3|0)==3?Q:Q+32|0)+28>>2];c[F>>2]=rK(48)|0;c[(c[F>>2]|0)+12>>2]=c[(c[y>>2]|0)+12>>2];c[(c[F>>2]|0)+8>>2]=c[(c[y>>2]|0)+8>>2];c[A>>2]=0;do if(c[k>>2]|0){c[x>>2]=(c[(c[k>>2]|0)+8>>2]|0)+16;P=(c[(c[B>>2]|0)+8>>2]|0)+16|0;Q=c[x>>2]|0;c[p>>2]=c[P>>2];c[p+4>>2]=c[P+4>>2];c[p+8>>2]=c[P+8>>2];c[p+12>>2]=c[P+12>>2];if(!(cl(p,Q)|0)){u=c[q>>2]|0;u=MB(c[((c[c[q>>2]>>2]&3|0)==3?u:u+32|0)+28>>2]|0)|0;P=c[q>>2]|0;P=MB(c[((c[c[q>>2]>>2]&3|0)==2?P:P+-32|0)+28>>2]|0)|0;Q=OA(c[q>>2]|0,124808)|0;c[m>>2]=u;c[m+4>>2]=P;c[m+8>>2]=Q;pA(0,124861,m)|0;break}P=c[c[y>>2]>>2]|0;Q=c[x>>2]|0;c[p>>2]=c[P>>2];c[p+4>>2]=c[P+4>>2];c[p+8>>2]=c[P+8>>2];c[p+12>>2]=c[P+12>>2];if(cl(p,Q)|0){P=(c[(c[K>>2]|0)+8>>2]|0)+16|0;Q=c[x>>2]|0;c[p>>2]=c[P>>2];c[p+4>>2]=c[P+4>>2];c[p+8>>2]=c[P+8>>2];c[p+12>>2]=c[P+12>>2];if(cl(p,Q)|0){u=c[q>>2]|0;u=MB(c[((c[c[q>>2]>>2]&3|0)==3?u:u+32|0)+28>>2]|0)|0;P=c[q>>2]|0;P=MB(c[((c[c[q>>2]>>2]&3|0)==2?P:P+-32|0)+28>>2]|0)|0;Q=OA(c[q>>2]|0,124808)|0;c[n>>2]=u;c[n+4>>2]=P;c[n+8>>2]=Q;pA(0,124904,n)|0;break}if(!(c[(c[y>>2]|0)+8>>2]|0))db(124946,124957,361,124968);P=c[c[y>>2]>>2]|0;u=(c[y>>2]|0)+16|0;Q=c[x>>2]|0;c[o>>2]=c[P>>2];c[o+4>>2]=c[P+4>>2];c[o+8>>2]=c[P+8>>2];c[o+12>>2]=c[P+12>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];dl(e,o,p,Q);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];Q=(c[c[y>>2]>>2]|0)+48|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];Q=(c[c[y>>2]>>2]|0)+16|0;u=(c[y>>2]|0)+16|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[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];el(f,o,p);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];Q=c[c[y>>2]>>2]|0;u=(c[c[y>>2]>>2]|0)+16|0;P=(c[y>>2]|0)+16|0;c[o>>2]=c[u>>2];c[o+4>>2]=c[u+4>>2];c[o+8>>2]=c[u+8>>2];c[o+12>>2]=c[u+12>>2];c[p>>2]=c[P>>2];c[p+4>>2]=c[P+4>>2];c[p+8>>2]=c[P+8>>2];c[p+12>>2]=c[P+12>>2];el(g,o,p);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];Q=(c[c[y>>2]>>2]|0)+32|0;P=(c[c[y>>2]>>2]|0)+16|0;c[o>>2]=c[P>>2];c[o+4>>2]=c[P+4>>2];c[o+8>>2]=c[P+8>>2];c[o+12>>2]=c[P+12>>2];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];el(h,o,p);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];if(c[(c[y>>2]|0)+12>>2]|0)c[z>>2]=sH(c[q>>2]|0,c[c[y>>2]>>2]|0,c[J>>2]|0,0,c[F>>2]|0,c[(c[y>>2]|0)+12>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+3;c[A>>2]=1;break}c[z>>2]=0;while(1){if((c[z>>2]|0)>=((c[I>>2]|0)-1|0))break;if(fl((c[c[y>>2]>>2]|0)+(c[z>>2]<<4)|0,c[x>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+3}d=(c[(c[y>>2]|0)+12>>2]|0)!=0;do if((c[z>>2]|0)==((c[I>>2]|0)-1|0))if(d){Q=(c[F>>2]|0)+32|0;m=(c[y>>2]|0)+32|0;n=(c[c[y>>2]>>2]|0)+(c[z>>2]<<4)|0;P=c[x>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];dl(u,o,p,P);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];break}else db(124985,124957,379,124968);else{if(d)c[z>>2]=sH(c[q>>2]|0,c[c[y>>2]>>2]|0,c[J>>2]|0,c[z>>2]|0,c[F>>2]|0,c[(c[y>>2]|0)+12>>2]|0)|0;c[z>>2]=(c[z>>2]|0)+3}while(0);c[A>>2]=1}while(0);if((c[A>>2]|0)==0?(c[z>>2]=(c[I>>2]|0)-1,(c[(c[y>>2]|0)+12>>2]|0)!=0):0){Q=(c[F>>2]|0)+32|0;P=(c[y>>2]|0)+32|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]}c[A>>2]=0;do if(c[E>>2]|0){c[x>>2]=(c[(c[E>>2]|0)+8>>2]|0)+16;P=(c[(c[K>>2]|0)+8>>2]|0)+16|0;Q=c[x>>2]|0;c[p>>2]=c[P>>2];c[p+4>>2]=c[P+4>>2];c[p+8>>2]=c[P+8>>2];c[p+12>>2]=c[P+12>>2];if(!(cl(p,Q)|0)){N=c[q>>2]|0;N=MB(c[((c[c[q>>2]>>2]&3|0)==3?N:N+32|0)+28>>2]|0)|0;P=c[q>>2]|0;P=MB(c[((c[c[q>>2]>>2]&3|0)==2?P:P+-32|0)+28>>2]|0)|0;Q=OA(c[q>>2]|0,124814)|0;c[L>>2]=N;c[L+4>>2]=P;c[L+8>>2]=Q;pA(0,124996,L)|0;break}P=(c[c[y>>2]>>2]|0)+(c[z>>2]<<4)|0;Q=c[x>>2]|0;c[p>>2]=c[P>>2];c[p+4>>2]=c[P+4>>2];c[p+8>>2]=c[P+8>>2];c[p+12>>2]=c[P+12>>2];if(cl(p,Q)|0){P=(c[(c[B>>2]|0)+8>>2]|0)+16|0;Q=c[x>>2]|0;c[p>>2]=c[P>>2];c[p+4>>2]=c[P+4>>2];c[p+8>>2]=c[P+8>>2];c[p+12>>2]=c[P+12>>2];if(cl(p,Q)|0){N=c[q>>2]|0;N=MB(c[((c[c[q>>2]>>2]&3|0)==3?N:N+32|0)+28>>2]|0)|0;P=c[q>>2]|0;P=MB(c[((c[c[q>>2]>>2]&3|0)==2?P:P+-32|0)+28>>2]|0)|0;Q=OA(c[q>>2]|0,124814)|0;c[M>>2]=N;c[M+4>>2]=P;c[M+8>>2]=Q;pA(0,125039,M)|0;break}if(!(c[(c[y>>2]|0)+12>>2]|0))db(124985,124957,421,124968);P=(c[c[y>>2]>>2]|0)+(c[z>>2]<<4)|0;N=(c[F>>2]|0)+32|0;Q=c[x>>2]|0;c[o>>2]=c[P>>2];c[o+4>>2]=c[P+4>>2];c[o+8>>2]=c[P+8>>2];c[o+12>>2]=c[P+12>>2];c[p>>2]=c[N>>2];c[p+4>>2]=c[N+4>>2];c[p+8>>2]=c[N+8>>2];c[p+12>>2]=c[N+12>>2];dl(v,o,p,Q);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];c[J>>2]=(c[z>>2]|0)-3;Q=(c[c[y>>2]>>2]|0)+(c[J>>2]<<4)|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];Q=(c[c[y>>2]>>2]|0)+((c[J>>2]|0)+2<<4)|0;N=(c[F>>2]|0)+32|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[p>>2]=c[N>>2];c[p+4>>2]=c[N+4>>2];c[p+8>>2]=c[N+8>>2];c[p+12>>2]=c[N+12>>2];el(w,o,p);c[Q>>2]=c[w>>2];c[Q+4>>2]=c[w+4>>2];c[Q+8>>2]=c[w+8>>2];c[Q+12>>2]=c[w+12>>2];Q=(c[c[y>>2]>>2]|0)+((c[J>>2]|0)+3<<4)|0;N=(c[c[y>>2]>>2]|0)+((c[J>>2]|0)+2<<4)|0;P=(c[F>>2]|0)+32|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[p>>2]=c[P>>2];c[p+4>>2]=c[P+4>>2];c[p+8>>2]=c[P+8>>2];c[p+12>>2]=c[P+12>>2];el(r,o,p);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];Q=(c[c[y>>2]>>2]|0)+((c[J>>2]|0)+1<<4)|0;P=(c[c[y>>2]>>2]|0)+((c[J>>2]|0)+2<<4)|0;c[o>>2]=c[P>>2];c[o+4>>2]=c[P+4>>2];c[o+8>>2]=c[P+8>>2];c[o+12>>2]=c[P+12>>2];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];el(s,o,p);c[Q>>2]=c[s>>2];c[Q+4>>2]=c[s+4>>2];c[Q+8>>2]=c[s+8>>2];c[Q+12>>2]=c[s+12>>2];if(c[(c[y>>2]|0)+8>>2]|0)c[J>>2]=tH(c[q>>2]|0,c[c[y>>2]>>2]|0,c[J>>2]|0,(c[z>>2]|0)-3|0,c[F>>2]|0,c[(c[y>>2]|0)+8>>2]|0)|0;c[A>>2]=1;break}c[J>>2]=c[z>>2];while(1){if((c[J>>2]|0)<=0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=4)break;Q=H+(c[C>>2]<<4)|0;P=(c[c[y>>2]>>2]|0)+((c[J>>2]|0)-(c[C>>2]|0)<<4)|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];c[C>>2]=(c[C>>2]|0)+1}if(fl(H,c[x>>2]|0)|0){N=48;break}c[J>>2]=(c[J>>2]|0)-3}a:do if((N|0)==48){c[C>>2]=0;while(1){if((c[C>>2]|0)>=4)break a;Q=(c[c[y>>2]>>2]|0)+((c[J>>2]|0)-(c[C>>2]|0)<<4)|0;P=H+(c[C>>2]<<4)|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];c[C>>2]=(c[C>>2]|0)+1}}while(0);do if(!(c[J>>2]|0))if(c[(c[y>>2]|0)+8>>2]|0){Q=(c[F>>2]|0)+16|0;M=(c[y>>2]|0)+16|0;N=(c[c[y>>2]>>2]|0)+(c[J>>2]<<4)|0;P=c[x>>2]|0;c[o>>2]=c[M>>2];c[o+4>>2]=c[M+4>>2];c[o+8>>2]=c[M+8>>2];c[o+12>>2]=c[M+12>>2];c[p>>2]=c[N>>2];c[p+4>>2]=c[N+4>>2];c[p+8>>2]=c[N+8>>2];c[p+12>>2]=c[N+12>>2];dl(t,o,p,P);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];break}else db(124946,124957,444,124968);else{c[J>>2]=(c[J>>2]|0)-3;if(c[(c[y>>2]|0)+8>>2]|0)c[J>>2]=tH(c[q>>2]|0,c[c[y>>2]>>2]|0,c[J>>2]|0,(c[z>>2]|0)-3|0,c[F>>2]|0,c[(c[y>>2]|0)+8>>2]|0)|0}while(0);c[A>>2]=1}while(0);if((c[A>>2]|0)==0?(c[(c[y>>2]|0)+8>>2]|0)!=0:0){Q=(c[F>>2]|0)+16|0;P=(c[y>>2]|0)+16|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]}c[(c[F>>2]|0)+4>>2]=(c[z>>2]|0)-(c[J>>2]|0)+1;Q=rK(c[(c[F>>2]|0)+4>>2]<<4)|0;c[c[F>>2]>>2]=Q;c[C>>2]=0;c[D>>2]=c[J>>2];while(1){if((c[C>>2]|0)>=(c[(c[F>>2]|0)+4>>2]|0))break;Q=(c[c[F>>2]>>2]|0)+(c[C>>2]<<4)|0;P=(c[c[y>>2]>>2]|0)+(c[D>>2]<<4)|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];c[C>>2]=(c[C>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+1}B1(c[c[y>>2]>>2]|0);B1(c[y>>2]|0);c[c[(c[(c[q>>2]|0)+8>>2]|0)+8>>2]>>2]=c[F>>2];i=O;return}function bl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m;f=m+20|0;g=m+12|0;h=m+8|0;k=m+4|0;c[m+16>>2]=b;c[g>>2]=d;c[h>>2]=e;if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){c[k>>2]=jP(c[h>>2]|0,c[g>>2]|0)|0;if(!(c[k>>2]|0)){c[l>>2]=c[g>>2];pA(0,125159,l)|0}c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function cl(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;if((+h[c[d>>2]>>3]<=+h[a>>3]?+h[a>>3]<=+h[(c[d>>2]|0)+16>>3]:0)?+h[(c[d>>2]|0)+8>>3]<=+h[a+8>>3]:0)d=+h[a+8>>3]<=+h[(c[d>>2]|0)+16+8>>3];else d=0;i=e;return d&1|0}function dl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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=i;i=i+528|0;if((i|0)>=(j|0))ba();s=v+96|0;u=v+64|0;w=v+112|0;l=v+80|0;p=v+56|0;q=v+48|0;g=v+40|0;k=v+32|0;m=v+16|0;r=v;o=v+416|0;f=v+316|0;n=v+216|0;t=v+116|0;c[w>>2]=e;h[p>>3]=+h[b>>3];h[q>>3]=+h[b+8>>3];h[g>>3]=+h[d>>3];h[k>>3]=+h[d+8>>3];e=c[w>>2]|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];e=(c[w>>2]|0)+16|0;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];if((+h[d>>3]<+h[m>>3]?(h[l>>3]=+h[m>>3],h[l+8>>3]=+h[b+8>>3]+ +(~~((+h[l>>3]-+h[p>>3])*(+h[q>>3]-+h[k>>3])/(+h[p>>3]-+h[g>>3]))|0),+h[l+8>>3]>=+h[m+8>>3]):0)?+h[l+8>>3]<=+h[r+8>>3]:0){c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];i=v;return}if((+h[d>>3]>+h[r>>3]?(h[l>>3]=+h[r>>3],h[l+8>>3]=+h[b+8>>3]+ +(~~((+h[l>>3]-+h[p>>3])*(+h[q>>3]-+h[k>>3])/(+h[p>>3]-+h[g>>3]))|0),+h[l+8>>3]>=+h[m+8>>3]):0)?+h[l+8>>3]<=+h[r+8>>3]:0){c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];i=v;return}if((+h[d+8>>3]<+h[m+8>>3]?(h[l+8>>3]=+h[m+8>>3],h[l>>3]=+h[b>>3]+ +(~~((+h[l+8>>3]-+h[q>>3])*(+h[p>>3]-+h[g>>3])/(+h[q>>3]-+h[k>>3]))|0),+h[l>>3]>=+h[m>>3]):0)?+h[l>>3]<=+h[r>>3]:0){c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];i=v;return}if((+h[d+8>>3]>+h[r+8>>3]?(h[l+8>>3]=+h[r+8>>3],h[l>>3]=+h[b>>3]+ +(~~((+h[l+8>>3]-+h[q>>3])*(+h[p>>3]-+h[g>>3])/(+h[q>>3]-+h[k>>3]))|0),+h[l>>3]>=+h[m>>3]):0)?+h[l>>3]<=+h[r>>3]:0){c[a>>2]=c[l>>2];c[a+4>>2]=c[l+4>>2];c[a+8>>2]=c[l+8>>2];c[a+12>>2]=c[l+12>>2];i=v;return};c[s>>2]=c[b>>2];c[s+4>>2]=c[b+4>>2];c[s+8>>2]=c[b+8>>2];c[s+12>>2]=c[b+12>>2];p=kl(s,o)|0;c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];q=kl(s,f)|0;c[s>>2]=c[m>>2];c[s+4>>2]=c[m+4>>2];c[s+8>>2]=c[m+8>>2];c[s+12>>2]=c[m+12>>2];v=kl(s,n)|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];w=kl(s,t)|0;c[u>>2]=p;c[u+4>>2]=q;c[u+8>>2]=v;c[u+12>>2]=w;pA(1,125081,u)|0;db(176179,124957,78,125133)}function el(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=(+h[b>>3]+ +h[d>>3])/2.0;h[f+8>>3]=(+h[b+8>>3]+ +h[d+8>>3])/2.0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function fl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+160|0;if((i|0)>=(j|0))ba();d=r+156|0;e=r+152|0;f=r+148|0;q=r+136|0;p=r+128|0;o=r+64|0;n=r+144|0;g=r+48|0;k=r+32|0;l=r+16|0;m=r;c[e>>2]=a;c[f>>2]=b;h[q>>3]=2.0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=4)break;a=o+(c[n>>2]<<4)|0;b=(c[e>>2]|0)+(c[n>>2]<<4)|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[n>>2]=(c[n>>2]|0)+1}h[p>>3]=+gl(c[e>>2]|0,0.0,1.0,+h[c[f>>2]>>3],+h[(c[f>>2]|0)+8>>3],+h[(c[f>>2]|0)+16+8>>3]);if(+h[p>>3]>=0.0?+h[p>>3]<+h[q>>3]:0){FO(g,o,3,+h[p>>3],c[e>>2]|0,0);h[q>>3]=+h[p>>3]}h[p>>3]=+gl(c[e>>2]|0,0.0,1.0<+h[q>>3]?1.0:+h[q>>3],+h[(c[f>>2]|0)+16>>3],+h[(c[f>>2]|0)+8>>3],+h[(c[f>>2]|0)+16+8>>3]);if(+h[p>>3]>=0.0?+h[p>>3]<+h[q>>3]:0){FO(k,o,3,+h[p>>3],c[e>>2]|0,0);h[q>>3]=+h[p>>3]}h[p>>3]=+hl(c[e>>2]|0,0.0,1.0<+h[q>>3]?1.0:+h[q>>3],+h[(c[f>>2]|0)+8>>3],+h[c[f>>2]>>3],+h[(c[f>>2]|0)+16>>3]);if(+h[p>>3]>=0.0?+h[p>>3]<+h[q>>3]:0){FO(l,o,3,+h[p>>3],c[e>>2]|0,0);h[q>>3]=+h[p>>3]}h[p>>3]=+hl(c[e>>2]|0,0.0,1.0<+h[q>>3]?1.0:+h[q>>3],+h[(c[f>>2]|0)+16+8>>3],+h[c[f>>2]>>3],+h[(c[f>>2]|0)+16>>3]);if(+h[p>>3]>=0.0?+h[p>>3]<+h[q>>3]:0){FO(m,o,3,+h[p>>3],c[e>>2]|0,0);h[q>>3]=+h[p>>3]}if(+h[q>>3]<2.0){c[d>>2]=1;q=c[d>>2]|0;i=r;return q|0}else{c[d>>2]=0;q=c[d>>2]|0;i=r;return q|0}return 0}function gl(a,b,d,e,f,g){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;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,w=0;w=i;i=i+208|0;if((i|0)>=(j|0))ba();k=w+192|0;l=w+204|0;m=w+184|0;n=w+176|0;o=w+168|0;p=w+160|0;q=w+152|0;s=w+88|0;t=w+24|0;v=w+16|0;u=w+200|0;r=w;c[l>>2]=a;h[m>>3]=b;h[n>>3]=d;h[o>>3]=e;h[p>>3]=f;h[q>>3]=g;c[u>>2]=jl(c[l>>2]|0,+h[o>>3])|0;if(!(c[u>>2]|0)){h[k>>3]=-1.0;f=+h[k>>3];i=w;return +f}if((c[u>>2]|0)==1?(g=+h[(c[l>>2]|0)+48>>3],f=+h[o>>3],(~~(+h[(c[l>>2]|0)+48>>3]>=0.0?g+.5:g-.5)|0)==(~~(+h[o>>3]>=0.0?f+.5:f-.5)|0)):0){if(+h[p>>3]<=+h[(c[l>>2]|0)+48+8>>3]?+h[(c[l>>2]|0)+48+8>>3]<=+h[q>>3]:0){h[k>>3]=+h[n>>3];f=+h[k>>3];i=w;return +f}h[k>>3]=-1.0;f=+h[k>>3];i=w;return +f}FO(r,c[l>>2]|0,3,.5,s,t);h[v>>3]=+gl(s,+h[m>>3],(+h[m>>3]+ +h[n>>3])/2.0,+h[o>>3],+h[p>>3],+h[q>>3]);if(+h[v>>3]>=0.0){h[k>>3]=+h[v>>3];f=+h[k>>3];i=w;return +f}else{h[k>>3]=+gl(t,(+h[m>>3]+ +h[n>>3])/2.0,+h[n>>3],+h[o>>3],+h[p>>3],+h[q>>3]);f=+h[k>>3];i=w;return +f}return 0.0}function hl(a,b,d,e,f,g){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;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,w=0;w=i;i=i+208|0;if((i|0)>=(j|0))ba();k=w+192|0;l=w+204|0;m=w+184|0;n=w+176|0;o=w+168|0;p=w+160|0;q=w+152|0;s=w+88|0;t=w+24|0;v=w+16|0;u=w+200|0;r=w;c[l>>2]=a;h[m>>3]=b;h[n>>3]=d;h[o>>3]=e;h[p>>3]=f;h[q>>3]=g;c[u>>2]=il(c[l>>2]|0,+h[o>>3])|0;if(!(c[u>>2]|0)){h[k>>3]=-1.0;e=+h[k>>3];i=w;return +e}if((c[u>>2]|0)==1?(f=+h[(c[l>>2]|0)+48+8>>3],e=+h[o>>3],(~~(+h[(c[l>>2]|0)+48+8>>3]>=0.0?f+.5:f-.5)|0)==(~~(+h[o>>3]>=0.0?e+.5:e-.5)|0)):0){if(+h[p>>3]<=+h[(c[l>>2]|0)+48>>3]?+h[(c[l>>2]|0)+48>>3]<=+h[q>>3]:0){h[k>>3]=+h[n>>3];e=+h[k>>3];i=w;return +e}h[k>>3]=-1.0;e=+h[k>>3];i=w;return +e}FO(r,c[l>>2]|0,3,.5,s,t);h[v>>3]=+hl(s,+h[m>>3],(+h[m>>3]+ +h[n>>3])/2.0,+h[o>>3],+h[p>>3],+h[q>>3]);if(+h[v>>3]>=0.0){h[k>>3]=+h[v>>3];e=+h[k>>3];i=w;return +e}else{h[k>>3]=+hl(t,(+h[m>>3]+ +h[n>>3])/2.0,+h[n>>3],+h[o>>3],+h[p>>3],+h[q>>3]);e=+h[k>>3];i=w;return +e}return 0.0}function il(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();d=m+24|0;e=m;f=m+20|0;l=m+16|0;k=m+12|0;g=m+8|0;c[d>>2]=a;h[e>>3]=b;c[g>>2]=0;if(+h[(c[d>>2]|0)+8>>3]<+h[e>>3])a=-1;else a=+h[(c[d>>2]|0)+8>>3]>+h[e>>3]?1:0;c[l>>2]=a;if(!(c[l>>2]|0))c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=1;while(1){if((c[f>>2]|0)>3)break;c[k>>2]=c[l>>2];if(+h[(c[d>>2]|0)+(c[f>>2]<<4)+8>>3]<+h[e>>3])a=-1;else a=+h[(c[d>>2]|0)+(c[f>>2]<<4)+8>>3]>+h[e>>3]?1:0;c[l>>2]=a;if((c[k>>2]|0)!=0?(c[l>>2]|0)!=(c[k>>2]|0):0)c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}i=m;return c[g>>2]|0}function jl(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();d=m+24|0;e=m;f=m+20|0;l=m+16|0;k=m+12|0;g=m+8|0;c[d>>2]=a;h[e>>3]=b;c[g>>2]=0;if(+h[c[d>>2]>>3]<+h[e>>3])a=-1;else a=+h[c[d>>2]>>3]>+h[e>>3]?1:0;c[l>>2]=a;if(!(c[l>>2]|0))c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=1;while(1){if((c[f>>2]|0)>3)break;c[k>>2]=c[l>>2];if(+h[(c[d>>2]|0)+(c[f>>2]<<4)>>3]<+h[e>>3])a=-1;else a=+h[(c[d>>2]|0)+(c[f>>2]<<4)>>3]>+h[e>>3]?1:0;c[l>>2]=a;if((c[k>>2]|0)!=0?(c[l>>2]|0)!=(c[k>>2]|0):0)c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}i=m;return c[g>>2]|0}function kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d;e=d+16|0;c[e>>2]=b;b=c[e>>2]|0;g=+h[a+8>>3];h[f>>3]=+h[a>>3];h[f+8>>3]=g;D3(b,125147,f)|0;i=d;return c[e>>2]|0}function ll(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,p=0,q=0,r=0,s=0;s=i;i=i+16|0;if((i|0)>=(j|0))ba();m=s;q=4;p=A1(40)|0;c[p>>2]=0;if(((b[(c[a+8>>2]|0)+238>>1]|0)-(b[(c[a+8>>2]|0)+236>>1]|0)|0)<=1){B1(p|0);i=s;return}l=1;a:while(1){if(!(c[(c[(c[a+8>>2]|0)+196>>2]|0)+(l+1<<6)>>2]|0)){r=18;break}k=0;while(1){if((k|0)>=(c[(c[(c[a+8>>2]|0)+196>>2]|0)+(l<<6)>>2]|0))break;h=c[(c[(c[(c[a+8>>2]|0)+196>>2]|0)+(l<<6)+4>>2]|0)+(k<<2)>>2]|0;n=0;f=Ea(19,h|0)|0;e=n;n=0;if((e|0)!=0&(o|0)!=0){d=m5(c[e>>2]|0,p|0,q|0)|0;if(!d)hb(e|0,o|0);C=o}else d=-1;if((d|0)==1){d=C;break a}if(f&255){g=k+1|0;while(1){if((g|0)>=(c[(c[(c[a+8>>2]|0)+196>>2]|0)+(l<<6)>>2]|0))break;n=0;f=Na(65,h|0,c[(c[(c[(c[a+8>>2]|0)+196>>2]|0)+(l<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=n;n=0;if((e|0)!=0&(o|0)!=0){d=m5(c[e>>2]|0,p|0,q|0)|0;if(!d)hb(e|0,o|0);C=o}else d=-1;if((d|0)==1){d=C;break a}if(!(f&255))break;g=g+1|0}if((g-k|0)>1){n=0;za(15,a|0,l|0,k|0,g-1|0,1);f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,p|0,q|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){d=C;break a}}}k=k+1|0}l=l+1|0}b:do if((r|0)==18){while(1){r=0;if((l|0)<=0)break;k=0;while(1){if((k|0)>=(c[(c[(c[a+8>>2]|0)+196>>2]|0)+(l<<6)>>2]|0))break;h=c[(c[(c[(c[a+8>>2]|0)+196>>2]|0)+(l<<6)+4>>2]|0)+(k<<2)>>2]|0;n=0;f=Ea(20,h|0)|0;e=n;n=0;if((e|0)!=0&(o|0)!=0){d=m5(c[e>>2]|0,p|0,q|0)|0;if(!d)hb(e|0,o|0);C=o}else d=-1;if((d|0)==1){d=C;break b}if(f&255){g=k+1|0;while(1){if((g|0)>=(c[(c[(c[a+8>>2]|0)+196>>2]|0)+(l<<6)>>2]|0))break;n=0;f=Na(66,h|0,c[(c[(c[(c[a+8>>2]|0)+196>>2]|0)+(l<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=n;n=0;if((e|0)!=0&(o|0)!=0){d=m5(c[e>>2]|0,p|0,q|0)|0;if(!d)hb(e|0,o|0);C=o}else d=-1;if((d|0)==1){d=C;break b}if(!(f&255))break;g=g+1|0}if((g-k|0)>1){n=0;za(15,a|0,l|0,k|0,g-1|0,0);f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,p|0,q|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){d=C;break b}}}k=k+1|0}l=l+-1|0;r=18}p=k5(50380,1,p|0,q|0)|0;q=C;n=0;d=n;n=0;if((d|0)!=0&(o|0)!=0){e=m5(c[d>>2]|0,p|0,q|0)|0;if(!e)hb(d|0,o|0);C=o}else e=-1;if((e|0)==1)d=C;else d=0}while(0);c:while(1){if(d){n=0;Ga(25,3,125187,m|0)|0;e=n;n=0;if((e|0)!=0&(o|0)!=0){d=m5(c[e>>2]|0,p|0,q|0)|0;if(!d)hb(e|0,o|0);C=o}else d=-1;if((d|0)==1){d=C;continue}else break}f=1;while(1){if((f|0)>(c[(c[a+8>>2]|0)+180>>2]|0)){r=42;break c}n=0;Aa(92,c[(c[(c[a+8>>2]|0)+184>>2]|0)+(f<<2)>>2]|0);e=n;n=0;if((e|0)!=0&(o|0)!=0){d=m5(c[e>>2]|0,p|0,q|0)|0;if(!d)hb(e|0,o|0);C=o}else d=-1;if((d|0)==1){d=C;continue c}f=f+1|0}}if((r|0)==42){B1(p|0);i=s;return}B1(p|0);i=s;return}function ml(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;if(((a[(c[(c[d>>2]|0)+8>>2]|0)+156>>0]|0)==1?(c[(c[(c[d>>2]|0)+8>>2]|0)+172+4>>2]|0)==1:0)?(c[(c[(c[d>>2]|0)+8>>2]|0)+180+4>>2]|0)==1:0)d=(c[(c[(c[d>>2]|0)+8>>2]|0)+104>>2]|0)==0;else d=0;i=e;return d&1|0}function nl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+112|0;if((i|0)>=(j|0))ba();k=m+40|0;h=m;l=m+96|0;n=m+92|0;f=m+88|0;g=m+84|0;e=m+80|0;c[n>>2]=b;c[f>>2]=d;c[g>>2]=c[c[(c[(c[n>>2]|0)+8>>2]|0)+172>>2]>>2];c[e>>2]=c[c[(c[(c[f>>2]|0)+8>>2]|0)+172>>2]>>2];if(((ml(c[f>>2]|0)|0)&255|0)!=0?(f=c[g>>2]|0,n=c[e>>2]|0,(c[((c[c[g>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)==(c[((c[c[e>>2]>>2]&3|0)==3?n:n+32|0)+28>>2]|0)):0){if((tl(c[g>>2]|0,c[e>>2]|0)|0)&255){e=(c[(c[e>>2]|0)+8>>2]|0)+16|0;f=h;d=(c[(c[g>>2]|0)+8>>2]|0)+16|0;b=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(b|0));f=k;d=e;b=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(b|0));e=(bg(h,k)|0)==0}else e=0;a[l>>0]=e&1;n=a[l>>0]|0;i=m;return n|0}a[l>>0]=0;n=a[l>>0]|0;i=m;return n|0}function ol(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,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;w=i;i=i+64|0;if((i|0)>=(j|0))ba();g=w+48|0;h=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;q=w+28|0;r=w+24|0;s=w+20|0;u=w+16|0;n=w+12|0;p=w+8|0;o=w+4|0;t=w;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[s>>2]=c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[k>>2]<<2)>>2];c[q>>2]=(c[k>>2]|0)+1;while(1){if((c[q>>2]|0)>(c[l>>2]|0))break;c[u>>2]=c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[q>>2]<<2)>>2];a:do if((c[m>>2]|0)==1)while(1){e=c[c[(c[(c[u>>2]|0)+8>>2]|0)+180>>2]>>2]|0;c[n>>2]=e;if(!e)break a;c[r>>2]=0;while(1){e=c[(c[(c[(c[s>>2]|0)+8>>2]|0)+180>>2]|0)+(c[r>>2]<<2)>>2]|0;c[p>>2]=e;if(!e)break;b=c[p>>2]|0;e=c[n>>2]|0;if((c[((c[c[p>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)==(c[((c[c[n>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1}if(!(c[p>>2]|0)){e=c[n>>2]|0;c[p>>2]=fh(c[s>>2]|0,c[((c[c[n>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0,c[n>>2]|0)|0}while(1){e=c[c[(c[(c[u>>2]|0)+8>>2]|0)+172>>2]>>2]|0;c[o>>2]=e;if(!e)break;mh(c[o>>2]|0,c[p>>2]|0);bh(c[o>>2]|0)}bh(c[n>>2]|0)}else while(1){e=c[c[(c[(c[u>>2]|0)+8>>2]|0)+172>>2]>>2]|0;c[n>>2]=e;if(!e)break a;c[r>>2]=0;while(1){e=c[(c[(c[(c[s>>2]|0)+8>>2]|0)+172>>2]|0)+(c[r>>2]<<2)>>2]|0;c[p>>2]=e;if(!e)break;b=c[p>>2]|0;e=c[n>>2]|0;if((c[((c[c[p>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)==(c[((c[c[n>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1}if(!(c[p>>2]|0)){e=c[n>>2]|0;c[p>>2]=fh(c[((c[c[n>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0,c[s>>2]|0,c[n>>2]|0)|0}while(1){e=c[c[(c[(c[u>>2]|0)+8>>2]|0)+180>>2]>>2]|0;c[o>>2]=e;if(!e)break;mh(c[o>>2]|0,c[p>>2]|0);bh(c[o>>2]|0)}bh(c[n>>2]|0)}while(0);if((c[(c[(c[u>>2]|0)+8>>2]|0)+172+4>>2]|0)+(c[(c[(c[u>>2]|0)+8>>2]|0)+180+4>>2]|0)|0){v=25;break}ih(c[g>>2]|0,c[u>>2]|0);c[q>>2]=(c[q>>2]|0)+1}if((v|0)==25)db(125323,125367,115,125374);c[r>>2]=(c[k>>2]|0)+1;c[q>>2]=(c[l>>2]|0)+1;while(1){if((c[q>>2]|0)>=(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]|0))break;v=c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[q>>2]<<2)>>2]|0;c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[r>>2]<<2)>>2]=v;c[t>>2]=v;c[(c[(c[t>>2]|0)+8>>2]|0)+236>>2]=c[r>>2];c[r>>2]=(c[r>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+1}c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)>>2]=c[r>>2];c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[h>>2]<<6)+4>>2]|0)+(c[r>>2]<<2)>>2]=0;i=w;return}function pl(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;if(((a[(c[(c[d>>2]|0)+8>>2]|0)+156>>0]|0)==1?(c[(c[(c[d>>2]|0)+8>>2]|0)+180+4>>2]|0)==1:0)?(c[(c[(c[d>>2]|0)+8>>2]|0)+172+4>>2]|0)==1:0)d=(c[(c[(c[d>>2]|0)+8>>2]|0)+104>>2]|0)==0;else d=0;i=e;return d&1|0}function ql(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+112|0;if((i|0)>=(j|0))ba();k=m+40|0;h=m;l=m+96|0;n=m+92|0;f=m+88|0;g=m+84|0;e=m+80|0;c[n>>2]=b;c[f>>2]=d;c[g>>2]=c[c[(c[(c[n>>2]|0)+8>>2]|0)+180>>2]>>2];c[e>>2]=c[c[(c[(c[f>>2]|0)+8>>2]|0)+180>>2]>>2];if(((pl(c[f>>2]|0)|0)&255|0)!=0?(f=c[g>>2]|0,n=c[e>>2]|0,(c[((c[c[g>>2]>>2]&3|0)==2?f:f+-32|0)+28>>2]|0)==(c[((c[c[e>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2]|0)):0){if((tl(c[g>>2]|0,c[e>>2]|0)|0)&255){e=(c[(c[e>>2]|0)+8>>2]|0)+56|0;f=h;d=(c[(c[g>>2]|0)+8>>2]|0)+56|0;b=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(b|0));f=k;d=e;b=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(b|0));e=(bg(h,k)|0)==0}else e=0;a[l>>0]=e&1;n=a[l>>0]|0;i=m;return n|0}a[l>>0]=0;n=a[l>>0]|0;i=m;return n|0}function rl(d){d=d|0;var e=0,f=0,g=0,h=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;t=i;i=i+64|0;if((i|0)>=(j|0))ba();r=t+16|0;q=t;e=t+60|0;f=t+56|0;k=t+52|0;o=t+48|0;m=t+44|0;n=t+40|0;l=t+36|0;g=t+32|0;p=t+28|0;h=t+24|0;c[e>>2]=d;c[o>>2]=b[(c[(c[e>>2]|0)+8>>2]|0)+236>>1];while(1){if((c[o>>2]|0)>(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0))break;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+268>>2]|0)+(c[o>>2]<<2)>>2]=0;c[o>>2]=(c[o>>2]|0)+1}jj(c[e>>2]|0);c[n>>2]=pC(c[e>>2]|0)|0;while(1){d=c[e>>2]|0;if(!(c[n>>2]|0))break;sl(d,c[n>>2]|0);c[g>>2]=cB(c[e>>2]|0,c[n>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;c[p>>2]=c[g>>2];while(1){if(!(c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]|0))break;c[p>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+172>>2]}while(1){v=c[p>>2]|0;u=c[g>>2]|0;d=c[e>>2]|0;if((c[(c[(c[((c[c[p>>2]>>2]&3|0)==2?v:v+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)>=(c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?u:u+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0))break;v=c[p>>2]|0;sl(d,c[((c[c[p>>2]>>2]&3|0)==2?v:v+-32|0)+28>>2]|0);v=c[p>>2]|0;c[p>>2]=c[c[(c[(c[((c[c[p>>2]>>2]&3|0)==2?v:v+-32|0)+28>>2]|0)+8>>2]|0)+180>>2]>>2]}c[g>>2]=eB(d,c[g>>2]|0)|0}c[n>>2]=qC(c[e>>2]|0,c[n>>2]|0)|0}c[o>>2]=b[(c[d+8>>2]|0)+236>>1];while(1){if((c[o>>2]|0)>(b[(c[(c[e>>2]|0)+8>>2]|0)+238>>1]|0))break;c[l>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+268>>2]|0)+(c[o>>2]<<2)>>2];v=c[(c[(c[l>>2]|0)+8>>2]|0)+236>>2]|0;u=c[o>>2]|0;v=c[(c[(c[(c[(Nf(c[e>>2]|0)|0)+8>>2]|0)+196>>2]|0)+(u<<6)+4>>2]|0)+(v<<2)>>2]|0;if((v|0)!=(c[l>>2]|0)){s=18;break}v=c[o>>2]|0;v=c[(c[(c[(Nf(c[e>>2]|0)|0)+8>>2]|0)+196>>2]|0)+(v<<6)+4>>2]|0;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)+4>>2]=v+(c[(c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+268>>2]|0)+(c[o>>2]<<2)>>2]|0)+8>>2]|0)+236>>2]<<2);c[m>>2]=-1;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)>>2]|0))break;v=c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)+4>>2]|0)+(c[k>>2]<<2)>>2]|0;c[n>>2]=v;if(!v)break;if(a[(c[(c[n>>2]|0)+8>>2]|0)+156>>0]|0){c[h>>2]=c[c[(c[(c[n>>2]|0)+8>>2]|0)+172>>2]>>2];while(1){if(!(c[h>>2]|0))break;if(!(c[(c[(c[h>>2]|0)+8>>2]|0)+116>>2]|0))break;c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+116>>2]}if(((c[h>>2]|0)!=0?(v=c[h>>2]|0,(QC(c[e>>2]|0,c[((c[c[h>>2]>>2]&3|0)==3?v:v+32|0)+28>>2]|0)|0)!=0):0)?(v=c[h>>2]|0,(QC(c[e>>2]|0,c[((c[c[h>>2]>>2]&3|0)==2?v:v+-32|0)+28>>2]|0)|0)!=0):0)c[m>>2]=c[k>>2]}else{if(!(QC(c[e>>2]|0,c[n>>2]|0)|0))break;c[m>>2]=c[k>>2]}c[k>>2]=(c[k>>2]|0)+1}if((c[m>>2]|0)==-1){u=MB(c[e>>2]|0)|0;v=c[o>>2]|0;c[r>>2]=u;c[r+4>>2]=v;pA(0,125287,r)|0}c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}if((s|0)==18){s=MB(c[l>>2]|0)|0;u=c[(c[(c[l>>2]|0)+8>>2]|0)+236>>2]|0;v=c[o>>2]|0;c[q>>2]=s;c[q+4>>2]=u;c[q+8>>2]=v;pA(1,125229,q)|0;hb(50380,1)}c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[(c[(c[e>>2]|0)+8>>2]|0)+180>>2]|0))break;rl(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+184>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=t;return}function sl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[(c[(c[d>>2]|0)+8>>2]|0)+268>>2]|0)+(c[(c[(c[e>>2]|0)+8>>2]|0)+232>>2]<<2)>>2];if((c[g>>2]|0)!=0?(c[(c[(c[g>>2]|0)+8>>2]|0)+236>>2]|0)<=(c[(c[(c[e>>2]|0)+8>>2]|0)+236>>2]|0):0){i=f;return}c[(c[(c[(c[d>>2]|0)+8>>2]|0)+268>>2]|0)+(c[(c[(c[e>>2]|0)+8>>2]|0)+232>>2]<<2)>>2]=c[e>>2];i=f;return}function tl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+16|0;l=k+12|0;f=k+8|0;g=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=c[l>>2];while(1){if(!(a[(c[(c[g>>2]|0)+8>>2]|0)+112>>0]|0))break;c[g>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]}c[h>>2]=c[f>>2];while(1){if(!(a[(c[(c[h>>2]|0)+8>>2]|0)+112>>0]|0))break;c[h>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+116>>2]}if(a[(c[(c[g>>2]|0)+8>>2]|0)+153>>0]|0){a[e>>0]=0;l=a[e>>0]|0;i=k;return l|0}if(a[(c[(c[h>>2]|0)+8>>2]|0)+153>>0]|0){a[e>>0]=0;l=a[e>>0]|0;i=k;return l|0}else{f=c[h>>2]|0;b=c[h>>2]|0;d=c[g>>2]|0;l=c[g>>2]|0;a[e>>0]=(_((c[(c[(c[((c[c[h>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[h>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)|0,(c[(c[(c[((c[c[g>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-(c[(c[(c[((c[c[g>>2]>>2]&3|0)==2?l:l+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)|0)|0)>0;l=a[e>>0]|0;i=k;return l|0}return 0}function ul(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;k=l;c[e>>2]=b;c[f>>2]=d;c[12634]=c[e>>2];d=(a[125387]|0)+1<<24>>24;a[125387]=d;a[125387]=(d<<24>>24|0)==0?1:d;c[(c[(c[e>>2]|0)+8>>2]|0)+216+4>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+232>>2]=0;c[g>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;c[k>>2]=c[g>>2];if((c[f>>2]|0)>0?(d=c[(c[(c[k>>2]|0)+8>>2]|0)+212>>2]|0,c[h>>2]=d,(d|0)!=0):0){c[k>>2]=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+268>>2]|0)+(c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2]<<2)>>2];b=7}else b=6;if((b|0)==6?(b=0,d=c[k>>2]|0,(d|0)==(AO(c[k>>2]|0)|0)):0)b=7;if((b|0)==7?(0,(a[(c[(c[k>>2]|0)+8>>2]|0)+157>>0]|0)!=(a[125387]|0)):0){vl();wl(c[e>>2]|0,c[k>>2]|0);xl()}c[g>>2]=qC(c[e>>2]|0,c[g>>2]|0)|0}i=l;return}function vl(){c[(c[(c[12634]|0)+8>>2]|0)+192>>2]=0;c[12635]=0;return}function wl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;if((i|0)>=(j|0))ba();e=n+52|0;f=n+48|0;g=n+44|0;k=n+40|0;m=n+8|0;l=n+4|0;h=n;c[e>>2]=b;c[f>>2]=d;yl(c[f>>2]|0);d=(c[(c[f>>2]|0)+8>>2]|0)+180|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];d=m+8|0;b=(c[(c[f>>2]|0)+8>>2]|0)+172|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];d=m+16|0;b=(c[(c[f>>2]|0)+8>>2]|0)+188|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];d=m+24|0;b=(c[(c[f>>2]|0)+8>>2]|0)+196|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>3)break;a:do if(c[m+(c[g>>2]<<3)>>2]|0){c[k>>2]=0;while(1){d=c[(c[m+(c[g>>2]<<3)>>2]|0)+(c[k>>2]<<2)>>2]|0;c[h>>2]=d;if(!d)break a;d=c[h>>2]|0;d=c[((c[c[h>>2]>>2]&3|0)==2?d:d+-32|0)+28>>2]|0;c[l>>2]=d;if((d|0)==(c[f>>2]|0)){d=c[h>>2]|0;c[l>>2]=c[((c[c[h>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]}if((a[(c[(c[l>>2]|0)+8>>2]|0)+157>>0]|0)!=(a[125387]|0)?(d=c[l>>2]|0,(d|0)==(AO(c[l>>2]|0)|0)):0)wl(c[e>>2]|0,c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+1}}while(0);c[g>>2]=(c[g>>2]|0)+1}i=n;return}function xl(){var a=0,b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;e=(c[(c[12634]|0)+8>>2]|0)+216+4|0;a=c[e>>2]|0;c[e>>2]=a+1;c[b>>2]=a;a=(c[(c[12634]|0)+8>>2]|0)+216|0;if(c[(c[(c[12634]|0)+8>>2]|0)+216>>2]|0)a=tK(c[a>>2]|0,c[(c[(c[12634]|0)+8>>2]|0)+216+4>>2]<<2)|0;else a=rK(c[a+4>>2]<<2)|0;c[(c[(c[12634]|0)+8>>2]|0)+216>>2]=a;c[(c[(c[(c[12634]|0)+8>>2]|0)+216>>2]|0)+(c[b>>2]<<2)>>2]=c[(c[(c[12634]|0)+8>>2]|0)+192>>2];i=d;return}function yl(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;b=(c[(c[12634]|0)+8>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;a[(c[(c[d>>2]|0)+8>>2]|0)+157>>0]=a[125387]|0;if(c[12635]|0){c[(c[(c[d>>2]|0)+8>>2]|0)+168>>2]=c[12635];c[(c[(c[12635]|0)+8>>2]|0)+164>>2]=c[d>>2];b=c[d>>2]|0;c[12635]=b;b=c[d>>2]|0;b=b+8|0;b=c[b>>2]|0;b=b+164|0;c[b>>2]=0;i=e;return}else{c[(c[(c[d>>2]|0)+8>>2]|0)+168>>2]=0;c[(c[(c[12634]|0)+8>>2]|0)+192>>2]=c[d>>2];b=c[d>>2]|0;c[12635]=b;b=c[d>>2]|0;b=b+8|0;b=c[b>>2]|0;b=b+164|0;c[b>>2]=0;i=e;return}}function zl(b){b=b|0;var d=0,e=0.0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();g=r+36|0;l=r+32|0;m=r+28|0;q=r+24|0;p=r+20|0;k=r+16|0;d=r+12|0;n=r+8|0;o=r;c[g>>2]=b;c[q>>2]=0;c[d>>2]=0;c[p>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[p>>2]|0))break;a:do if(c[(c[(c[p>>2]|0)+8>>2]|0)+188>>2]|0){c[m>>2]=0;while(1){b=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+188>>2]|0)+(c[m>>2]<<2)>>2]|0;c[k>>2]=b;if(!b)break a;Al(c[k>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}while(0);c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[(c[p>>2]|0)+8>>2]|0)+204+4>>2]|0))break;c[k>>2]=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+204>>2]|0)+(c[m>>2]<<2)>>2];s=c[k>>2]|0;b=c[k>>2]|0;if((c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?s:s+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)==(c[(c[(c[((c[c[k>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0))Al(c[k>>2]|0);c[m>>2]=(c[m>>2]|0)+1}c[p>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+164>>2]}if(!((c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+56>>2]|0)==0?(c[(c[(c[g>>2]|0)+8>>2]|0)+180>>2]|0)<=0:0))f=15;b:do if((f|0)==15){c[l>>2]=0;while(1){s=c[(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+4>>2]|0)+(c[l>>2]<<2)>>2]|0;c[p>>2]=s;if(!s)break b;c[m>>2]=0;while(1){s=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+196>>2]|0)+(c[m>>2]<<2)>>2]|0;c[k>>2]=s;if(!s)break;if((c[(c[(c[k>>2]|0)+8>>2]|0)+96>>2]|0)!=0?(a[(c[(c[k>>2]|0)+8>>2]|0)+113>>0]|0)==0:0){f=21;break}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==21){f=0;Bl(c[g>>2]|0);c[d>>2]=1}if(c[d>>2]|0)break b;c[l>>2]=(c[l>>2]|0)+1}}while(0);wh(c[g>>2]|0);c[p>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+192>>2];while(1){if(!(c[p>>2]|0))break;c:do if(c[(c[(c[p>>2]|0)+8>>2]|0)+188>>2]|0){c[l>>2]=0;while(1){s=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+188>>2]|0)+(c[l>>2]<<2)>>2]|0;c[k>>2]=s;if(!s)break;do if(c[(c[(c[k>>2]|0)+8>>2]|0)+96>>2]|0){if(!(a[(c[(c[k>>2]|0)+8>>2]|0)+113>>0]|0)){c[q>>2]=1;Cl(c[k>>2]|0);break}d=(c[(c[(c[k>>2]|0)+8>>2]|0)+96>>2]|0)+24|0;if(c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]&1){h[(c[(c[k>>2]|0)+8>>2]|0)+136>>3]=+h[d+8>>3];break}else{h[(c[(c[k>>2]|0)+8>>2]|0)+136>>3]=+h[d>>3];break}}while(0);c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[(c[p>>2]|0)+8>>2]|0)+204+4>>2]|0))break c;c[k>>2]=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+204>>2]|0)+(c[m>>2]<<2)>>2];f=c[k>>2]|0;s=c[k>>2]|0;do if((c[(c[(c[((c[c[k>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)==(c[(c[(c[((c[c[k>>2]>>2]&3|0)==2?s:s+-32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)?(f=c[k>>2]|0,s=c[k>>2]|0,(c[((c[c[k>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)!=(c[((c[c[k>>2]>>2]&3|0)==2?s:s+-32|0)+28>>2]|0)):0){c[n>>2]=c[k>>2];while(1){d=c[(c[n>>2]|0)+8>>2]|0;if(!(c[(c[(c[n>>2]|0)+8>>2]|0)+172>>2]|0))break;c[n>>2]=c[d+172>>2]}a[(c[(c[k>>2]|0)+8>>2]|0)+113>>0]=a[d+113>>0]|0;if(c[(c[(c[k>>2]|0)+8>>2]|0)+96>>2]|0){if(!(a[(c[(c[k>>2]|0)+8>>2]|0)+113>>0]|0)){c[q>>2]=1;Cl(c[k>>2]|0);break}d=(c[(c[(c[k>>2]|0)+8>>2]|0)+96>>2]|0)+24|0;if(c[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]&1)h[o>>3]=+h[d+8>>3];else h[o>>3]=+h[d>>3];if(+h[o>>3]>+h[(c[(c[n>>2]|0)+8>>2]|0)+136>>3])e=+h[o>>3];else e=+h[(c[(c[n>>2]|0)+8>>2]|0)+136>>3];h[(c[(c[n>>2]|0)+8>>2]|0)+136>>3]=e}}while(0);c[m>>2]=(c[m>>2]|0)+1}}while(0);c[p>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+164>>2]}if(!(c[q>>2]|0)){s=c[q>>2]|0;i=r;return s|0}xh(c[g>>2]|0);s=c[q>>2]|0;i=r;return s|0}function Al(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();d=n+28|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;e=n+8|0;k=n+4|0;l=n;c[d>>2]=b;b=c[d>>2]|0;c[m>>2]=c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2];b=c[d>>2]|0;c[f>>2]=c[((c[c[d>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2];if((c[(c[(c[m>>2]|0)+8>>2]|0)+236>>2]|0)<(c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2]|0)){c[h>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+236>>2];c[e>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2]}else{c[h>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+236>>2];c[e>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+236>>2]}f=c[(c[(c[m>>2]|0)+8>>2]|0)+232>>2]|0;c[l>>2]=(c[(c[(Nf(c[m>>2]|0)|0)+8>>2]|0)+196>>2]|0)+(f<<6);c[g>>2]=(c[h>>2]|0)+1;while(1){if((c[g>>2]|0)>=(c[e>>2]|0))break;c[k>>2]=c[(c[(c[l>>2]|0)+4>>2]|0)+(c[g>>2]<<2)>>2];if((a[(c[(c[k>>2]|0)+8>>2]|0)+156>>0]|0)==1?(c[(c[(c[k>>2]|0)+8>>2]|0)+104>>2]|0)!=0:0)break;if(!(a[(c[(c[k>>2]|0)+8>>2]|0)+156>>0]|0))break;c[g>>2]=(c[g>>2]|0)+1}if((c[g>>2]|0)!=(c[e>>2]|0)){i=n;return}do{a[(c[(c[d>>2]|0)+8>>2]|0)+113>>0]=1;c[d>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+172>>2]}while((c[d>>2]|0)!=0);i=n;return}function Bl(a){a=a|0;var d=0,e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();f=k+8|0;g=k+4|0;d=k;c[f>>2]=a;if(b[(c[(c[f>>2]|0)+8>>2]|0)+236>>1]|0)db(125425,125408,190,125444);c[g>>2]=(b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1]|0)+3;if(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)a=tK(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0,c[g>>2]<<6)|0;else a=rK(c[g>>2]<<6)|0;c[d>>2]=a;c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]=(c[d>>2]|0)+64;c[g>>2]=b[(c[(c[f>>2]|0)+8>>2]|0)+238>>1];while(1){a=(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)|0;if((c[g>>2]|0)<0)break;d=(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+((c[g>>2]|0)-1<<6)|0;e=a+64|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));c[g>>2]=(c[g>>2]|0)+-1}c[a+8>>2]=0;c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)>>2]=0;e=qK(8)|0;c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+12>>2]=e;c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+4>>2]=e;c[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+56>>2]=0;h[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+24>>3]=1.0;h[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+16>>3]=1.0;h[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+40>>3]=1.0;h[(c[(c[(c[f>>2]|0)+8>>2]|0)+196>>2]|0)+(c[g>>2]<<6)+32>>3]=1.0;g=(c[(c[f>>2]|0)+8>>2]|0)+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;i=k;return}function Cl(b){b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();d=r+56|0;n=r+52|0;m=r+48|0;q=r+44|0;k=r+40|0;g=r+36|0;l=r+32|0;p=r+28|0;o=r+24|0;e=r+8|0;f=r;c[d>>2]=b;if(!(c[(c[(c[d>>2]|0)+8>>2]|0)+96>>2]|0)){i=r;return}b=c[d>>2]|0;c[g>>2]=Nf(c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)|0;b=c[d>>2]|0;c[n>>2]=c[(c[(c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2];c[m>>2]=Dl(c[g>>2]|0,c[d>>2]|0)|0;b=c[c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[n>>2]|0)-1<<6)+4>>2]>>2]|0;c[l>>2]=b;if(b)c[q>>2]=~~(+h[(c[(c[l>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[n>>2]|0)-1<<6)+16>>3]);else{c[l>>2]=c[c[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[n>>2]<<6)+4>>2]>>2];c[q>>2]=~~(+h[(c[(c[l>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+(c[n>>2]<<6)+24>>3]+ +(c[(c[(c[g>>2]|0)+8>>2]|0)+252>>2]|0))}c[p>>2]=El(c[g>>2]|0,(c[n>>2]|0)-1|0,c[m>>2]|0)|0;m=(c[(c[(c[d>>2]|0)+8>>2]|0)+96>>2]|0)+24|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[(c[(c[g>>2]|0)+8>>2]|0)+116>>2]&1){h[f>>3]=+h[e>>3];h[e>>3]=+h[e+8>>3];h[e+8>>3]=+h[f>>3]}h[(c[(c[p>>2]|0)+8>>2]|0)+80>>3]=+h[e+8>>3];c[k>>2]=~~(+h[(c[(c[p>>2]|0)+8>>2]|0)+80>>3]/2.0);s=+h[e>>3]/2.0;h[(c[(c[p>>2]|0)+8>>2]|0)+96>>3]=s;h[(c[(c[p>>2]|0)+8>>2]|0)+88>>3]=s;c[(c[(c[p>>2]|0)+8>>2]|0)+104>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+96>>2];h[(c[(c[p>>2]|0)+8>>2]|0)+16+8>>3]=+((c[q>>2]|0)+(c[k>>2]|0)|0);q=c[d>>2]|0;c[o>>2]=fh(c[p>>2]|0,c[((c[c[d>>2]>>2]&3|0)==3?q:q+32|0)+28>>2]|0,c[d>>2]|0)|0;h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3]=-+h[(c[(c[p>>2]|0)+8>>2]|0)+88>>3];q=c[d>>2]|0;h[(c[(c[o>>2]|0)+8>>2]|0)+56>>3]=+h[(c[(c[((c[c[d>>2]>>2]&3|0)==3?q:q+32|0)+28>>2]|0)+8>>2]|0)+96>>3];a[(c[(c[o>>2]|0)+8>>2]|0)+112>>0]=4;q=c[d>>2]|0;c[o>>2]=fh(c[p>>2]|0,c[((c[c[d>>2]>>2]&3|0)==2?q:q+-32|0)+28>>2]|0,c[d>>2]|0)|0;h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3]=+h[(c[(c[p>>2]|0)+8>>2]|0)+96>>3];q=c[d>>2]|0;h[(c[(c[o>>2]|0)+8>>2]|0)+56>>3]=+h[(c[(c[((c[c[d>>2]>>2]&3|0)==2?q:q+-32|0)+28>>2]|0)+8>>2]|0)+88>>3];a[(c[(c[o>>2]|0)+8>>2]|0)+112>>0]=4;if(+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[n>>2]|0)-1<<6)+16>>3]<+(c[k>>2]|0))h[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[n>>2]|0)-1<<6)+16>>3]=+(c[k>>2]|0);if(+h[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[n>>2]|0)-1<<6)+24>>3]<+(c[k>>2]|0))h[(c[(c[(c[g>>2]|0)+8>>2]|0)+196>>2]|0)+((c[n>>2]|0)-1<<6)+24>>3]=+(c[k>>2]|0);c[(c[(c[p>>2]|0)+8>>2]|0)+112>>2]=c[d>>2];i=r;return}function Dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;if((i|0)>=(j|0))ba();p=m+48|0;n=m+44|0;e=m+40|0;k=m+36|0;o=m+32|0;d=m+16|0;f=m+12|0;l=m+8|0;g=m+4|0;h=m;c[p>>2]=a;c[n>>2]=b;b=c[n>>2]|0;c[o>>2]=(c[(c[(c[((c[c[n>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)+8>>2]|0)+232>>2]|0)-1;c[h>>2]=c[(c[(c[(c[p>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)+4>>2];c[e>>2]=0;c[k>>2]=(c[(c[(c[(c[p>>2]|0)+8>>2]|0)+196>>2]|0)+(c[o>>2]<<6)>>2]|0)-1;b=(c[e>>2]|0)-1|0;c[d+8>>2]=b;c[d>>2]=b;b=(c[k>>2]|0)+1|0;c[d+12>>2]=b;c[d+4>>2]=b;b=c[n>>2]|0;a=c[n>>2]|0;Fl(c[((c[c[n>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0,c[((c[c[n>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0,f,l);do{if((c[e>>2]|0)>(c[k>>2]|0))break;Gl(c[(c[h>>2]|0)+(c[e>>2]<<2)>>2]|0,d,c[f>>2]|0,c[l>>2]|0);if((c[e>>2]|0)!=(c[k>>2]|0))Gl(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0,d,c[f>>2]|0,c[l>>2]|0);c[e>>2]=(c[e>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}while(((c[d+4>>2]|0)-(c[d>>2]|0)|0)>1);if((c[d>>2]|0)<=(c[d+4>>2]|0)){c[g>>2]=((c[d>>2]|0)+(c[d+4>>2]|0)+1|0)/2|0;p=c[g>>2]|0;i=m;return p|0}else{c[g>>2]=((c[d+8>>2]|0)+(c[d+12>>2]|0)+1|0)/2|0;p=c[g>>2]|0;i=m;return p|0}return 0}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)|0;if(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)+4>>2]|0)a=tK(c[a+4>>2]|0,(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)>>2]|0)+2<<2)|0;else a=rK((c[a>>2]|0)+2<<2)|0;c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)+4>>2]=a;c[l>>2]=a;c[h>>2]=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)>>2];while(1){if((c[h>>2]|0)<=(c[g>>2]|0))break;c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]=c[(c[l>>2]|0)+((c[h>>2]|0)-1<<2)>>2];b=(c[(c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]|0)+8>>2]|0)+236|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+-1}h=jh(c[e>>2]|0)|0;c[(c[l>>2]|0)+(c[g>>2]<<2)>>2]=h;c[k>>2]=h;c[(c[(c[k>>2]|0)+8>>2]|0)+236>>2]=c[g>>2];c[(c[(c[k>>2]|0)+8>>2]|0)+232>>2]=c[f>>2];h=(c[(c[(c[e>>2]|0)+8>>2]|0)+196>>2]|0)+(c[f>>2]<<6)|0;k=(c[h>>2]|0)+1|0;c[h>>2]=k;c[(c[l>>2]|0)+(k<<2)>>2]=0;i=m;return c[(c[l>>2]|0)+(c[g>>2]<<2)>>2]|0}function Fl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();o=m+24|0;n=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[o>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+236>>2];c[k>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+236>>2];if((c[h>>2]|0)<=(c[k>>2]|0)){o=c[h>>2]|0;n=c[f>>2]|0;c[n>>2]=o;n=c[k>>2]|0;o=c[g>>2]|0;c[o>>2]=n;i=m;return}c[l>>2]=c[h>>2];c[h>>2]=c[k>>2];c[k>>2]=c[l>>2];o=c[h>>2]|0;n=c[f>>2]|0;c[n>>2]=o;n=c[k>>2]|0;o=c[g>>2]|0;c[o>>2]=n;i=m;return}function Gl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=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;v=i;i=i+48|0;if((i|0)>=(j|0))ba();h=v+32|0;k=v+28|0;l=v+24|0;m=v+20|0;o=v+16|0;p=v+12|0;t=v+8|0;s=v+4|0;n=v;q=v+37|0;r=v+36|0;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((a[(c[(c[h>>2]|0)+8>>2]|0)+156>>0]|0)!=1){i=v;return}c[s>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+236>>2];if(c[(c[(c[h>>2]|0)+8>>2]|0)+172+4>>2]|0){a[r>>0]=0;a[q>>0]=0;c[o>>2]=0;while(1){u=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+180>>2]|0)+(c[o>>2]<<2)>>2]|0;c[n>>2]=u;if(!u)break;u=c[n>>2]|0;if((c[(c[(c[((c[c[n>>2]>>2]&3|0)==2?u:u+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)>(c[l>>2]|0)){u=c[n>>2]|0;if((c[(c[(c[((c[c[n>>2]>>2]&3|0)==2?u:u+-32|0)+28>>2]|0)+8>>2]|0)+236>>2]|0)>=(c[m>>2]|0))a[r>>0]=1}else a[q>>0]=1;c[o>>2]=(c[o>>2]|0)+1}if((d[q>>0]|0)!=0?(d[r>>0]|0)==0:0)c[c[k>>2]>>2]=(c[s>>2]|0)+1;if(!(d[r>>0]|0)){i=v;return}if(d[q>>0]|0){i=v;return}c[(c[k>>2]|0)+4>>2]=(c[s>>2]|0)-1;i=v;return}if((c[(c[(c[h>>2]|0)+8>>2]|0)+180+4>>2]|0)!=2)db(125388,125408,63,125415);g=c[c[(c[(c[h>>2]|0)+8>>2]|0)+180>>2]>>2]|0;b=c[(c[(c[(c[h>>2]|0)+8>>2]|0)+180>>2]|0)+4>>2]|0;Fl(c[((c[c[c[(c[(c[h>>2]|0)+8>>2]|0)+180>>2]>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2]|0,c[((c[c[(c[(c[(c[h>>2]|0)+8>>2]|0)+180>>2]|0)+4>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,p,t);if((c[t>>2]|0)<=(c[l>>2]|0)){u=c[s>>2]|0;c[c[k>>2]>>2]=u;c[(c[k>>2]|0)+8>>2]=u;i=v;return}if((c[p>>2]|0)>=(c[m>>2]|0)){u=c[s>>2]|0;c[(c[k>>2]|0)+4>>2]=u;c[(c[k>>2]|0)+12>>2]=u;i=v;return}if((c[p>>2]|0)<(c[l>>2]|0)?(c[t>>2]|0)>(c[m>>2]|0):0){i=v;return}if((c[p>>2]|0)>=(c[l>>2]|0)){if((c[p>>2]|0)==(c[l>>2]|0)?(c[t>>2]|0)<(c[m>>2]|0):0)u=14}else u=14;if((u|0)==14)c[(c[k>>2]|0)+8>>2]=c[s>>2];if((c[t>>2]|0)<=(c[m>>2]|0)){if((c[t>>2]|0)!=(c[m>>2]|0)){i=v;return}if((c[p>>2]|0)<=(c[l>>2]|0)){i=v;return}}c[(c[k>>2]|0)+12>>2]=c[s>>2];i=v;return}function Hl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[13795]=1;Pl(c[d>>2]|0);c[13795]=0;i=b;return}function Il(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[13795]=2;Pl(c[d>>2]|0);c[13795]=0;i=b;return}function Jl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aD(c[d>>2]|0,175106,304,1)|0;MO(c[d>>2]|0);a=qK((e[(c[(GC(c[d>>2]|0)|0)+8>>2]|0)+176>>1]|0)<<3)|0;c[(c[(c[d>>2]|0)+8>>2]|0)+132>>2]=a;a=c[d>>2]|0;iP(a,c[(c[(GC(c[d>>2]|0)|0)+8>>2]|0)+116>>2]&1);i=b;return}function Kl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=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;A=i;i=i+96|0;if((i|0)>=(j|0))ba();q=A+48|0;r=A+40|0;n=A+24|0;m=A+8|0;t=A+88|0;k=A+84|0;u=A+80|0;v=A+76|0;w=A+72|0;y=A+68|0;p=A+64|0;x=A+92|0;s=A;l=A+60|0;o=A+56|0;c[k>>2]=b;c[u>>2]=d;c[v>>2]=e;c[w>>2]=f;if(!(c[k>>2]|0)){c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}c[y>>2]=c[(c[(c[v>>2]|0)+8>>2]|0)+132>>2];c[p>>2]=PA(c[v>>2]|0,c[k>>2]|0)|0;do if(a[c[p>>2]>>0]|0){a[x>>0]=0;if((c[13799]|0)>=3?(b=c[p>>2]|0,e=(c[y>>2]|0)+8|0,d=(c[y>>2]|0)+16|0,c[m>>2]=c[y>>2],c[m+4>>2]=e,c[m+8>>2]=d,c[m+12>>2]=x,(E3(b,125526,m)|0)>=3):0){a[(c[(c[v>>2]|0)+8>>2]|0)+119>>0]=1;a:do if(+h[4246]>0.0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[13799]|0))break a;h[(c[y>>2]|0)+(c[l>>2]<<3)>>3]=+h[(c[y>>2]|0)+(c[l>>2]<<3)>>3]/+h[4246];c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[13799]|0)>3)jn(c[v>>2]|0,c[w>>2]|0,3);if((a[x>>0]|0)!=33){if((c[u>>2]|0)!=0?((zO(PA(c[v>>2]|0,c[u>>2]|0)|0)|0)&255|0)!=0:0)z=15}else z=15;if((z|0)==15)a[(c[(c[v>>2]|0)+8>>2]|0)+119>>0]=3;c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}k=c[p>>2]|0;m=(c[y>>2]|0)+8|0;c[n>>2]=c[y>>2];c[n+4>>2]=m;c[n+8>>2]=x;n=(E3(k,139674,n)|0)>=2;k=c[v>>2]|0;if(!n){y=MB(k)|0;z=c[p>>2]|0;c[q>>2]=y;c[q+4>>2]=z;pA(1,125540,q)|0;break}a[(c[k+8>>2]|0)+119>>0]=1;b:do if(+h[4246]>0.0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[13799]|0))break b;h[(c[y>>2]|0)+(c[o>>2]<<3)>>3]=+h[(c[y>>2]|0)+(c[o>>2]<<3)>>3]/+h[4246];c[o>>2]=(c[o>>2]|0)+1}}while(0);do if((c[13799]|0)>2){if(((c[13848]|0)!=0?(q=PA(c[v>>2]|0,c[13848]|0)|0,c[p>>2]=q,(q|0)!=0):0)?(q=c[p>>2]|0,c[r>>2]=s,(E3(q,139081,r)|0)==1):0){g=+h[s>>3];if(+h[4246]>0.0)h[(c[y>>2]|0)+16>>3]=g/+h[4246];else h[(c[y>>2]|0)+16>>3]=g;jn(c[v>>2]|0,c[w>>2]|0,3);break}kn(c[v>>2]|0,c[w>>2]|0)}while(0);if((a[x>>0]|0)!=33){if((c[u>>2]|0)!=0?((zO(PA(c[v>>2]|0,c[u>>2]|0)|0)|0)&255|0)!=0:0)z=34}else z=34;if((z|0)==34)a[(c[(c[v>>2]|0)+8>>2]|0)+119>>0]=3;c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}while(0);c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}function Ll(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;while(1){a=c[b>>2]|0;if(!(c[e>>2]|0))break;c[d>>2]=cB(a,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;gP(c[d>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}hP(c[e>>2]|0);c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}Ql(a);i=f;return}function Ml(b,e){b=b|0;e=e|0;var f=0,g=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=i;i=i+96|0;if((i|0)>=(j|0))ba();v=x+32|0;f=x+80|0;g=x+76|0;k=x+72|0;r=x+68|0;t=x+64|0;u=x+60|0;n=x+56|0;m=x+52|0;o=x+48|0;q=x+44|0;l=x;s=x+40|0;p=x+84|0;c[g>>2]=b;c[k>>2]=e;c[n>>2]=GA(c[g>>2]|0,0,140340,0)|0;c[m>>2]=GA(c[g>>2]|0,0,140374,0)|0;c[o>>2]=0;if(!(c[m>>2]|0))c[m>>2]=GA(c[g>>2]|0,0,140374,178598)|0;gn(c[g>>2]|0)|0;c[r>>2]=0;while(1){b=c[(c[(c[(c[g>>2]|0)+8>>2]|0)+152>>2]|0)+(c[r>>2]<<2)>>2]|0;c[t>>2]=b;if(!b)break;if((d[(c[(c[t>>2]|0)+8>>2]|0)+119>>0]|0|0)<=0?(g4(MB(c[t>>2]|0)|0,145693,7)|0)!=0:0){w=7;break}if(c[(c[(c[t>>2]|0)+8>>2]|0)+108>>2]|0)Rl(c[t>>2]|0,c[(c[(c[t>>2]|0)+8>>2]|0)+108>>2]|0,140336);c[r>>2]=(c[r>>2]|0)+1}if((w|0)==7){u=MB(c[t>>2]|0)|0;w=MB(c[g>>2]|0)|0;c[v>>2]=u;c[v+4>>2]=w;pA(1,125584,v)|0;c[f>>2]=-1;w=c[f>>2]|0;i=x;return w|0}Sl(c[g>>2]|0,c[n>>2]|0,c[m>>2]|0);c[u>>2]=Tl(c[g>>2]|0)|0;if(c[(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+88>>2]|0){c[q>>2]=1;c[(c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+84>>2]=0}else c[q>>2]=0;if(!((c[k>>2]|0)!=0&(c[13795]|0)==1^1|(c[q>>2]|0)!=0))c[o>>2]=yq(c[g>>2]|0)|0;if((c[o>>2]|0)!=0?(c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]|0)!=0:0)a[(c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]=0;QO(c[g>>2]|0);if(c[q>>2]|0){w=(c[(c[g>>2]|0)+8>>2]|0)+16|0;TH(l,c[g>>2]|0);c[w>>2]=c[l>>2];c[w+4>>2]=c[l+4>>2];c[w+8>>2]=c[l+8>>2];c[w+12>>2]=c[l+12>>2];c[w+16>>2]=c[l+16>>2];c[w+20>>2]=c[l+20>>2];c[w+24>>2]=c[l+24>>2];c[w+28>>2]=c[l+28>>2]}a:do if(c[k>>2]|0){a[p>>0]=ym(c[g>>2]|0)|0;if((c[u>>2]|0)!=0?(d[p>>0]|0|0)!=0|(c[o>>2]|0)!=0:0){Ul(c[g>>2]|0);c[u>>2]=0}if((c[u>>2]|0)!=2){xm(c[g>>2]|0,0);break}else{c[13800]=1;break}}else{c[13800]=1;c[s>>2]=pC(c[g>>2]|0)|0;while(1){if(!(c[s>>2]|0))break a;h[(c[(c[s>>2]|0)+8>>2]|0)+16>>3]=+h[c[(c[(c[s>>2]|0)+8>>2]|0)+132>>2]>>3]*72.0;h[(c[(c[s>>2]|0)+8>>2]|0)+16+8>>3]=+h[(c[(c[(c[s>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]*72.0;c[s>>2]=qC(c[g>>2]|0,c[s>>2]|0)|0}}while(0);c[f>>2]=c[q>>2];w=c[f>>2]|0;i=x;return w|0}function Nl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;if((i|0)>=(j|0))ba();r=s+8|0;q=s;g=s+36|0;h=s+32|0;k=s+28|0;l=s+24|0;p=s+40|0;n=s+20|0;m=s+16|0;o=s+12|0;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[n>>2]=OA(c[h>>2]|0,125621)|0;c[m>>2]=c[k>>2];if((c[n>>2]|0)!=0?(a[c[n>>2]>>0]|0)!=0:0){f=(F1(d[c[n>>2]>>0]|0)|0)!=0;b=c[n>>2]|0;do if(f){if(!(g4(b,125627,4)|0)){c[m>>2]=0;c[n>>2]=(c[n>>2]|0)+4;break}if(!(g4(c[n>>2]|0,144053,7)|0)){c[m>>2]=1;c[n>>2]=(c[n>>2]|0)+7;break}if(g4(c[n>>2]|0,125632,6)|0){c[m>>2]=c[k>>2];break}else{c[m>>2]=2;c[n>>2]=(c[n>>2]|0)+6;break}}else if(I1(d[b>>0]|0)|0)c[m>>2]=2;while(0);if((c[m>>2]|0)==2){if(!((I1(d[c[n>>2]>>0]|0)|0)!=0?(n=c[n>>2]|0,c[q>>2]=o,(E3(n,137685,q)|0)>=1):0)){q=r4()|0;c[o>>2]=q^(Mb(0)|0);c[r>>2]=c[o>>2];D3(p,137685,r)|0;QA(c[h>>2]|0,125621,p)|0}c[c[l>>2]>>2]=c[o>>2]}c[g>>2]=c[m>>2];r=c[g>>2]|0;i=s;return r|0}c[g>>2]=c[k>>2];r=c[g>>2]|0;i=s;return r|0}function Ol(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+20|0;f=k+16|0;l=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=a;c[f>>2]=b;c[l>>2]=d;c[h>>2]=1;c[g>>2]=Nl(c[e>>2]|0,c[l>>2]|0,h)|0;if((c[12716]|0)!=0&(c[g>>2]|0)!=2)pA(0,125639,k)|0;if((c[g>>2]|0)!=1){l=c[h>>2]|0;O2(l);l=c[g>>2]|0;i=k;return l|0}Vl(c[e>>2]|0,c[f>>2]|0);l=c[h>>2]|0;O2(l);l=c[g>>2]|0;i=k;return l|0}function Pl(b){b=b|0;var d=0,e=0,f=0,g=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;v=i;i=i+128|0;if((i|0)>=(j|0))ba();e=v+32|0;g=v+108|0;p=v+104|0;q=v+100|0;f=v+96|0;t=v+64|0;k=v+8|0;u=v;d=v+56|0;n=v+52|0;m=v+48|0;r=v+44|0;o=v+40|0;s=v+112|0;l=v+36|0;c[g>>2]=b;h[u>>3]=+h[4246];do if(c[13795]|0){h[4246]=72.0;Wl(c[g>>2]|0);Xl(c[g>>2]|0);c[d>>2]=Ml(c[g>>2]|0,1)|0;if((c[d>>2]|0)>=0){AL(c[g>>2]|0,0);break}pA(3,125687,e)|0;i=v;return}else{h[4246]=+vO(c[g>>2]|0);Wl(c[g>>2]|0);c[p>>2]=Yl(c[g>>2]|0)|0;vq(c[g>>2]|0,k,0)|0;c[q>>2]=Zl(c[g>>2]|0)|0;c[f>>2]=XG(c[g>>2]|0,0,t)|0;c[12717]=YG(c[g>>2]|0,-1,8)|0;b=(c[12717]|0)<0;if(c[f>>2]|0){if(b)c[12717]=8}else{if(b&(c[p>>2]|0)!=0)c[12717]=8;c[t+16>>2]=2}b=c[g>>2]|0;if((c[12717]|0)>=0){c[m>>2]=tG(b,r,c[12718]|0,s)|0;if((c[r>>2]|0)>1){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[n>>2]=c[(c[m>>2]|0)+(c[o>>2]<<2)>>2];xG(c[n>>2]|0)|0;_l(c[g>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,k);wq(c[n>>2]|0,k)|0;dP(c[n>>2]|0,2);$l(c[n>>2]|0);c[o>>2]=(c[o>>2]|0)+1}if(a[s>>0]|0){c[l>>2]=qK(c[r>>2]|0)|0;a[c[l>>2]>>0]=1}else c[l>>2]=0;c[t+8>>2]=c[12717];c[t+20>>2]=c[l>>2];c[t+12>>2]=1;TG(c[r>>2]|0,c[m>>2]|0,c[g>>2]|0,t)|0;if(c[l>>2]|0)B1(c[l>>2]|0)}else{_l(c[g>>2]|0,c[g>>2]|0,c[p>>2]|0,c[q>>2]|0,k);wq(c[g>>2]|0,k)|0;$l(c[g>>2]|0)}QO(c[g>>2]|0);Xl(c[g>>2]|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[n>>2]=c[(c[m>>2]|0)+(c[o>>2]<<2)>>2];hn(c[n>>2]|0);bD(c[n>>2]|0,175129)|0;FC(c[g>>2]|0,c[n>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+1}B1(c[m>>2]|0)}else{_l(b,c[g>>2]|0,c[p>>2]|0,c[q>>2]|0,k);wq(c[g>>2]|0,k)|0;Xl(c[g>>2]|0);$l(c[g>>2]|0)}AL(c[g>>2]|0,0)}while(0);h[4246]=+h[u>>3];i=v;return}function Ql(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if((c[13795]|0)!=0|(c[12717]|0)<0)hn(c[b>>2]|0);a=c[b>>2]|0;if((a|0)==(HC(c[b>>2]|0)|0)){i=d;return}dD(c[b>>2]|0,0,175129);i=d;return}function Rl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();l=o+32|0;q=o+52|0;f=o+48|0;p=o+44|0;m=o+24|0;n=o+16|0;k=o+40|0;g=o;c[q>>2]=b;c[f>>2]=d;c[p>>2]=e;c[k>>2]=OA(c[q>>2]|0,c[p>>2]|0)|0;if(!(c[k>>2]|0)){i=o;return}q=c[k>>2]|0;c[l>>2]=m;c[l+4>>2]=n;if((E3(q,144045,l)|0)!=2){i=o;return}q=(c[f>>2]|0)+56|0;nm(g,+h[m>>3],+h[n>>3]);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];a[(c[f>>2]|0)+81>>0]=1;i=o;return}function Sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();o=r+32|0;f=r+56|0;g=r+52|0;k=r+48|0;n=r+44|0;m=r+40|0;p=r+24|0;q=r+16|0;l=r;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if(((c[g>>2]|0)!=0?(c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0)!=0:0)?(c[m>>2]=PA(c[f>>2]|0,c[g>>2]|0)|0,m=c[m>>2]|0,c[o>>2]=p,c[o+4>>2]=q,(E3(m,144045,o)|0)==2):0){o=(c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0)+56|0;nm(l,+h[p>>3],+h[q>>3]);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];a[(c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2]|0)+81>>0]=1}if(!(c[k>>2]|0)){i=r;return}c[n>>2]=vD(c[f>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;om(c[n>>2]|0,c[f>>2]|0,c[g>>2]|0,c[k>>2]|0);c[n>>2]=wD(c[n>>2]|0)|0}i=r;return}function Tl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();b=k+20|0;d=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;e=k;c[d>>2]=a;c[h>>2]=0;if(!(BB(c[d>>2]|0)|0)){c[b>>2]=2;h=c[b>>2]|0;i=k;return h|0}c[e>>2]=GA(c[d>>2]|0,2,140326,0)|0;if((c[e>>2]|0)==0|(c[13795]|0)<2){c[b>>2]=0;h=c[b>>2]|0;i=k;return h|0}c[g>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;c[f>>2]=cB(c[d>>2]|0,c[g>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;if(lm(c[e>>2]|0,c[f>>2]|0)|0)c[h>>2]=(c[h>>2]|0)+1;c[f>>2]=eB(c[d>>2]|0,c[f>>2]|0)|0}c[g>>2]=qC(c[d>>2]|0,c[g>>2]|0)|0}if(!(c[h>>2]|0)){c[b>>2]=0;h=c[b>>2]|0;i=k;return h|0}h=c[h>>2]|0;if((h|0)==(BB(c[d>>2]|0)|0)){c[b>>2]=2;h=c[b>>2]|0;i=k;return h|0}else{c[b>>2]=1;h=c[b>>2]|0;i=k;return h|0}return 0}function Ul(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[d>>2]=cB(c[b>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[d>>2]|0))break;fP(c[d>>2]|0);hK(c[(c[(c[d>>2]|0)+8>>2]|0)+96>>2]|0);hK(c[(c[(c[d>>2]|0)+8>>2]|0)+108>>2]|0);hK(c[(c[(c[d>>2]|0)+8>>2]|0)+100>>2]|0);hK(c[(c[(c[d>>2]|0)+8>>2]|0)+104>>2]|0);c[d>>2]=eB(c[b>>2]|0,c[d>>2]|0)|0}c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}i=f;return}function Vl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+24|0;f=m+20|0;g=m+8|0;k=m;l=m+16|0;c[e>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[k>>3]=6.283185307179586/+(c[f>>2]|0);c[l>>2]=pC(c[e>>2]|0)|0;while(1){if(!(c[l>>2]|0))break;n=+(c[f>>2]|0)*1.0*+Q(+(+h[g>>3]));h[c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]>>3]=n;n=+(c[f>>2]|0)*1.0*+R(+(+h[g>>3]));h[(c[(c[(c[l>>2]|0)+8>>2]|0)+132>>2]|0)+8>>3]=n;a[(c[(c[l>>2]|0)+8>>2]|0)+119>>0]=1;h[g>>3]=+h[g>>3]+ +h[k>>3];if((c[13799]|0)>2)kn(c[l>>2]|0,c[f>>2]|0);c[l>>2]=qC(c[e>>2]|0,c[l>>2]|0)|0}i=m;return}function Wl(a){a=a|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+4|0;f=g;c[d>>2]=a;dP(c[d>>2]|0,2);h=c[d>>2]|0;c[f>>2]=tO(h,GA(c[d>>2]|0,0,129450,0)|0,2,2)|0;h=c[d>>2]|0;a=GA(c[d>>2]|0,0,129456,0)|0;a=(tO(h,a,c[f>>2]|0,2)|0)&65535;b[(c[(HC(c[d>>2]|0)|0)+8>>2]|0)+176>>1]=a;if((e[(c[(c[(c[d>>2]|0)+48>>2]|0)+8>>2]|0)+176>>1]|0|0)<10)a=e[(c[(c[(c[d>>2]|0)+48>>2]|0)+8>>2]|0)+176>>1]|0;else a=10;h=a&65535;b[(c[(c[(c[d>>2]|0)+48>>2]|0)+8>>2]|0)+176>>1]=h;c[13799]=h&65535;b[(c[(c[(c[d>>2]|0)+48>>2]|0)+8>>2]|0)+178>>1]=(c[f>>2]|0)<(c[13799]|0)?c[f>>2]|0:c[13799]|0;jm(c[d>>2]|0);i=g;return}function Xl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+1040|0;if((i|0)>=(j|0))ba();f=g;b=g+12|0;e=g+8|0;d=g+16|0;c[b>>2]=a;if(!((c[13799]|0)>=3&(c[13848]|0)!=0)){i=g;return}c[e>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;h[f>>3]=+h[(c[(c[(c[e>>2]|0)+8>>2]|0)+132>>2]|0)+16>>3]*72.0;D3(d,139081,f)|0;RA(c[e>>2]|0,c[13848]|0,d)|0;c[e>>2]=qC(c[b>>2]|0,c[e>>2]|0)|0}i=g;return}function Yl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();g=h;d=h+16|0;f=h+12|0;e=h+8|0;c[d>>2]=b;c[e>>2]=1;c[f>>2]=OA(c[d>>2]|0,126400)|0;do if((c[f>>2]|0)!=0?(a[c[f>>2]>>0]|0)!=0:0){if((a[c[f>>2]>>0]|0)==(a[126405]|0)?(a4(c[f>>2]|0,126405)|0)==0:0){c[e>>2]=0;break}if((a[c[f>>2]>>0]|0)==(a[126408]|0)?(a4(c[f>>2]|0,126408)|0)==0:0){c[e>>2]=1;break}if((a[c[f>>2]>>0]|0)==(a[126414]|0)?(a4(c[f>>2]|0,126414)|0)==0:0){c[e>>2]=2;break}b=c[f>>2]|0;f=MB(c[d>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=f;pA(0,126419,g)|0}while(0);i=h;return c[e>>2]|0}function Zl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();l=m+16|0;k=m+8|0;h=m;d=m+32|0;e=m+28|0;g=m+24|0;f=m+36|0;c[e>>2]=b;c[g>>2]=OA(c[e>>2]|0,126183)|0;if((c[g>>2]|0)!=0?(b=a[c[g>>2]>>0]|0,a[f>>0]=b,b<<24>>24!=0):0){if(((a[f>>0]|0)==99?(a[c[g>>2]>>0]|0)==(a[126189]|0):0)?(a4(c[g>>2]|0,126189)|0)==0:0){c[d>>2]=1;l=c[d>>2]|0;i=m;return l|0}if((a[f>>0]|0)==115){if((a[c[g>>2]>>0]|0)==(a[126197]|0)?(a4(c[g>>2]|0,126197)|0)==0:0){c[d>>2]=2;l=c[d>>2]|0;i=m;return l|0}if((a[c[g>>2]>>0]|0)==(a[126204]|0)?(a4(c[g>>2]|0,126204)|0)==0:0){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}}if(((a[f>>0]|0)==109?(a[c[g>>2]>>0]|0)==(a[126214]|0):0)?(a4(c[g>>2]|0,126214)|0)==0:0)if(GA(c[e>>2]|0,2,129916,0)|0){c[d>>2]=3;l=c[d>>2]|0;i=m;return l|0}else{c[h>>2]=MB(c[e>>2]|0)|0;pA(0,126218,h)|0;pA(3,126281,k)|0;c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}h=c[g>>2]|0;k=MB(c[e>>2]|0)|0;c[l>>2]=h;c[l+4>>2]=k;pA(0,126338,l)|0;c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}function _l(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,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+24|0;h=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a=OA(c[h>>2]|0,129071)|0;c[o>>2]=a;do if(!a)if((c[k>>2]|0)==1){c[13798]=200;break}else{c[13798]=(AB(c[h>>2]|0)|0)*100;break}else c[13798]=N3(c[o>>2]|0)|0;while(0);c[n>>2]=fn(c[h>>2]|0,c[k>>2]|0)|0;if((c[n>>2]|0)<2|(c[13798]|0)<0){i=p;return}if(c[k>>2]|0){am(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0,c[13799]|0,c[13798]|0,c[m>>2]|0);i=p;return}else{bm(c[h>>2]|0,c[n>>2]|0,c[l>>2]|0);i=p;return}}function $l(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;QO(c[d>>2]|0);xm(c[d>>2]|0,1);i=b;return}function am(b,d,e,f,g,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|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.0;J=i;i=i+144|0;if((i|0)>=(j|0))ba();F=J+64|0;I=J+48|0;H=J+40|0;G=J+32|0;E=J+8|0;n=J+136|0;o=J+132|0;p=J+128|0;q=J+124|0;r=J+120|0;s=J+108|0;z=J+104|0;u=J+100|0;C=J+96|0;D=J+92|0;t=J+88|0;A=J+84|0;x=J+80|0;B=J+76|0;y=J;w=J+72|0;v=J+68|0;c[J+140>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=k;c[J+116>>2]=l;c[J+112>>2]=m;c[C>>2]=0;c[x>>2]=Ol(c[n>>2]|0,c[o>>2]|0,(c[p>>2]|0)==2?0:2)|0;c[B>>2]=im(c[n>>2]|0)|0;if(!(c[x>>2]|0))c[B>>2]=c[B>>2]|4;c[s>>2]=rK(c[r>>2]<<2)|0;l=rK((_(c[o>>2]|0,c[r>>2]|0)|0)<<3)|0;c[c[s>>2]>>2]=l;c[u>>2]=1;while(1){if((c[u>>2]|0)>=(c[13799]|0))break;l=(c[c[s>>2]>>2]|0)+((_(c[u>>2]|0,c[o>>2]|0)|0)<<3)|0;c[(c[s>>2]|0)+(c[u>>2]<<2)>>2]=l;c[u>>2]=(c[u>>2]|0)+1}if(a[139078]|0){l=c[24742]|0;f=(c[x>>2]|0)==0&1;g=c[B>>2]&3;e=c[13798]|0;K=+h[4247];c[E>>2]=c[q>>2];c[E+4>>2]=f;c[E+8>>2]=g;c[E+12>>2]=e;h[E+16>>3]=K;p3(l,125986,E)|0;p3(c[24742]|0,126043,G)|0;nO();p3(c[24742]|0,126059,H)|0}c[t>>2]=em(c[n>>2]|0,c[o>>2]|0,z,c[p>>2]|0,c[q>>2]|0,A)|0;if(a[139078]|0){H=c[24742]|0;G=c[o>>2]|0;K=+oO();c[I>>2]=G;h[I+8>>3]=K;p3(H,126073,I)|0}if((c[p>>2]|0)!=1){I=c[n>>2]|0;h[y>>3]=+uO(I,GA(c[n>>2]|0,0,126092,0)|0,0.0,-1797693134862315708145274.0e284);if((c[p>>2]|0)==2)c[C>>2]=lr(c[t>>2]|0,c[o>>2]|0,c[z>>2]|0,c[s>>2]|0,c[A>>2]|0,c[13799]|0,c[B>>2]|0,c[q>>2]|0,c[13798]|0,+h[y>>3])|0}else c[C>>2]=Ym(c[t>>2]|0,c[o>>2]|0,c[z>>2]|0,c[s>>2]|0,c[A>>2]|0,c[13799]|0,c[B>>2]|0,c[q>>2]|0,c[13798]|0)|0;if((c[C>>2]|0)<0){pA(3,126102,F)|0;I=c[t>>2]|0;Mr(I);I=c[s>>2]|0;I=c[I>>2]|0;B1(I);I=c[s>>2]|0;B1(I);I=c[A>>2]|0;B1(I);i=J;return}c[D>>2]=pC(c[n>>2]|0)|0;while(1){if(!(c[D>>2]|0))break;c[w>>2]=c[(c[(c[D>>2]|0)+8>>2]|0)+120>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[13799]|0))break;h[(c[(c[(c[D>>2]|0)+8>>2]|0)+132>>2]|0)+(c[v>>2]<<3)>>3]=+h[(c[(c[s>>2]|0)+(c[v>>2]<<2)>>2]|0)+(c[w>>2]<<3)>>3];c[v>>2]=(c[v>>2]|0)+1}c[D>>2]=qC(c[n>>2]|0,c[D>>2]|0)|0}I=c[t>>2]|0;Mr(I);I=c[s>>2]|0;I=c[I>>2]|0;B1(I);I=c[s>>2]|0;B1(I);I=c[A>>2]|0;B1(I);i=J;return}function bm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();p=q+32|0;o=q+24|0;n=q+16|0;m=q+8|0;l=q;f=q+56|0;g=q+52|0;k=q+48|0;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;do if((c[k>>2]|0)!=2)if((c[k>>2]|0)==1){if(hr(c[f>>2]|0,c[g>>2]|0)|0)break;c[l>>2]=MB(c[f>>2]|0)|0;pA(0,125715,l)|0;pA(3,130751,m)|0;pA(3,125767,n)|0;pA(3,125839,o)|0;xn(c[f>>2]|0,c[g>>2]|0);break}else{o=(c[k>>2]|0)==3;xn(c[f>>2]|0,c[g>>2]|0);if(!o)break;dm(c[f>>2]|0,c[g>>2]|0);break}else cm(c[f>>2]|0,c[g>>2]|0);while(0);mn(c[f>>2]|0,c[g>>2]|0);nn(c[f>>2]|0,c[g>>2]|0);if(!(a[139078]|0)){o=c[f>>2]|0;p=c[g>>2]|0;on(o,p);i=q;return}o=c[24742]|0;n=c[13798]|0;r=+h[4247];c[p>>2]=c[k>>2];c[p+4>>2]=n;h[p+8>>3]=r;p3(o,125877,p)|0;nO();o=c[f>>2]|0;p=c[g>>2]|0;on(o,p);i=q;return}function cm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();d=m+24|0;e=m+20|0;k=m+16|0;l=m+12|0;f=m+4|0;g=m;c[d>>2]=a;c[e>>2]=b;c[g>>2]=em(c[d>>2]|0,c[e>>2]|0,m+8|0,0,2,0)|0;c[f>>2]=Os(c[g>>2]|0,c[e>>2]|0)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[e>>2]|0))break;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[e>>2]|0))break;h[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+160>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[l>>2]<<3)>>3]=+(c[(c[(c[f>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[l>>2]<<2)>>2]|0);c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}B1(c[c[f>>2]>>2]|0);B1(c[f>>2]|0);Mr(c[g>>2]|0);i=m;return}function dm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0.0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+20|0;f=l+12|0;g=l+8|0;k=l+4|0;e=l;c[d>>2]=a;c[l+16>>2]=b;c[k>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[e>>2]=cB(c[d>>2]|0,c[k>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;b=c[e>>2]|0;c[f>>2]=(c[c[((c[c[e>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]>>2]|0)>>>4;b=c[e>>2]|0;c[g>>2]=(c[c[((c[c[e>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]>>2]|0)>>>4;if((c[f>>2]|0)!=(c[g>>2]|0)){m=+h[(c[(c[e>>2]|0)+8>>2]|0)+136>>3];h[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+160>>2]|0)+(c[g>>2]<<2)>>2]|0)+(c[f>>2]<<3)>>3]=m;h[(c[(c[(c[(c[d>>2]|0)+8>>2]|0)+160>>2]|0)+(c[f>>2]<<2)>>2]|0)+(c[g>>2]<<3)>>3]=m}c[e>>2]=eB(c[d>>2]|0,c[e>>2]|0)|0}c[k>>2]=qC(c[d>>2]|0,c[k>>2]|0)|0}i=l;return}function em(a,b,d,e,f,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;k=k|0;var l=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,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;N=i;i=i+112|0;if((i|0)>=(j|0))ba();m=N+104|0;n=N+100|0;o=N+96|0;p=N+92|0;O=N+88|0;K=N+84|0;L=N+80|0;E=N+76|0;D=N+72|0;r=N+68|0;v=N+64|0;F=N+60|0;t=N+56|0;u=N+52|0;s=N+48|0;x=N+44|0;y=N+40|0;w=N+36|0;M=N+32|0;z=N+28|0;A=N+24|0;B=N+20|0;C=N+16|0;q=N+12|0;I=N+8|0;G=N+4|0;H=N;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[O>>2]=f;c[K>>2]=k;c[D>>2]=BB(c[m>>2]|0)|0;c[v>>2]=0;c[u>>2]=0;c[s>>2]=0;c[M>>2]=qL()|0;if((c[O>>2]|0)==2){c[x>>2]=0;c[y>>2]=0}else{c[x>>2]=GA(c[m>>2]|0,2,129916,0)|0;c[y>>2]=(c[13851]|0)!=0&1}if((c[p>>2]|0)==2|(c[p>>2]|0)==3)c[w>>2]=1;else c[w>>2]=0;c[L>>2]=rK((c[n>>2]|0)*20|0)|0;c[E>>2]=rK(c[n>>2]<<2)|0;c[r>>2]=rK((c[D>>2]<<1)+(c[n>>2]|0)<<2)|0;if((c[x>>2]|0)!=0|(c[w>>2]|0)!=0)c[v>>2]=rK((c[D>>2]<<1)+(c[n>>2]|0)<<2)|0;if(c[y>>2]|0)c[u>>2]=rK((c[D>>2]<<1)+(c[n>>2]|0)<<2)|0;if(c[w>>2]|0)c[s>>2]=rK((c[D>>2]<<1)+(c[n>>2]|0)<<2)|0;c[z>>2]=0;c[D>>2]=0;c[F>>2]=pC(c[m>>2]|0)|0;while(1){if(!(c[F>>2]|0))break;c[C>>2]=1;rL(c[M>>2]|0);if((c[(c[(c[F>>2]|0)+8>>2]|0)+120>>2]|0)!=(c[z>>2]|0)){J=16;break}c[(c[E>>2]|0)+(c[z>>2]<<2)>>2]=c[F>>2];O=c[r>>2]|0;c[r>>2]=O+4;c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+4>>2]=O;if((c[x>>2]|0)!=0|(c[w>>2]|0)!=0){O=c[v>>2]|0;c[v>>2]=O+4;c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+8>>2]=O}else c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+8>>2]=0;if(c[y>>2]|0){O=c[u>>2]|0;c[u>>2]=O+4;c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+12>>2]=O}else c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+12>>2]=0;if(c[w>>2]|0){O=c[s>>2]|0;c[s>>2]=O+4;c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+16>>2]=O}else c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+16>>2]=0;c[A>>2]=1;c[t>>2]=hB(c[m>>2]|0,c[F>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;b=c[t>>2]|0;O=c[t>>2]|0;do if((c[((c[c[t>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0)!=(c[((c[c[t>>2]>>2]&3|0)==3?O:O+32|0)+28>>2]|0)){c[B>>2]=fm(c[M>>2]|0,c[t>>2]|0,c[C>>2]|0)|0;if((c[B>>2]|0)!=(c[C>>2]|0)){if(c[y>>2]|0){O=(c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+12>>2]|0)+(c[B>>2]<<2)|0;g[O>>2]=+g[O>>2]+ +h[(c[(c[t>>2]|0)+8>>2]|0)+128>>3]}if(!(c[x>>2]|0))break;c[q>>2]=~~+g[(c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+8>>2]|0)+(c[B>>2]<<2)>>2];if(+h[(c[(c[t>>2]|0)+8>>2]|0)+136>>3]>+(c[q>>2]|0))l=+h[(c[(c[t>>2]|0)+8>>2]|0)+136>>3];else l=+(c[q>>2]|0);g[(c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+8>>2]|0)+(c[B>>2]<<2)>>2]=l;break}O=c[t>>2]|0;a=c[c[t>>2]>>2]&3;if((c[((c[c[t>>2]>>2]&3|0)==3?O:O+32|0)+28>>2]|0)==(c[F>>2]|0)){O=c[t>>2]|0;a=c[((a|0)==2?O:O+-32|0)+28>>2]|0}else{O=c[t>>2]|0;a=c[((a|0)==3?O:O+32|0)+28>>2]|0}c[I>>2]=a;c[D>>2]=(c[D>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+1;b=c[(c[(c[I>>2]|0)+8>>2]|0)+120>>2]|0;O=c[r>>2]|0;c[r>>2]=O+4;c[O>>2]=b;if(c[y>>2]|0){l=+h[(c[(c[t>>2]|0)+8>>2]|0)+128>>3];O=c[u>>2]|0;c[u>>2]=O+4;g[O>>2]=l}do if(c[x>>2]|0){l=+h[(c[(c[t>>2]|0)+8>>2]|0)+136>>3];O=c[v>>2]|0;c[v>>2]=O+4;g[O>>2]=l}else{if(!(c[w>>2]|0))break;O=c[v>>2]|0;c[v>>2]=O+4;g[O>>2]=1.0}while(0);a:do if(c[w>>2]|0){c[G>>2]=OA(c[t>>2]|0,139431)|0;do if(c[G>>2]|0){if(g4(c[G>>2]|0,173392,4)|0)break;O=c[s>>2]|0;c[s>>2]=O+4;g[O>>2]=0.0;break a}while(0);O=c[t>>2]|0;l=(c[F>>2]|0)==(c[((c[c[t>>2]>>2]&3|0)==2?O:O+-32|0)+28>>2]|0)?1.0:-1.0;O=c[s>>2]|0;c[s>>2]=O+4;g[O>>2]=l}while(0);c[A>>2]=(c[A>>2]|0)+1}while(0);c[t>>2]=iB(c[m>>2]|0,c[t>>2]|0,c[F>>2]|0)|0}c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)>>2]=c[A>>2];c[c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+4>>2]>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+1;c[F>>2]=qC(c[m>>2]|0,c[F>>2]|0)|0}if((J|0)==16)db(125916,125931,817,125943);if(c[w>>2]|0)gm(c[L>>2]|0,c[n>>2]|0,c[p>>2]|0,c[E>>2]|0);c[D>>2]=(c[D>>2]|0)/2|0;O=c[D>>2]|0;b:do if((O|0)!=(BB(c[m>>2]|0)|0)){c[r>>2]=tK(c[(c[L>>2]|0)+4>>2]|0,(c[D>>2]<<1)+(c[n>>2]|0)<<2)|0;if(c[x>>2]|0)c[v>>2]=tK(c[(c[L>>2]|0)+8>>2]|0,(c[D>>2]<<1)+(c[n>>2]|0)<<2)|0;if(c[y>>2]|0)c[u>>2]=tK(c[(c[L>>2]|0)+12>>2]|0,(c[D>>2]<<1)+(c[n>>2]|0)<<2)|0;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[n>>2]|0))break b;c[H>>2]=c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)>>2];c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+4>>2]=c[r>>2];c[r>>2]=(c[r>>2]|0)+(c[H>>2]<<2);if(c[x>>2]|0){c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+8>>2]=c[v>>2];c[v>>2]=(c[v>>2]|0)+(c[H>>2]<<2)}if(c[y>>2]|0){c[(c[L>>2]|0)+((c[z>>2]|0)*20|0)+12>>2]=c[u>>2];c[u>>2]=(c[u>>2]|0)+(c[H>>2]<<2)}c[z>>2]=(c[z>>2]|0)+1}}while(0);c[c[o>>2]>>2]=c[D>>2];a=c[E>>2]|0;if(c[K>>2]|0){c[c[K>>2]>>2]=a;O=c[M>>2]|0;sL(O);O=c[L>>2]|0;i=N;return O|0}else{B1(a);O=c[M>>2]|0;sL(O);O=c[L>>2]|0;i=N;return O|0}return 0}function fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;a=c[m>>2]|0;c[g>>2]=c[(c[(c[((c[c[m>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+120>>2];a=c[m>>2]|0;c[h>>2]=c[(c[(c[((c[c[m>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+120>>2];if((c[g>>2]|0)<=(c[h>>2]|0)){d=c[e>>2]|0;a=c[g>>2]|0;k=c[h>>2]|0;m=c[f>>2]|0;m=tL(d,a,k,m)|0;i=l;return m|0}c[k>>2]=c[g>>2];c[g>>2]=c[h>>2];c[h>>2]=c[k>>2];d=c[e>>2]|0;a=c[g>>2]|0;k=c[h>>2]|0;m=c[f>>2]|0;m=tL(d,a,k,m)|0;i=l;return m|0}function gm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;c[n>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];a[(c[(c[n>>2]|0)+8>>2]|0)+157>>0]=0;a[(c[(c[n>>2]|0)+8>>2]|0)+158>>0]=0;c[m>>2]=(c[m>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;if(!(a[(c[(c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)+8>>2]|0)+157>>0]|0))hm(c[g>>2]|0,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);c[m>>2]=(c[m>>2]|0)+1}i=o;return}function hm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;if((i|0)>=(j|0))ba();k=u+40|0;l=u+36|0;m=u+32|0;n=u+28|0;t=u+24|0;q=u+20|0;r=u+16|0;o=u+12|0;p=u+8|0;s=u;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;h[s>>3]=(c[m>>2]|0)==3?-1.0:1.0;c[t>>2]=c[(c[n>>2]|0)+(c[l>>2]<<2)>>2];a[(c[(c[t>>2]|0)+8>>2]|0)+157>>0]=1;a[(c[(c[t>>2]|0)+8>>2]|0)+158>>0]=1;c[o>>2]=1;a:while(1){if((c[o>>2]|0)>=(c[(c[k>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)){k=15;break}do if(!(+g[(c[(c[k>>2]|0)+((c[l>>2]|0)*20|0)+16>>2]|0)+(c[o>>2]<<2)>>2]==1.0)){c[r>>2]=c[(c[(c[k>>2]|0)+((c[l>>2]|0)*20|0)+4>>2]|0)+(c[o>>2]<<2)>>2];c[q>>2]=c[(c[n>>2]|0)+(c[r>>2]<<2)>>2];if(!(a[(c[(c[q>>2]|0)+8>>2]|0)+158>>0]|0)){if(a[(c[(c[q>>2]|0)+8>>2]|0)+157>>0]|0)break;hm(c[k>>2]|0,c[r>>2]|0,c[m>>2]|0,c[n>>2]|0);break}g[(c[(c[k>>2]|0)+((c[l>>2]|0)*20|0)+16>>2]|0)+(c[o>>2]<<2)>>2]=+h[s>>3];c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[k>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0))break;if((c[(c[(c[k>>2]|0)+((c[r>>2]|0)*20|0)+4>>2]|0)+(c[p>>2]<<2)>>2]|0)==(c[l>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}if((c[p>>2]|0)>=(c[(c[k>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0)){k=10;break a}g[(c[(c[k>>2]|0)+((c[r>>2]|0)*20|0)+16>>2]|0)+(c[p>>2]<<2)>>2]=-1.0}while(0);c[o>>2]=(c[o>>2]|0)+1}if((k|0)==10)db(125957,125931,719,125977);else if((k|0)==15){a[(c[(c[t>>2]|0)+8>>2]|0)+158>>0]=0;i=u;return}}function im(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;a=c[f>>2]|0;c[b>>2]=tO(a,GA(c[f>>2]|0,0,126118,0)|0,2,0)|0;if(!((c[b>>2]|0)==0|(c[b>>2]|0)>2)){f=c[b>>2]|0;i=e;return f|0}c[d>>2]=126118;pA(0,126127,d)|0;c[b>>2]=2;f=c[b>>2]|0;i=e;return f|0}function jm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();b=h+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;c[b>>2]=a;c[g>>2]=AB(c[b>>2]|0)|0;c[12716]=GA(c[b>>2]|0,1,140326,0)|0;c[d>>2]=GA(c[b>>2]|0,1,127669,0)|0;c[f>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;Jl(c[f>>2]|0);Kl(c[12716]|0,c[d>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[f>>2]=qC(c[b>>2]|0,c[f>>2]|0)|0}c[f>>2]=pC(c[b>>2]|0)|0;while(1){if(!(c[f>>2]|0))break;c[e>>2]=cB(c[b>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;km(c[e>>2]|0);c[e>>2]=eB(c[b>>2]|0,c[e>>2]|0)|0}c[f>>2]=qC(c[b>>2]|0,c[f>>2]|0)|0}i=h;return}function km(a){a=a|0;var b=0,d=0,e=0.0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aD(c[d>>2]|0,175399,176,1)|0;NO(c[d>>2]|0)|0;e=+uO(c[d>>2]|0,c[13851]|0,1.0,1.0);h[(c[(c[d>>2]|0)+8>>2]|0)+128>>3]=e;i=b;return} +function wU(d,e,f,g,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;k=+k;l=l|0;m=m|0;n=n|0;var 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=i;i=i+192|0;if((i|0)>=(j|0))ba();x=C+136|0;o=C+176|0;p=C+172|0;q=C+168|0;D=C+128|0;r=C+164|0;t=C+160|0;u=C+156|0;s=C+120|0;v=C+112|0;y=C+104|0;B=C+48|0;z=C+16|0;w=C;A=C+152|0;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;h[D>>3]=k;c[r>>2]=n;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;h[s>>3]=+h[g>>3];h[v>>3]=+h[s>>3]-+h[D>>3];h[y>>3]=+h[s>>3]+ +h[D>>3];h[w+8>>3]=+h[g+8>>3]+(+h[m+16+8>>3]-+h[m+8>>3])/2.0;AR(c[o>>2]|0,1);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[p>>2]|0))break;switch(a[(c[q>>2]|0)+((c[t>>2]|0)*24|0)+6>>0]|0){case 108:{h[g>>3]=+h[v>>3];break}case 114:{h[g>>3]=+h[y>>3]-+h[(c[q>>2]|0)+((c[t>>2]|0)*24|0)+8>>3];break}default:h[g>>3]=+h[s>>3]-+h[(c[q>>2]|0)+((c[t>>2]|0)*24|0)+8>>3]/2.0}f=w+8|0;h[f>>3]=+h[f>>3]-+h[(c[q>>2]|0)+((c[t>>2]|0)*24|0)+16>>3];c[A>>2]=c[(c[q>>2]|0)+((c[t>>2]|0)*24|0)>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(b[(c[q>>2]|0)+((c[t>>2]|0)*24|0)+4>>1]|0))break;if((c[(c[A>>2]|0)+4>>2]|0)!=0?+h[(c[(c[A>>2]|0)+4>>2]|0)+16>>3]>0.0:0)h[z+16>>3]=+h[(c[(c[A>>2]|0)+4>>2]|0)+16>>3];else h[z+16>>3]=+h[l+16>>3];if((c[(c[A>>2]|0)+4>>2]|0)!=0?(c[c[(c[A>>2]|0)+4>>2]>>2]|0)!=0:0)c[z>>2]=c[c[(c[A>>2]|0)+4>>2]>>2];else c[z>>2]=c[l>>2];if((c[(c[A>>2]|0)+4>>2]|0)!=0?(c[(c[(c[A>>2]|0)+4>>2]|0)+4>>2]|0)!=0:0)c[z+4>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+4>>2];else c[z+4>>2]=c[l+4>>2];if((c[(c[A>>2]|0)+4>>2]|0)!=0?(c[(c[(c[A>>2]|0)+4>>2]|0)+24>>2]&127|0)!=0:0){f=z+24|0;c[f>>2]=c[f>>2]&-128|c[(c[(c[A>>2]|0)+4>>2]|0)+24>>2]&127}else{f=z+24|0;c[f>>2]=c[f>>2]&-128}DR(c[o>>2]|0,c[z+4>>2]|0);c[B>>2]=c[c[A>>2]>>2];c[B+4>>2]=z;h[B+16>>3]=+h[(c[A>>2]|0)+16>>3];if(c[r>>2]|0)h[B+24>>3]=+h[(c[A>>2]|0)+24>>3];else h[B+24>>3]=1.0;c[(c[B+4>>2]|0)+8>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+8>>2];c[B+8>>2]=c[(c[A>>2]|0)+8>>2];h[B+32>>3]=+h[(c[A>>2]|0)+32>>3];h[B+32+8>>3]=+h[(c[q>>2]|0)+((c[t>>2]|0)*24|0)+16>>3];a[B+48>>0]=108;h[w>>3]=+h[g>>3];f=c[o>>2]|0;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];CR(f,x,B);h[g>>3]=+h[g>>3]+ +h[(c[A>>2]|0)+32>>3];c[A>>2]=(c[A>>2]|0)+56;c[u>>2]=(c[u>>2]|0)+1}c[t>>2]=(c[t>>2]|0)+1}BR(c[o>>2]|0);i=C;return}function xU(e,f,g,h,k,l){e=e|0;f=f|0;g=g|0;h=h|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;A=i;i=i+256|0;if((i|0)>=(j|0))ba();r=A+8|0;y=A;m=A+88|0;n=A+84|0;o=A+80|0;p=A+76|0;q=A+72|0;x=A+68|0;t=A+64|0;u=A+60|0;w=A+56|0;z=A+40|0;v=A+224|0;s=A+96|0;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=k;c[q>>2]=l;c[x>>2]=c[(c[m>>2]|0)+16>>2];c[w>>2]=0;c[c[p>>2]>>2]=c[(c[x>>2]|0)+208>>2];c[(c[p>>2]|0)+4>>2]=c[(c[x>>2]|0)+228>>2];c[(c[p>>2]|0)+8>>2]=c[(c[x>>2]|0)+244>>2];c[(c[p>>2]|0)+12>>2]=c[(c[x>>2]|0)+212>>2];a[(c[p>>2]|0)+16>>0]=(b[(c[x>>2]|0)+260>>1]<<15&65535)<<16>>16>>15;c[u>>2]=c[(c[o>>2]|0)+16>>2];if(!((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0)){tA(z,128,s);if(!(c[(c[n>>2]|0)+60>>2]|0)){k=d4(OH(c[m>>2]|0,c[(c[x>>2]|0)+8>>2]|0,z)|0)|0;c[(c[n>>2]|0)+60>>2]=k;a[(c[n>>2]|0)+64>>0]=1}wA(z,c[(c[n>>2]|0)+60>>2]|0)|0;k=c[22875]|0;c[22875]=k+1;c[y>>2]=k;D3(v,175522,y)|0;wA(z,v)|0;if((c[z+4>>2]|0)>>>0>=(c[z+8>>2]|0)>>>0)uA(z,1)|0;k=z+4|0;y=c[k>>2]|0;c[k>>2]=y+1;a[y>>0]=0;y=c[z>>2]|0;c[z+4>>2]=y;c[u>>2]=y;c[w>>2]=1}c[t>>2]=NH(c[m>>2]|0,0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[u>>2]|0,c[(c[x>>2]|0)+8>>2]|0)|0;if(c[w>>2]|0)xA(z);if(!(c[t>>2]|0)){z=c[t>>2]|0;i=A;return z|0}do if(c[q>>2]|0){if((c[c[p>>2]>>2]|0)==0?(d[(c[p>>2]|0)+16>>0]|0)==0:0)break;zR(c[m>>2]|0)}while(0);if((c[(c[x>>2]|0)+208>>2]|0)==0?((b[(c[x>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)==0:0){z=c[t>>2]|0;i=A;return z|0}z=c[m>>2]|0;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[r+16>>2]=c[h+16>>2];c[r+20>>2]=c[h+20>>2];c[r+24>>2]=c[h+24>>2];c[r+28>>2]=c[h+28>>2];RH(z,r);yR(c[m>>2]|0,c[(c[x>>2]|0)+208>>2]|0,c[(c[x>>2]|0)+228>>2]|0,c[(c[x>>2]|0)+244>>2]|0,c[(c[x>>2]|0)+212>>2]|0);z=c[t>>2]|0;i=A;return z|0}function yU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();k=q+24|0;h=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=a;c[h>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;e=(XH(c[h>>2]|0,c[n>>2]|0,p)|0)<<24>>24!=0;d=c[k>>2]|0;do if(e){ER(d,c[c[n>>2]>>2]|0);d=c[k>>2]|0;if(c[(c[n>>2]|0)+4>>2]|0)FR(d,c[(c[n>>2]|0)+4>>2]|0,c[l>>2]|0,+g[p>>2]);else FR(d,174997,c[l>>2]|0,+g[p>>2]);if(c[m>>2]&2){c[o>>2]=3;break}else{c[o>>2]=2;break}}else{ER(d,c[h>>2]|0);c[o>>2]=1}while(0);DR(c[k>>2]|0,175510);i=q;return c[o>>2]|0}function zU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;g=k;c[e>>2]=a;c[f>>2]=d;d=c[e>>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];d=(c[e>>2]|0)+32|0;b=b+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];if((c[f>>2]|0)>1){h[g>>3]=+(c[f>>2]|0)/2.0;d=c[e>>2]|0;h[d>>3]=+h[d>>3]+ +h[g>>3];d=(c[e>>2]|0)+8|0;h[d>>3]=+h[d>>3]+ +h[g>>3];d=(c[e>>2]|0)+32|0;h[d>>3]=+h[d>>3]-+h[g>>3];d=(c[e>>2]|0)+32+8|0;h[d>>3]=+h[d>>3]-+h[g>>3]}h[(c[e>>2]|0)+16>>3]=+h[(c[e>>2]|0)+32>>3];h[(c[e>>2]|0)+16+8>>3]=+h[(c[e>>2]|0)+8>>3];h[(c[e>>2]|0)+48>>3]=+h[c[e>>2]>>3];h[(c[e>>2]|0)+48+8>>3]=+h[(c[e>>2]|0)+32+8>>3];i=k;return c[e>>2]|0}function AU(b,f,g){b=b|0;f=f|0;g=g|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,w=0;w=i;i=i+224|0;if((i|0)>=(j|0))ba();u=w+112|0;o=w+212|0;p=w+208|0;q=w+204|0;v=w+168|0;t=w+80|0;k=w+64|0;s=w+164|0;r=w+160|0;l=w;m=w+152|0;n=w+144|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;b=(c[p>>2]|0)+48|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];c[t+16>>2]=c[b+16>>2];c[t+20>>2]=c[b+20>>2];c[t+24>>2]=c[b+24>>2];c[t+28>>2]=c[b+28>>2];b=c[q>>2]|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];if(c[c[p>>2]>>2]|0)f=1;else f=(c[(c[p>>2]|0)+8>>2]|0)!=0;c[r>>2]=f&1;h[t>>3]=+h[t>>3]+ +h[k>>3];b=t+16|0;h[b>>3]=+h[b>>3]+ +h[k>>3];b=t+8|0;h[b>>3]=+h[b>>3]+ +h[k+8>>3];b=t+16+8|0;h[b>>3]=+h[b>>3]+ +h[k+8>>3];if((c[r>>2]|0)!=0?(c[(c[o>>2]|0)+152>>2]&4|0)==0:0){f=c[o>>2]|0;b=c[q>>2]|0;k=c[p>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];c[s>>2]=xU(f,b,k,u,v,1)|0}else c[s>>2]=0;do if(!(e[(c[p>>2]|0)+42>>1]&32)){if(c[(c[p>>2]|0)+20>>2]|0){c[n>>2]=yU(c[o>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+28>>2]|0,e[(c[p>>2]|0)+42>>1]|0,m)|0;f=c[o>>2]|0;if(e[(c[p>>2]|0)+42>>1]&4){k=d[(c[p>>2]|0)+33>>0]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];l=zU(l,u,k)|0;rM(f,l,4,4,c[n>>2]|0)}else{n=c[n>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];JR(f,u,n)}B1(c[m>>2]|0)}if(a[(c[p>>2]|0)+33>>0]|0){m=c[o>>2]|0;n=c[p>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];CU(m,n,u)}if((a[(c[p>>2]|0)+88+4>>0]|0)==1){ZT(c[o>>2]|0,c[(c[p>>2]|0)+88>>2]|0,c[q>>2]|0);break}g=c[o>>2]|0;f=(c[p>>2]|0)+88|0;if((a[(c[p>>2]|0)+88+4>>0]|0)==3){FU(g,c[f>>2]|0,c[q>>2]|0);break}else{_T(g,c[f>>2]|0,c[q>>2]|0);break}}while(0);if(c[s>>2]|0)DU(c[o>>2]|0,v,1);if(!(c[r>>2]|0)){i=w;return}if(!(c[(c[o>>2]|0)+152>>2]&4)){i=w;return}n=c[o>>2]|0;r=c[q>>2]|0;s=c[p>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];if(!(xU(n,r,s,u,v,0)|0)){i=w;return}DU(c[o>>2]|0,v,0);i=w;return}function BU(b,f,g,k,l){b=b|0;f=f|0;g=g|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.0;w=i;i=i+112|0;if((i|0)>=(j|0))ba();v=w+72|0;n=w+104|0;o=w+100|0;x=w+96|0;m=w+92|0;p=w+88|0;u=w+56|0;t=w+48|0;q=w+108|0;s=w+16|0;r=w;c[n>>2]=b;c[o>>2]=f;c[x>>2]=g;c[m>>2]=k;c[p>>2]=l;l=(c[o>>2]|0)+48|0;c[s>>2]=c[l>>2];c[s+4>>2]=c[l+4>>2];c[s+8>>2]=c[l+8>>2];c[s+12>>2]=c[l+12>>2];c[s+16>>2]=c[l+16>>2];c[s+20>>2]=c[l+20>>2];c[s+24>>2]=c[l+24>>2];c[s+28>>2]=c[l+28>>2];l=c[x>>2]|0;c[r>>2]=c[l>>2];c[r+4>>2]=c[l+4>>2];c[r+8>>2]=c[l+8>>2];c[r+12>>2]=c[l+12>>2];if(!(c[m>>2]|0))c[m>>2]=174997;ER(c[n>>2]|0,c[m>>2]|0);DR(c[n>>2]|0,c[m>>2]|0);x=(c[o>>2]|0)+48|0;c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];h[s>>3]=+h[s>>3]+ +h[r>>3];x=s+16|0;h[x>>3]=+h[x>>3]+ +h[r>>3];x=s+8|0;h[x>>3]=+h[x>>3]+ +h[r+8>>3];x=s+16+8|0;h[x>>3]=+h[x>>3]+ +h[r+8>>3];if((d[(c[o>>2]|0)+100>>0]&1|0)!=0?((e[(c[o>>2]|0)+84>>1]|0)+(e[(c[o>>2]|0)+80>>1]|0)|0)<(c[(c[(c[o>>2]|0)+96>>2]|0)+104>>2]|0):0){m=c[o>>2]|0;do if(e[(c[o>>2]|0)+86>>1]|0)if(((e[m+86>>1]|0)+(e[(c[o>>2]|0)+82>>1]|0)|0)==(c[(c[(c[o>>2]|0)+96>>2]|0)+100>>2]|0)){a[q>>0]=(d[(c[(c[o>>2]|0)+96>>2]|0)+33>>0]|0)+((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0);h[u+8>>3]=+h[s+8>>3]-+((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0|0)-+(d[q>>0]|0);break}else{a[q>>0]=0;h[u+8>>3]=+h[s+8>>3]-+((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0|0);break}else{a[q>>0]=(d[(c[m+96>>2]|0)+33>>0]|0)+((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0);h[u+8>>3]=+h[s+8>>3]-+((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0|0)}while(0);h[u>>3]=+h[s+16>>3]+ +((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0|0);h[t>>3]=+(d[q>>0]|0)+ +h[s+16+8>>3]-+h[s+8>>3]+ +(a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0);x=c[n>>2]|0;y=+h[t>>3];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];EU(x,v,0.0,y)}if(!(d[(c[o>>2]|0)+100>>0]&2)){i=w;return}if(((e[(c[o>>2]|0)+86>>1]|0)+(e[(c[o>>2]|0)+82>>1]|0)|0)>=(c[(c[(c[o>>2]|0)+96>>2]|0)+100>>2]|0)){i=w;return}m=c[o>>2]|0;do if(!(e[(c[o>>2]|0)+84>>1]|0)){a[q>>0]=(d[(c[m+96>>2]|0)+33>>0]|0)+((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0);h[u>>3]=+h[s>>3]-+(d[q>>0]|0)-+((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0|0);if(((e[(c[o>>2]|0)+84>>1]|0)+(e[(c[o>>2]|0)+80>>1]|0)|0)==(c[(c[(c[o>>2]|0)+96>>2]|0)+104>>2]|0)){a[q>>0]=d[q>>0]<<1;break}if((c[p>>2]|0)!=0?(e[(c[p>>2]|0)+86>>1]|0)!=(e[(c[o>>2]|0)+86>>1]|0):0)a[q>>0]=~~(+(d[q>>0]|0)+(+h[(c[(c[o>>2]|0)+96>>2]|0)+48+16>>3]+ +h[r>>3]-(+h[s+16>>3]+ +((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0|0))))}else{if(((e[m+84>>1]|0)+(e[(c[o>>2]|0)+80>>1]|0)|0)==(c[(c[(c[o>>2]|0)+96>>2]|0)+104>>2]|0)){a[q>>0]=(d[(c[(c[o>>2]|0)+96>>2]|0)+33>>0]|0)+((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0);h[u>>3]=+h[s>>3]-+((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0|0);break}a[q>>0]=0;h[u>>3]=+h[s>>3]-+((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0|0);if((c[p>>2]|0)!=0?(e[(c[p>>2]|0)+86>>1]|0)!=(e[(c[o>>2]|0)+86>>1]|0):0)a[q>>0]=~~(+(d[q>>0]|0)+(+h[(c[(c[o>>2]|0)+96>>2]|0)+48+16>>3]+ +h[r>>3]-(+h[s+16>>3]+ +((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0|0))))}while(0);h[u+8>>3]=+h[s+8>>3]-+((a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0)/2|0|0);h[t>>3]=+(d[q>>0]|0)+ +h[s+16>>3]-+h[s>>3]+ +(a[(c[(c[o>>2]|0)+96>>2]|0)+32>>0]|0);x=c[n>>2]|0;y=+h[t>>3];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];EU(x,v,y,0.0);i=w;return}function CU(a,f,g){a=a|0;f=f|0;g=g|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+176|0;if((i|0)>=(j|0))ba();l=s+104|0;q=s+156|0;k=s+152|0;r=s+8|0;p=s+144|0;m=s+136|0;o=s+160|0;n=s;c[q>>2]=a;c[k>>2]=f;if(c[(c[k>>2]|0)+24>>2]|0)f=c[(c[k>>2]|0)+24>>2]|0;else f=174997;c[m>>2]=f;DR(c[q>>2]|0,c[m>>2]|0);if((e[(c[k>>2]|0)+42>>1]|0)&384){c[p+4>>2]=0;c[p>>2]=0;if(!((e[(c[k>>2]|0)+42>>1]|0)&256)){if((e[(c[k>>2]|0)+42>>1]|0)&128)c[p>>2]=175470}else c[p>>2]=175463;GR(c[q>>2]|0,p)}else GR(c[q>>2]|0,c[(c[c[q>>2]>>2]|0)+336>>2]|0);OR(c[q>>2]|0,+(d[(c[k>>2]|0)+33>>0]|0));if((e[(c[k>>2]|0)+42>>1]|0)&4){p=c[q>>2]|0;q=d[(c[k>>2]|0)+33>>0]|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[l+16>>2]=c[g+16>>2];c[l+20>>2]=c[g+20>>2];c[l+24>>2]=c[g+24>>2];c[l+28>>2]=c[g+28>>2];rM(p,zU(r,l,q)|0,4,4,0);i=s;return}p=(e[(c[k>>2]|0)+36>>1]|0)&15360;b[o>>1]=p;if(!(p<<16>>16)){if((d[(c[k>>2]|0)+33>>0]|0|0)>1){h[n>>3]=+(d[(c[k>>2]|0)+33>>0]|0)/2.0;h[g>>3]=+h[g>>3]+ +h[n>>3];r=g+8|0;h[r>>3]=+h[r>>3]+ +h[n>>3];r=g+16|0;h[r>>3]=+h[r>>3]-+h[n>>3];r=g+16+8|0;h[r>>3]=+h[r>>3]-+h[n>>3]}r=c[q>>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[l+16>>2]=c[g+16>>2];c[l+20>>2]=c[g+20>>2];c[l+24>>2]=c[g+24>>2];c[l+28>>2]=c[g+28>>2];JR(r,l,0);i=s;return}f=d[(c[k>>2]|0)+33>>0]|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[l+16>>2]=c[g+16>>2];c[l+20>>2]=c[g+20>>2];c[l+24>>2]=c[g+24>>2];c[l+28>>2]=c[g+28>>2];zU(r+16|0,l,f)|0;f=e[o>>1]|0;if((f|0)<8192)switch(f|0){case 4096:{LR(c[q>>2]|0,r+32|0,2);i=s;return}case 2048:{LR(c[q>>2]|0,r+48|0,2);i=s;return}case 1024:{p=r+64|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];LR(c[q>>2]|0,r,2);i=s;return}case 6144:{LR(c[q>>2]|0,r+32|0,3);i=s;return}case 3072:{p=r+80|0;o=r+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];LR(c[q>>2]|0,r+48|0,3);i=s;return}case 7168:{p=r+80|0;o=r+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];LR(c[q>>2]|0,r+32|0,4);i=s;return}case 5120:{q=r+64|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];i=s;return}default:{i=s;return}}else switch(f|0){case 8192:{LR(c[q>>2]|0,r+16|0,2);i=s;return}case 12288:{LR(c[q>>2]|0,r+16|0,3);i=s;return}case 9216:{p=r+64|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];LR(c[q>>2]|0,r,3);i=s;return}case 14336:{LR(c[q>>2]|0,r+16|0,4);i=s;return}case 11264:{p=r+80|0;o=r+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+96|0;o=r+32|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];LR(c[q>>2]|0,r+48|0,4);i=s;return}case 13312:{p=r+64|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];LR(c[q>>2]|0,r,4);i=s;return}case 10240:{LR(c[q>>2]|0,r+16|0,2);LR(c[q>>2]|0,r+48|0,2);i=s;return}default:{i=s;return}}}function DU(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;m=i;i=i+16|0;if((i|0)>=(j|0))ba();g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+16>>2];if(!((c[(c[l>>2]|0)+208>>2]|0)==0?((b[(c[l>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)==0:0))zR(c[g>>2]|0);if((c[(c[l>>2]|0)+208>>2]|0)!=(c[c[h>>2]>>2]|0)){B1(c[(c[l>>2]|0)+208>>2]|0);c[(c[l>>2]|0)+208>>2]=c[c[h>>2]>>2]}if((c[(c[l>>2]|0)+228>>2]|0)!=(c[(c[h>>2]|0)+4>>2]|0)){B1(c[(c[l>>2]|0)+228>>2]|0);c[(c[l>>2]|0)+228>>2]=c[(c[h>>2]|0)+4>>2]}if((c[(c[l>>2]|0)+244>>2]|0)!=(c[(c[h>>2]|0)+8>>2]|0)){B1(c[(c[l>>2]|0)+244>>2]|0);c[(c[l>>2]|0)+244>>2]=c[(c[h>>2]|0)+8>>2]}if((c[(c[l>>2]|0)+212>>2]|0)!=(c[(c[h>>2]|0)+12>>2]|0)){B1(c[(c[l>>2]|0)+212>>2]|0);c[(c[l>>2]|0)+212>>2]=c[(c[h>>2]|0)+12>>2]}e=(c[l>>2]|0)+260|0;b[e>>1]=b[e>>1]&-2|(d[(c[h>>2]|0)+16>>0]|0)&1;if(!(c[k>>2]|0)){i=m;return}if((c[(c[l>>2]|0)+208>>2]|0)==0?((b[(c[l>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)==0:0){i=m;return}yR(c[g>>2]|0,c[(c[l>>2]|0)+208>>2]|0,c[(c[l>>2]|0)+228>>2]|0,c[(c[l>>2]|0)+244>>2]|0,c[(c[l>>2]|0)+212>>2]|0);i=m;return}function EU(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0;f=i;i=i+96|0;if((i|0)>=(j|0))ba();g=f+48|0;l=f+80|0;n=f+40|0;m=f+32|0;k=f;c[l>>2]=a;h[n>>3]=d;h[m>>3]=e;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];h[k+16>>3]=+h[b>>3]+ +h[n>>3];h[k+16+8>>3]=+h[b+8>>3]+ +h[m>>3];b=c[l>>2]|0;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];c[g+16>>2]=c[k+16>>2];c[g+20>>2]=c[k+20>>2];c[g+24>>2]=c[k+24>>2];c[g+28>>2]=c[k+28>>2];JR(b,g,1);i=f;return}function FU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+112|0;if((i|0)>=(j|0))ba();f=n+108|0;g=n+104|0;k=n+100|0;l=n+32|0;o=n;m=n+96|0;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;b=c[g>>2]|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];c[o+20>>2]=c[b+20>>2];c[o+24>>2]=c[b+24>>2];c[o+28>>2]=c[b+28>>2];h[o>>3]=+h[o>>3]+ +h[c[k>>2]>>3];b=o+8|0;h[b>>3]=+h[b>>3]+ +h[(c[k>>2]|0)+8>>3];b=o+16|0;h[b>>3]=+h[b>>3]+ +h[c[k>>2]>>3];b=o+16+8|0;h[b>>3]=+h[b>>3]+ +h[(c[k>>2]|0)+8>>3];b=o+16|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];b=l+32|0;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];h[l+16>>3]=+h[l+32>>3];h[l+16+8>>3]=+h[l+8>>3];h[l+48>>3]=+h[l>>3];h[l+48+8>>3]=+h[l+32+8>>3];if(c[(c[g>>2]|0)+36>>2]|0)c[m>>2]=c[(c[g>>2]|0)+36>>2];else c[m>>2]=c[(c[k>>2]|0)+56>>2];if(!(c[(c[g>>2]|0)+32>>2]|0))db(175477,175152,627,175485);if(a[c[(c[g>>2]|0)+32>>2]>>0]|0){NR(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0,l,4,1,c[m>>2]|0);i=n;return}else db(175499,175152,628,175485)}function GU(){return eA(91504,c[12989]|0)|0}function HU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d+16|0;g=d+12|0;e=d;c[f>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];$b[c[c[f>>2]>>2]&63](c[f>>2]|0,e,1)|0;i=d;return}function IU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=($b[c[c[f>>2]>>2]&63](c[f>>2]|0,e,512)|0)!=0&1;i=d;return b|0}function JU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;f=e;c[e+12>>2]=a;c[g>>2]=b;c[e+4>>2]=d;c[f>>2]=qK(12)|0;c[c[f>>2]>>2]=c[c[g>>2]>>2];i=e;return c[f>>2]|0}function KU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;B1(c[f>>2]|0);i=e;return}function LU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+16|0;g=k+8|0;h=k+4|0;c[k+12>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;do if((c[c[g>>2]>>2]|0)<=(c[c[h>>2]>>2]|0))if((c[c[g>>2]>>2]|0)<(c[c[h>>2]>>2]|0)){c[f>>2]=-1;break}else{c[f>>2]=0;break}else c[f>>2]=1;while(0);i=k;return c[f>>2]|0}function MU(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(c[22885]|0){c[22897]=0;i=d;return}c[22885]=qK((c[b>>2]|0)+1<<2)|0;c[c[22885]>>2]=91544;c[22896]=c[b>>2];c[22897]=0;i=d;return}function NU(){B1(c[22885]|0);c[22885]=0;c[22897]=0;return}function OU(){c[22897]=0;return}function PU(){var a=0,b=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();a=b;c[a>>2]=1;while(1){if((c[a>>2]|0)>(c[22897]|0)){a=6;break}if((c[(c[(c[22885]|0)+(c[a>>2]<<2)>>2]|0)+4>>2]|0)!=(c[a>>2]|0)){a=4;break}c[a>>2]=(c[a>>2]|0)+1}if((a|0)==4)db(176179,175526,61,175532);else if((a|0)==6){i=b;return}}function QU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();b=h+16|0;g=h+12|0;f=h+8|0;e=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[22885]|0)+(c[b>>2]<<2)>>2];c[f>>2]=c[c[g>>2]>>2];c[e>>2]=(c[b>>2]|0)/2|0;while(1){a=c[(c[22885]|0)+(c[e>>2]<<2)>>2]|0;c[d>>2]=a;if((c[a>>2]|0)>=(c[f>>2]|0))break;c[(c[22885]|0)+(c[b>>2]<<2)>>2]=c[d>>2];c[(c[d>>2]|0)+4>>2]=c[b>>2];c[b>>2]=c[e>>2];c[e>>2]=(c[e>>2]|0)/2|0}c[(c[22885]|0)+(c[b>>2]<<2)>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=c[b>>2];i=h;return}function RU(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+8|0;d=e+4|0;c[d>>2]=a;if((c[22897]|0)==(c[22896]|0)){pA(1,175540,e)|0;c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[22897]=(c[22897]|0)+1;c[(c[22885]|0)+(c[22897]<<2)>>2]=c[d>>2];QU(c[22897]|0);PU();c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function SU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();g=k+20|0;h=k+16|0;f=k+12|0;d=k+8|0;e=k+4|0;b=k;c[g>>2]=a;c[h>>2]=c[(c[22885]|0)+(c[g>>2]<<2)>>2];c[f>>2]=c[c[h>>2]>>2];c[d>>2]=(c[22897]|0)/2|0;while(1){if((c[g>>2]|0)>(c[d>>2]|0)){b=8;break}c[b>>2]=(c[g>>2]|0)+(c[g>>2]|0);c[e>>2]=c[(c[22885]|0)+(c[b>>2]<<2)>>2];if((c[b>>2]|0)<(c[22897]|0)?(c[c[e>>2]>>2]|0)<(c[c[(c[22885]|0)+((c[b>>2]|0)+1<<2)>>2]>>2]|0):0){c[b>>2]=(c[b>>2]|0)+1;c[e>>2]=c[(c[22885]|0)+(c[b>>2]<<2)>>2]}if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){b=8;break}c[(c[22885]|0)+(c[g>>2]<<2)>>2]=c[e>>2];c[(c[e>>2]|0)+4>>2]=c[g>>2];c[g>>2]=c[b>>2]}if((b|0)==8){c[(c[22885]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];i=k;return}}function TU(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();a=d+4|0;b=d;if(!(c[22897]|0)){c[a>>2]=0;b=c[a>>2]|0;i=d;return b|0}c[b>>2]=c[(c[22885]|0)+4>>2];c[(c[22885]|0)+4>>2]=c[(c[22885]|0)+(c[22897]<<2)>>2];c[22897]=(c[22897]|0)+-1;if(c[22897]|0)SU(1);PU();c[a>>2]=c[b>>2];b=c[a>>2]|0;i=d;return b|0}function UU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];QU(c[(c[e>>2]|0)+4>>2]|0);PU();i=d;return}function VU(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();f=r+32|0;g=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;o=r+12|0;m=r+8|0;q=r+4|0;p=r;c[f>>2]=a;c[g>>2]=b;c[k>>2]=e;c[o>>2]=(d[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[k>>2]|0)+12>>2]|0)*40|0)+36>>0]|0|0)!=(d[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[k>>2]|0)+16>>2]|0)*40|0)+36>>0]|0|0)&1;c[m>>2]=~~((+h[(c[g>>2]|0)+40+16+8>>3]-+h[(c[g>>2]|0)+40+8>>3]-3.0)/2.0);c[q>>2]=~~((+h[(c[g>>2]|0)+40+16>>3]-+h[(c[g>>2]|0)+40>>3]-3.0)/2.0);c[p>>2]=(c[m>>2]|0)<(c[q>>2]|0)?c[m>>2]|0:c[q>>2]|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0))break;c[l>>2]=c[(c[g>>2]|0)+8+(c[n>>2]<<2)>>2];if((d[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+12>>2]|0)*40|0)+36>>0]|0|0)==(d[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+16>>2]|0)*40|0)+36>>0]|0|0))break;YU(c[g>>2]|0,c[l>>2]|0,c[p>>2]|0);c[n>>2]=(c[n>>2]|0)+1}while(1){if((c[n>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0))break;c[l>>2]=c[(c[g>>2]|0)+8+(c[n>>2]<<2)>>2];if(!((c[o>>2]|0)==0?(c[l>>2]|0)!=(c[k>>2]|0):0))YU(c[g>>2]|0,c[l>>2]|0,(d[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+12>>2]|0)*40|0)+36>>0]|0|0)!=0?c[m>>2]|0:c[q>>2]|0);c[n>>2]=(c[n>>2]|0)+1}i=r;return}function WU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+144|0;if((i|0)>=(j|0))ba();f=s+80|0;d=s+140|0;o=s+132|0;n=s+128|0;q=s+124|0;m=s+120|0;p=s+116|0;k=s+112|0;r=s+72|0;l=s+64|0;g=s+32|0;e=s;c[d>>2]=a;c[s+136>>2]=b;c[n>>2]=qK(28)|0;a=AB(c[d>>2]|0)|0;c[(c[n>>2]|0)+4>>2]=a;a=qK((c[(c[n>>2]|0)+4>>2]|0)*72|0)|0;c[(c[n>>2]|0)+12>>2]=a;c[k>>2]=a;h[e+8>>3]=1797693134862315708145274.0e284;h[e>>3]=1797693134862315708145274.0e284;h[e+16+8>>3]=-1797693134862315708145274.0e284;h[e+16>>3]=-1797693134862315708145274.0e284;c[o>>2]=pC(c[d>>2]|0)|0;while(1){if(!(c[o>>2]|0))break;h[r>>3]=(+h[(c[(c[o>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[o>>2]|0)+8>>2]|0)+96>>3])/2.0;if(+h[r>>3]<1.0)h[r>>3]=1.0;h[l>>3]=+h[(c[(c[o>>2]|0)+8>>2]|0)+80>>3]/2.0;if(+h[l>>3]<1.0)h[l>>3]=1.0;h[g>>3]=+h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3]-+h[r>>3];h[g+16>>3]=+h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3]+ +h[r>>3];h[g+8>>3]=+h[(c[(c[o>>2]|0)+8>>2]|0)+16+8>>3]-+h[l>>3];h[g+16+8>>3]=+h[(c[(c[o>>2]|0)+8>>2]|0)+16+8>>3]+ +h[l>>3];h[e>>3]=+h[e>>3]<+h[g>>3]?+h[e>>3]:+h[g>>3];h[e+8>>3]=+h[e+8>>3]<+h[g+8>>3]?+h[e+8>>3]:+h[g+8>>3];h[e+16>>3]=+h[e+16>>3]>+h[g+16>>3]?+h[e+16>>3]:+h[g+16>>3];h[e+16+8>>3]=+h[e+16+8>>3]>+h[g+16+8>>3]?+h[e+16+8>>3]:+h[g+16+8>>3];a=(c[k>>2]|0)+40|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];c[a+16>>2]=c[g+16>>2];c[a+20>>2]=c[g+20>>2];c[a+24>>2]=c[g+24>>2];c[a+28>>2]=c[g+28>>2];a=c[k>>2]|0;c[a>>2]=c[a>>2]|1;c[(c[(c[o>>2]|0)+8>>2]|0)+112>>2]=c[k>>2];c[k>>2]=(c[k>>2]|0)+72;c[o>>2]=qC(c[d>>2]|0,c[o>>2]|0)|0}h[e>>3]=+h[e>>3]-36.0;o=e+8|0;h[o>>3]=+h[o>>3]-36.0;o=e+16|0;h[o>>3]=+h[o>>3]+36.0;o=e+16+8|0;h[o>>3]=+h[o>>3]+36.0;o=c[(c[n>>2]|0)+12>>2]|0;r=c[(c[n>>2]|0)+4>>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[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];c[f+20>>2]=c[e+20>>2];c[f+24>>2]=c[e+24>>2];c[f+28>>2]=c[e+28>>2];c[q>>2]=fV(o,r,p,f)|0;if(c[15244]&1){a=c[(c[n>>2]|0)+12>>2]|0;l=c[(c[n>>2]|0)+4>>2]|0;o=c[q>>2]|0;r=c[p>>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[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];c[f+20>>2]=c[e+20>>2];c[f+24>>2]=c[e+24>>2];c[f+28>>2]=c[e+28>>2];ZU(a,l,f,o,r)}r=qK((c[p>>2]|0)*72|0)|0;c[(c[n>>2]|0)+8>>2]=r;c[c[n>>2]>>2]=c[p>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0))break;r=(c[(c[n>>2]|0)+8>>2]|0)+((c[m>>2]|0)*72|0)+40|0;o=(c[q>>2]|0)+(c[m>>2]<<5)|0;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[r+12>>2]=c[o+12>>2];c[r+16>>2]=c[o+16>>2];c[r+20>>2]=c[o+20>>2];c[r+24>>2]=c[o+24>>2];c[r+28>>2]=c[o+28>>2];c[m>>2]=(c[m>>2]|0)+1}B1(c[q>>2]|0);r=c[n>>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[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];c[f+20>>2]=c[e+20>>2];c[f+24>>2]=c[e+24>>2];c[f+28>>2]=c[e+28>>2];r=_U(r,f)|0;c[(c[n>>2]|0)+16>>2]=r;i=s;return c[n>>2]|0}function XU(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[(c[(c[d>>2]|0)+8>>2]|0)+36>>2]|0);B1(c[(c[(c[d>>2]|0)+12>>2]|0)+36>>2]|0);B1(c[(c[d>>2]|0)+8>>2]|0);B1(c[(c[d>>2]|0)+12>>2]|0);$Q(c[(c[d>>2]|0)+16>>2]|0);aA(c[(c[d>>2]|0)+20>>2]|0)|0;aA(c[(c[d>>2]|0)+24>>2]|0)|0;B1(c[d>>2]|0);i=b;return}function YU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+4|0;g=f;c[f+8>>2]=a;c[e>>2]=b;c[g>>2]=d;d=(c[e>>2]|0)+8|0;c[d>>2]=(c[d>>2]|0)+1;if((c[(c[e>>2]|0)+8>>2]|0)<=(c[g>>2]|0)){i=f;return}c[(c[e>>2]|0)+8>>2]=0;g=c[e>>2]|0;h[g>>3]=+h[g>>3]+16384.0;i=f;return}function ZU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0.0,y=0.0;s=i;i=i+208|0;if((i|0)>=(j|0))ba();q=s+128|0;p=s+96|0;r=s+64|0;t=s+48|0;v=s+32|0;g=s+192|0;k=s+188|0;l=s+184|0;m=s+180|0;o=s+176|0;n=s;w=s+160|0;c[g>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[w>>2]=10;c[w+4>>2]=10;c[w+8>>2]=~~(+(c[w>>2]|0)+ +h[d+16>>3]-+h[d>>3]);c[w+8+4>>2]=~~(+(c[w+4>>2]|0)+ +h[d+16+8>>3]-+h[d+8>>3]);r3(c[22898]|0,c[24742]|0)|0;e=c[24742]|0;a=c[w+4>>2]|0;b=c[w+8>>2]|0;f=c[w+8+4>>2]|0;c[v>>2]=c[w>>2];c[v+4>>2]=a;c[v+8>>2]=b;c[v+12>>2]=f;p3(e,175985,v)|0;e=c[24742]|0;u=10.0-+h[d+8>>3];h[t>>3]=10.0-+h[d>>3];h[t+8>>3]=u;p3(e,176033,t)|0;r3(176050,c[24742]|0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;w=(c[g>>2]|0)+((c[o>>2]|0)*72|0)+40|0;c[n>>2]=c[w>>2];c[n+4>>2]=c[w+4>>2];c[n+8>>2]=c[w+8>>2];c[n+12>>2]=c[w+12>>2];c[n+16>>2]=c[w+16>>2];c[n+20>>2]=c[w+20>>2];c[n+24>>2]=c[w+24>>2];c[n+28>>2]=c[w+28>>2];w=c[24742]|0;y=+h[n+8>>3];x=+h[n+16>>3];u=+h[n+16+8>>3];h[r>>3]=+h[n>>3];h[r+8>>3]=y;h[r+16>>3]=x;h[r+24>>3]=u;p3(w,176069,r)|0;c[o>>2]=(c[o>>2]|0)+1}r3(176087,c[24742]|0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;w=(c[l>>2]|0)+(c[o>>2]<<5)|0;c[n>>2]=c[w>>2];c[n+4>>2]=c[w+4>>2];c[n+8>>2]=c[w+8>>2];c[n+12>>2]=c[w+12>>2];c[n+16>>2]=c[w+16>>2];c[n+20>>2]=c[w+20>>2];c[n+24>>2]=c[w+24>>2];c[n+28>>2]=c[w+28>>2];w=c[24742]|0;u=+h[n+8>>3];x=+h[n+16>>3];y=+h[n+16+8>>3];h[p>>3]=+h[n>>3];h[p+8>>3]=u;h[p+16>>3]=x;h[p+24>>3]=y;p3(w,176106,p)|0;c[o>>2]=(c[o>>2]|0)+1}r3(176124,c[24742]|0)|0;w=c[24742]|0;u=+h[d+8>>3];x=+h[d+16>>3];y=+h[d+16+8>>3];h[q>>3]=+h[d>>3];h[q+8>>3]=u;h[q+16>>3]=x;h[q+24>>3]=y;p3(w,176106,q)|0;r3(c[22899]|0,c[24742]|0)|0;i=s;return}function _U(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=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;y=i;i=i+128|0;if((i|0)>=(j|0))ba();d=y+32|0;e=y+112|0;t=y+108|0;p=y+104|0;q=y+96|0;z=y+92|0;n=y+88|0;x=y+84|0;o=y+80|0;m=y+76|0;w=y+72|0;f=y+68|0;r=y+64|0;u=y+16|0;g=y+60|0;v=y;s=y+56|0;k=y+52|0;l=y+48|0;c[e>>2]=a;c[z>>2]=c[c[e>>2]>>2]<<2;c[n>>2]=YQ((c[z>>2]|0)+2|0)|0;c[x>>2]=eA(91600,c[12989]|0)|0;c[o>>2]=eA(91636,c[12989]|0)|0;c[m>>2]=qK(c[z>>2]<<5)|0;c[w>>2]=qK(c[c[e>>2]>>2]<<2<<2)|0;c[y+100>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[f>>2]=(c[(c[e>>2]|0)+8>>2]|0)+((c[p>>2]|0)*72|0);c[(c[f>>2]|0)+32>>2]=4;c[(c[f>>2]|0)+36>>2]=(c[w>>2]|0)+(c[p>>2]<<2<<2);if(+h[(c[f>>2]|0)+40+16>>3]<+h[b+16>>3]){h[u>>3]=+h[(c[f>>2]|0)+40+16>>3];h[u+8>>3]=+h[(c[f>>2]|0)+40+8>>3];A=c[n>>2]|0;a=c[x>>2]|0;z=c[m>>2]|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[r>>2]=$U(A,a,d,z,1)|0;c[(c[r>>2]|0)+20>>2]=c[f>>2];c[c[(c[f>>2]|0)+36>>2]>>2]=c[r>>2]}if(+h[(c[f>>2]|0)+40+16+8>>3]<+h[b+16+8>>3]){h[u>>3]=+h[(c[f>>2]|0)+40>>3];h[u+8>>3]=+h[(c[f>>2]|0)+40+16+8>>3];a=c[n>>2]|0;z=c[o>>2]|0;A=c[m>>2]|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[r>>2]=$U(a,z,d,A,0)|0;c[(c[r>>2]|0)+20>>2]=c[f>>2];c[(c[(c[f>>2]|0)+36>>2]|0)+4>>2]=c[r>>2]}if(+h[(c[f>>2]|0)+40>>3]>+h[b>>3]){a=c[n>>2]|0;z=c[x>>2]|0;B=(c[f>>2]|0)+40|0;A=c[m>>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[r>>2]=$U(a,z,d,A,1)|0;c[(c[r>>2]|0)+20+4>>2]=c[f>>2];c[(c[(c[f>>2]|0)+36>>2]|0)+8>>2]=c[r>>2]}if(+h[(c[f>>2]|0)+40+8>>3]>+h[b+8>>3]){z=c[n>>2]|0;A=c[o>>2]|0;a=(c[f>>2]|0)+40|0;B=c[m>>2]|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[r>>2]=$U(z,A,d,B,0)|0;c[(c[r>>2]|0)+20+4>>2]=c[f>>2];c[(c[(c[f>>2]|0)+36>>2]|0)+12>>2]=c[r>>2]}c[p>>2]=(c[p>>2]|0)+1}c[q>>2]=0;c[w>>2]=qK(c[c[n>>2]>>2]<<2)|0;c[t>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;c[g>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[p>>2]|0)*72|0);c[(c[g>>2]|0)+36>>2]=(c[w>>2]|0)+(c[t>>2]<<2);B=(c[g>>2]|0)+40|0;c[v>>2]=c[B>>2];c[v+4>>2]=c[B+4>>2];c[v+8>>2]=c[B+8>>2];c[v+12>>2]=c[B+12>>2];c[s>>2]=$b[c[c[o>>2]>>2]&63](c[o>>2]|0,v,512)|0;while(1){if(!(c[s>>2]|0))break;if(!(+h[(c[s>>2]|0)+8>>3]<+h[(c[g>>2]|0)+40+16>>3]))break;A=c[c[s>>2]>>2]|0;z=(c[g>>2]|0)+32|0;B=c[z>>2]|0;c[z>>2]=B+1;c[(c[(c[g>>2]|0)+36>>2]|0)+(B<<2)>>2]=A;c[(c[c[s>>2]>>2]|0)+20+4>>2]=c[g>>2];c[s>>2]=$b[c[c[o>>2]>>2]&63](c[o>>2]|0,c[s>>2]|0,8)|0}c[s>>2]=$b[c[c[x>>2]>>2]&63](c[x>>2]|0,v,512)|0;while(1){if(!(c[s>>2]|0))break;if(!(+h[(c[s>>2]|0)+8+8>>3]<+h[(c[g>>2]|0)+40+16+8>>3]))break;A=c[c[s>>2]>>2]|0;z=(c[g>>2]|0)+32|0;B=c[z>>2]|0;c[z>>2]=B+1;c[(c[(c[g>>2]|0)+36>>2]|0)+(B<<2)>>2]=A;c[(c[c[s>>2]>>2]|0)+20+4>>2]=c[g>>2];c[s>>2]=$b[c[c[x>>2]>>2]&63](c[x>>2]|0,c[s>>2]|0,8)|0}h[v+8>>3]=+h[(c[g>>2]|0)+40+16+8>>3];c[s>>2]=$b[c[c[o>>2]>>2]&63](c[o>>2]|0,v,512)|0;while(1){if(!(c[s>>2]|0))break;if(!(+h[(c[s>>2]|0)+8>>3]<+h[(c[g>>2]|0)+40+16>>3]))break;A=c[c[s>>2]>>2]|0;z=(c[g>>2]|0)+32|0;B=c[z>>2]|0;c[z>>2]=B+1;c[(c[(c[g>>2]|0)+36>>2]|0)+(B<<2)>>2]=A;c[(c[c[s>>2]>>2]|0)+20>>2]=c[g>>2];c[s>>2]=$b[c[c[o>>2]>>2]&63](c[o>>2]|0,c[s>>2]|0,8)|0}h[v>>3]=+h[(c[g>>2]|0)+40+16>>3];h[v+8>>3]=+h[(c[g>>2]|0)+40+8>>3];c[s>>2]=$b[c[c[x>>2]>>2]&63](c[x>>2]|0,v,512)|0;while(1){if(!(c[s>>2]|0))break;if(!(+h[(c[s>>2]|0)+8+8>>3]<+h[(c[g>>2]|0)+40+16+8>>3]))break;A=c[c[s>>2]>>2]|0;z=(c[g>>2]|0)+32|0;B=c[z>>2]|0;c[z>>2]=B+1;c[(c[(c[g>>2]|0)+36>>2]|0)+(B<<2)>>2]=A;c[(c[c[s>>2]>>2]|0)+20>>2]=c[g>>2];c[s>>2]=$b[c[c[x>>2]>>2]&63](c[x>>2]|0,c[s>>2]|0,8)|0}c[t>>2]=(c[t>>2]|0)+(c[(c[g>>2]|0)+32>>2]|0);if((c[(c[g>>2]|0)+32>>2]|0)>(c[q>>2]|0))c[q>>2]=c[(c[g>>2]|0)+32>>2];c[p>>2]=(c[p>>2]|0)+1}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;c[k>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[p>>2]|0)*72|0);aV(c[k>>2]|0,c[n>>2]|0);c[p>>2]=(c[p>>2]|0)+1}c[(c[(c[n>>2]|0)+16>>2]|0)+((c[c[n>>2]>>2]|0)*40|0)+32>>2]=c[c[n>>2]>>2];c[(c[(c[n>>2]|0)+16>>2]|0)+(((c[c[n>>2]>>2]|0)+1|0)*40|0)+32>>2]=(c[c[n>>2]>>2]|0)+1;XQ(c[n>>2]|0,c[q>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[l>>2]=(c[(c[e>>2]|0)+8>>2]|0)+((c[p>>2]|0)*72|0);bV(c[l>>2]|0,c[n>>2]|0);c[p>>2]=(c[p>>2]|0)+1}aA(c[x>>2]|0)|0;aA(c[o>>2]|0)|0;B1(c[m>>2]|0);cV(c[n>>2]|0);VQ(c[n>>2]|0);i=y;return c[n>>2]|0}function $U(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();h=p+16|0;k=p+12|0;l=p+8|0;m=p+20|0;n=p+4|0;o=p;c[h>>2]=b;c[k>>2]=d;c[l>>2]=f;a[m>>0]=g;c[n>>2]=$b[c[c[k>>2]>>2]&63](c[k>>2]|0,e,512)|0;if(c[n>>2]|0){e=c[n>>2]|0;e=c[e>>2]|0;i=p;return e|0}c[o>>2]=ZQ(c[h>>2]|0)|0;if(!(c[l>>2]|0))db(175968,175916,293,175975);c[n>>2]=(c[l>>2]|0)+(c[(c[o>>2]|0)+32>>2]<<5);g=(c[n>>2]|0)+8|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[c[n>>2]>>2]=c[o>>2];a[(c[o>>2]|0)+36>>0]=a[m>>0]|0;$b[c[c[k>>2]>>2]&63](c[k>>2]|0,c[n>>2]|0,1)|0;e=c[n>>2]|0;e=c[e>>2]|0;i=p;return e|0}function aV(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+8|0;k=l+4|0;g=l;c[e>>2]=b;c[l+12>>2]=d;a:do if((+h[(c[e>>2]|0)+40+16+8>>3]-+h[(c[e>>2]|0)+40+8>>3]-3.0)/2.0<2.0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+32>>2]|0))break a;c[k>>2]=c[(c[(c[e>>2]|0)+36>>2]|0)+(c[f>>2]<<2)>>2];b:do if(a[(c[k>>2]|0)+36>>0]|0){b=(c[k>>2]|0)+20|0;if((c[(c[k>>2]|0)+20>>2]|0)==(c[e>>2]|0)){c[g>>2]=c[b+4>>2];d=c[g>>2]|0;c[d>>2]=c[d>>2]|8;while(1){d=c[c[(c[g>>2]|0)+36>>2]>>2]|0;c[k>>2]=d;if(!d)break b;if(!((c[c[(c[k>>2]|0)+20+4>>2]>>2]&1|0)!=0^1))break b;c[g>>2]=c[(c[k>>2]|0)+20+4>>2];d=c[g>>2]|0;c[d>>2]=c[d>>2]|8}}else{c[g>>2]=c[b>>2];d=c[g>>2]|0;c[d>>2]=c[d>>2]|8;while(1){d=c[(c[(c[g>>2]|0)+36>>2]|0)+8>>2]|0;c[k>>2]=d;if(!d)break b;if(!((c[c[(c[k>>2]|0)+20>>2]>>2]&1|0)!=0^1))break b;c[g>>2]=c[(c[k>>2]|0)+20>>2];d=c[g>>2]|0;c[d>>2]=c[d>>2]|8}}}while(0);c[f>>2]=(c[f>>2]|0)+1}}while(0);if(!((+h[(c[e>>2]|0)+40+16>>3]-+h[(c[e>>2]|0)+40>>3]-3.0)/2.0<2.0)){i=l;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+32>>2]|0))break;c[k>>2]=c[(c[(c[e>>2]|0)+36>>2]|0)+(c[f>>2]<<2)>>2];c:do if(!(a[(c[k>>2]|0)+36>>0]|0)){b=(c[k>>2]|0)+20|0;if((c[(c[k>>2]|0)+20>>2]|0)==(c[e>>2]|0)){c[g>>2]=c[b+4>>2];d=c[g>>2]|0;c[d>>2]=c[d>>2]|16;while(1){d=c[(c[(c[g>>2]|0)+36>>2]|0)+4>>2]|0;c[k>>2]=d;if(!d)break c;if(!((c[c[(c[k>>2]|0)+20+4>>2]>>2]&1|0)!=0^1))break c;c[g>>2]=c[(c[k>>2]|0)+20+4>>2];d=c[g>>2]|0;c[d>>2]=c[d>>2]|16}}else{c[g>>2]=c[b>>2];d=c[g>>2]|0;c[d>>2]=c[d>>2]|16;while(1){d=c[(c[(c[g>>2]|0)+36>>2]|0)+12>>2]|0;c[k>>2]=d;if(!d)break c;if(!((c[c[(c[k>>2]|0)+20>>2]>>2]&1|0)!=0^1))break c;c[g>>2]=c[(c[k>>2]|0)+20>>2];d=c[g>>2]|0;c[d>>2]=c[d>>2]|16}}}while(0);c[f>>2]=(c[f>>2]|0)+1}i=l;return}function bV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+64|0;if((i|0)>=(j|0))ba();d=m+60|0;e=m+56|0;f=m+24|0;g=m+16|0;k=m+8|0;l=m;c[d>>2]=a;c[e>>2]=b;b=(c[d>>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];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];h[g>>3]=(+h[f+16>>3]-+h[f>>3])*1.0;h[k>>3]=(+h[f+16+8>>3]-+h[f+8>>3])*1.0;h[l>>3]=(+h[g>>3]+ +h[k>>3])/2.0+500.0;if((+h[f+16+8>>3]-+h[f+8>>3]-3.0)/2.0<2.0?(c[c[d>>2]>>2]&8|0)==0:0){h[g>>3]=16384.0;h[l>>3]=16384.0}if((+h[f+16>>3]-+h[f>>3]-3.0)/2.0<2.0?(c[c[d>>2]>>2]&16|0)==0:0){h[k>>3]=16384.0;h[l>>3]=16384.0}if((c[(c[(c[d>>2]|0)+36>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+36>>2]|0)+4>>2]|0)!=0:0){a=_Q(c[e>>2]|0,c[(c[(c[d>>2]|0)+36>>2]|0)+8>>2]|0,c[(c[(c[d>>2]|0)+36>>2]|0)+4>>2]|0,+h[l>>3])|0;f=(c[d>>2]|0)+4|0;b=c[f>>2]|0;c[f>>2]=b+1;c[(c[d>>2]|0)+8+(b<<2)>>2]=a}if((c[(c[(c[d>>2]|0)+36>>2]|0)+4>>2]|0)!=0?(c[c[(c[d>>2]|0)+36>>2]>>2]|0)!=0:0){a=_Q(c[e>>2]|0,c[(c[(c[d>>2]|0)+36>>2]|0)+4>>2]|0,c[c[(c[d>>2]|0)+36>>2]>>2]|0,+h[l>>3])|0;f=(c[d>>2]|0)+4|0;b=c[f>>2]|0;c[f>>2]=b+1;c[(c[d>>2]|0)+8+(b<<2)>>2]=a}if((c[(c[(c[d>>2]|0)+36>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+36>>2]|0)+12>>2]|0)!=0:0){a=_Q(c[e>>2]|0,c[(c[(c[d>>2]|0)+36>>2]|0)+8>>2]|0,c[(c[(c[d>>2]|0)+36>>2]|0)+12>>2]|0,+h[l>>3])|0;f=(c[d>>2]|0)+4|0;b=c[f>>2]|0;c[f>>2]=b+1;c[(c[d>>2]|0)+8+(b<<2)>>2]=a}if((c[(c[(c[d>>2]|0)+36>>2]|0)+12>>2]|0)!=0?(c[c[(c[d>>2]|0)+36>>2]>>2]|0)!=0:0){b=_Q(c[e>>2]|0,c[(c[(c[d>>2]|0)+36>>2]|0)+12>>2]|0,c[c[(c[d>>2]|0)+36>>2]>>2]|0,+h[l>>3])|0;a=(c[d>>2]|0)+4|0;l=c[a>>2]|0;c[a>>2]=l+1;c[(c[d>>2]|0)+8+(l<<2)>>2]=b}if((c[(c[(c[d>>2]|0)+36>>2]|0)+4>>2]|0)!=0?(c[(c[(c[d>>2]|0)+36>>2]|0)+12>>2]|0)!=0:0){k=_Q(c[e>>2]|0,c[(c[(c[d>>2]|0)+36>>2]|0)+4>>2]|0,c[(c[(c[d>>2]|0)+36>>2]|0)+12>>2]|0,+h[k>>3])|0;b=(c[d>>2]|0)+4|0;l=c[b>>2]|0;c[b>>2]=l+1;c[(c[d>>2]|0)+8+(l<<2)>>2]=k}if(!(c[(c[(c[d>>2]|0)+36>>2]|0)+8>>2]|0)){i=m;return}if(!(c[c[(c[d>>2]|0)+36>>2]>>2]|0)){i=m;return}k=_Q(c[e>>2]|0,c[(c[(c[d>>2]|0)+36>>2]|0)+8>>2]|0,c[c[(c[d>>2]|0)+36>>2]>>2]|0,+h[g>>3])|0;g=(c[d>>2]|0)+4|0;l=c[g>>2]|0;c[g>>2]=l+1;c[(c[d>>2]|0)+8+(l<<2)>>2]=k;i=m;return}function cV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();g=h+8|0;f=h;b=h+20|0;d=h+16|0;e=h+12|0;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0)){b=12;break}c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+((c[d>>2]|0)*40|0);if(!(c[(c[e>>2]|0)+20>>2]|0)){a=c[24742]|0;c[f>>2]=c[d>>2];p3(a,175881,f)|0}if(!(c[(c[e>>2]|0)+20>>2]|0)){b=6;break}if(!(c[(c[e>>2]|0)+20+4>>2]|0)){a=c[24742]|0;c[g>>2]=c[d>>2];p3(a,175933,g)|0}if(!(c[(c[e>>2]|0)+20+4>>2]|0)){b=10;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==6)db(175903,175916,313,175923);else if((b|0)==10)db(175955,175916,315,175923);else if((b|0)==12){i=h;return}}function dV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+16|0;g=l+8|0;k=l+4|0;c[l+12>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;do if(!(+h[(c[g>>2]|0)+8>>3]>+h[(c[k>>2]|0)+8>>3])){if(+h[(c[g>>2]|0)+8>>3]<+h[(c[k>>2]|0)+8>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[k>>2]>>3]){c[f>>2]=1;break}if(+h[c[g>>2]>>3]<+h[c[k>>2]>>3]){c[f>>2]=-1;break}else{c[f>>2]=0;break}}else c[f>>2]=1;while(0);i=l;return c[f>>2]|0}function eV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();f=l+16|0;g=l+8|0;k=l+4|0;c[l+12>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;do if(!(+h[c[g>>2]>>3]>+h[c[k>>2]>>3])){if(+h[c[g>>2]>>3]<+h[c[k>>2]>>3]){c[f>>2]=-1;break}if(+h[(c[g>>2]|0)+8>>3]>+h[(c[k>>2]|0)+8>>3]){c[f>>2]=1;break}if(+h[(c[g>>2]|0)+8>>3]<+h[(c[k>>2]|0)+8>>3]){c[f>>2]=-1;break}else{c[f>>2]=0;break}}else c[f>>2]=1;while(0);i=l;return c[f>>2]|0}function fV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=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=i;i=i+112|0;if((i|0)>=(j|0))ba();x=t;z=t+96|0;y=t+92|0;f=t+88|0;u=t+84|0;p=t+80|0;n=t+76|0;h=t+72|0;r=t+68|0;l=t+64|0;m=t+60|0;g=t+56|0;o=t+52|0;w=t+48|0;q=t+44|0;k=t+40|0;s=t+36|0;v=t+32|0;c[z>>2]=a;c[y>>2]=b;c[f>>2]=d;c[u>>2]=(c[y>>2]|0)+1<<2;c[p>>2]=rK(((c[u>>2]|0)+1|0)*56|0)|0;c[n>>2]=qK((c[u>>2]|0)+1<<2)|0;c[g>>2]=0;c[w>>2]=((c[u>>2]|0)*5|0)+1;c[q>>2]=rK((c[w>>2]|0)*72|0)|0;c[k>>2]=qK(c[w>>2]<<5)|0;c[s>>2]=qK(c[w>>2]<<5)|0;d=c[z>>2]|0;b=c[y>>2]|0;a=c[p>>2]|0;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[x+16>>2]=c[e+16>>2];c[x+20>>2]=c[e+20>>2];c[x+24>>2]=c[e+24>>2];c[x+28>>2]=c[e+28>>2];gV(d,b,x,a,0);O2(173);hV(c[u>>2]|0,c[n>>2]|0);c[v>>2]=rV(c[u>>2]|0,c[p>>2]|0,c[n>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;c[h>>2]=iV(c[u>>2]|0,c[p>>2]|0,c[q>>2]|0,0,c[k>>2]|0)|0;a=c[z>>2]|0;b=c[y>>2]|0;d=c[p>>2]|0;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[x+16>>2]=c[e+16>>2];c[x+20>>2]=c[e+20>>2];c[x+24>>2]=c[e+24>>2];c[x+28>>2]=c[e+28>>2];gV(a,b,x,d,1);hV(c[u>>2]|0,c[n>>2]|0);c[v>>2]=rV(c[u>>2]|0,c[p>>2]|0,c[n>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;c[r>>2]=iV(c[u>>2]|0,c[p>>2]|0,c[q>>2]|0,1,c[s>>2]|0)|0;c[o>>2]=qK((_(c[h>>2]|0,c[r>>2]|0)|0)<<5)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[r>>2]|0))break;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;if(jV((c[o>>2]|0)+(c[g>>2]<<5)|0,(c[s>>2]|0)+(c[l>>2]<<5)|0,(c[k>>2]|0)+(c[m>>2]<<5)|0)|0)c[g>>2]=(c[g>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}c[o>>2]=tK(c[o>>2]|0,c[g>>2]<<5)|0;B1(c[p>>2]|0);B1(c[n>>2]|0);B1(c[q>>2]|0);B1(c[k>>2]|0);B1(c[s>>2]|0);c[c[f>>2]>>2]=c[g>>2];i=t;return c[o>>2]|0}function gV(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+128|0;if((i|0)>=(j|0))ba();g=q+64|0;h=q+116|0;k=q+112|0;l=q+108|0;m=q+104|0;o=q+100|0;n=q+96|0;p=q;c[h>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[o>>2]=0;c[n>>2]=1;e=c[m>>2]|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];c[g+20>>2]=c[d+20>>2];c[g+24>>2]=c[d+24>>2];c[g+28>>2]=c[d+28>>2];pV(g,e,1,p);c[n>>2]=qV(c[l>>2]|0,c[n>>2]|0,p)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;b=(c[h>>2]|0)+((c[o>>2]|0)*72|0)+40|0;e=c[m>>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];c[g+16>>2]=c[b+16>>2];c[g+20>>2]=c[b+20>>2];c[g+24>>2]=c[b+24>>2];c[g+28>>2]=c[b+28>>2];pV(g,e,0,p);c[n>>2]=qV(c[l>>2]|0,c[n>>2]|0,p)|0;c[o>>2]=(c[o>>2]|0)+1}i=q;return}function hV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0.0,m=0.0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>(c[d>>2]|0))break;c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=1;while(1){if((c[f>>2]|0)>(c[d>>2]|0))break;m=+(c[f>>2]|0);l=+K2();c[g>>2]=~~(m+l*+((c[d>>2]|0)+1-(c[f>>2]|0)|0));if((c[g>>2]|0)!=(c[f>>2]|0)){c[h>>2]=c[(c[e>>2]|0)+(c[f>>2]<<2)>>2];c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2]}c[f>>2]=(c[f>>2]|0)+1}i=k;return}function iV(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();g=r+36|0;h=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;s=r+4|0;q=r;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[s>>2]=((c[g>>2]|0)*5|0)+1;c[q>>2]=qK(c[s>>2]<<2)|0;c[22918]=qK(c[s>>2]<<4)|0;c[22919]=qK(((c[g>>2]|0)+1|0)*56|0)|0;c[22920]=qK(c[g>>2]<<2)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(((c[g>>2]|0)*5|0)+1|0))break;if(kV((c[k>>2]|0)+((c[n>>2]|0)*72|0)|0,c[h>>2]|0)|0)break;c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[n>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>(c[g>>2]|0))break;c[(c[22918]|0)+(c[n>>2]<<4)+8>>2]=c[(c[h>>2]|0)+((c[n>>2]|0)*56|0)+48>>2];c[(c[22918]|0)+(c[n>>2]<<4)+4>>2]=c[(c[h>>2]|0)+((c[n>>2]|0)*56|0)+44>>2];c[(c[22918]|0)+(c[n>>2]<<4)>>2]=c[n>>2];s=(c[22919]|0)+((c[n>>2]|0)*56|0)|0;d=(c[h>>2]|0)+((c[n>>2]|0)*56|0)|0;c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];c[(c[22919]|0)+((c[n>>2]|0)*56|0)+16>>2]=c[(c[h>>2]|0)+((c[n>>2]|0)*56|0)+44>>2];c[(c[22919]|0)+((c[n>>2]|0)*56|0)+32>>2]=c[n>>2];c[(c[22919]|0)+((c[n>>2]|0)*56|0)+48>>2]=1;c[n>>2]=(c[n>>2]|0)+1}c[22921]=c[g>>2];c[22922]=0;c[c[22920]>>2]=1;if((c[(c[k>>2]|0)+((c[p>>2]|0)*72|0)+40>>2]|0)>0){c[o>>2]=lV(c[q>>2]|0,c[m>>2]|0,0,c[h>>2]|0,c[k>>2]|0,0,c[p>>2]|0,c[(c[k>>2]|0)+((c[p>>2]|0)*72|0)+40>>2]|0,c[l>>2]|0,1)|0;s=c[q>>2]|0;B1(s);s=c[22918]|0;B1(s);s=c[22919]|0;B1(s);s=c[22920]|0;B1(s);s=c[o>>2]|0;i=r;return s|0}if((c[(c[k>>2]|0)+((c[p>>2]|0)*72|0)+48>>2]|0)<=0){s=c[q>>2]|0;B1(s);s=c[22918]|0;B1(s);s=c[22919]|0;B1(s);s=c[22920]|0;B1(s);s=c[o>>2]|0;i=r;return s|0}c[o>>2]=lV(c[q>>2]|0,c[m>>2]|0,0,c[h>>2]|0,c[k>>2]|0,0,c[p>>2]|0,c[(c[k>>2]|0)+((c[p>>2]|0)*72|0)+48>>2]|0,c[l>>2]|0,2)|0;s=c[q>>2]|0;B1(s);s=c[22918]|0;B1(s);s=c[22919]|0;B1(s);s=c[22920]|0;B1(s);s=c[o>>2]|0;i=r;return s|0}function jV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();k=n+20|0;l=n+16|0;f=n+12|0;g=n+8|0;m=n;c[l>>2]=a;c[f>>2]=b;c[g>>2]=d;if(+h[c[f>>2]>>3]>+h[c[g>>2]>>3])e=+h[c[f>>2]>>3];else e=+h[c[g>>2]>>3];h[m>>3]=e;if(+h[(c[f>>2]|0)+16>>3]<+h[(c[g>>2]|0)+16>>3])e=+h[(c[f>>2]|0)+16>>3];else e=+h[(c[g>>2]|0)+16>>3];h[(c[l>>2]|0)+16>>3]=e;h[c[l>>2]>>3]=+h[m>>3];if(+h[(c[f>>2]|0)+8>>3]>+h[(c[g>>2]|0)+8>>3])e=+h[(c[f>>2]|0)+8>>3];else e=+h[(c[g>>2]|0)+8>>3];h[m>>3]=e;if(+h[(c[f>>2]|0)+16+8>>3]<+h[(c[g>>2]|0)+16+8>>3])e=+h[(c[f>>2]|0)+16+8>>3];else e=+h[(c[g>>2]|0)+16+8>>3];h[(c[l>>2]|0)+16+8>>3]=e;h[(c[l>>2]|0)+8>>3]=+h[m>>3];if(!(+h[c[l>>2]>>3]>=+h[(c[l>>2]|0)+16>>3])?!(+h[(c[l>>2]|0)+8>>3]>=+h[(c[l>>2]|0)+16+8>>3]):0){c[k>>2]=1;m=c[k>>2]|0;i=n;return m|0}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function kV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();k=l+12|0;d=l+8|0;e=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+68>>2]|0)==2){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((c[c[d>>2]>>2]|0)>0?(c[(c[d>>2]|0)+4>>2]|0)>0:0){if(!((c[(c[d>>2]|0)+40>>2]|0)<=0?(c[(c[d>>2]|0)+44>>2]|0)<=0:0))g=8;do if((g|0)==8){if((c[(c[d>>2]|0)+48>>2]|0)<=0?(c[(c[d>>2]|0)+52>>2]|0)<=0:0)break;c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}while(0);if(!(+h[(c[e>>2]|0)+((c[f>>2]|0)*56|0)+16+8>>3]>+h[(c[e>>2]|0)+((c[f>>2]|0)*56|0)+8>>3]+1.0e-07))if(+h[(c[e>>2]|0)+((c[f>>2]|0)*56|0)+16+8>>3]<+h[(c[e>>2]|0)+((c[f>>2]|0)*56|0)+8>>3]-1.0e-07)d=0;else d=+h[(c[e>>2]|0)+((c[f>>2]|0)*56|0)+16>>3]>+h[(c[e>>2]|0)+((c[f>>2]|0)*56|0)>>3]&1;else d=1;c[k>>2]=d;k=c[k>>2]|0;i=l;return k|0}c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}function lV(a,b,d,e,f,g,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=k|0;l=l|0;m=m|0;n=n|0;var 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=i;i=i+80|0;if((i|0)>=(j|0))ba();o=G+64|0;p=G+60|0;r=G+56|0;s=G+52|0;t=G+48|0;u=G+44|0;v=G+40|0;w=G+36|0;x=G+32|0;y=G+28|0;q=G+24|0;C=G+20|0;A=G+16|0;D=G+12|0;E=G+8|0;B=G+4|0;z=G;c[p>>2]=a;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[w>>2]=k;c[x>>2]=l;c[y>>2]=m;c[q>>2]=n;c[C>>2]=(c[u>>2]|0)+((c[w>>2]|0)*72|0);c[z>>2]=0;if((c[w>>2]|0)>0?(c[(c[p>>2]|0)+(c[w>>2]<<2)>>2]|0)==0:0){c[(c[p>>2]|0)+(c[w>>2]<<2)>>2]=1;if((+h[(c[C>>2]|0)+8+8>>3]>+h[(c[C>>2]|0)+24+8>>3]?+h[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)>>3]==+h[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)+16>>3]:0)?+h[(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)*56|0)>>3]==+h[(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)*56|0)+16>>3]:0){b=c[C>>2]|0;if(c[y>>2]|0){h[(c[r>>2]|0)+(c[s>>2]<<5)>>3]=+h[b+24+8>>3];h[(c[r>>2]|0)+(c[s>>2]<<5)+8>>3]=-+h[(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)*56|0)>>3];h[(c[r>>2]|0)+(c[s>>2]<<5)+16>>3]=+h[(c[C>>2]|0)+8+8>>3];h[(c[r>>2]|0)+(c[s>>2]<<5)+16+8>>3]=-+h[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)>>3]}else{h[(c[r>>2]|0)+(c[s>>2]<<5)>>3]=+h[(c[t>>2]|0)+((c[b>>2]|0)*56|0)>>3];h[(c[r>>2]|0)+(c[s>>2]<<5)+8>>3]=+h[(c[C>>2]|0)+24+8>>3];h[(c[r>>2]|0)+(c[s>>2]<<5)+16>>3]=+h[(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)*56|0)>>3];h[(c[r>>2]|0)+(c[s>>2]<<5)+16+8>>3]=+h[(c[C>>2]|0)+8+8>>3]}c[s>>2]=(c[s>>2]|0)+1}do if((c[(c[C>>2]|0)+40>>2]|0)<=0?(c[(c[C>>2]|0)+44>>2]|0)<=0:0){if((c[(c[C>>2]|0)+48>>2]|0)>0?(c[(c[C>>2]|0)+52>>2]|0)>0:0){c[D>>2]=c[(c[u>>2]|0)+((c[(c[C>>2]|0)+52>>2]|0)*72|0)>>2];c[E>>2]=c[c[C>>2]>>2];if((c[x>>2]|0)==(c[(c[C>>2]|0)+52>>2]|0)){c[z>>2]=1;c[A>>2]=mV(c[v>>2]|0,c[E>>2]|0,c[D>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break}else{c[A>>2]=mV(c[v>>2]|0,c[D>>2]|0,c[E>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break}}c[B>>2]=-1;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0}else F=19;while(0);a:do if((F|0)==19){if((c[(c[C>>2]|0)+48>>2]|0)<=0?(c[(c[C>>2]|0)+52>>2]|0)<=0:0){if((c[(c[C>>2]|0)+40>>2]|0)>0?(c[(c[C>>2]|0)+44>>2]|0)>0:0){c[D>>2]=c[(c[C>>2]|0)+4>>2];c[E>>2]=c[(c[u>>2]|0)+((c[(c[C>>2]|0)+40>>2]|0)*72|0)+4>>2];if((c[x>>2]|0)==(c[(c[C>>2]|0)+44>>2]|0)){c[z>>2]=1;c[A>>2]=mV(c[v>>2]|0,c[E>>2]|0,c[D>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;break}else{c[A>>2]=mV(c[v>>2]|0,c[D>>2]|0,c[E>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;break}}c[B>>2]=-1;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break}if((c[(c[C>>2]|0)+40>>2]|0)>0?(c[(c[C>>2]|0)+44>>2]|0)>0:0){if((c[(c[C>>2]|0)+48>>2]|0)>0?(c[(c[C>>2]|0)+52>>2]|0)>0:0){c[D>>2]=c[(c[u>>2]|0)+((c[(c[C>>2]|0)+52>>2]|0)*72|0)>>2];c[E>>2]=c[(c[u>>2]|0)+((c[(c[C>>2]|0)+40>>2]|0)*72|0)+4>>2];c[B>>2]=3;if(!((c[q>>2]|0)==2?(c[(c[C>>2]|0)+52>>2]|0)==(c[x>>2]|0):0))F=33;do if((F|0)==33){if((c[q>>2]|0)==1?(c[(c[C>>2]|0)+44>>2]|0)==(c[x>>2]|0):0)break;c[A>>2]=mV(c[v>>2]|0,c[D>>2]|0,c[E>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break a}while(0);c[z>>2]=1;c[A>>2]=mV(c[v>>2]|0,c[E>>2]|0,c[D>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break}if(+N(+(+h[(c[C>>2]|0)+24+8>>3]-+h[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)+16+8>>3]))<=1.0e-07?+N(+(+h[(c[C>>2]|0)+24>>3]-+h[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)+16>>3]))<=1.0e-07:0){c[D>>2]=c[(c[u>>2]|0)+((c[(c[C>>2]|0)+40>>2]|0)*72|0)+4>>2];c[E>>2]=c[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)+44>>2];c[B>>2]=4;if((c[q>>2]|0)==1?(c[(c[C>>2]|0)+40>>2]|0)==(c[x>>2]|0):0){c[z>>2]=1;c[A>>2]=mV(c[v>>2]|0,c[E>>2]|0,c[D>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break}c[A>>2]=mV(c[v>>2]|0,c[D>>2]|0,c[E>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;break}c[D>>2]=c[(c[C>>2]|0)+4>>2];c[E>>2]=c[(c[u>>2]|0)+((c[(c[C>>2]|0)+40>>2]|0)*72|0)+4>>2];c[B>>2]=5;if((c[q>>2]|0)==1?(c[(c[C>>2]|0)+44>>2]|0)==(c[x>>2]|0):0){c[z>>2]=1;c[A>>2]=mV(c[v>>2]|0,c[E>>2]|0,c[D>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;break}c[A>>2]=mV(c[v>>2]|0,c[D>>2]|0,c[E>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;break}if((c[(c[C>>2]|0)+40>>2]|0)<=0?(c[(c[C>>2]|0)+44>>2]|0)<=0:0)break;if((c[(c[C>>2]|0)+48>>2]|0)>0?(c[(c[C>>2]|0)+52>>2]|0)>0:0){if(+N(+(+h[(c[C>>2]|0)+8+8>>3]-+h[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)+8>>3]))<=1.0e-07?+N(+(+h[(c[C>>2]|0)+8>>3]-+h[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)>>3]))<=1.0e-07:0){c[D>>2]=c[(c[u>>2]|0)+((c[(c[C>>2]|0)+52>>2]|0)*72|0)>>2];c[E>>2]=c[c[C>>2]>>2];c[B>>2]=6;if((c[q>>2]|0)==2?(c[(c[C>>2]|0)+48>>2]|0)==(c[x>>2]|0):0){c[A>>2]=mV(c[v>>2]|0,c[D>>2]|0,c[E>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break}c[z>>2]=1;c[A>>2]=mV(c[v>>2]|0,c[E>>2]|0,c[D>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break}c[D>>2]=c[(c[u>>2]|0)+((c[(c[C>>2]|0)+52>>2]|0)*72|0)>>2];c[E>>2]=c[(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)*56|0)+44>>2];c[B>>2]=7;if((c[q>>2]|0)==2?(c[(c[C>>2]|0)+52>>2]|0)==(c[x>>2]|0):0){c[z>>2]=1;c[A>>2]=mV(c[v>>2]|0,c[E>>2]|0,c[D>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break}c[A>>2]=mV(c[v>>2]|0,c[D>>2]|0,c[E>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break}if(((+N(+(+h[(c[C>>2]|0)+8+8>>3]-+h[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)+8>>3]))<=1.0e-07?+N(+(+h[(c[C>>2]|0)+8>>3]-+h[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)>>3]))<=1.0e-07:0)?+N(+(+h[(c[C>>2]|0)+24+8>>3]-+h[(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)*56|0)+8>>3]))<=1.0e-07:0)?+N(+(+h[(c[C>>2]|0)+24>>3]-+h[(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)*56|0)>>3]))<=1.0e-07:0){c[D>>2]=c[(c[C>>2]|0)+4>>2];c[E>>2]=c[c[C>>2]>>2];c[B>>2]=2;if((c[q>>2]|0)==1){c[z>>2]=1;c[A>>2]=mV(c[v>>2]|0,c[E>>2]|0,c[D>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break}else{c[A>>2]=mV(c[v>>2]|0,c[D>>2]|0,c[E>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;break}}if(((+N(+(+h[(c[C>>2]|0)+8+8>>3]-+h[(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)*56|0)+16+8>>3]))<=1.0e-07?+N(+(+h[(c[C>>2]|0)+8>>3]-+h[(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)*56|0)+16>>3]))<=1.0e-07:0)?+N(+(+h[(c[C>>2]|0)+24+8>>3]-+h[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)+16+8>>3]))<=1.0e-07:0)?+N(+(+h[(c[C>>2]|0)+24>>3]-+h[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)+16>>3]))<=1.0e-07:0){c[D>>2]=c[(c[t>>2]|0)+((c[(c[C>>2]|0)+4>>2]|0)*56|0)+44>>2];c[E>>2]=c[(c[t>>2]|0)+((c[c[C>>2]>>2]|0)*56|0)+44>>2];c[B>>2]=1;if((c[q>>2]|0)==1){c[z>>2]=1;c[A>>2]=mV(c[v>>2]|0,c[E>>2]|0,c[D>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;break}else{c[A>>2]=mV(c[v>>2]|0,c[D>>2]|0,c[E>>2]|0)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;break}}c[B>>2]=-1;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+40>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+48>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+44>>2]|0,c[w>>2]|0,c[y>>2]|0,2)|0;c[s>>2]=lV(c[p>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[(c[C>>2]|0)+52>>2]|0,c[w>>2]|0,c[y>>2]|0,1)|0}while(0);c[o>>2]=c[s>>2];F=c[o>>2]|0;i=G;return F|0}c[o>>2]=c[s>>2];F=c[o>>2]|0;i=G;return F|0}function mV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+64|0;if((i|0)>=(j|0))ba();h=e+52|0;o=e+48|0;s=e+44|0;k=e+40|0;t=e+36|0;r=e+32|0;u=e+28|0;f=e+24|0;g=e+20|0;p=e+16|0;q=e+12|0;n=e+8|0;m=e+4|0;l=e;c[h>>2]=a;c[o>>2]=b;c[s>>2]=d;d=(c[22922]|0)+1|0;c[22922]=d;c[f>>2]=d;c[m>>2]=(c[22919]|0)+((c[o>>2]|0)*56|0);c[l>>2]=(c[22919]|0)+((c[s>>2]|0)*56|0);nV(c[o>>2]|0,c[s>>2]|0,r,u)|0;c[k>>2]=c[(c[m>>2]|0)+32+(c[r>>2]<<2)>>2];c[t>>2]=c[(c[l>>2]|0)+32+(c[u>>2]<<2)>>2];d=(c[22921]|0)+1|0;c[22921]=d;c[g>>2]=d;d=(c[22921]|0)+1|0;c[22921]=d;c[p>>2]=d;c[(c[22918]|0)+(c[g>>2]<<4)>>2]=c[o>>2];c[(c[22918]|0)+(c[p>>2]<<4)>>2]=c[s>>2];c[(c[22918]|0)+(c[g>>2]<<4)+4>>2]=c[(c[22918]|0)+(c[k>>2]<<4)+4>>2];c[(c[22918]|0)+(c[(c[22918]|0)+(c[k>>2]<<4)+4>>2]<<4)+8>>2]=c[g>>2];c[(c[22918]|0)+(c[g>>2]<<4)+8>>2]=c[p>>2];c[(c[22918]|0)+(c[p>>2]<<4)+4>>2]=c[g>>2];c[(c[22918]|0)+(c[p>>2]<<4)+8>>2]=c[(c[22918]|0)+(c[t>>2]<<4)+8>>2];c[(c[22918]|0)+(c[(c[22918]|0)+(c[t>>2]<<4)+8>>2]<<4)+4>>2]=c[p>>2];c[(c[22918]|0)+(c[k>>2]<<4)+4>>2]=c[t>>2];c[(c[22918]|0)+(c[t>>2]<<4)+8>>2]=c[k>>2];c[q>>2]=c[(c[m>>2]|0)+48>>2];c[n>>2]=c[(c[l>>2]|0)+48>>2];c[(c[m>>2]|0)+16+(c[r>>2]<<2)>>2]=c[s>>2];c[(c[m>>2]|0)+32+(c[q>>2]<<2)>>2]=c[g>>2];c[(c[m>>2]|0)+16+(c[q>>2]<<2)>>2]=c[(c[22918]|0)+(c[(c[22918]|0)+(c[g>>2]<<4)+4>>2]<<4)>>2];c[(c[l>>2]|0)+32+(c[n>>2]<<2)>>2]=c[p>>2];c[(c[l>>2]|0)+16+(c[n>>2]<<2)>>2]=c[o>>2];d=(c[m>>2]|0)+48|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[l>>2]|0)+48|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[22920]|0)+(c[h>>2]<<2)>>2]=c[k>>2];c[(c[22920]|0)+(c[f>>2]<<2)>>2]=c[g>>2];i=e;return c[f>>2]|0}function nV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;r=i;i=i+64|0;if((i|0)>=(j|0))ba();t=r+48|0;s=r+44|0;f=r+40|0;g=r+36|0;p=r+32|0;q=r+28|0;l=r+24|0;k=r+8|0;m=r;n=r+20|0;o=r+16|0;c[t>>2]=a;c[s>>2]=b;c[f>>2]=d;c[g>>2]=e;c[p>>2]=(c[22919]|0)+((c[t>>2]|0)*56|0);c[q>>2]=(c[22919]|0)+((c[s>>2]|0)*56|0);h[k>>3]=-4.0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=4)break;if((c[(c[p>>2]|0)+16+(c[l>>2]<<2)>>2]|0)>0?(u=+oV(c[p>>2]|0,(c[22919]|0)+((c[(c[p>>2]|0)+16+(c[l>>2]<<2)>>2]|0)*56|0)|0,c[q>>2]|0),h[m>>3]=u,u>+h[k>>3]):0){h[k>>3]=+h[m>>3];c[n>>2]=c[l>>2]}c[l>>2]=(c[l>>2]|0)+1}c[c[f>>2]>>2]=c[n>>2];h[k>>3]=-4.0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=4)break;if((c[(c[q>>2]|0)+16+(c[l>>2]<<2)>>2]|0)>0?(u=+oV(c[q>>2]|0,(c[22919]|0)+((c[(c[q>>2]|0)+16+(c[l>>2]<<2)>>2]|0)*56|0)|0,c[p>>2]|0),h[m>>3]=u,u>+h[k>>3]):0){h[k>>3]=+h[m>>3];c[o>>2]=c[l>>2]}c[l>>2]=(c[l>>2]|0)+1}c[c[g>>2]>>2]=c[o>>2];i=r;return 0}function oV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+64|0;if((i|0)>=(j|0))ba();f=l+32|0;m=l+48|0;o=l+44|0;n=l+40|0;g=l+16|0;k=l;c[m>>2]=a;c[o>>2]=b;c[n>>2]=d;h[g>>3]=+h[c[o>>2]>>3]-+h[c[m>>2]>>3];h[g+8>>3]=+h[(c[o>>2]|0)+8>>3]-+h[(c[m>>2]|0)+8>>3];h[k>>3]=+h[c[n>>2]>>3]-+h[c[m>>2]>>3];h[k+8>>3]=+h[(c[n>>2]|0)+8>>3]-+h[(c[m>>2]|0)+8>>3];e=+h[g>>3]*+h[k>>3]+ +h[g+8>>3]*+h[k+8>>3];if(+h[g>>3]*+h[k+8>>3]-+h[k>>3]*+h[g+8>>3]>=0.0){e=e/+O(+(+h[g>>3]*+h[g>>3]+ +h[g+8>>3]*+h[g+8>>3]));h[f>>3]=e/+O(+(+h[k>>3]*+h[k>>3]+ +h[k+8>>3]*+h[k+8>>3]));e=+h[f>>3];i=l;return +e}else{e=-1.0*e/+O(+(+h[g>>3]*+h[g>>3]+ +h[g+8>>3]*+h[g+8>>3]));h[f>>3]=e/+O(+(+h[k>>3]*+h[k>>3]+ +h[k+8>>3]*+h[k+8>>3]))-2.0;e=+h[f>>3];i=l;return +e}return 0.0}function pV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+20|0;n=m+16|0;g=m+12|0;k=m+8|0;l=m;c[f>>2]=b;c[n>>2]=d;c[g>>2]=e;e=c[g>>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=(c[g>>2]|0)+32|0;b=a+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];if(c[n>>2]|0){h[(c[g>>2]|0)+16>>3]=+h[a+16>>3];h[(c[g>>2]|0)+16+8>>3]=+h[a+8>>3];h[(c[g>>2]|0)+48>>3]=+h[a>>3];h[(c[g>>2]|0)+48+8>>3]=+h[a+16+8>>3]}else{h[(c[g>>2]|0)+16>>3]=+h[a>>3];h[(c[g>>2]|0)+16+8>>3]=+h[a+16+8>>3];h[(c[g>>2]|0)+48>>3]=+h[a+16>>3];h[(c[g>>2]|0)+48+8>>3]=+h[a+8>>3]}if(!(c[f>>2]|0)){i=m;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=4)break;h[l>>3]=+h[(c[g>>2]|0)+(c[k>>2]<<4)+8>>3];h[(c[g>>2]|0)+(c[k>>2]<<4)+8>>3]=+h[(c[g>>2]|0)+(c[k>>2]<<4)>>3];h[(c[g>>2]|0)+(c[k>>2]<<4)>>3]=-+h[l>>3];c[k>>2]=(c[k>>2]|0)+1}i=m;return}function qV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=(c[f>>2]|0)+4-1;c[k>>2]=0;c[h>>2]=c[f>>2];while(1){if((c[h>>2]|0)>(c[l>>2]|0))break;do if((c[h>>2]|0)!=(c[f>>2]|0))if((c[h>>2]|0)==(c[l>>2]|0)){c[(c[e>>2]|0)+((c[h>>2]|0)*56|0)+44>>2]=c[f>>2];c[(c[e>>2]|0)+((c[h>>2]|0)*56|0)+48>>2]=(c[l>>2]|0)-1;break}else{c[(c[e>>2]|0)+((c[h>>2]|0)*56|0)+44>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+((c[h>>2]|0)*56|0)+48>>2]=(c[h>>2]|0)-1;break}else{c[(c[e>>2]|0)+((c[h>>2]|0)*56|0)+44>>2]=(c[f>>2]|0)+1;c[(c[e>>2]|0)+((c[h>>2]|0)*56|0)+48>>2]=c[l>>2]}while(0);c[(c[e>>2]|0)+((c[h>>2]|0)*56|0)+32>>2]=0;a=(c[e>>2]|0)+((c[(c[e>>2]|0)+((c[h>>2]|0)*56|0)+48>>2]|0)*56|0)+16|0;d=(c[e>>2]|0)+((c[h>>2]|0)*56|0)|0;b=(c[g>>2]|0)+(c[k>>2]<<4)|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[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[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}i=m;return (c[l>>2]|0)+1|0}function rV(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();h=r+36|0;k=r+32|0;l=r+28|0;s=r+24|0;m=r+20|0;o=r+16|0;g=r+12|0;n=r+8|0;q=r+4|0;p=r;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[s>>2]=e;c[m>>2]=f;c[q>>2]=1;c[22923]=c[s>>2]<<1;c[22924]=c[s>>2];c[p>>2]=qK((c[s>>2]<<1)*40|0)|0;c[22925]=1;c[22926]=1;p5(c[m>>2]|0,0,(c[s>>2]|0)*72|0)|0;f=c[q>>2]|0;c[q>>2]=f+1;c[g>>2]=sV(c[(c[l>>2]|0)+(f<<2)>>2]|0,c[k>>2]|0,c[m>>2]|0,c[p>>2]|0)|0;c[o>>2]=1;while(1){if((c[o>>2]|0)>(c[h>>2]|0))break;s=c[g>>2]|0;c[(c[k>>2]|0)+((c[o>>2]|0)*56|0)+40>>2]=s;c[(c[k>>2]|0)+((c[o>>2]|0)*56|0)+36>>2]=s;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=1;while(1){s=c[n>>2]|0;s=(s|0)<=(tV(c[h>>2]|0)|0);a=c[h>>2]|0;if(!s)break;c[o>>2]=(uV(a,(c[n>>2]|0)-1|0)|0)+1;while(1){s=c[o>>2]|0;if((s|0)>(uV(c[h>>2]|0,c[n>>2]|0)|0))break;s=c[q>>2]|0;c[q>>2]=s+1;vV(c[(c[l>>2]|0)+(s<<2)>>2]|0,c[k>>2]|0,c[m>>2]|0,c[p>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+1}c[o>>2]=1;while(1){if((c[o>>2]|0)>(c[h>>2]|0))break;wV(c[o>>2]|0,c[k>>2]|0,c[m>>2]|0,c[p>>2]|0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=(uV(a,tV(c[h>>2]|0)|0)|0)+1;while(1){if((c[o>>2]|0)>(c[h>>2]|0))break;s=c[q>>2]|0;c[q>>2]=s+1;vV(c[(c[l>>2]|0)+(s<<2)>>2]|0,c[k>>2]|0,c[m>>2]|0,c[p>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+1}B1(c[p>>2]|0);i=r;return c[22925]|0}function sV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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;f=i;i=i+80|0;if((i|0)>=(j|0))ba();v=f+64|0;z=f+60|0;u=f+56|0;m=f+52|0;x=f+48|0;s=f+44|0;w=f+40|0;q=f+36|0;y=f+32|0;o=f+28|0;l=f+24|0;g=f+20|0;p=f+16|0;n=f+12|0;r=f+8|0;t=f+4|0;k=f;c[v>>2]=a;c[z>>2]=b;c[u>>2]=d;c[m>>2]=e;c[k>>2]=(c[z>>2]|0)+((c[v>>2]|0)*56|0);c[x>>2]=BV()|0;c[(c[m>>2]|0)+((c[x>>2]|0)*40|0)>>2]=2;FV((c[m>>2]|0)+((c[x>>2]|0)*40|0)+8|0,c[k>>2]|0,(c[k>>2]|0)+16|0)|0;c[g>>2]=c[x>>2];d=BV()|0;c[s>>2]=d;c[(c[m>>2]|0)+((c[x>>2]|0)*40|0)+36>>2]=d;c[(c[m>>2]|0)+((c[s>>2]|0)*40|0)>>2]=3;c[(c[m>>2]|0)+((c[s>>2]|0)*40|0)+28>>2]=c[x>>2];d=BV()|0;c[w>>2]=d;c[(c[m>>2]|0)+((c[x>>2]|0)*40|0)+32>>2]=d;c[(c[m>>2]|0)+((c[w>>2]|0)*40|0)>>2]=2;GV((c[m>>2]|0)+((c[w>>2]|0)*40|0)+8|0,c[k>>2]|0,(c[k>>2]|0)+16|0)|0;c[(c[m>>2]|0)+((c[w>>2]|0)*40|0)+28>>2]=c[x>>2];d=BV()|0;c[q>>2]=d;c[(c[m>>2]|0)+((c[w>>2]|0)*40|0)+32>>2]=d;c[(c[m>>2]|0)+((c[q>>2]|0)*40|0)>>2]=3;c[(c[m>>2]|0)+((c[q>>2]|0)*40|0)+28>>2]=c[w>>2];d=BV()|0;c[y>>2]=d;c[(c[m>>2]|0)+((c[w>>2]|0)*40|0)+36>>2]=d;c[(c[m>>2]|0)+((c[y>>2]|0)*40|0)>>2]=1;c[(c[m>>2]|0)+((c[y>>2]|0)*40|0)+4>>2]=c[v>>2];c[(c[m>>2]|0)+((c[y>>2]|0)*40|0)+28>>2]=c[w>>2];d=BV()|0;c[o>>2]=d;c[(c[m>>2]|0)+((c[y>>2]|0)*40|0)+32>>2]=d;c[(c[m>>2]|0)+((c[o>>2]|0)*40|0)>>2]=3;c[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+28>>2]=c[y>>2];d=BV()|0;c[l>>2]=d;c[(c[m>>2]|0)+((c[y>>2]|0)*40|0)+36>>2]=d;c[(c[m>>2]|0)+((c[l>>2]|0)*40|0)>>2]=3;c[(c[m>>2]|0)+((c[l>>2]|0)*40|0)+28>>2]=c[y>>2];c[p>>2]=AV(c[u>>2]|0)|0;c[n>>2]=AV(c[u>>2]|0)|0;c[r>>2]=AV(c[u>>2]|0)|0;c[t>>2]=AV(c[u>>2]|0)|0;d=(c[u>>2]|0)+((c[p>>2]|0)*72|0)+8|0;a=(c[u>>2]|0)+((c[n>>2]|0)*72|0)+8|0;b=(c[u>>2]|0)+((c[t>>2]|0)*72|0)+24|0;e=(c[m>>2]|0)+((c[x>>2]|0)*40|0)+8|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[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[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];d=(c[u>>2]|0)+((c[p>>2]|0)*72|0)+24|0;a=(c[u>>2]|0)+((c[n>>2]|0)*72|0)+24|0;b=(c[u>>2]|0)+((c[r>>2]|0)*72|0)+8|0;e=(c[m>>2]|0)+((c[w>>2]|0)*40|0)+8|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[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[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];h[(c[u>>2]|0)+((c[t>>2]|0)*72|0)+8+8>>3]=1073741824.0;h[(c[u>>2]|0)+((c[t>>2]|0)*72|0)+8>>3]=1073741824.0;h[(c[u>>2]|0)+((c[r>>2]|0)*72|0)+24+8>>3]=-1073741824.0;h[(c[u>>2]|0)+((c[r>>2]|0)*72|0)+24>>3]=-1073741824.0;d=c[v>>2]|0;c[(c[u>>2]|0)+((c[n>>2]|0)*72|0)>>2]=d;c[(c[u>>2]|0)+((c[p>>2]|0)*72|0)+4>>2]=d;d=c[t>>2]|0;c[(c[u>>2]|0)+((c[n>>2]|0)*72|0)+40>>2]=d;c[(c[u>>2]|0)+((c[p>>2]|0)*72|0)+40>>2]=d;d=c[r>>2]|0;c[(c[u>>2]|0)+((c[n>>2]|0)*72|0)+48>>2]=d;c[(c[u>>2]|0)+((c[p>>2]|0)*72|0)+48>>2]=d;d=c[p>>2]|0;c[(c[u>>2]|0)+((c[r>>2]|0)*72|0)+40>>2]=d;c[(c[u>>2]|0)+((c[t>>2]|0)*72|0)+48>>2]=d;d=c[n>>2]|0;c[(c[u>>2]|0)+((c[r>>2]|0)*72|0)+44>>2]=d;c[(c[u>>2]|0)+((c[t>>2]|0)*72|0)+52>>2]=d;c[(c[u>>2]|0)+((c[p>>2]|0)*72|0)+56>>2]=c[o>>2];c[(c[u>>2]|0)+((c[n>>2]|0)*72|0)+56>>2]=c[l>>2];c[(c[u>>2]|0)+((c[r>>2]|0)*72|0)+56>>2]=c[q>>2];c[(c[u>>2]|0)+((c[t>>2]|0)*72|0)+56>>2]=c[s>>2];c[(c[u>>2]|0)+((c[n>>2]|0)*72|0)+68>>2]=1;c[(c[u>>2]|0)+((c[p>>2]|0)*72|0)+68>>2]=1;c[(c[u>>2]|0)+((c[t>>2]|0)*72|0)+68>>2]=1;c[(c[u>>2]|0)+((c[r>>2]|0)*72|0)+68>>2]=1;c[(c[m>>2]|0)+((c[s>>2]|0)*40|0)+24>>2]=c[t>>2];c[(c[m>>2]|0)+((c[q>>2]|0)*40|0)+24>>2]=c[r>>2];c[(c[m>>2]|0)+((c[o>>2]|0)*40|0)+24>>2]=c[p>>2];c[(c[m>>2]|0)+((c[l>>2]|0)*40|0)+24>>2]=c[n>>2];c[(c[k>>2]|0)+32>>2]=1;i=f;return c[g>>2]|0}function tV(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+12|0;b=e+8|0;d=e;c[f>>2]=a;c[b>>2]=0;h[d>>3]=+(c[f>>2]|0);while(1){if(!(+h[d>>3]>=1.0))break;h[d>>3]=+y2(+h[d>>3]);c[b>>2]=(c[b>>2]|0)+1}i=e;return (c[b>>2]|0)-1|0}function uV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;f=k+8|0;g=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;h[g>>3]=+(c[d>>2]|0);while(1){if((c[f>>2]|0)>=(c[e>>2]|0))break;h[g>>3]=+y2(+h[g>>3]);c[f>>2]=(c[f>>2]|0)+1}g=~~+Z(+(+(c[d>>2]|0)*1.0/+h[g>>3]));i=k;return g|0}function vV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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,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,ca=0.0;aa=i;i=i+272|0;if((i|0)>=(j|0))ba();Z=aa+104|0;q=aa+256|0;r=aa+252|0;s=aa+248|0;t=aa+244|0;z=aa+48|0;o=aa+240|0;m=aa+236|0;A=aa+232|0;J=aa+228|0;M=aa+224|0;L=aa+220|0;P=aa+216|0;K=aa+212|0;O=aa+208|0;u=aa+204|0;v=aa+200|0;B=aa+196|0;V=aa+192|0;g=aa+32|0;l=aa+188|0;Y=aa+184|0;y=aa+180|0;U=aa+176|0;f=aa+172|0;k=aa+168|0;n=aa+164|0;C=aa+160|0;W=aa+156|0;Q=aa+152|0;D=aa+148|0;G=aa+144|0;R=aa+140|0;E=aa+136|0;H=aa+132|0;_=aa+24|0;$=aa+16|0;T=aa;X=aa+128|0;w=aa+124|0;x=aa+120|0;S=aa+116|0;F=aa+112|0;I=aa+108|0;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[l>>2]=0;c[Y>>2]=0;b=z;a=(c[r>>2]|0)+((c[q>>2]|0)*56|0)|0;e=b+56|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(e|0));do if(+h[z+16+8>>3]>+h[z+8>>3]+1.0e-07)p=4;else{if(!(+h[z+16+8>>3]<+h[z+8>>3]-1.0e-07)?+h[z+16>>3]>+h[z>>3]:0){p=4;break}c[y>>2]=0}while(0);if((p|0)==4){c[g>>2]=c[z>>2];c[g+4>>2]=c[z+4>>2];c[g+8>>2]=c[z+8>>2];c[g+12>>2]=c[z+12>>2];p=z+16|0;c[z>>2]=c[p>>2];c[z+4>>2]=c[p+4>>2];c[z+8>>2]=c[p+8>>2];c[z+12>>2]=c[p+12>>2];p=z+16|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];c[f>>2]=c[z+36>>2];c[z+36>>2]=c[z+40>>2];c[z+40>>2]=c[f>>2];c[y>>2]=1}b=c[q>>2]|0;a=c[r>>2]|0;if(c[y>>2]|0)if(zV(b,a,2)|0)p=22;else p=9;else if(zV(b,a,1)|0)p=22;else p=9;if((p|0)==9){c[o>>2]=xV(z,z+16|0,c[z+36>>2]|0,c[r>>2]|0,c[t>>2]|0)|0;c[m>>2]=AV(c[s>>2]|0)|0;c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+68>>2]=1;b=(c[s>>2]|0)+((c[m>>2]|0)*72|0)|0;a=(c[s>>2]|0)+((c[o>>2]|0)*72|0)|0;e=b+72|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(e|0));ca=+h[z+8>>3];h[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+8+8>>3]=ca;h[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+24+8>>3]=ca;ca=+h[z>>3];h[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+8>>3]=ca;h[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+24>>3]=ca;c[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+48>>2]=c[m>>2];c[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+52>>2]=0;c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+40>>2]=c[o>>2];c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+44>>2]=0;p=c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+48>>2]|0;c[k>>2]=p;if((p|0)>0?(c[(c[s>>2]|0)+((c[k>>2]|0)*72|0)+40>>2]|0)==(c[o>>2]|0):0)c[(c[s>>2]|0)+((c[k>>2]|0)*72|0)+40>>2]=c[m>>2];p=c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+48>>2]|0;c[k>>2]=p;if((p|0)>0?(c[(c[s>>2]|0)+((c[k>>2]|0)*72|0)+44>>2]|0)==(c[o>>2]|0):0)c[(c[s>>2]|0)+((c[k>>2]|0)*72|0)+44>>2]=c[m>>2];p=c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+52>>2]|0;c[k>>2]=p;if((p|0)>0?(c[(c[s>>2]|0)+((c[k>>2]|0)*72|0)+40>>2]|0)==(c[o>>2]|0):0)c[(c[s>>2]|0)+((c[k>>2]|0)*72|0)+40>>2]=c[m>>2];p=c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+52>>2]|0;c[k>>2]=p;if((p|0)>0?(c[(c[s>>2]|0)+((c[k>>2]|0)*72|0)+44>>2]|0)==(c[o>>2]|0):0)c[(c[s>>2]|0)+((c[k>>2]|0)*72|0)+44>>2]=c[m>>2];c[u>>2]=BV()|0;c[v>>2]=BV()|0;c[A>>2]=c[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+56>>2];c[(c[t>>2]|0)+((c[A>>2]|0)*40|0)>>2]=2;p=(c[t>>2]|0)+((c[A>>2]|0)*40|0)+8|0;c[p>>2]=c[z>>2];c[p+4>>2]=c[z+4>>2];c[p+8>>2]=c[z+8>>2];c[p+12>>2]=c[z+12>>2];c[(c[t>>2]|0)+((c[A>>2]|0)*40|0)+4>>2]=c[q>>2];c[(c[t>>2]|0)+((c[A>>2]|0)*40|0)+32>>2]=c[v>>2];c[(c[t>>2]|0)+((c[A>>2]|0)*40|0)+36>>2]=c[u>>2];c[(c[t>>2]|0)+((c[u>>2]|0)*40|0)>>2]=3;c[(c[t>>2]|0)+((c[u>>2]|0)*40|0)+24>>2]=c[o>>2];c[(c[t>>2]|0)+((c[u>>2]|0)*40|0)+28>>2]=c[A>>2];c[(c[t>>2]|0)+((c[v>>2]|0)*40|0)>>2]=3;c[(c[t>>2]|0)+((c[v>>2]|0)*40|0)+24>>2]=c[m>>2];c[(c[t>>2]|0)+((c[v>>2]|0)*40|0)+28>>2]=c[A>>2];c[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+56>>2]=c[u>>2];c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+56>>2]=c[v>>2];c[J>>2]=c[m>>2]}else if((p|0)==22){c[J>>2]=xV(z,z+16|0,c[z+36>>2]|0,c[r>>2]|0,c[t>>2]|0)|0;c[l>>2]=1}a=c[q>>2]|0;b=c[r>>2]|0;if(c[y>>2]|0)if(zV(a,b,1)|0)p=39;else p=26;else if(zV(a,b,2)|0)p=39;else p=26;if((p|0)==26){c[o>>2]=xV(z+16|0,z,c[z+40>>2]|0,c[r>>2]|0,c[t>>2]|0)|0;c[m>>2]=AV(c[s>>2]|0)|0;c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+68>>2]=1;b=(c[s>>2]|0)+((c[m>>2]|0)*72|0)|0;a=(c[s>>2]|0)+((c[o>>2]|0)*72|0)|0;e=b+72|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(e|0));ca=+h[z+16+8>>3];h[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+8+8>>3]=ca;h[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+24+8>>3]=ca;ca=+h[z+16>>3];h[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+8>>3]=ca;h[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+24>>3]=ca;c[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+48>>2]=c[m>>2];c[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+52>>2]=0;c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+40>>2]=c[o>>2];c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+44>>2]=0;l=c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+48>>2]|0;c[n>>2]=l;if((l|0)>0?(c[(c[s>>2]|0)+((c[n>>2]|0)*72|0)+40>>2]|0)==(c[o>>2]|0):0)c[(c[s>>2]|0)+((c[n>>2]|0)*72|0)+40>>2]=c[m>>2];l=c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+48>>2]|0;c[n>>2]=l;if((l|0)>0?(c[(c[s>>2]|0)+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[o>>2]|0):0)c[(c[s>>2]|0)+((c[n>>2]|0)*72|0)+44>>2]=c[m>>2];l=c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+52>>2]|0;c[n>>2]=l;if((l|0)>0?(c[(c[s>>2]|0)+((c[n>>2]|0)*72|0)+40>>2]|0)==(c[o>>2]|0):0)c[(c[s>>2]|0)+((c[n>>2]|0)*72|0)+40>>2]=c[m>>2];l=c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+52>>2]|0;c[n>>2]=l;if((l|0)>0?(c[(c[s>>2]|0)+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[o>>2]|0):0)c[(c[s>>2]|0)+((c[n>>2]|0)*72|0)+44>>2]=c[m>>2];c[u>>2]=BV()|0;c[v>>2]=BV()|0;c[A>>2]=c[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+56>>2];c[(c[t>>2]|0)+((c[A>>2]|0)*40|0)>>2]=2;n=(c[t>>2]|0)+((c[A>>2]|0)*40|0)+8|0;l=z+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[(c[t>>2]|0)+((c[A>>2]|0)*40|0)+4>>2]=c[q>>2];c[(c[t>>2]|0)+((c[A>>2]|0)*40|0)+32>>2]=c[v>>2];c[(c[t>>2]|0)+((c[A>>2]|0)*40|0)+36>>2]=c[u>>2];c[(c[t>>2]|0)+((c[u>>2]|0)*40|0)>>2]=3;c[(c[t>>2]|0)+((c[u>>2]|0)*40|0)+24>>2]=c[o>>2];c[(c[t>>2]|0)+((c[u>>2]|0)*40|0)+28>>2]=c[A>>2];c[(c[t>>2]|0)+((c[v>>2]|0)*40|0)>>2]=3;c[(c[t>>2]|0)+((c[v>>2]|0)*40|0)+24>>2]=c[m>>2];c[(c[t>>2]|0)+((c[v>>2]|0)*40|0)+28>>2]=c[A>>2];c[(c[s>>2]|0)+((c[o>>2]|0)*72|0)+56>>2]=c[u>>2];c[(c[s>>2]|0)+((c[m>>2]|0)*72|0)+56>>2]=c[v>>2];c[M>>2]=c[o>>2]}else if((p|0)==39){c[M>>2]=xV(z+16|0,z,c[z+40>>2]|0,c[r>>2]|0,c[t>>2]|0)|0;c[Y>>2]=1}c[B>>2]=c[J>>2];while(1){if((c[B>>2]|0)<=0){p=147;break}if(!(CV((c[s>>2]|0)+((c[B>>2]|0)*72|0)+24|0,(c[s>>2]|0)+((c[M>>2]|0)*72|0)+24|0)|0)){p=147;break}c[A>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+56>>2];c[u>>2]=BV()|0;c[v>>2]=BV()|0;c[(c[t>>2]|0)+((c[A>>2]|0)*40|0)>>2]=1;c[(c[t>>2]|0)+((c[A>>2]|0)*40|0)+4>>2]=c[q>>2];c[(c[t>>2]|0)+((c[A>>2]|0)*40|0)+32>>2]=c[u>>2];c[(c[t>>2]|0)+((c[A>>2]|0)*40|0)+36>>2]=c[v>>2];c[(c[t>>2]|0)+((c[u>>2]|0)*40|0)>>2]=3;c[(c[t>>2]|0)+((c[u>>2]|0)*40|0)+24>>2]=c[B>>2];c[(c[t>>2]|0)+((c[u>>2]|0)*40|0)+28>>2]=c[A>>2];c[(c[t>>2]|0)+((c[v>>2]|0)*40|0)>>2]=3;o=AV(c[s>>2]|0)|0;c[V>>2]=o;c[(c[t>>2]|0)+((c[v>>2]|0)*40|0)+24>>2]=o;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+68>>2]=1;c[(c[t>>2]|0)+((c[v>>2]|0)*40|0)+28>>2]=c[A>>2];if((c[B>>2]|0)==(c[J>>2]|0))c[L>>2]=c[V>>2];if(+N(+(+h[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+24+8>>3]-+h[(c[s>>2]|0)+((c[M>>2]|0)*72|0)+24+8>>3]))<=1.0e-07?+N(+(+h[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+24>>3]-+h[(c[s>>2]|0)+((c[M>>2]|0)*72|0)+24>>3]))<=1.0e-07:0)c[P>>2]=c[V>>2];b=(c[s>>2]|0)+((c[V>>2]|0)*72|0)|0;a=(c[s>>2]|0)+((c[B>>2]|0)*72|0)|0;e=b+72|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(e|0));c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+56>>2]=c[u>>2];c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+56>>2]=c[v>>2];c[C>>2]=c[B>>2];c[W>>2]=c[V>>2];if((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)<=0?(c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)<=0:0){p=50;break}if((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)>0?(c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)<=0:0){do if((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)>0?(c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]|0)>0:0){a=(c[s>>2]|0)+((c[B>>2]|0)*72|0)|0;if((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2]|0)<=0){c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=c[a+44>>2];c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[V>>2];break}if((c[a+64>>2]|0)==1){c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2];c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[V>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]|0)*72|0)+48>>2]=c[V>>2]}else{c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2];c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2];c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[V>>2]}c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+60>>2]=0;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2]=0}else p=61;while(0);do if((p|0)==61){p=0;c[Q>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2];o=c[(c[s>>2]|0)+((c[Q>>2]|0)*72|0)+48>>2]|0;c[D>>2]=o;if((o|0)>0?(o=c[(c[s>>2]|0)+((c[Q>>2]|0)*72|0)+52>>2]|0,c[G>>2]=o,(o|0)>0):0){if((c[(c[s>>2]|0)+((c[D>>2]|0)*72|0)+4>>2]|0)>0?(yV(c[(c[s>>2]|0)+((c[D>>2]|0)*72|0)+4>>2]|0,c[r>>2]|0,z+16|0)|0)==0:0){c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]=-1;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+52>>2]=c[V>>2];break}c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=-1;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];break}c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+52>>2]=c[V>>2]}while(0);do if(+N(+(+h[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+24+8>>3]-+h[(c[s>>2]|0)+((c[M>>2]|0)*72|0)+24+8>>3]))<=1.0e-07?(o=+N(+(+h[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+24>>3]-+h[(c[s>>2]|0)+((c[M>>2]|0)*72|0)+24>>3]))<=1.0e-07,o&(c[Y>>2]|0)!=0):0){a=(c[r>>2]|0)+((c[q>>2]|0)*56|0)|0;if(c[y>>2]|0)c[U>>2]=c[a+48>>2];else c[U>>2]=c[a+44>>2];if((c[U>>2]|0)>0?(yV(c[U>>2]|0,c[r>>2]|0,z)|0)!=0:0){c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+40>>2]=c[B>>2];c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+52>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+48>>2]=-1;break}c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+48>>2]|0)*72|0)+44>>2]=c[V>>2];c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]=-1}else p=77;while(0);if((p|0)==77){p=0;do if((c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+40>>2]|0)>0?(c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+44>>2]|0)>0:0){a=(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)|0;if((c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+40>>2]|0)==(c[B>>2]|0)){c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+60>>2]=c[a+44>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+64>>2]=1;break}else{c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+60>>2]=c[a+40>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+64>>2]=2;break}}while(0);c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+40>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+44>>2]=c[V>>2]}c[B>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]}else p=84;do if((p|0)==84){p=0;if((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)<=0?(c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)>0:0){do if((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)>0?(c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]|0)>0:0){a=(c[s>>2]|0)+((c[B>>2]|0)*72|0)|0;if((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2]|0)<=0){c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=c[a+44>>2];c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[V>>2];break}if((c[a+64>>2]|0)==1){c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2];c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[V>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]|0)*72|0)+48>>2]=c[V>>2]}else{c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2];c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2];c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[V>>2]}c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+60>>2]=0;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2]=0}else p=94;while(0);a:do if((p|0)==94){p=0;c[R>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2];o=c[(c[s>>2]|0)+((c[R>>2]|0)*72|0)+48>>2]|0;c[E>>2]=o;if((o|0)>0?(o=c[(c[s>>2]|0)+((c[R>>2]|0)*72|0)+52>>2]|0,c[H>>2]=o,(o|0)>0):0){do if((c[(c[s>>2]|0)+((c[E>>2]|0)*72|0)+4>>2]|0)>0){if(yV(c[(c[s>>2]|0)+((c[E>>2]|0)*72|0)+4>>2]|0,c[r>>2]|0,z+16|0)|0)break;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]=-1;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+52>>2]=c[V>>2];break a}while(0);c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=-1;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];break}c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+52>>2]=c[V>>2]}while(0);b:do if(+N(+(+h[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+24+8>>3]-+h[(c[s>>2]|0)+((c[M>>2]|0)*72|0)+24+8>>3]))<=1.0e-07?(o=+N(+(+h[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+24>>3]-+h[(c[s>>2]|0)+((c[M>>2]|0)*72|0)+24>>3]))<=1.0e-07,o&(c[Y>>2]|0)!=0):0){a=(c[r>>2]|0)+((c[q>>2]|0)*56|0)|0;if(c[y>>2]|0)c[U>>2]=c[a+48>>2];else c[U>>2]=c[a+44>>2];do if((c[U>>2]|0)>0){if(!(yV(c[U>>2]|0,c[r>>2]|0,z)|0))break;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+40>>2]=c[B>>2];c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+52>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+48>>2]=-1;break b}while(0);c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+52>>2]|0)*72|0)+44>>2]=c[V>>2];c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]=-1}else p=110;while(0);if((p|0)==110){p=0;do if((c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+40>>2]|0)>0?(c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+44>>2]|0)>0:0){a=(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)|0;if((c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+40>>2]|0)==(c[B>>2]|0)){c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+60>>2]=c[a+44>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+64>>2]=1;break}else{c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+60>>2]=c[a+40>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+64>>2]=2;break}}while(0);c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+40>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+44>>2]=c[V>>2]}c[B>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2];break}c[x>>2]=0;c[w>>2]=0;o=+N(+(+h[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+24+8>>3]-+h[z+8>>3]))<=1.0e-07;a=(c[s>>2]|0)+((c[B>>2]|0)*72|0)+24|0;do if(o)if(+h[a>>3]>+h[z>>3]){c[w>>2]=1;break}else{c[x>>2]=1;break}else{ca=+h[a+8>>3];h[_>>3]=ca;h[T+8>>3]=ca;h[$>>3]=(+h[_>>3]-+h[z+8>>3])/(+h[z+16+8>>3]-+h[z+8>>3]);h[T>>3]=+h[z>>3]+ +h[$>>3]*(+h[z+16>>3]-+h[z>>3]);if(DV(T,(c[s>>2]|0)+((c[B>>2]|0)*72|0)+24|0)|0){c[w>>2]=1;break}else{c[x>>2]=1;break}}while(0);do if((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)>0?(c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]|0)>0:0){a=(c[s>>2]|0)+((c[B>>2]|0)*72|0)|0;if((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2]|0)<=0){c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=c[a+44>>2];c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[V>>2];break}if((c[a+64>>2]|0)==1){c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2];c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[V>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]|0)*72|0)+48>>2]=c[V>>2]}else{c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2];c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2];c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[V>>2]}c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+60>>2]=0;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+60>>2]=0}else p=132;while(0);c:do if((p|0)==132){p=0;c[S>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2];o=c[(c[s>>2]|0)+((c[S>>2]|0)*72|0)+48>>2]|0;c[F>>2]=o;if((o|0)>0?(o=c[(c[s>>2]|0)+((c[S>>2]|0)*72|0)+52>>2]|0,c[I>>2]=o,(o|0)>0):0){do if((c[(c[s>>2]|0)+((c[F>>2]|0)*72|0)+4>>2]|0)>0){if(yV(c[(c[s>>2]|0)+((c[F>>2]|0)*72|0)+4>>2]|0,c[r>>2]|0,z+16|0)|0)break;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]=-1;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]|0)*72|0)+52>>2]=c[V>>2];break c}while(0);c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+40>>2]=-1;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];break}c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+48>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+40>>2]|0)*72|0)+52>>2]=c[V>>2]}while(0);if(+N(+(+h[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+24+8>>3]-+h[(c[s>>2]|0)+((c[M>>2]|0)*72|0)+24+8>>3]))<=1.0e-07?(o=+N(+(+h[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+24>>3]-+h[(c[s>>2]|0)+((c[M>>2]|0)*72|0)+24>>3]))<=1.0e-07,o&(c[Y>>2]|0)!=0):0){c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+40>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+40>>2]=c[V>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+48>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2];c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+52>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]=-1;c[X>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]}else p=142;do if((p|0)==142){p=0;o=(c[w>>2]|0)!=0;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+40>>2]=c[B>>2];if(o){c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+44>>2]=c[V>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+40>>2]=c[V>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]=-1;c[X>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2];break}else{c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+48>>2]|0)*72|0)+44>>2]=-1;c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+40>>2]=c[B>>2];c[(c[s>>2]|0)+((c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2]|0)*72|0)+44>>2]=c[V>>2];c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+48>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2];c[(c[s>>2]|0)+((c[V>>2]|0)*72|0)+52>>2]=-1;c[X>>2]=c[(c[s>>2]|0)+((c[B>>2]|0)*72|0)+52>>2];break}}while(0);c[B>>2]=c[X>>2]}while(0);o=c[q>>2]|0;c[(c[s>>2]|0)+((c[W>>2]|0)*72|0)>>2]=o;c[(c[s>>2]|0)+((c[C>>2]|0)*72|0)+4>>2]=o}if((p|0)==50){p3(c[24742]|0,176209,Z)|0;$=c[J>>2]|0;c[K>>2]=$;$=c[M>>2]|0;c[O>>2]=$;$=c[q>>2]|0;_=c[K>>2]|0;Z=c[O>>2]|0;Y=c[s>>2]|0;X=c[t>>2]|0;EV($,_,Z,1,Y,X);X=c[q>>2]|0;Y=c[L>>2]|0;Z=c[P>>2]|0;_=c[s>>2]|0;$=c[t>>2]|0;EV(X,Y,Z,2,_,$);$=c[q>>2]|0;_=c[r>>2]|0;$=_+($*56|0)|0;$=$+32|0;c[$>>2]=1;i=aa;return 0}else if((p|0)==147){$=c[J>>2]|0;c[K>>2]=$;$=c[M>>2]|0;c[O>>2]=$;$=c[q>>2]|0;_=c[K>>2]|0;Z=c[O>>2]|0;Y=c[s>>2]|0;X=c[t>>2]|0;EV($,_,Z,1,Y,X);X=c[q>>2]|0;Y=c[L>>2]|0;Z=c[P>>2]|0;_=c[s>>2]|0;$=c[t>>2]|0;EV(X,Y,Z,2,_,$);$=c[q>>2]|0;_=c[r>>2]|0;$=_+($*56|0)|0;$=$+32|0;c[$>>2]=1;i=aa;return 0}return 0}function wV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=(c[f>>2]|0)+((c[m>>2]|0)*56|0);if(c[(c[k>>2]|0)+32>>2]|0){i=l;return}m=xV(c[k>>2]|0,(c[k>>2]|0)+16|0,c[(c[k>>2]|0)+36>>2]|0,c[f>>2]|0,c[h>>2]|0)|0;c[(c[k>>2]|0)+36>>2]=m;c[(c[k>>2]|0)+36>>2]=c[(c[g>>2]|0)+((c[(c[k>>2]|0)+36>>2]|0)*72|0)+56>>2];m=xV((c[k>>2]|0)+16|0,c[k>>2]|0,c[(c[k>>2]|0)+40>>2]|0,c[f>>2]|0,c[h>>2]|0)|0;c[(c[k>>2]|0)+40>>2]=m;c[(c[k>>2]|0)+40>>2]=c[(c[g>>2]|0)+((c[(c[k>>2]|0)+40>>2]|0)*72|0)+56>>2];i=l;return}function xV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+32|0;if((i|0)>=(j|0))ba();g=r;o=r+28|0;l=r+24|0;m=r+20|0;s=r+16|0;p=r+12|0;q=r+8|0;n=r+4|0;c[l>>2]=a;c[m>>2]=b;c[s>>2]=d;c[p>>2]=e;c[q>>2]=f;c[n>>2]=(c[q>>2]|0)+((c[s>>2]|0)*40|0);switch(c[c[n>>2]>>2]|0){case 3:{c[o>>2]=c[(c[n>>2]|0)+24>>2];s=c[o>>2]|0;i=r;return s|0}case 2:{do if(!(+h[(c[l>>2]|0)+8>>3]>+h[(c[n>>2]|0)+8+8>>3]+1.0e-07)){if(!(+h[(c[l>>2]|0)+8>>3]<+h[(c[n>>2]|0)+8+8>>3]-1.0e-07)?+h[c[l>>2]>>3]>+h[(c[n>>2]|0)+8>>3]:0)break;if(+N(+(+h[(c[l>>2]|0)+8>>3]-+h[(c[n>>2]|0)+8+8>>3]))<=1.0e-07?+N(+(+h[c[l>>2]>>3]-+h[(c[n>>2]|0)+8>>3]))<=1.0e-07:0){do if(!(+h[(c[m>>2]|0)+8>>3]>+h[(c[n>>2]|0)+8+8>>3]+1.0e-07)){if(!(+h[(c[m>>2]|0)+8>>3]<+h[(c[n>>2]|0)+8+8>>3]-1.0e-07)?+h[c[m>>2]>>3]>+h[(c[n>>2]|0)+8>>3]:0)break;c[o>>2]=xV(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+32>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[o>>2]|0;i=r;return s|0}while(0);c[o>>2]=xV(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+36>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[o>>2]|0;i=r;return s|0}c[o>>2]=xV(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+32>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[o>>2]|0;i=r;return s|0}while(0);c[o>>2]=xV(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+36>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[o>>2]|0;i=r;return s|0}case 1:{if(!(+N(+(+h[(c[l>>2]|0)+8>>3]-+h[(c[p>>2]|0)+((c[(c[n>>2]|0)+4>>2]|0)*56|0)+8>>3]))<=1.0e-07?+N(+(+h[c[l>>2]>>3]-+h[(c[p>>2]|0)+((c[(c[n>>2]|0)+4>>2]|0)*56|0)>>3]))<=1.0e-07:0))k=17;do if((k|0)==17){if(+N(+(+h[(c[l>>2]|0)+8>>3]-+h[(c[p>>2]|0)+((c[(c[n>>2]|0)+4>>2]|0)*56|0)+16+8>>3]))<=1.0e-07?+N(+(+h[c[l>>2]>>3]-+h[(c[p>>2]|0)+((c[(c[n>>2]|0)+4>>2]|0)*56|0)+16>>3]))<=1.0e-07:0)break;s=(yV(c[(c[n>>2]|0)+4>>2]|0,c[p>>2]|0,c[l>>2]|0)|0)!=0;f=c[l>>2]|0;d=c[m>>2]|0;e=c[n>>2]|0;if(s){c[o>>2]=xV(f,d,c[e+32>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[o>>2]|0;i=r;return s|0}else{c[o>>2]=xV(f,d,c[e+36>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[o>>2]|0;i=r;return s|0}}while(0);if(+N(+(+h[(c[l>>2]|0)+8>>3]-+h[(c[m>>2]|0)+8>>3]))<=1.0e-07){f=c[l>>2]|0;e=c[m>>2]|0;d=c[n>>2]|0;if(+h[c[m>>2]>>3]<+h[c[l>>2]>>3]){c[o>>2]=xV(f,e,c[d+32>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[o>>2]|0;i=r;return s|0}else{c[o>>2]=xV(f,e,c[d+36>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[o>>2]|0;i=r;return s|0}}else{s=(yV(c[(c[n>>2]|0)+4>>2]|0,c[p>>2]|0,c[m>>2]|0)|0)!=0;f=c[l>>2]|0;d=c[m>>2]|0;e=c[n>>2]|0;if(s){c[o>>2]=xV(f,d,c[e+32>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[o>>2]|0;i=r;return s|0}else{c[o>>2]=xV(f,d,c[e+36>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[o>>2]|0;i=r;return s|0}}}default:{p3(c[24742]|0,176143,g)|0;db(176179,176181,349,176193)}}return 0}function yV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();e=m+24|0;n=m+20|0;o=m+16|0;f=m+12|0;k=m+8|0;g=m;c[n>>2]=a;c[o>>2]=b;c[f>>2]=d;c[k>>2]=(c[o>>2]|0)+((c[n>>2]|0)*56|0);do if(!(+h[(c[k>>2]|0)+16+8>>3]>+h[(c[k>>2]|0)+8>>3]+1.0e-07)){if(!(+h[(c[k>>2]|0)+16+8>>3]<+h[(c[k>>2]|0)+8>>3]-1.0e-07)?+h[(c[k>>2]|0)+16>>3]>+h[c[k>>2]>>3]:0){l=4;break}if(+N(+(+h[(c[k>>2]|0)+16+8>>3]-+h[(c[f>>2]|0)+8>>3]))<=1.0e-07)if(+h[c[f>>2]>>3]<+h[(c[k>>2]|0)+16>>3]){h[g>>3]=1.0;break}else{h[g>>3]=-1.0;break}if(!(+N(+(+h[(c[k>>2]|0)+8>>3]-+h[(c[f>>2]|0)+8>>3]))<=1.0e-07)){h[g>>3]=(+h[c[k>>2]>>3]-+h[(c[k>>2]|0)+16>>3])*(+h[(c[f>>2]|0)+8>>3]-+h[(c[k>>2]|0)+16+8>>3])-(+h[(c[k>>2]|0)+8>>3]-+h[(c[k>>2]|0)+16+8>>3])*(+h[c[f>>2]>>3]-+h[(c[k>>2]|0)+16>>3]);break}if(+h[c[f>>2]>>3]<+h[c[k>>2]>>3]){h[g>>3]=1.0;break}else{h[g>>3]=-1.0;break}}else l=4;while(0);do if((l|0)==4){if(+N(+(+h[(c[k>>2]|0)+16+8>>3]-+h[(c[f>>2]|0)+8>>3]))<=1.0e-07)if(+h[c[f>>2]>>3]<+h[(c[k>>2]|0)+16>>3]){h[g>>3]=1.0;break}else{h[g>>3]=-1.0;break}if(!(+N(+(+h[(c[k>>2]|0)+8>>3]-+h[(c[f>>2]|0)+8>>3]))<=1.0e-07)){h[g>>3]=(+h[(c[k>>2]|0)+16>>3]-+h[c[k>>2]>>3])*(+h[(c[f>>2]|0)+8>>3]-+h[(c[k>>2]|0)+8>>3])-(+h[(c[k>>2]|0)+16+8>>3]-+h[(c[k>>2]|0)+8>>3])*(+h[c[f>>2]>>3]-+h[c[k>>2]>>3]);break}if(+h[c[f>>2]>>3]<+h[c[k>>2]>>3]){h[g>>3]=1.0;break}else{h[g>>3]=-1.0;break}}while(0);if(+h[g>>3]>0.0){c[e>>2]=1;o=c[e>>2]|0;i=m;return o|0}else{c[e>>2]=0;o=c[e>>2]|0;i=m;return o|0}return 0}function zV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+12|0;k=g+8|0;f=g+4|0;h=g;c[k>>2]=a;c[f>>2]=b;c[h>>2]=d;b=(c[f>>2]|0)+((c[k>>2]|0)*56|0)|0;if((c[h>>2]|0)==1){c[e>>2]=c[(c[f>>2]|0)+((c[b+48>>2]|0)*56|0)+32>>2];k=c[e>>2]|0;i=g;return k|0}else{c[e>>2]=c[(c[f>>2]|0)+((c[b+44>>2]|0)*56|0)+32>>2];k=c[e>>2]|0;i=g;return k|0}return 0}function AV(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;b=e+4|0;c[b>>2]=a;if((c[22925]|0)<(c[22924]|0)){c[(c[b>>2]|0)+((c[22925]|0)*72|0)>>2]=-1;c[(c[b>>2]|0)+((c[22925]|0)*72|0)+4>>2]=-1;c[(c[b>>2]|0)+((c[22925]|0)*72|0)+68>>2]=1;d=c[22925]|0;c[22925]=d+1;i=e;return d|0}else{e=c[24742]|0;c[d>>2]=c[22925];p3(e,176268,d)|0;db(176179,176181,88,176306)}return 0}function BV(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();if((c[22926]|0)<(c[22923]|0)){b=c[22926]|0;c[22926]=b+1;i=a;return b|0}else{p3(c[24742]|0,176229,a)|0;db(176179,176181,72,176260)}return 0}function CV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(+h[(c[e>>2]|0)+8>>3]>+h[(c[f>>2]|0)+8>>3]+1.0e-07){c[d>>2]=1;b=c[d>>2]|0;i=g;return b|0}if(+h[(c[e>>2]|0)+8>>3]<+h[(c[f>>2]|0)+8>>3]-1.0e-07){c[d>>2]=0;b=c[d>>2]|0;i=g;return b|0}else{c[d>>2]=+h[c[e>>2]>>3]>=+h[c[f>>2]>>3]&1;b=c[d>>2]|0;i=g;return b|0}return 0}function DV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(+h[(c[e>>2]|0)+8>>3]<+h[(c[f>>2]|0)+8>>3]-1.0e-07){c[d>>2]=1;b=c[d>>2]|0;i=g;return b|0}if(+h[(c[e>>2]|0)+8>>3]>+h[(c[f>>2]|0)+8>>3]+1.0e-07){c[d>>2]=0;b=c[d>>2]|0;i=g;return b|0}else{c[d>>2]=+h[c[e>>2]>>3]<+h[c[f>>2]>>3]&1;b=c[d>>2]|0;i=g;return b|0}return 0}function EV(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();h=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;q=s+12|0;r=s+8|0;o=s+4|0;p=s;c[h>>2]=a;c[t>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[q>>2]=c[t>>2];while(1){if((c[q>>2]|0)<=0){a=34;break}if(!(CV((c[m>>2]|0)+((c[q>>2]|0)*72|0)+24|0,(c[m>>2]|0)+((c[k>>2]|0)*72|0)+24|0)|0)){a=34;break}t=(c[l>>2]|0)==1;a=c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+48>>2]|0;c[r>>2]=a;a=(a|0)>0;if(t){if(a?(c[(c[m>>2]|0)+((c[r>>2]|0)*72|0)+4>>2]|0)==(c[h>>2]|0):0)a=1;else{t=c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+52>>2]|0;c[r>>2]=t;if((t|0)>0)a=(c[(c[m>>2]|0)+((c[r>>2]|0)*72|0)+4>>2]|0)==(c[h>>2]|0);else a=0}c[o>>2]=a&1}else{if(a?(c[(c[m>>2]|0)+((c[r>>2]|0)*72|0)>>2]|0)==(c[h>>2]|0):0)a=1;else{t=c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+52>>2]|0;c[r>>2]=t;if((t|0)>0)a=(c[(c[m>>2]|0)+((c[r>>2]|0)*72|0)>>2]|0)==(c[h>>2]|0);else a=0}c[o>>2]=a&1}if(!(c[o>>2]|0)){c[q>>2]=c[r>>2];continue}if((c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)>>2]|0)==(c[(c[m>>2]|0)+((c[r>>2]|0)*72|0)>>2]|0)?(c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+4>>2]|0)==(c[(c[m>>2]|0)+((c[r>>2]|0)*72|0)+4>>2]|0):0){c[p>>2]=c[(c[n>>2]|0)+((c[(c[m>>2]|0)+((c[r>>2]|0)*72|0)+56>>2]|0)*40|0)+28>>2];a=c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+56>>2]|0;g=(c[n>>2]|0)+((c[p>>2]|0)*40|0)|0;if((c[(c[n>>2]|0)+((c[p>>2]|0)*40|0)+32>>2]|0)==(c[(c[m>>2]|0)+((c[r>>2]|0)*72|0)+56>>2]|0))c[g+32>>2]=a;else c[g+36>>2]=a;t=c[(c[m>>2]|0)+((c[r>>2]|0)*72|0)+48>>2]|0;c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+48>>2]=t;do if((t|0)>0){a=c[q>>2]|0;if((c[(c[m>>2]|0)+((c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+48>>2]|0)*72|0)+40>>2]|0)==(c[r>>2]|0)){c[(c[m>>2]|0)+((c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+48>>2]|0)*72|0)+40>>2]=a;break}if((c[(c[m>>2]|0)+((c[(c[m>>2]|0)+(a*72|0)+48>>2]|0)*72|0)+44>>2]|0)==(c[r>>2]|0))c[(c[m>>2]|0)+((c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+48>>2]|0)*72|0)+44>>2]=c[q>>2]}while(0);t=c[(c[m>>2]|0)+((c[r>>2]|0)*72|0)+52>>2]|0;c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+52>>2]=t;do if((t|0)>0){a=c[q>>2]|0;if((c[(c[m>>2]|0)+((c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+52>>2]|0)*72|0)+40>>2]|0)==(c[r>>2]|0)){c[(c[m>>2]|0)+((c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+52>>2]|0)*72|0)+40>>2]=a;break}if((c[(c[m>>2]|0)+((c[(c[m>>2]|0)+(a*72|0)+52>>2]|0)*72|0)+44>>2]|0)==(c[r>>2]|0))c[(c[m>>2]|0)+((c[(c[m>>2]|0)+((c[q>>2]|0)*72|0)+52>>2]|0)*72|0)+44>>2]=c[q>>2]}while(0);t=(c[m>>2]|0)+((c[q>>2]|0)*72|0)+24|0;f=(c[m>>2]|0)+((c[r>>2]|0)*72|0)+24|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];c[(c[m>>2]|0)+((c[r>>2]|0)*72|0)+68>>2]=2;continue}c[q>>2]=c[r>>2]}if((a|0)==34){i=s;return}}function FV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(+h[(c[f>>2]|0)+8>>3]>+h[(c[g>>2]|0)+8>>3]+1.0e-07){g=c[e>>2]|0;f=c[f>>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=k;return 0}if(!(+N(+(+h[(c[f>>2]|0)+8>>3]-+h[(c[g>>2]|0)+8>>3]))<=1.0e-07)){f=c[e>>2]|0;g=c[g>>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];i=k;return 0}e=c[e>>2]|0;if(+h[c[f>>2]>>3]>+h[c[g>>2]>>3]+1.0e-07){g=c[f>>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];i=k;return 0}else{g=c[g>>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];i=k;return 0}return 0}function GV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(+h[(c[f>>2]|0)+8>>3]<+h[(c[g>>2]|0)+8>>3]-1.0e-07){g=c[e>>2]|0;f=c[f>>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=k;return 0}if(!(+N(+(+h[(c[f>>2]|0)+8>>3]-+h[(c[g>>2]|0)+8>>3]))<=1.0e-07)){f=c[e>>2]|0;g=c[g>>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];i=k;return 0}e=c[e>>2]|0;if(+h[c[f>>2]>>3]<+h[c[g>>2]>>3]){g=c[f>>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];i=k;return 0}else{g=c[g>>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];i=k;return 0}return 0}function HV(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;a=qK(8)|0;c[d>>2]=a;if(!a){a=c[d>>2]|0;i=e;return a|0}c[(c[d>>2]|0)+4>>2]=c[b>>2];c[c[d>>2]>>2]=0;a=c[d>>2]|0;i=e;return a|0}function IV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if(c[f>>2]|0){c[g>>2]=HV(c[f>>2]|0)|0;c[c[g>>2]>>2]=c[e>>2];c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=c[e>>2];g=c[d>>2]|0;i=h;return g|0}return 0}function JV(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[c[b>>2]>>2]|0))break;c[d>>2]=c[a>>2];B1(c[b>>2]|0);c[b>>2]=c[d>>2]}B1(a);i=e;return}function KV(){var a=0,b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();a=b;d=qK(1992)|0;c[a>>2]=d;if(d){d=LV(c[a>>2]|0)|0;c[c[a>>2]>>2]=d}i=b;return c[a>>2]|0}function LV(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=RV(c[e>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=0;a=(c[e>>2]|0)+1972|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return c[d>>2]|0}function MV(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;PV(c[d>>2]|0,c[c[d>>2]>>2]|0)|0;B1(c[c[d>>2]>>2]|0);B1(c[d>>2]|0);i=b;return 0}function NV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;if(!(c[f>>2]|0))db(176697,176314,194,176322);if((c[(c[f>>2]|0)+4>>2]|0)<0)db(176334,176314,195,176322);if(!(c[g>>2]|0))db(176606,176314,196,176322);a=(c[e>>2]|0)+1952|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[(c[f>>2]|0)+4>>2]|0)>0;c[h>>2]=0;if(!a){while(1){if((c[h>>2]|0)>=64)break;if((c[(c[f>>2]|0)+8+((c[h>>2]|0)*20|0)+16>>2]|0)!=0?(aW(c[g>>2]|0,(c[f>>2]|0)+8+((c[h>>2]|0)*20|0)|0)|0)!=0:0)c[k>>2]=IV(c[k>>2]|0,(c[f>>2]|0)+8+((c[h>>2]|0)*20|0)|0)|0;c[h>>2]=(c[h>>2]|0)+1}m=c[k>>2]|0;i=n;return m|0}while(1){if((c[h>>2]|0)>=64)break;do if((c[(c[f>>2]|0)+8+((c[h>>2]|0)*20|0)+16>>2]|0)!=0?(aW(c[g>>2]|0,(c[f>>2]|0)+8+((c[h>>2]|0)*20|0)|0)|0)!=0:0){c[l>>2]=NV(c[e>>2]|0,c[(c[f>>2]|0)+8+((c[h>>2]|0)*20|0)+16>>2]|0,c[g>>2]|0)|0;if(!(c[k>>2]|0)){c[k>>2]=c[l>>2];break}c[m>>2]=c[k>>2];while(1){if(!(c[c[m>>2]>>2]|0))break;c[m>>2]=c[c[m>>2]>>2]}c[c[m>>2]>>2]=c[l>>2]}while(0);c[h>>2]=(c[h>>2]|0)+1}m=c[k>>2]|0;i=n;return m|0}function OV(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+96|0;if((i|0)>=(j|0))ba();n=v+84|0;k=v+80|0;l=v+76|0;o=v+72|0;m=v+68|0;g=v+64|0;t=v+60|0;s=v+56|0;r=v+36|0;u=v+32|0;p=v+16|0;q=v;c[n>>2]=a;c[k>>2]=b;c[l>>2]=d;c[o>>2]=e;c[m>>2]=f;c[s>>2]=0;c[u>>2]=0;if(!((c[k>>2]|0)!=0&(c[o>>2]|0)!=0))db(176520,176314,247,176348);if((c[m>>2]|0)<0)db(176360,176314,248,176348);if((c[m>>2]|0)>(c[(c[c[o>>2]>>2]|0)+4>>2]|0))db(176360,176314,248,176348);c[g>>2]=0;while(1){if((c[g>>2]|0)>=2)break;if((c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0)>(c[(c[k>>2]|0)+(2+(c[g>>2]|0)<<2)>>2]|0)){h=9;break}c[g>>2]=(c[g>>2]|0)+1}if((h|0)==9)db(176395,176314,250,176348);do if(c[(c[n>>2]|0)+1912>>2]|0){d=c[n>>2]|0;if(c[(c[n>>2]|0)+1908>>2]|0){h=d+1924|0;c[h>>2]=(c[h>>2]|0)+1;break}else{h=d+1916|0;c[h>>2]=(c[h>>2]|0)+1;break}}while(0);if(!(c[(c[n>>2]|0)+1908>>2]|0)){h=(c[n>>2]|0)+1964|0;c[h>>2]=(c[h>>2]|0)+1}if(!(QV(c[n>>2]|0,c[k>>2]|0,c[l>>2]|0,c[c[o>>2]>>2]|0,s,c[m>>2]|0)|0)){u=c[u>>2]|0;i=v;return u|0}do if(c[(c[n>>2]|0)+1912>>2]|0){d=c[n>>2]|0;if(c[(c[n>>2]|0)+1908>>2]|0){m=d+1948|0;c[m>>2]=(c[m>>2]|0)+1;break}else{m=d+1944|0;c[m>>2]=(c[m>>2]|0)+1;break}}while(0);c[t>>2]=RV(c[n>>2]|0)|0;m=(c[n>>2]|0)+1976|0;c[m>>2]=(c[m>>2]|0)+1;c[(c[t>>2]|0)+4>>2]=(c[(c[c[o>>2]>>2]|0)+4>>2]|0)+1;UV(p,c[c[o>>2]>>2]|0);c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];c[r+16>>2]=c[c[o>>2]>>2];WV(c[n>>2]|0,r,c[t>>2]|0,0)|0;UV(q,c[s>>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];c[r+16>>2]=c[s>>2];WV(c[n>>2]|0,r,c[t>>2]|0,0)|0;c[c[o>>2]>>2]=c[t>>2];t=(c[n>>2]|0)+1980|0;c[t>>2]=(c[t>>2]|0)+2;c[u>>2]=1;u=c[u>>2]|0;i=v;return u|0}function PV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;a=(c[(c[e>>2]|0)+4>>2]|0)>0;c[f>>2]=0;if(!a){while(1){if((c[f>>2]|0)>=64)break;if((c[(c[e>>2]|0)+8+((c[f>>2]|0)*20|0)+16>>2]|0)!=0?(XV(c[e>>2]|0,c[f>>2]|0),a=(c[d>>2]|0)+1980|0,c[a>>2]=(c[a>>2]|0)+-1,(c[(c[d>>2]|0)+1912>>2]|0)!=0):0){a=(c[d>>2]|0)+1936|0;c[a>>2]=(c[a>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}i=g;return 0}while(1){if((c[f>>2]|0)>=64)break;if(((c[(c[e>>2]|0)+8+((c[f>>2]|0)*20|0)+16>>2]|0)!=0?(PV(c[d>>2]|0,c[(c[e>>2]|0)+8+((c[f>>2]|0)*20|0)+16>>2]|0)|0)==0:0)?(B1(c[(c[e>>2]|0)+8+((c[f>>2]|0)*20|0)+16>>2]|0),XV(c[e>>2]|0,c[f>>2]|0),a=(c[d>>2]|0)+1980|0,c[a>>2]=(c[a>>2]|0)+-1,(c[(c[d>>2]|0)+1912>>2]|0)!=0):0){a=(c[d>>2]|0)+1936|0;c[a>>2]=(c[a>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}i=g;return 0}function QV(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,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;w=i;i=i+112|0;if((i|0)>=(j|0))ba();l=w+100|0;m=w+96|0;n=w+92|0;h=w+88|0;o=w+84|0;p=w+80|0;k=w+76|0;u=w+72|0;t=w+52|0;v=w+48|0;q=w+32|0;r=w+16|0;s=w;c[m>>2]=a;c[n>>2]=b;c[h>>2]=d;c[o>>2]=e;c[p>>2]=f;c[k>>2]=g;c[u>>2]=0;c[v>>2]=0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0&(c[p>>2]|0)!=0))db(176438,176314,311,176452);if((c[k>>2]|0)<0)db(176465,176314,312,176452);if((c[k>>2]|0)>(c[(c[o>>2]|0)+4>>2]|0))db(176465,176314,312,176452);do if(c[(c[m>>2]|0)+1912>>2]|0){d=c[m>>2]|0;if(c[(c[m>>2]|0)+1908>>2]|0){a=d+1948|0;c[a>>2]=(c[a>>2]|0)+1;break}else{a=d+1944|0;c[a>>2]=(c[a>>2]|0)+1;break}}while(0);if((c[(c[o>>2]|0)+4>>2]|0)<=(c[k>>2]|0)){if((c[(c[o>>2]|0)+4>>2]|0)!=(c[k>>2]|0))db(176497,176314,341,176452);v=c[n>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[h>>2];v=(c[m>>2]|0)+1980|0;c[v>>2]=(c[v>>2]|0)+1;c[l>>2]=WV(c[m>>2]|0,t,c[o>>2]|0,c[p>>2]|0)|0;v=c[l>>2]|0;i=w;return v|0}c[u>>2]=VV(c[n>>2]|0,c[o>>2]|0)|0;k=(QV(c[m>>2]|0,c[n>>2]|0,c[h>>2]|0,c[(c[o>>2]|0)+8+((c[u>>2]|0)*20|0)+16>>2]|0,v,c[k>>2]|0)|0)!=0;d=(c[o>>2]|0)+8+((c[u>>2]|0)*20|0)|0;if(k){UV(r,c[(c[o>>2]|0)+8+((c[u>>2]|0)*20|0)+16>>2]|0);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];c[t+16>>2]=c[v>>2];UV(s,c[v>>2]|0);c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];v=(c[m>>2]|0)+1980|0;c[v>>2]=(c[v>>2]|0)+1;c[l>>2]=WV(c[m>>2]|0,t,c[o>>2]|0,c[p>>2]|0)|0;v=c[l>>2]|0;i=w;return v|0}else{$V(q,c[n>>2]|0,(c[o>>2]|0)+8+((c[u>>2]|0)*20|0)|0);c[d>>2]=c[q>>2];c[d+4>>2]=c[q+4>>2];c[d+8>>2]=c[q+8>>2];c[d+12>>2]=c[q+12>>2];c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}return 0}function RV(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;a=(c[e>>2]|0)+1968|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=A1(1288)|0;SV(c[d>>2]|0);i=b;return c[d>>2]|0}function SV(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+4>>2]=-1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=64)break;TV((c[b>>2]|0)+8+((c[d>>2]|0)*20|0)|0);c[d>>2]=(c[d>>2]|0)+1}i=e;return}function TV(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;YV(c[d>>2]|0);c[(c[d>>2]|0)+16>>2]=0;i=b;return}function UV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+48|0;if((i|0)>=(j|0))ba();d=k+40|0;g=k+36|0;f=k+32|0;h=k+16|0;e=k;c[d>>2]=b;if(!(c[d>>2]|0))db(176697,176503,99,176510);YV(h);c[f>>2]=1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=64)break;do if(c[(c[d>>2]|0)+8+((c[g>>2]|0)*20|0)+16>>2]|0){b=(c[d>>2]|0)+8+((c[g>>2]|0)*20|0)|0;if(c[f>>2]|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];c[f>>2]=0;break}else{$V(e,h,b);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];break}}while(0);c[g>>2]=(c[g>>2]|0)+1}c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2];i=k;return}function VV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+80|0;if((i|0)>=(j|0))ba();d=r+68|0;e=r+64|0;q=r+60|0;n=r+56|0;m=r+52|0;o=r+48|0;l=r+44|0;g=r+40|0;k=r+36|0;h=r+32|0;p=r+16|0;f=r;c[d>>2]=a;c[e>>2]=b;c[q>>2]=0;c[n>>2]=0;c[m>>2]=1;c[o>>2]=0;c[l>>2]=0;c[g>>2]=0;c[k>>2]=0;c[h>>2]=0;if(!((c[d>>2]|0)!=0&(c[e>>2]|0)!=0))db(176520,176503,125,176527);c[n>>2]=0;while(1){if((c[n>>2]|0)>=64)break;do if(c[(c[e>>2]|0)+8+((c[n>>2]|0)*20|0)+16>>2]|0){c[q>>2]=(c[e>>2]|0)+8+((c[n>>2]|0)*20|0);c[g>>2]=_V(c[q>>2]|0)|0;$V(f,c[d>>2]|0,c[q>>2]|0);c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];a=_V(p)|0;c[o>>2]=a-(c[g>>2]|0);if((c[m>>2]|0)!=0?1:(c[o>>2]|0)<(c[l>>2]|0)){c[h>>2]=c[n>>2];c[k>>2]=c[g>>2];c[l>>2]=c[o>>2];c[m>>2]=0;break}if((c[o>>2]|0)==(c[l>>2]|0)?(c[g>>2]|0)<(c[k>>2]|0):0){c[h>>2]=c[n>>2];c[k>>2]=c[g>>2];c[l>>2]=c[o>>2]}}while(0);c[n>>2]=(c[n>>2]|0)+1}i=r;return c[h>>2]|0}function WV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();m=o+20|0;f=o+16|0;l=o+12|0;n=o+8|0;g=o+4|0;h=o;c[f>>2]=a;c[l>>2]=b;c[n>>2]=d;c[g>>2]=e;if(!(c[l>>2]|0))db(176719,176503,167,176538);if(!(c[n>>2]|0))db(176697,176503,168,176538);if((c[c[n>>2]>>2]|0)<64){c[h>>2]=0;while(1){if((c[h>>2]|0)>=64)break;b=c[h>>2]|0;if(!(c[(c[n>>2]|0)+8+((c[h>>2]|0)*20|0)+16>>2]|0)){k=9;break}c[h>>2]=b+1}if((k|0)==9){k=(c[n>>2]|0)+8+(b*20|0)|0;l=c[l>>2]|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];c[k+16>>2]=c[l+16>>2];n=c[n>>2]|0;c[n>>2]=(c[n>>2]|0)+1}if((c[h>>2]|0)>=64)db(176548,176503,178,176538);c[m>>2]=0;n=c[m>>2]|0;i=o;return n|0}do if(c[(c[f>>2]|0)+1912>>2]|0){b=c[f>>2]|0;if(c[(c[f>>2]|0)+1908>>2]|0){k=b+1948|0;c[k>>2]=(c[k>>2]|0)+1;break}else{k=b+1944|0;c[k>>2]=(c[k>>2]|0)+1;break}}while(0);if(!(c[g>>2]|0))db(176561,176503,187,176538);bW(c[f>>2]|0,c[n>>2]|0,c[l>>2]|0,c[g>>2]|0);b=c[f>>2]|0;if(!(c[(c[n>>2]|0)+4>>2]|0)){n=b+1972|0;c[n>>2]=(c[n>>2]|0)+1}else{n=b+1976|0;c[n>>2]=(c[n>>2]|0)+1}c[m>>2]=1;n=c[m>>2]|0;i=o;return n|0}function XV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0&(c[e>>2]|0)>=0&(c[e>>2]|0)<64))db(176565,176503,201,176593);if(c[(c[d>>2]|0)+8+((c[e>>2]|0)*20|0)+16>>2]|0){TV((c[d>>2]|0)+8+((c[e>>2]|0)*20|0)|0);a=c[d>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;i=f;return}else db(177120,176503,202,176593)}function YV(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=4)break;c[(c[b>>2]|0)+(c[d>>2]<<2)>>2]=0;c[d>>2]=(c[d>>2]|0)+1}i=e;return}function ZV(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();d=e+8|0;b=e;c[d>>2]=1;c[d+8>>2]=-1;c[b>>2]=1;while(1){if((c[b>>2]|0)>=2)break;c[d+((c[b>>2]|0)+2<<2)>>2]=0;c[d+(c[b>>2]<<2)>>2]=0;c[b>>2]=(c[b>>2]|0)+1}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];i=e;return}function _V(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l+8|0;h=l+24|0;b=l+20|0;g=l+16|0;f=l+12|0;e=l;c[b>>2]=a;if(!(c[b>>2]|0))db(176606,176608,130,176620);if((c[c[b>>2]>>2]|0)>(c[(c[b>>2]|0)+8>>2]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[f>>2]=1;c[g>>2]=0;while(1){d=c[f>>2]|0;if((c[g>>2]|0)>=2){a=10;break}a=_(d,c[(c[b>>2]|0)+((c[g>>2]|0)+2<<2)>>2]|0)|0;d=e;c[d>>2]=a-(c[(c[b>>2]|0)+(c[g>>2]<<2)>>2]|0);c[d+4>>2]=0;d=e;a=c[d+4>>2]|0;if((a|0)>0|(a|0)==0&(c[d>>2]|0)>>>0>4294967295){a=8;break}c[f>>2]=c[e>>2];c[g>>2]=(c[g>>2]|0)+1}if((a|0)==8){pA(1,176629,k)|0;c[h>>2]=-1;k=c[h>>2]|0;i=l;return k|0}else if((a|0)==10){c[h>>2]=d;k=c[h>>2]|0;i=l;return k|0}return 0}function $V(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+28|0;f=l+24|0;g=l+20|0;h=l+16|0;k=l;c[e>>2]=b;c[f>>2]=d;if(!((c[e>>2]|0)!=0&(c[f>>2]|0)!=0))db(176662,176608,197,176670);b=c[f>>2]|0;if((c[c[e>>2]>>2]|0)>(c[(c[e>>2]|0)+8>>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];i=l;return}if((c[b>>2]|0)>(c[(c[f>>2]|0)+8>>2]|0)){k=c[e>>2]|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];i=l;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=2)break;b=c[g>>2]|0;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)<(c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0))b=c[(c[e>>2]|0)+(b<<2)>>2]|0;else b=c[(c[f>>2]|0)+(b<<2)>>2]|0;c[k+(c[g>>2]<<2)>>2]=b;c[h>>2]=(c[g>>2]|0)+2;b=c[h>>2]|0;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>(c[(c[f>>2]|0)+(c[h>>2]<<2)>>2]|0))b=c[(c[e>>2]|0)+(b<<2)>>2]|0;else b=c[(c[f>>2]|0)+(b<<2)>>2]|0;c[k+(c[h>>2]<<2)>>2]=b;c[g>>2]=(c[g>>2]|0)+1}c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];i=l;return}function aW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();h=k+16|0;d=k+12|0;e=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0&(c[e>>2]|0)!=0))db(176682,176608,218,176689);c[f>>2]=0;while(1){if((c[f>>2]|0)>=2){d=9;break}c[g>>2]=(c[f>>2]|0)+2;if((c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)){d=7;break}if((c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0)>(c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)){d=7;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==7){c[h>>2]=0;h=c[h>>2]|0;i=k;return h|0}else if((d|0)==9){c[h>>2]=1;h=c[h>>2]|0;i=k;return h|0}return 0}function bW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();f=p+24|0;h=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[f>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[h>>2]|0))db(176697,176699,40,176709);if(!(c[k>>2]|0))db(176719,176699,41,176709);do if(c[(c[f>>2]|0)+1912>>2]|0){d=c[f>>2]|0;if(c[(c[f>>2]|0)+1908>>2]|0){a=d+1932|0;c[a>>2]=(c[a>>2]|0)+1;break}else{a=d+1928|0;c[a>>2]=(c[a>>2]|0)+1;break}}while(0);c[n>>2]=c[(c[h>>2]|0)+4>>2];cW(c[f>>2]|0,c[h>>2]|0,c[k>>2]|0);c[o>>2]=(c[f>>2]|0)+4+1320;dW(c[f>>2]|0);k=_V((c[o>>2]|0)+528|0)|0;c[m>>2]=k+(_V((c[o>>2]|0)+528+16|0)|0);if((c[(c[f>>2]|0)+1912>>2]|0)!=0?((c[m>>2]|0)!=0?(c[(c[f>>2]|0)+1908>>2]|0)==0:0):0){k=(c[f>>2]|0)+1960|0;g[k>>2]=+g[k>>2]+ +((c[(c[f>>2]|0)+4+1316>>2]|0)>>>0)/+(c[m>>2]|0)}m=RV(c[f>>2]|0)|0;c[c[l>>2]>>2]=m;n=c[n>>2]|0;c[(c[h>>2]|0)+4>>2]=n;c[(c[c[l>>2]>>2]|0)+4>>2]=n;eW(c[f>>2]|0,c[h>>2]|0,c[c[l>>2]>>2]|0,c[o>>2]|0);if(((c[c[h>>2]>>2]|0)+(c[c[c[l>>2]>>2]>>2]|0)|0)==65){i=p;return}else db(176721,176699,86,176709)}function cW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();g=m+28|0;h=m+24|0;e=m+20|0;l=m+16|0;k=m;c[g>>2]=a;c[h>>2]=b;c[e>>2]=d;if(!(c[h>>2]|0))db(176697,176699,106,177108);if(!(c[e>>2]|0))db(176719,176699,107,177108);c[l>>2]=0;while(1){if((c[l>>2]|0)>=64)break;if(!(c[(c[h>>2]|0)+8+((c[l>>2]|0)*20|0)+16>>2]|0)){f=8;break}a=(c[g>>2]|0)+4+((c[l>>2]|0)*20|0)|0;b=(c[h>>2]|0)+8+((c[l>>2]|0)*20|0)|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[a+16>>2]=c[b+16>>2];c[l>>2]=(c[l>>2]|0)+1}if((f|0)==8)db(177120,176699,111,177108);f=(c[g>>2]|0)+4+1280|0;a=c[e>>2]|0;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];c[f+16>>2]=c[a+16>>2];f=(c[g>>2]|0)+4+1300|0;a=(c[g>>2]|0)+4|0;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];c[l>>2]=1;while(1){e=(c[g>>2]|0)+4+1300|0;if((c[l>>2]|0)>=65)break;$V(k,(c[g>>2]|0)+4+1300|0,(c[g>>2]|0)+4+((c[l>>2]|0)*20|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];c[l>>2]=(c[l>>2]|0)+1}l=_V(e)|0;c[(c[g>>2]|0)+4+1316>>2]=l;SV(c[h>>2]|0);i=m;return}function dW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+96|0;if((i|0)>=(j|0))ba();b=r+84|0;p=r+80|0;o=r+76|0;m=r+72|0;n=r+68|0;k=r+64|0;g=r+60|0;l=r+56|0;h=r+52|0;f=r+48|0;q=r+32|0;d=r+16|0;e=r;c[b>>2]=a;fW(c[b>>2]|0);gW(c[b>>2]|0);while(1){if(((c[(c[b>>2]|0)+4+1320+520>>2]|0)+(c[(c[b>>2]|0)+4+1320+520+4>>2]|0)|0)>=65)break;if((c[(c[b>>2]|0)+4+1320+520>>2]|0)>=(65-(c[(c[b>>2]|0)+1892>>2]|0)|0))break;if((c[(c[b>>2]|0)+4+1320+520+4>>2]|0)>=(65-(c[(c[b>>2]|0)+1892>>2]|0)|0))break;c[g>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=65)break;do if(!(c[(c[b>>2]|0)+4+1320+260+(c[o>>2]<<2)>>2]|0)){c[p>>2]=(c[b>>2]|0)+4+((c[o>>2]|0)*20|0);$V(d,c[p>>2]|0,(c[b>>2]|0)+4+1320+528|0);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];a=_V(q)|0;c[m>>2]=a-(c[(c[b>>2]|0)+4+1320+560>>2]|0);$V(e,c[p>>2]|0,(c[b>>2]|0)+4+1320+528+16|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];a=_V(q)|0;c[n>>2]=a-(c[(c[b>>2]|0)+4+1320+560+4>>2]|0);c[k>>2]=(c[n>>2]|0)-(c[m>>2]|0);if((c[k>>2]|0)>=0)c[l>>2]=0;else{c[l>>2]=1;c[k>>2]=0-(c[k>>2]|0)}a=c[k>>2]|0;if((c[k>>2]|0)>(c[g>>2]|0)){c[g>>2]=a;c[h>>2]=c[o>>2];c[f>>2]=c[l>>2];break}if((a|0)==(c[g>>2]|0)?(c[(c[b>>2]|0)+4+1320+520+(c[l>>2]<<2)>>2]|0)<(c[(c[b>>2]|0)+4+1320+520+(c[f>>2]<<2)>>2]|0):0){c[h>>2]=c[o>>2];c[f>>2]=c[l>>2]}}while(0);c[o>>2]=(c[o>>2]|0)+1}hW(c[b>>2]|0,c[h>>2]|0,c[f>>2]|0)}a:do if(((c[(c[b>>2]|0)+4+1320+520>>2]|0)+(c[(c[b>>2]|0)+4+1320+520+4>>2]|0)|0)<65){c[l>>2]=0;if((c[(c[b>>2]|0)+4+1320+520>>2]|0)>=(65-(c[(c[b>>2]|0)+1892>>2]|0)|0))c[l>>2]=1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=65)break a;if(!(c[(c[b>>2]|0)+4+1320+260+(c[o>>2]<<2)>>2]|0))hW(c[b>>2]|0,c[o>>2]|0,c[l>>2]|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if(((c[(c[b>>2]|0)+4+1320+520>>2]|0)+(c[(c[b>>2]|0)+4+1320+520+4>>2]|0)|0)!=65)db(176864,176699,210,176950);if((c[(c[b>>2]|0)+4+1320+520>>2]|0)<(c[(c[b>>2]|0)+1892>>2]|0))db(176961,176699,212,176950);if((c[(c[b>>2]|0)+4+1320+520+4>>2]|0)>=(c[(c[b>>2]|0)+1892>>2]|0)){i=r;return}else db(176961,176699,212,176950)}function eW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0))db(176697,176699,297,176761);if(!(c[h>>2]|0))db(176771,176699,298,176761);if(!(c[k>>2]|0))db(176773,176699,299,176761);c[l>>2]=0;while(1){if((c[l>>2]|0)>=65){f=17;break}if((c[(c[f>>2]|0)+4+1320+(c[l>>2]<<2)>>2]|0)!=0?(c[(c[f>>2]|0)+4+1320+(c[l>>2]<<2)>>2]|0)!=1:0){f=11;break}if(c[(c[f>>2]|0)+4+1320+(c[l>>2]<<2)>>2]|0){if((c[(c[f>>2]|0)+4+1320+(c[l>>2]<<2)>>2]|0)==1)WV(c[f>>2]|0,(c[f>>2]|0)+4+((c[l>>2]|0)*20|0)|0,c[h>>2]|0,0)|0}else WV(c[f>>2]|0,(c[f>>2]|0)+4+((c[l>>2]|0)*20|0)|0,c[g>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+1}if((f|0)==11)db(176775,176699,303,176761);else if((f|0)==17){i=m;return}}function fW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();b=e+20|0;d=e+16|0;g=e;c[b>>2]=a;c[(c[b>>2]|0)+4+1320+520+4>>2]=0;c[(c[b>>2]|0)+4+1320+520>>2]=0;a=(c[b>>2]|0)+4+1320+528|0;f=(c[b>>2]|0)+4+1320+528+16|0;ZV(g);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[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[(c[b>>2]|0)+4+1320+560+4>>2]=0;c[(c[b>>2]|0)+4+1320+560>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=65)break;c[(c[b>>2]|0)+4+1320+260+(c[d>>2]<<2)>>2]=0;c[(c[b>>2]|0)+4+1320+(c[d>>2]<<2)>>2]=-1;c[d>>2]=(c[d>>2]|0)+1}i=e;return}function gW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+320|0;if((i|0)>=(j|0))ba();b=o+316|0;f=o+312|0;g=o+308|0;m=o+304|0;n=o+300|0;k=o+296|0;l=o+292|0;e=o+32|0;h=o+16|0;d=o;c[b>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=65)break;a=_V((c[b>>2]|0)+4+((c[f>>2]|0)*20|0)|0)|0;c[e+(c[f>>2]<<2)>>2]=a;c[f>>2]=(c[f>>2]|0)+1}c[n>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=64)break;c[g>>2]=(c[f>>2]|0)+1;while(1){a=c[f>>2]|0;if((c[g>>2]|0)>=65)break;$V(d,(c[b>>2]|0)+4+(a*20|0)|0,(c[b>>2]|0)+4+((c[g>>2]|0)*20|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];a=_V(h)|0;c[m>>2]=a-(c[e+(c[f>>2]<<2)>>2]|0)-(c[e+(c[g>>2]<<2)>>2]|0);if((c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0){c[n>>2]=c[m>>2];c[k>>2]=c[f>>2];c[l>>2]=c[g>>2]}c[g>>2]=(c[g>>2]|0)+1}c[f>>2]=a+1}hW(c[b>>2]|0,c[k>>2]|0,0);hW(c[b>>2]|0,c[l>>2]|0,1);i=o;return}function hW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+24|0;e=k+20|0;g=k+16|0;h=k;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4+1320+260+(c[e>>2]<<2)>>2]|0)db(177064,176699,257,177099);c[(c[f>>2]|0)+4+1320+(c[e>>2]<<2)>>2]=c[g>>2];c[(c[f>>2]|0)+4+1320+260+(c[e>>2]<<2)>>2]=1;d=(c[f>>2]|0)+4+1320+528+(c[g>>2]<<4)|0;b=(c[f>>2]|0)+4+((c[e>>2]|0)*20|0)|0;if(!(c[(c[f>>2]|0)+4+1320+520+(c[g>>2]<<2)>>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]}else{$V(h,b,(c[f>>2]|0)+4+1320+528+(c[g>>2]<<4)|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]}h=_V((c[f>>2]|0)+4+1320+528+(c[g>>2]<<4)|0)|0;c[(c[f>>2]|0)+4+1320+560+(c[g>>2]<<2)>>2]=h;h=(c[f>>2]|0)+4+1320+520+(c[g>>2]<<2)|0;c[h>>2]=(c[h>>2]|0)+1;i=k;return}function iW(){var e=0,f=0,g=0,h=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;A=i;i=i+1280|0;if((i|0)>=(j|0))ba();p=A+868|0;f=A+864|0;w=A+872|0;v=A+860|0;x=A+856|0;r=A+48|0;z=A+44|0;o=A+40|0;g=A+36|0;u=A+32|0;y=A+28|0;q=A+24|0;t=A+20|0;m=A+16|0;n=A+12|0;l=A+8|0;h=A+4|0;k=A;c[t>>2]=0;c[y>>2]=0;c[v>>2]=w;c[r>>2]=A+56;c[o>>2]=200;c[p>>2]=0;c[f>>2]=0;c[22927]=0;c[22928]=-2;c[x>>2]=c[v>>2];c[z>>2]=c[r>>2];a:while(1){b[c[x>>2]>>1]=c[p>>2];if(((c[v>>2]|0)+(c[o>>2]<<1)+-2|0)>>>0<=(c[x>>2]|0)>>>0){c[m>>2]=(((c[x>>2]|0)-(c[v>>2]|0)|0)/2|0)+1;if(1e4<=(c[o>>2]|0)>>>0){s=108;break}e=c[o>>2]<<1;c[o>>2]=e;c[o>>2]=1e4<(c[o>>2]|0)>>>0?1e4:e;c[n>>2]=c[v>>2];c[l>>2]=A1(((c[o>>2]|0)*6|0)+3|0)|0;if(!(c[l>>2]|0)){s=108;break}n5(c[l>>2]|0,c[v>>2]|0,c[m>>2]<<1|0)|0;c[v>>2]=c[l>>2];c[h>>2]=(c[o>>2]<<1)+3;c[l>>2]=(c[l>>2]|0)+((((c[h>>2]|0)>>>0)/4|0)<<2);n5(c[l>>2]|0,c[r>>2]|0,c[m>>2]<<2|0)|0;c[r>>2]=c[l>>2];c[k>>2]=(c[o>>2]<<2)+3;c[l>>2]=(c[l>>2]|0)+((((c[k>>2]|0)>>>0)/4|0)<<2);if((c[n>>2]|0)!=(w|0))B1(c[n>>2]|0);c[x>>2]=(c[v>>2]|0)+(c[m>>2]<<1)+-2;c[z>>2]=(c[r>>2]|0)+(c[m>>2]<<2)+-4;if(((c[v>>2]|0)+(c[o>>2]<<1)+-2|0)>>>0<=(c[x>>2]|0)>>>0){s=107;break}}if((c[p>>2]|0)==31){s=106;break}c[g>>2]=b[103706+(c[p>>2]<<1)>>1];do if((c[g>>2]|0)!=-82){if((c[22928]|0)==-2)c[22928]=IW()|0;if((c[22928]|0)<=0){c[y>>2]=0;c[22928]=0}else{if((c[22928]|0)>>>0<=295)e=d[177139+(c[22928]|0)>>0]|0;else e=2;c[y>>2]=e}c[g>>2]=(c[g>>2]|0)+(c[y>>2]|0);if(!((c[g>>2]|0)<0|271<(c[g>>2]|0))?(a[177435+(c[g>>2]|0)>>0]|0)==(c[y>>2]|0):0){c[g>>2]=a[177707+(c[g>>2]|0)>>0];if((c[g>>2]|0)<=0){c[g>>2]=0-(c[g>>2]|0);s=26;break}if(c[f>>2]|0)c[f>>2]=(c[f>>2]|0)+-1;c[22928]=-2;c[p>>2]=c[g>>2];e=(c[z>>2]|0)+4|0;c[z>>2]=e;c[e>>2]=c[22929]}else s=25}else s=25;while(0);if((s|0)==25){s=0;c[g>>2]=d[177979+(c[p>>2]|0)>>0];if(!(c[g>>2]|0)){if((c[22928]|0)!=-2)if((c[22928]|0)>>>0<=295)e=d[177139+(c[22928]|0)>>0]|0;else e=2;else e=-2;c[y>>2]=e;if(!(c[f>>2]|0)){c[22927]=(c[22927]|0)+1;EW(180226)}do if((c[f>>2]|0)==3)if((c[22928]|0)<=0)if(!(c[22928]|0)){s=107;break a}else break;else{vW(178376,c[y>>2]|0,91716);c[22928]=-2;break}while(0);c[f>>2]=3;while(1){c[g>>2]=b[103706+(c[p>>2]<<1)>>1];if((((c[g>>2]|0)!=-82?(c[g>>2]=(c[g>>2]|0)+1,0<=(c[g>>2]|0)&(c[g>>2]|0)<=271):0)?(a[177435+(c[g>>2]|0)>>0]|0)==1:0)?(c[g>>2]=a[177707+(c[g>>2]|0)>>0],0<(c[g>>2]|0)):0)break;if((c[x>>2]|0)==(c[v>>2]|0)){s=107;break a}vW(178510,d[178394+(c[p>>2]|0)>>0]|0,c[z>>2]|0);c[z>>2]=(c[z>>2]|0)+-4;c[x>>2]=(c[x>>2]|0)+-2;c[p>>2]=b[c[x>>2]>>1]}e=(c[z>>2]|0)+4|0;c[z>>2]=e;c[e>>2]=c[22929];c[p>>2]=c[g>>2]}else s=26}do if((s|0)==26){s=0;c[t>>2]=d[178095+(c[g>>2]|0)>>0];c[q>>2]=c[(c[z>>2]|0)+(1-(c[t>>2]|0)<<2)>>2];do switch(c[g>>2]|0){case 4:{s=29;break a}case 2:{c[22930]=kW(c[(c[z>>2]|0)+-4>>2]|0,2)|0;break}case 3:{c[22930]=kW(c[(c[z>>2]|0)+-4>>2]|0,1)|0;break}case 5:{c[q>>2]=mW()|0;break}case 8:{nW(c[22934]|0);break}case 9:{oW(c[c[z>>2]>>2]|0);break}case 18:{pW(c[c[z>>2]>>2]|0);break}case 19:{qW();break}case 20:{pW(c[c[z>>2]>>2]|0);break}case 21:{qW();break}case 22:{pW(c[c[z>>2]>>2]|0);break}case 23:{qW();break}case 24:{pW(c[c[z>>2]>>2]|0);break}case 25:{qW();break}case 26:{pW(c[c[z>>2]>>2]|0);break}case 27:{qW();break}case 28:{pW(c[c[z>>2]>>2]|0);break}case 29:{qW();break}case 30:{pW(c[c[z>>2]>>2]|0);break}case 31:{qW();break}case 32:{pW(c[c[z>>2]>>2]|0);break}case 33:{qW();break}case 34:{c[q>>2]=c[(c[z>>2]|0)+-4>>2];break}case 35:{c[q>>2]=c[c[z>>2]>>2];break}case 38:{if((c[(c[22934]|0)+4>>2]|0)>>>0>=(c[(c[22934]|0)+8>>2]|0)>>>0)uA(c[22934]|0,1)|0;B=(c[22934]|0)+4|0;e=c[B>>2]|0;c[B>>2]=e+1;a[e>>0]=0;e=c[c[22934]>>2]|0;c[(c[22934]|0)+4>>2]=e;if(rW(e)|0){s=54;break a}c[(c[c[z>>2]>>2]|0)+80>>2]=c[22931];B=eA(91748,c[12987]|0)|0;c[(c[c[z>>2]>>2]|0)+80+4>>2]=B;c[22931]=c[c[z>>2]>>2];c[(c[c[z>>2]>>2]|0)+108>>2]=c[c[22935]>>2];c[q>>2]=c[c[z>>2]>>2];break}case 39:{if((c[(c[22934]|0)+4>>2]|0)>>>0>=(c[(c[22934]|0)+8>>2]|0)>>>0)uA(c[22934]|0,1)|0;e=(c[22934]|0)+4|0;B=c[e>>2]|0;c[e>>2]=B+1;a[B>>0]=0;B=c[c[22934]>>2]|0;c[(c[22934]|0)+4>>2]=B;if(rW(B)|0){s=59;break a}c[q>>2]=c[22931];c[22931]=c[(c[22931]|0)+80>>2];break}case 40:{c[q>>2]=c[c[z>>2]>>2];break}case 41:{c[q>>2]=c[(c[z>>2]|0)+-4>>2];break}case 42:{c[q>>2]=c[(c[z>>2]|0)+-4>>2];break}case 43:{c[q>>2]=c[(c[z>>2]|0)+-4>>2];break}case 44:{c[q>>2]=c[(c[z>>2]|0)+-4>>2];break}case 45:{c[q>>2]=c[(c[z>>2]|0)+-4>>2];break}case 48:{c[q>>2]=c[c[z>>2]>>2];break}case 49:{c[q>>2]=c[c[z>>2]>>2];break}case 50:{a[(c[(c[z>>2]|0)+-8>>2]|0)+12>>0]=1;c[q>>2]=c[c[z>>2]>>2];break}case 51:{sW()|0;break}case 52:{c[q>>2]=tW()|0;break}case 53:{c[q>>2]=c[c[z>>2]>>2];break}case 54:{c[q>>2]=c[c[z>>2]>>2];break}case 55:{B=(c[(c[z>>2]|0)+-8>>2]|0)+100|0;a[B>>0]=d[B>>0]|1;c[q>>2]=c[c[z>>2]>>2];break}case 56:{uW(c[(c[z>>2]|0)+-4>>2]|0,c[c[z>>2]>>2]|0,1);break}case 57:{c[q>>2]=c[(c[z>>2]|0)+-12>>2];break}case 58:{uW(c[(c[z>>2]|0)+-4>>2]|0,c[c[z>>2]>>2]|0,2);break}case 59:{c[q>>2]=c[(c[z>>2]|0)+-12>>2];break}case 60:{uW(c[(c[z>>2]|0)+-4>>2]|0,c[c[z>>2]>>2]|0,3);break}case 61:{c[q>>2]=c[(c[z>>2]|0)+-12>>2];break}case 62:{uW(c[c[z>>2]>>2]|0,mW()|0,2);break}case 63:{c[q>>2]=c[(c[z>>2]|0)+-8>>2];break}case 64:{c[q>>2]=c[(c[z>>2]|0)+-4>>2];break}case 65:{c[q>>2]=c[c[z>>2]>>2];break}default:{}}while(0);c[z>>2]=(c[z>>2]|0)+(0-(c[t>>2]|0)<<2);c[x>>2]=(c[x>>2]|0)+(0-(c[t>>2]|0)<<1);c[t>>2]=0;B=(c[z>>2]|0)+4|0;c[z>>2]=B;c[B>>2]=c[q>>2];c[g>>2]=d[178267+(c[g>>2]|0)>>0];c[p>>2]=(b[103938+((c[g>>2]|0)-41<<1)>>1]|0)+(b[c[x>>2]>>1]|0);if(0<=(c[p>>2]|0)&(c[p>>2]|0)<=271?(a[177435+(c[p>>2]|0)>>0]|0)==(b[c[x>>2]>>1]|0):0){c[p>>2]=a[177707+(c[p>>2]|0)>>0];break}c[p>>2]=a[178337+((c[g>>2]|0)-41)>>0]}while(0);c[x>>2]=(c[x>>2]|0)+2}if((s|0)==29){lW();s=107}else if((s|0)==54){EW(178165);lW();s=107}else if((s|0)==59){EW(178216);lW();s=107}else if((s|0)==106)c[u>>2]=0;else if((s|0)==108){EW(178525);c[u>>2]=2}if((s|0)==107)c[u>>2]=1;if((c[22928]|0)!=-2){if((c[22928]|0)>>>0<=295)e=d[177139+(c[22928]|0)>>0]|0;else e=2;c[y>>2]=e;vW(178542,c[y>>2]|0,91716)}c[z>>2]=(c[z>>2]|0)+(0-(c[t>>2]|0)<<2);c[x>>2]=(c[x>>2]|0)+(0-(c[t>>2]|0)<<1);while(1){if((c[x>>2]|0)==(c[v>>2]|0))break;vW(178572,d[178394+(b[c[x>>2]>>1]|0)>>0]|0,c[z>>2]|0);c[z>>2]=(c[z>>2]|0)+-4;c[x>>2]=(c[x>>2]|0)+-2}if((c[v>>2]|0)==(w|0)){B=c[u>>2]|0;i=A;return B|0}B1(c[v>>2]|0);B=c[u>>2]|0;i=A;return B|0}function jW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;h=i;i=i+176|0;if((i|0)>=(j|0))ba();l=h+40|0;e=h+36|0;k=h+32|0;g=h+16|0;f=h+8|0;m=h;c[l>>2]=a;c[e>>2]=b;c[k>>2]=d;c[m>>2]=0;c[m+4>>2]=0;c[22935]=m;c[22931]=0;c[22930]=0;c[22936]=c[(c[(c[(c[k>>2]|0)+52>>2]|0)+8>>2]|0)+144>>2];c[22932]=eA(91784,c[12987]|0)|0;c[22933]=eA(91820,c[12987]|0)|0;tA(g,128,h+48|0);c[22934]=g;if(GW(c[l>>2]|0,g,c[k>>2]|0)|0){c[c[e>>2]>>2]=2;c[f>>2]=0;m=c[22932]|0;aA(m)|0;m=c[22933]|0;aA(m)|0;c[22932]=0;c[22933]=0;c[22935]=0;xA(g);m=c[f>>2]|0;i=h;return m|0}else{iW()|0;m=HW()|0;c[c[e>>2]>>2]=m;c[f>>2]=c[22930];m=c[22932]|0;aA(m)|0;m=c[22933]|0;aA(m)|0;c[22932]=0;c[22933]=0;c[22935]=0;xA(g);m=c[f>>2]|0;i=h;return m|0}return 0}function kW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();h=f+8|0;g=f+4|0;e=f;c[h>>2]=b;c[g>>2]=d;c[e>>2]=qK(8)|0;a[(c[e>>2]|0)+4>>0]=c[g>>2];d=c[h>>2]|0;if((c[g>>2]|0)==2){c[c[e>>2]>>2]=d;h=c[e>>2]|0;i=f;return h|0}else{c[c[e>>2]>>2]=d;h=c[e>>2]|0;i=f;return h|0}return 0}function lW(){var a=0,b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d+4|0;a=d;c[b>>2]=c[22931];if(c[22930]|0){OT(c[22930]|0,1);c[22930]=0}c[22968]=65;while(1){if(!(c[b>>2]|0))break;c[a>>2]=c[(c[b>>2]|0)+80>>2];zW(c[b>>2]|0);c[b>>2]=c[a>>2]}c[22968]=53;c[22950]=66;$b[c[c[91728>>2]>>2]&63](c[22932]|0,0,64)|0;c[22950]=53;c[22959]=67;$b[c[c[91732>>2]>>2]&63](c[22933]|0,0,64)|0;c[22959]=53;CW();i=d;return}function mW(){var a=0,d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();a=h+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[g>>2]=c[22933];c[e>>2]=qK(40)|0;if(gA(c[22932]|0)|0)oW(0);c[a>>2]=gA(c[g>>2]|0)|0;b[(c[e>>2]|0)+4>>1]=c[a>>2];if(!(c[a>>2]|0)){f=c[g>>2]|0;f=c[f>>2]|0;g=c[g>>2]|0;$b[f&63](g,0,64)|0;g=c[e>>2]|0;i=h;return g|0}c[f>>2]=0;a=qK((c[a>>2]|0)*24|0)|0;c[c[e>>2]>>2]=a;c[d>>2]=$b[c[c[g>>2]>>2]&63](c[g>>2]|0,0,128)|0;while(1){if(!(c[d>>2]|0))break;a=(c[c[e>>2]>>2]|0)+((c[f>>2]|0)*24|0)|0;k=(c[d>>2]|0)+8|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];c[a+16>>2]=c[k+16>>2];c[a+20>>2]=c[k+20>>2];c[f>>2]=(c[f>>2]|0)+1;c[d>>2]=$b[c[c[g>>2]>>2]&63](c[g>>2]|0,c[d>>2]|0,8)|0}f=c[g>>2]|0;f=c[f>>2]|0;k=c[g>>2]|0;$b[f&63](k,0,64)|0;k=c[e>>2]|0;i=h;return k|0}function nW(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=qK(64)|0;if((c[(c[d>>2]|0)+4>>2]|0)>>>0>=(c[(c[d>>2]|0)+8>>2]|0)>>>0)uA(c[d>>2]|0,1)|0;g=(c[d>>2]|0)+4|0;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=0;b=c[c[d>>2]>>2]|0;c[(c[d>>2]|0)+4>>2]=b;b=d4(b)|0;c[(c[e>>2]|0)+8>>2]=b;c[(c[e>>2]|0)+8+4>>2]=c[c[22935]>>2];$b[c[c[91728>>2]>>2]&63](c[22932]|0,c[e>>2]|0,1)|0;i=f;return}function oW(d){d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+20|0;e=m+16|0;l=m+12|0;g=m+8|0;k=m+4|0;h=m;c[f>>2]=d;c[l>>2]=qK(32)|0;c[k>>2]=c[22932];c[e>>2]=gA(c[k>>2]|0)|0;a[(c[l>>2]|0)+8+6>>0]=c[f>>2];if(!(c[e>>2]|0)){g=qK(56)|0;c[(c[l>>2]|0)+8>>2]=g;b[(c[l>>2]|0)+8+4>>1]=1;g=d4(178598)|0;c[c[(c[l>>2]|0)+8>>2]>>2]=g;c[(c[(c[l>>2]|0)+8>>2]|0)+4>>2]=c[c[22935]>>2];g=c[k>>2]|0;g=c[g>>2]|0;h=c[k>>2]|0;$b[g&63](h,0,64)|0;h=c[22933]|0;h=c[h>>2]|0;k=c[22933]|0;l=c[l>>2]|0;$b[h&63](k,l,1)|0;i=m;return}c[h>>2]=0;b[(c[l>>2]|0)+8+4>>1]=c[e>>2];f=qK((c[e>>2]|0)*56|0)|0;c[(c[l>>2]|0)+8>>2]=f;c[g>>2]=cA(c[k>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;d=(c[(c[l>>2]|0)+8>>2]|0)+((c[h>>2]|0)*56|0)|0;e=(c[g>>2]|0)+8|0;f=d+56|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));c[h>>2]=(c[h>>2]|0)+1;c[g>>2]=c[c[g>>2]>>2]}g=c[k>>2]|0;g=c[g>>2]|0;h=c[k>>2]|0;$b[g&63](h,0,64)|0;h=c[22933]|0;h=c[h>>2]|0;k=c[22933]|0;l=c[l>>2]|0;$b[h&63](k,l,1)|0;i=m;return}function pW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+48|0;if((i|0)>=(j|0))ba();g=f+40|0;e=f+36|0;b=f+32|0;d=f;c[g>>2]=a;c[e>>2]=qK(8)|0;c[b>>2]=c[c[22935]>>2];a=c[g>>2]|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[d+16>>2]=c[a+16>>2];c[d+20>>2]=c[a+20>>2];c[d+24>>2]=c[a+24>>2];c[d+28>>2]=c[a+28>>2];if(c[b>>2]|0){if((c[d+4>>2]|0)==0?(c[(c[b>>2]|0)+4>>2]|0)!=0:0)c[d+4>>2]=c[(c[b>>2]|0)+4>>2];if(+h[d+16>>3]<0.0?+h[(c[b>>2]|0)+16>>3]>=0.0:0)h[d+16>>3]=+h[(c[b>>2]|0)+16>>3];if((c[d>>2]|0)==0?(c[c[b>>2]>>2]|0)!=0:0)c[d>>2]=c[c[b>>2]>>2];if(c[(c[b>>2]|0)+24>>2]&127){g=d+24|0;c[g>>2]=c[g>>2]&-128|(c[g>>2]&127|c[(c[b>>2]|0)+24>>2]&127)&127}}g=$b[c[c[(c[91744>>2]|0)+144>>2]>>2]&63](c[(c[22936]|0)+144>>2]|0,d,1)|0;c[c[e>>2]>>2]=g;c[(c[e>>2]|0)+4>>2]=c[22935];c[22935]=c[e>>2];i=f;return}function qW(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();d=a+4|0;b=a;c[d>>2]=c[22935];c[b>>2]=c[(c[d>>2]|0)+4>>2];B1(c[d>>2]|0);c[22935]=c[b>>2];i=a;return}function rW(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g+4|0;d=g;e=g+8|0;c[d>>2]=b;while(1){b=c[d>>2]|0;c[d>>2]=b+1;b=a[b>>0]|0;a[e>>0]=b;if(!(b<<24>>24)){d=5;break}if((a[e>>0]|0)!=32){d=4;break}}if((d|0)==4){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((d|0)==5){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function sW(){var b=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+8|0;e=f+4|0;b=f;c[g>>2]=eA(91856,c[12987]|0)|0;c[e>>2]=c[22931];c[b>>2]=qK(16)|0;c[(c[b>>2]|0)+8>>2]=c[g>>2];if((d[(c[e>>2]|0)+112>>0]|0)&2)a[(c[b>>2]|0)+12>>0]=1;$b[c[c[(c[e>>2]|0)+80+4>>2]>>2]&63](c[(c[e>>2]|0)+80+4>>2]|0,c[b>>2]|0,1)|0;i=f;return c[b>>2]|0}function tW(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();d=a+4|0;b=a;c[d>>2]=c[22931];c[b>>2]=$b[c[c[(c[d>>2]|0)+80+4>>2]>>2]&63](c[(c[d>>2]|0)+80+4>>2]|0,0,256)|0;i=a;return c[b>>2]|0}function uW(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();h=l+24|0;g=l+20|0;k=l+16|0;n=l+12|0;m=l+8|0;p=l+4|0;o=l;c[h>>2]=b;c[g>>2]=e;c[k>>2]=f;c[n>>2]=qK(16)|0;c[m>>2]=c[22931];c[p>>2]=$b[c[c[(c[m>>2]|0)+80+4>>2]>>2]&63](c[(c[m>>2]|0)+80+4>>2]|0,0,256)|0;c[o>>2]=c[(c[p>>2]|0)+8>>2];c[(c[n>>2]|0)+8>>2]=c[h>>2];$b[c[c[o>>2]>>2]&63](c[o>>2]|0,c[n>>2]|0,1)|0;a[(c[h>>2]|0)+88+4>>0]=c[k>>2];if((d[(c[m>>2]|0)+112>>0]|0)&1)a[(c[h>>2]|0)+100>>0]=1;if((c[k>>2]|0)==2){c[(c[h>>2]|0)+88>>2]=c[g>>2];i=l;return}g=c[g>>2]|0;if((c[k>>2]|0)==3){c[(c[h>>2]|0)+88>>2]=g;i=l;return}else{c[(c[h>>2]|0)+88>>2]=g;i=l;return}}function vW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+8|0;c[e>>2]=a;c[f+4>>2]=b;c[f>>2]=d;if(c[e>>2]|0){i=f;return}c[e>>2]=178589;i=f;return}function wW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;B1(c[f>>2]|0);i=e;return}function xW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;aA(c[(c[f>>2]|0)+8>>2]|0)|0;B1(c[f>>2]|0);i=e;return}function yW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;DW(c[(c[f>>2]|0)+8>>2]|0);B1(c[f>>2]|0);i=e;return}function zW(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;aA(c[(c[d>>2]|0)+80+4>>2]|0)|0;LT(c[d>>2]|0);B1(c[d>>2]|0);i=b;return}function AW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f+4|0;c[f+8>>2]=a;c[e>>2]=b;c[f>>2]=d;if(!(c[(c[e>>2]|0)+8>>2]|0)){b=c[e>>2]|0;B1(b);i=f;return}B1(c[(c[e>>2]|0)+8>>2]|0);b=c[e>>2]|0;B1(b);i=f;return}function BW(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+12|0;h=k+4|0;g=k;c[k+16>>2]=a;c[f>>2]=d;c[k+8>>2]=e;if(!(b[(c[f>>2]|0)+8+4>>1]|0)){h=c[f>>2]|0;B1(h);i=k;return}c[h>>2]=c[(c[f>>2]|0)+8>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[f>>2]|0)+8+4>>1]|0))break;if(c[c[h>>2]>>2]|0)B1(c[c[h>>2]>>2]|0);c[h>>2]=(c[h>>2]|0)+56;c[g>>2]=(c[g>>2]|0)+1}B1(c[(c[f>>2]|0)+8>>2]|0);h=c[f>>2]|0;B1(h);i=k;return}function CW(){var a=0,b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d+4|0;a=d;c[b>>2]=c[22935];while(1){e=c[(c[b>>2]|0)+4>>2]|0;c[a>>2]=e;if(!e)break;B1(c[b>>2]|0);c[b>>2]=c[a>>2]}i=d;return}function DW(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;b=(c[d>>2]|0)+88|0;if((a[(c[d>>2]|0)+88+4>>0]|0)!=1){if((a[b+4>>0]|0)==2)MT(c[(c[d>>2]|0)+88>>2]|0)}else zW(c[b>>2]|0);LT(c[d>>2]|0);B1(c[d>>2]|0);i=e;return}function EW(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f;d=f+8|0;c[d>>2]=b;if(a[91925]|0){i=f;return}a[91925]=1;d=c[d>>2]|0;b=FW()|0;c[e>>2]=d;c[e+4>>2]=b;pA(1,178599,e)|0;JW();i=f;return}function FW(){return WY(c[22973]|0)|0}function GW(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();k=g+8|0;l=g+4|0;h=g;c[k>>2]=b;c[l>>2]=e;c[h>>2]=f;c[22976]=c[l>>2];tA(91908,128,0);c[22974]=c[k>>2];a[91927]=0;a[91924]=0;a[91925]=0;c[22984]=0;c[22985]=0;a[91926]=1;c[22973]=MY(aK(d[(c[(c[(c[h>>2]|0)+52>>2]|0)+8>>2]|0)+115>>0]|0)|0)|0;PY(c[22973]|0,c[(c[(c[(c[h>>2]|0)+52>>2]|0)+8>>2]|0)+144>>2]|0);QY(c[22973]|0,68,23);RY(c[22973]|0,69);i=g;return 0}function HW(){var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a[91924]|a[91925];OY(c[22973]|0);xA(91908);i=b;return c[d>>2]|0}function IW(){var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();k=m;l=m+28|0;h=m+24|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;c[d>>2]=0;c[22975]=0;while(1){if((a[91927]|0)==2){b=3;break}do if(a[91927]|0){c[h>>2]=c[22974];if(!(a[c[h>>2]>>0]|0)){a[91927]=2;c[h>>2]=c[22987];c[e>>2]=e4(c[h>>2]|0)|0;break}else{c[d>>2]=NW(c[h>>2]|0,91908)|0;c[e>>2]=(c[d>>2]|0)-(c[h>>2]|0);break}}else{a[91927]=1;c[h>>2]=c[22986];c[e>>2]=e4(c[h>>2]|0)|0;c[d>>2]=0}while(0);c[22983]=c[22982];c[22985]=c[22984];c[22982]=c[h>>2];c[22984]=c[e>>2];n=(c[22978]|0)-(c[22977]|0)|0;c[f>>2]=n;b=c[22973]|0;if(n){if((c[22978]|0)>>>0>=(c[22979]|0)>>>0)uA(91908,1)|0;n=c[22978]|0;c[22978]=n+1;a[n>>0]=0;n=c[22977]|0;c[22978]=n;c[g>>2]=SY(b,n,c[f>>2]|0,0)|0}else c[g>>2]=SY(b,c[h>>2]|0,c[e>>2]|0,(c[e>>2]|0)!=0?0:1)|0;if(!((c[g>>2]|0)!=0|(a[91925]|0)!=0)){b=XY(VY(c[22973]|0)|0)|0;n=FW()|0;c[k>>2]=b;c[k+4>>2]=n;pA(1,178599,k)|0;JW();a[91925]=1;c[22975]=268}if(c[d>>2]|0)c[22974]=c[d>>2];if(c[22975]|0){b=19;break}}if((b|0)==3){c[l>>2]=-1;n=c[l>>2]|0;i=m;return n|0}else if((b|0)==19){c[l>>2]=c[22975];n=c[l>>2]|0;i=m;return n|0}return 0}function JW(){var b=0,d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[(c[22976]|0)+4>>2]=c[c[22976]>>2];if((c[22985]|0)>0)vA(c[22976]|0,c[22983]|0,c[22985]|0)|0;vA(c[22976]|0,c[22982]|0,c[22984]|0)|0;if((c[(c[22976]|0)+4>>2]|0)>>>0>=(c[(c[22976]|0)+8>>2]|0)>>>0)uA(c[22976]|0,1)|0;f=(c[22976]|0)+4|0;e=c[f>>2]|0;c[f>>2]=e+1;a[e>>0]=0;e=c[c[22976]>>2]|0;c[(c[22976]|0)+4>>2]=e;c[b>>2]=e;pA(3,179821,b)|0;i=d;return}function KW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();l=k+12|0;f=k+8|0;g=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[l>>2];if(!(Y3(c[f>>2]|0,178692)|0)){c[22929]=QW(c[g>>2]|0)|0;a[91926]=0;c[22975]=286;i=k;return}if((Y3(c[f>>2]|0,178698)|0)!=0?(Y3(c[f>>2]|0,178701)|0)!=0:0){if(!(Y3(c[f>>2]|0,178704)|0)){a[91926]=1;c[22929]=RW(c[g>>2]|0)|0;c[22975]=287;i=k;return}if(!(Y3(c[f>>2]|0,178712)|0)){c[22929]=SW(c[h>>2]|0,c[g>>2]|0,0,0)|0;c[22975]=288;i=k;return}if(!(Y3(c[f>>2]|0,178717)|0)){c[22929]=SW(c[h>>2]|0,0,1,0)|0;c[22975]=290;i=k;return}if(!(Y3(c[f>>2]|0,178733)|0)){c[22929]=SW(c[h>>2]|0,0,32,0)|0;c[22975]=295;i=k;return}if(!(Y3(c[f>>2]|0,178719)|0)){c[22929]=SW(c[h>>2]|0,0,4,1)|0;c[22975]=291;i=k;return}if(!(Y3(c[f>>2]|0,178721)|0)){c[22929]=SW(c[h>>2]|0,0,64,1)|0;c[22975]=292;i=k;return}if(!(Y3(c[f>>2]|0,178723)|0)){c[22929]=SW(c[h>>2]|0,0,2,0)|0;c[22975]=289;i=k;return}if(!(Y3(c[f>>2]|0,178725)|0)){c[22929]=SW(c[h>>2]|0,0,8,0)|0;c[22975]=293;i=k;return}if(!(Y3(c[f>>2]|0,178729)|0)){c[22929]=SW(c[h>>2]|0,0,16,0)|0;c[22975]=294;i=k;return}if(!(Y3(c[f>>2]|0,178735)|0)){TW(c[g>>2]|0);c[22975]=283;i=k;return}if(!(Y3(c[f>>2]|0,178738)|0)){c[22975]=277;i=k;return}if(!(Y3(c[f>>2]|0,178741)|0)){c[22975]=280;i=k;return}if(!(Y3(c[f>>2]|0,178744)|0)){c[22929]=UW(c[g>>2]|0)|0;c[22975]=285;i=k;return}if(!(Y3(c[f>>2]|0,178707)|0)){c[22975]=262;i=k;return}else{PW(c[f>>2]|0);i=k;return}}a[91926]=0;c[22975]=260;i=k;return}function LW(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f;c[f+4>>2]=b;c[e>>2]=d;if(!(Y3(c[e>>2]|0,178692)|0)){c[22975]=264;a[91926]=1;i=f;return}if((Y3(c[e>>2]|0,178698)|0)!=0?(Y3(c[e>>2]|0,178701)|0)!=0:0){if(!(Y3(c[e>>2]|0,178704)|0)){c[22975]=265;a[91926]=0;i=f;return}if(!(Y3(c[e>>2]|0,178707)|0)){c[22975]=263;i=f;return}if(!(Y3(c[e>>2]|0,178712)|0)){c[22975]=266;i=f;return}if(!(Y3(c[e>>2]|0,178717)|0)){c[22975]=270;i=f;return}if(!(Y3(c[e>>2]|0,178719)|0)){c[22975]=271;i=f;return}if(!(Y3(c[e>>2]|0,178721)|0)){c[22975]=272;i=f;return}if(!(Y3(c[e>>2]|0,178723)|0)){c[22975]=269;i=f;return}if(!(Y3(c[e>>2]|0,178725)|0)){c[22975]=273;i=f;return}if(!(Y3(c[e>>2]|0,178729)|0)){c[22975]=274;i=f;return}if(!(Y3(c[e>>2]|0,178733)|0)){c[22975]=275;i=f;return}if(!(Y3(c[e>>2]|0,178735)|0))if((c[22975]|0)==283){c[22975]=282;i=f;return}else{c[22975]=258;i=f;return}if(!(Y3(c[e>>2]|0,178738)|0))if((c[22975]|0)==277){c[22975]=276;i=f;return}else{c[22975]=278;i=f;return}if(!(Y3(c[e>>2]|0,178741)|0))if((c[22975]|0)==280){c[22975]=279;i=f;return}else{c[22975]=281;i=f;return}if(Y3(c[e>>2]|0,178744)|0){PW(c[e>>2]|0);i=f;return}if((c[22975]|0)==285){c[22975]=284;i=f;return}else{c[22975]=259;i=f;return}}c[22975]=261;i=f;return}function MW(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+16|0;h=o+12|0;m=o+8|0;n=o+4|0;l=o;k=o+24|0;c[o+20>>2]=b;c[g>>2]=e;c[h>>2]=f;c[l>>2]=0;if(!(a[91926]|0)){i=o;return}c[m>>2]=c[h>>2];while(1){if(!(c[m>>2]|0))break;b=c[g>>2]|0;c[g>>2]=b+1;a[k>>0]=a[b>>0]|0;if((d[k>>0]|0)>=32){c[l>>2]=(c[l>>2]|0)+1;if((c[(c[22976]|0)+4>>2]|0)>>>0>=(c[(c[22976]|0)+8>>2]|0)>>>0)uA(c[22976]|0,1)|0;b=a[k>>0]|0;f=(c[22976]|0)+4|0;e=c[f>>2]|0;c[f>>2]=e+1;a[e>>0]=b;c[n>>2]=b&255}c[m>>2]=(c[m>>2]|0)+-1}if(!(c[l>>2]|0)){i=o;return}c[22975]=267;i=o;return}function NW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();l=n;e=n+16|0;f=n+12|0;k=n+8|0;g=n+20|0;h=n+4|0;c[e>>2]=b;c[f>>2]=d;c[k>>2]=(c[e>>2]|0)+1;if((a[c[e>>2]>>0]|0)==60){if((a[c[k>>2]>>0]|0)==33?(g4((c[k>>2]|0)+1|0,178615,2)|0)==0:0)c[k>>2]=OW((c[k>>2]|0)+3|0)|0;else m=5;a:do if((m|0)==5)while(1){if(!(a[c[k>>2]>>0]|0))break a;if((a[c[k>>2]>>0]|0)==62)break a;c[k>>2]=(c[k>>2]|0)+1;m=5}while(0);if((a[c[k>>2]>>0]|0)!=62){pA(0,178618,l)|0;a[91924]=1;m=c[k>>2]|0;i=n;return m|0}else{c[k>>2]=(c[k>>2]|0)+1;m=c[k>>2]|0;i=n;return m|0}}else{c[k>>2]=c[e>>2];while(1){m=a[c[k>>2]>>0]|0;a[g>>0]=m;if(!(m<<24>>24)){m=20;break}if((a[g>>0]|0)==60){m=20;break}if((a[g>>0]|0)==38?(a[(c[k>>2]|0)+1>>0]|0)!=35:0){c[k>>2]=XO((c[k>>2]|0)+1|0,c[f>>2]|0)|0;continue}if((c[(c[f>>2]|0)+4>>2]|0)>>>0>=(c[(c[f>>2]|0)+8>>2]|0)>>>0)uA(c[f>>2]|0,1)|0;m=a[g>>0]|0;l=(c[f>>2]|0)+4|0;d=c[l>>2]|0;c[l>>2]=d+1;a[d>>0]=m;c[h>>2]=m&255;c[k>>2]=(c[k>>2]|0)+1}if((m|0)==20){m=c[k>>2]|0;i=n;return m|0}}return 0}function OW(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l;d=l+16|0;f=l+12|0;g=l+8|0;e=l+20|0;h=l+4|0;c[d>>2]=b;c[f>>2]=1;c[g>>2]=c[d>>2];while(1){if(!(c[f>>2]|0))break;b=c[g>>2]|0;c[g>>2]=b+1;b=a[b>>0]|0;a[e>>0]=b;if(!(b<<24>>24))break;if((a[e>>0]|0)==60){c[f>>2]=(c[f>>2]|0)+1;continue}if((a[e>>0]|0)!=62)continue;c[f>>2]=(c[f>>2]|0)+-1}c[g>>2]=(c[g>>2]|0)+-1;if(!(a[c[g>>2]>>0]|0)){k=c[g>>2]|0;i=l;return k|0}c[h>>2]=(c[g>>2]|0)+-2;if((c[h>>2]|0)>>>0>=(c[d>>2]|0)>>>0?(g4(c[h>>2]|0,178615,2)|0)==0:0){k=c[g>>2]|0;i=l;return k|0}pA(0,178659,k)|0;a[91924]=1;k=c[g>>2]|0;i=l;return k|0}function PW(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;f=d+8|0;c[f>>2]=b;c[22975]=268;a[91925]=1;f=c[f>>2]|0;b=FW()|0;c[e>>2]=f;c[e+4>>2]=b;pA(1,178748,e)|0;i=d;return}function QW(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=b;c[e>>2]=qK(120)|0;c[(c[e>>2]|0)+100>>2]=-1;a[(c[e>>2]|0)+88>>0]=-1;VW(c[e>>2]|0,92176,22,c[f>>2]|0,179700);i=d;return c[e>>2]|0}function RW(a){a=a|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=qK(104)|0;b[(c[e>>2]|0)+80>>1]=1;b[(c[e>>2]|0)+82>>1]=1;VW(c[e>>2]|0,92e3,22,c[f>>2]|0,179054);i=d;return c[e>>2]|0}function SW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0;l=i;i=i+48|0;if((i|0)>=(j|0))ba();f=l+44|0;g=l+40|0;m=l+36|0;k=l;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[l+32>>2]=e;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[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;h[k+16>>3]=-1.0;e=k+24|0;c[e>>2]=c[e>>2]&-128|c[m>>2]&127;if(c[g>>2]|0)VW(k,91976,3,c[g>>2]|0,178905);m=$b[c[c[(c[f>>2]|0)+144>>2]>>2]&63](c[(c[f>>2]|0)+144>>2]|0,k,1)|0;i=l;return m|0}function TW(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[22929]=0;VW(91716,91968,1,c[d>>2]|0,178841);i=b;return}function UW(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=qK(40)|0;VW(c[d>>2]|0,91952,2,c[e>>2]|0,178787);i=b;return c[d>>2]|0}function VW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();s=t;h=t+44|0;k=t+40|0;l=t+36|0;m=t+32|0;n=t+28|0;q=t+24|0;r=t+20|0;o=t+16|0;p=t+8|0;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;while(1){b=c[m>>2]|0;c[m>>2]=b+4;b=c[b>>2]|0;c[q>>2]=b;if(!b)break;b=c[m>>2]|0;c[m>>2]=b+4;c[r>>2]=c[b>>2];c[p>>2]=c[q>>2];c[o>>2]=O3(p,c[k>>2]|0,c[l>>2]|0,8,104)|0;if(c[o>>2]|0){b=gc[c[(c[o>>2]|0)+4>>2]&127](c[h>>2]|0,c[r>>2]|0)|0;a[91924]=a[91924]|b;continue}else{b=c[n>>2]|0;c[s>>2]=c[q>>2];c[s+4>>2]=b;pA(0,178793,s)|0;a[91924]=1;continue}}i=t;return}function WW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Y3(c[c[f>>2]>>2]|0,c[c[e>>2]>>2]|0)|0;i=d;return b|0}function XW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=d4(c[f>>2]|0)|0;c[(c[e>>2]|0)+36>>2]=b;i=d;return 0}function YW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=d4(c[f>>2]|0)|0;c[(c[e>>2]|0)+32>>2]=b;i=d;return 0}function ZW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();k=l;e=l+12|0;f=l+8|0;h=l+4|0;g=l+16|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a[g>>0]=$1(a[c[f>>2]>>0]|0)|0;if((a[g>>0]|0)==82?(Y3((c[f>>2]|0)+1|0,178852)|0)==0:0){c[c[e>>2]>>2]=114;k=c[h>>2]|0;i=l;return k|0}if((a[g>>0]|0)!=76?(Y3((c[f>>2]|0)+1|0,178857)|0)!=0:0){if((a[g>>0]|0)!=67?(Y3((c[f>>2]|0)+1|0,178861)|0)==0:0){c[k>>2]=c[f>>2];pA(0,178867,k)|0;c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}c[c[e>>2]>>2]=110;k=c[h>>2]|0;i=l;return k|0}c[c[e>>2]>>2]=108;k=c[h>>2]|0;i=l;return k|0}function _W(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+4>>2]=c[f>>2];i=d;return 0}function $W(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];i=d;return 0}function aX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;e=g+8|0;k=g+4|0;f=g;c[e>>2]=a;c[k>>2]=b;if(bX(c[k>>2]|0,178934,0,255,f)|0){c[d>>2]=1;k=c[d>>2]|0;i=g;return k|0}else{h[(c[e>>2]|0)+16>>3]=+(c[f>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=g;return k|0}return 0}function bX(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+80|0;if((i|0)>=(j|0))ba();r=s+24|0;q=s+8|0;p=s;g=s+64|0;h=s+60|0;k=s+56|0;l=s+52|0;m=s+48|0;o=s+44|0;t=s+40|0;n=s+36|0;c[g>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[o>>2]=0;c[n>>2]=S3(c[g>>2]|0,t,10)|0;if((c[t>>2]|0)==(c[g>>2]|0)){t=c[g>>2]|0;c[p>>2]=c[h>>2];c[p+4>>2]=t;pA(0,178945,p)|0;c[o>>2]=1;t=c[o>>2]|0;i=s;return t|0}if((c[n>>2]|0)>(c[l>>2]|0)){r=c[g>>2]|0;t=c[l>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=r;c[q+8>>2]=t;pA(0,178976,q)|0;c[o>>2]=1;t=c[o>>2]|0;i=s;return t|0}if((c[n>>2]|0)<(c[k>>2]|0)){q=c[g>>2]|0;t=c[k>>2]|0;c[r>>2]=c[h>>2];c[r+4>>2]=q;c[r+8>>2]=t;pA(0,179015,r)|0;c[o>>2]=1;t=c[o>>2]|0;i=s;return t|0}else{c[c[m>>2]>>2]=c[n>>2];t=c[o>>2]|0;i=s;return t|0}return 0}function cX(d,f){d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();m=o;g=o+12|0;h=o+8|0;l=o+4|0;k=o+16|0;c[g>>2]=d;c[h>>2]=f;c[l>>2]=0;a[k>>0]=$1(a[c[h>>2]>>0]|0)|0;if((a[k>>0]|0)==76?(Y3((c[h>>2]|0)+1|0,178857)|0)==0:0){f=(c[g>>2]|0)+36|0;b[f>>1]=e[f>>1]|4}else n=4;do if((n|0)==4){if((a[k>>0]|0)==82?(Y3((c[h>>2]|0)+1|0,178852)|0)==0:0){n=(c[g>>2]|0)+36|0;b[n>>1]=e[n>>1]|2;break}if((a[k>>0]|0)==84?(Y3((c[h>>2]|0)+1|0,179652)|0)==0:0){n=(c[g>>2]|0)+36|0;b[n>>1]=e[n>>1]|6;break}if((a[k>>0]|0)==67?(Y3((c[h>>2]|0)+1|0,178861)|0)==0:0)break;c[l>>2]=1}while(0);if(!(c[l>>2]|0)){n=c[l>>2]|0;i=o;return n|0}c[m>>2]=c[h>>2];pA(0,179656,m)|0;n=c[l>>2]|0;i=o;return n|0}function dX(d,f){d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();m=o;g=o+12|0;h=o+8|0;l=o+4|0;k=o+16|0;c[g>>2]=d;c[h>>2]=f;c[l>>2]=0;a[k>>0]=$1(a[c[h>>2]>>0]|0)|0;if((a[k>>0]|0)==76?(Y3((c[h>>2]|0)+1|0,178857)|0)==0:0){f=(c[g>>2]|0)+36|0;b[f>>1]=e[f>>1]|512}else n=4;do if((n|0)==4){if((a[k>>0]|0)==82?(Y3((c[h>>2]|0)+1|0,178852)|0)==0:0){n=(c[g>>2]|0)+36|0;b[n>>1]=e[n>>1]|256;break}if((a[k>>0]|0)==67?(Y3((c[h>>2]|0)+1|0,178861)|0)==0:0)break;c[l>>2]=1}while(0);if(!(c[l>>2]|0)){n=c[l>>2]|0;i=o;return n|0}c[m>>2]=c[h>>2];pA(0,179607,m)|0;n=c[l>>2]|0;i=o;return n|0}function eX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=d4(c[f>>2]|0)|0;c[(c[e>>2]|0)+20>>2]=b;i=d;return 0}function fX(d,f){d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();g=l+12|0;h=l+8|0;m=l+4|0;k=l;c[h>>2]=d;c[m>>2]=f;if(bX(c[m>>2]|0,179600,0,255,k)|0){c[g>>2]=1;m=c[g>>2]|0;i=l;return m|0}else{a[(c[h>>2]|0)+33>>0]=c[k>>2];m=(c[h>>2]|0)+36|0;b[m>>1]=e[m>>1]|0|32;c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}return 0}function gX(d,f){d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();g=l+12|0;h=l+8|0;m=l+4|0;k=l;c[h>>2]=d;c[m>>2]=f;if(bX(c[m>>2]|0,179588,0,255,k)|0){c[g>>2]=1;m=c[g>>2]|0;i=l;return m|0}else{a[(c[h>>2]|0)+34>>0]=c[k>>2];m=(c[h>>2]|0)+36|0;b[m>>1]=e[m>>1]|0|64;c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}return 0}function hX(d,f){d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();g=l+12|0;h=l+8|0;m=l+4|0;k=l;c[h>>2]=d;c[m>>2]=f;if(bX(c[m>>2]|0,179576,-128,127,k)|0){c[g>>2]=1;m=c[g>>2]|0;i=l;return m|0}else{a[(c[h>>2]|0)+32>>0]=c[k>>2];m=(c[h>>2]|0)+36|0;b[m>>1]=e[m>>1]|0|128;c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}return 0}function iX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=d4(c[f>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=b;i=d;return 0}function jX(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();h=k;e=k+16|0;f=k+12|0;l=k+8|0;g=k+4|0;c[f>>2]=a;c[l>>2]=d;do if(!(bX(c[l>>2]|0,179531,0,65535,g)|0))if(!(c[g>>2]|0)){pA(0,179539,h)|0;c[e>>2]=1;break}else{b[(c[f>>2]|0)+80>>1]=c[g>>2];c[e>>2]=0;break}else c[e>>2]=1;while(0);i=k;return c[e>>2]|0}function kX(f,g){f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();n=o;h=o+12|0;k=o+8|0;m=o+4|0;l=o+16|0;c[h>>2]=f;c[k>>2]=g;c[m>>2]=0;a[l>>0]=$1(d[c[k>>2]>>0]|0)|0;if((a[l>>0]|0)==84?(Y3((c[k>>2]|0)+1|0,179480)|0)==0:0){n=(c[h>>2]|0)+36|0;b[n>>1]=e[n>>1]|1;n=c[m>>2]|0;i=o;return n|0}if((a[l>>0]|0)==70?(Y3((c[k>>2]|0)+1|0,179484)|0)==0:0){n=c[m>>2]|0;i=o;return n|0}c[n>>2]=c[k>>2];pA(0,179489,n)|0;c[m>>2]=1;n=c[m>>2]|0;i=o;return n|0}function lX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;if(bX(c[h>>2]|0,179466,0,360,f)|0){c[d>>2]=1;h=c[d>>2]|0;i=g;return h|0}else{c[(c[e>>2]|0)+28>>2]=c[f>>2]&65535;c[d>>2]=0;h=c[d>>2]|0;i=g;return h|0}return 0}function mX(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+12|0;f=h+8|0;k=h+4|0;g=h;c[f>>2]=a;c[k>>2]=d;if(bX(c[k>>2]|0,179459,0,65535,g)|0){c[e>>2]=1;k=c[e>>2]|0;i=h;return k|0}else{b[(c[f>>2]|0)+40>>1]=c[g>>2];c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function nX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=d4(c[f>>2]|0)|0;c[c[e>>2]>>2]=b;i=d;return 0}function oX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=d4(c[f>>2]|0)|0;c[(c[e>>2]|0)+16>>2]=b;i=d;return 0}function pX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=d4(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;i=d;return 0}function qX(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();h=k;e=k+16|0;f=k+12|0;l=k+8|0;g=k+4|0;c[f>>2]=a;c[l>>2]=d;do if(!(bX(c[l>>2]|0,179414,0,65535,g)|0))if(!(c[g>>2]|0)){pA(0,179422,h)|0;c[e>>2]=1;break}else{b[(c[f>>2]|0)+82>>1]=c[g>>2];c[e>>2]=0;break}else c[e>>2]=1;while(0);i=k;return c[e>>2]|0}function rX(d,f){d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n;g=n+12|0;h=n+8|0;l=n+16|0;k=n+18|0;c[g>>2]=d;c[h>>2]=f;b[l>>1]=0;a:while(1){f=c[h>>2]|0;c[h>>2]=f+1;f=a[f>>0]|0;a[k>>0]=f;if(!(f<<24>>24))break;switch(_1(a[k>>0]|0)|0){case 108:{b[l>>1]=e[l>>1]|1024;continue a}case 116:{b[l>>1]=e[l>>1]|2048;continue a}case 114:{b[l>>1]=e[l>>1]|4096;continue a}case 98:{b[l>>1]=e[l>>1]|8192;continue a}default:{f=a[k>>0]|0;c[m>>2]=a[k>>0];c[m+4>>2]=f;pA(0,179361,m)|0;continue a}}}if((e[l>>1]|0)==15360){i=n;return 0}m=(c[g>>2]|0)+36|0;b[m>>1]=e[m>>1]|e[l>>1];i=n;return 0}function sX(d,f){d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();o=p+8|0;n=p;g=p+28|0;q=p+24|0;l=p+20|0;k=p+32|0;m=p+16|0;h=p+12|0;c[g>>2]=d;c[q>>2]=f;c[l>>2]=0;c[h>>2]=d4(c[q>>2]|0)|0;c[m>>2]=m4(c[h>>2]|0,179271)|0;while(1){if(!(c[m>>2]|0))break;a[k>>0]=$1(a[c[m>>2]>>0]|0)|0;d=c[m>>2]|0;do if((a[k>>0]|0)==82){if(!(Y3(d+1|0,179274)|0)){q=(c[g>>2]|0)+42|0;b[q>>1]=e[q>>1]|4;break}if(Y3((c[m>>2]|0)+1|0,179281)|0){c[n>>2]=c[m>>2];pA(0,179287,n)|0;c[l>>2]=1;break}else{q=(c[g>>2]|0)+42|0;b[q>>1]=e[q>>1]|2;break}}else{if(!(Y3(d,179325)|0)){q=(c[g>>2]|0)+42|0;b[q>>1]=e[q>>1]&-385;break}if((Y3(c[m>>2]|0,179331)|0)!=0?(Y3(c[m>>2]|0,179341)|0)!=0:0){if(!(Y3(c[m>>2]|0,179347)|0)){q=(c[g>>2]|0)+42|0;b[q>>1]=e[q>>1]|128;break}if(Y3(c[m>>2]|0,179354)|0){c[o>>2]=c[m>>2];pA(0,179287,o)|0;c[l>>2]=1;break}else{q=(c[g>>2]|0)+42|0;b[q>>1]=e[q>>1]|256;break}}q=(c[g>>2]|0)+42|0;b[q>>1]=e[q>>1]|32}while(0);c[m>>2]=m4(0,179271)|0}B1(c[h>>2]|0);i=p;return c[l>>2]|0}function tX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=d4(c[f>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=b;i=d;return 0}function uX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=d4(c[f>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=b;i=d;return 0}function vX(d,f){d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n;g=n+12|0;h=n+8|0;l=n+4|0;k=n+16|0;c[g>>2]=d;c[h>>2]=f;c[l>>2]=0;a[k>>0]=$1(a[c[h>>2]>>0]|0)|0;if((a[k>>0]|0)==66?(Y3((c[h>>2]|0)+1|0,179217)|0)==0:0){m=(c[g>>2]|0)+36|0;b[m>>1]=e[m>>1]|16;m=c[l>>2]|0;i=n;return m|0}if((a[k>>0]|0)==84?(Y3((c[h>>2]|0)+1|0,179223)|0)==0:0){m=(c[g>>2]|0)+36|0;b[m>>1]=e[m>>1]|8;m=c[l>>2]|0;i=n;return m|0}if((a[k>>0]|0)==77?(Y3((c[h>>2]|0)+1|0,179226)|0)==0:0){m=c[l>>2]|0;i=n;return m|0}c[m>>2]=c[h>>2];pA(0,179232,m)|0;c[l>>2]=1;m=c[l>>2]|0;i=n;return m|0}function wX(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+12|0;f=h+8|0;k=h+4|0;g=h;c[f>>2]=a;c[k>>2]=d;if(bX(c[k>>2]|0,179211,0,65535,g)|0){c[e>>2]=1;k=c[e>>2]|0;i=h;return k|0}else{b[(c[f>>2]|0)+38>>1]=c[g>>2];c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function xX(d,f){d=d|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n;g=n+12|0;h=n+8|0;l=n+4|0;k=n+16|0;c[g>>2]=d;c[h>>2]=f;c[l>>2]=0;a[k>>0]=$1(a[c[h>>2]>>0]|0)|0;if((a[k>>0]|0)==76?(Y3((c[h>>2]|0)+1|0,178857)|0)==0:0){m=(c[g>>2]|0)+36|0;b[m>>1]=e[m>>1]|4;m=c[l>>2]|0;i=n;return m|0}if((a[k>>0]|0)==82?(Y3((c[h>>2]|0)+1|0,178852)|0)==0:0){m=(c[g>>2]|0)+36|0;b[m>>1]=e[m>>1]|2;m=c[l>>2]|0;i=n;return m|0}if((a[k>>0]|0)==67?(Y3((c[h>>2]|0)+1|0,178861)|0)==0:0){m=c[l>>2]|0;i=n;return m|0}c[m>>2]=c[h>>2];pA(0,178867,m)|0;c[l>>2]=1;m=c[l>>2]|0;i=n;return m|0}function yX(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+12|0;f=h+8|0;k=h+4|0;g=h;c[f>>2]=b;c[k>>2]=d;if(bX(c[k>>2]|0,179809,0,127,g)|0){c[e>>2]=1;k=c[e>>2]|0;i=h;return k|0}else{a[(c[f>>2]|0)+88>>0]=c[g>>2];c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function zX(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();k=l;f=l+12|0;g=l+8|0;h=l+4|0;c[g>>2]=b;c[h>>2]=e;if((a[c[h>>2]>>0]|0)!=42){c[k>>2]=c[h>>2];pA(0,179769,k)|0;c[f>>2]=1;k=c[f>>2]|0;i=l;return k|0}else{k=(c[g>>2]|0)+112|0;a[k>>0]=d[k>>0]|1;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}return 0}function AX(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();k=l;f=l+12|0;g=l+8|0;h=l+4|0;c[g>>2]=b;c[h>>2]=e;if((a[c[h>>2]>>0]|0)!=42){c[k>>2]=c[h>>2];pA(0,179732,k)|0;c[f>>2]=1;k=c[f>>2]|0;i=l;return k|0}else{k=(c[g>>2]|0)+112|0;a[k>>0]=d[k>>0]|2;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}return 0}function BX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();e=p+36|0;f=p+32|0;g=p+28|0;n=p+24|0;l=p+20|0;m=p+16|0;k=p+12|0;d=p+8|0;o=p+4|0;h=p;c[f>>2]=a;c[g>>2]=b;c[n>>2]=A1(28)|0;if(!(c[n>>2]|0)){c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}c[d>>2]=0;c[l>>2]=0;while(1){b=c[d>>2]|0;if((c[l>>2]|0)>=(c[g>>2]|0))break;c[d>>2]=b+(c[(c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0)+4>>2]|0);c[l>>2]=(c[l>>2]|0)+1}a=EX(b<<4)|0;c[(c[n>>2]|0)+8>>2]=a;a=EX((c[g>>2]|0)+1<<2)|0;c[(c[n>>2]|0)+12>>2]=a;a=EX(c[d>>2]<<2)|0;c[(c[n>>2]|0)+16>>2]=a;a=EX(c[d>>2]<<2)|0;c[(c[n>>2]|0)+20>>2]=a;c[(c[n>>2]|0)+4>>2]=c[d>>2];c[c[n>>2]>>2]=c[g>>2];c[k>>2]=0;c[l>>2]=0;while(1){b=c[k>>2]|0;if((c[l>>2]|0)>=(c[g>>2]|0))break;c[o>>2]=b;c[(c[(c[n>>2]|0)+12>>2]|0)+(c[l>>2]<<2)>>2]=c[o>>2];c[h>>2]=(c[o>>2]|0)+(c[(c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0)+4>>2]|0)-1;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0)+4>>2]|0))break;d=(c[(c[n>>2]|0)+8>>2]|0)+(c[k>>2]<<4)|0;a=(c[c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]>>2]|0)+(c[m>>2]<<4)|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[(c[(c[n>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=(c[k>>2]|0)+1;c[(c[(c[n>>2]|0)+20>>2]|0)+(c[k>>2]<<2)>>2]=(c[k>>2]|0)-1;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}c[(c[(c[n>>2]|0)+16>>2]|0)+(c[h>>2]<<2)>>2]=c[o>>2];c[(c[(c[n>>2]|0)+20>>2]|0)+(c[o>>2]<<2)>>2]=c[h>>2];c[l>>2]=(c[l>>2]|0)+1}c[(c[(c[n>>2]|0)+12>>2]|0)+(c[l>>2]<<2)>>2]=b;CY(c[n>>2]|0);c[e>>2]=c[n>>2];o=c[e>>2]|0;i=p;return o|0}function CX(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;B1(c[(c[b>>2]|0)+8>>2]|0);B1(c[(c[b>>2]|0)+12>>2]|0);B1(c[(c[b>>2]|0)+16>>2]|0);B1(c[(c[b>>2]|0)+20>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;B1(a);i=d;return}B1(c[c[(c[b>>2]|0)+24>>2]>>2]|0);B1(c[(c[b>>2]|0)+24>>2]|0);a=c[b>>2]|0;B1(a);i=d;return}function DX(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,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;s=i;i=i+80|0;if((i|0)>=(j|0))ba();t=s+16|0;v=s;h=s+72|0;u=s+68|0;w=s+64|0;k=s+60|0;m=s+56|0;n=s+52|0;l=s+48|0;o=s+44|0;p=s+40|0;q=s+36|0;r=s+32|0;c[h>>2]=a;c[u>>2]=d;c[w>>2]=f;c[k>>2]=g;a=c[h>>2]|0;g=c[u>>2]|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];c[q>>2]=DY(a,g,t)|0;g=c[h>>2]|0;a=c[w>>2]|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[r>>2]=DY(g,a,t)|0;u=c[u>>2]|0;a=c[q>>2]|0;g=c[w>>2]|0;d=c[r>>2]|0;f=c[h>>2]|0;c[v>>2]=c[b>>2];c[v+4>>2]=c[b+4>>2];c[v+8>>2]=c[b+8>>2];c[v+12>>2]=c[b+12>>2];c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[l>>2]=sY(v,u,a,t,g,d,f)|0;c[o>>2]=1;c[m>>2]=c[(c[l>>2]|0)+(c[(c[h>>2]|0)+4>>2]<<2)>>2];while(1){w=(c[m>>2]|0)!=((c[(c[h>>2]|0)+4>>2]|0)+1|0);c[o>>2]=(c[o>>2]|0)+1;if(!w)break;c[m>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]}c[p>>2]=A1(c[o>>2]<<4)|0;c[n>>2]=(c[o>>2]|0)-1;w=c[n>>2]|0;c[n>>2]=w+-1;w=(c[p>>2]|0)+(w<<4)|0;c[w>>2]=c[e>>2];c[w+4>>2]=c[e+4>>2];c[w+8>>2]=c[e+8>>2];c[w+12>>2]=c[e+12>>2];c[m>>2]=c[(c[l>>2]|0)+(c[(c[h>>2]|0)+4>>2]<<2)>>2];while(1){a=c[n>>2]|0;if((c[m>>2]|0)==((c[(c[h>>2]|0)+4>>2]|0)+1|0))break;c[n>>2]=a+-1;w=(c[p>>2]|0)+(a<<4)|0;v=(c[(c[h>>2]|0)+8>>2]|0)+(c[m>>2]<<4)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];c[m>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]}w=(c[p>>2]|0)+(a<<4)|0;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(c[n>>2]|0)db(179833,179840,148,179846);if(c[q>>2]|0)B1(c[q>>2]|0);if(!(c[r>>2]|0)){w=c[o>>2]|0;v=c[k>>2]|0;v=v+4|0;c[v>>2]=w;v=c[p>>2]|0;w=c[k>>2]|0;c[w>>2]=v;w=c[l>>2]|0;B1(w);i=s;return 1}B1(c[r>>2]|0);w=c[o>>2]|0;v=c[k>>2]|0;v=v+4|0;c[v>>2]=w;v=c[p>>2]|0;w=c[k>>2]|0;c[w>>2]=v;w=c[l>>2]|0;B1(w);i=s;return 1}function EX(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;if((c[b>>2]|0)>>>0>0)c[d>>2]=A1(c[b>>2]|0)|0;else c[d>>2]=0;i=e;return c[d>>2]|0}function FX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+80|0;if((i|0)>=(j|0))ba();l=n+32|0;e=n+16|0;d=n;m=n+64|0;g=n+60|0;h=n+56|0;k=n+52|0;f=n+48|0;c[f>>2]=c[a>>2];c[k>>2]=c[a+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[k>>2]|0)){d=6;break}c[h>>2]=((c[g>>2]|0)+(c[k>>2]|0)-1|0)%(c[k>>2]|0)|0;o=(c[f>>2]|0)+(c[h>>2]<<4)|0;a=(c[f>>2]|0)+(c[g>>2]<<4)|0;c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];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];c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];if((yY(d,e,l)|0)==1){d=4;break}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==4){c[m>>2]=0;o=c[m>>2]|0;i=n;return o|0}else if((d|0)==6){c[m>>2]=1;o=c[m>>2]|0;i=n;return o|0}return 0}function GX(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,k=0,l=0,m=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;if((i|0)>=(j|0))ba();q=v+48|0;p=v+32|0;l=4;m=A1(40)|0;c[m>>2]=0;r=v+16|0;s=v;t=c[d>>2]|0;k=c[d+4>>2]|0;l=k5(92352,1,m|0,l|0)|0;m=C;n=0;g=n;n=0;if((g|0)!=0&(o|0)!=0){d=m5(c[g>>2]|0,l|0,m|0)|0;if(!d)hb(g|0,o|0);C=o}else d=-1;if((d|0)==1)d=C;else d=0;while(1){if(d){u=4;break}n=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];Ca(24,r|0,q|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){d=m5(c[g>>2]|0,l|0,m|0)|0;if(!d)hb(g|0,o|0);C=o}else d=-1;if((d|0)==1){d=C;continue};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];g=e+16|0;d=e+16|0;n=0;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];Ca(24,s|0,q|0);d=n;n=0;if((d|0)!=0&(o|0)!=0){h=m5(c[d>>2]|0,l|0,m|0)|0;if(!h)hb(d|0,o|0);C=o}else h=-1;if((h|0)==1){d=C;continue};c[g>>2]=c[s>>2];c[g+4>>2]=c[s+4>>2];c[g+8>>2]=c[s+8>>2];c[g+12>>2]=c[s+12>>2];c[23127]=0;n=0;Aa(106,4);d=n;n=0;if((d|0)!=0&(o|0)!=0){g=m5(c[d>>2]|0,l|0,m|0)|0;if(!g)hb(d|0,o|0);C=o}else g=-1;if((g|0)==1){d=C;continue}h=c[23127]|0;c[23127]=h+1;h=(c[23128]|0)+(h<<4)|0;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];h=e+16|0;n=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];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];h=Ja(1,a|0,b|0,t|0,k|0,p|0,q|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){d=m5(c[g>>2]|0,l|0,m|0)|0;if(!d)hb(g|0,o|0);C=o}else d=-1;if((d|0)==1)d=C;else break}if((u|0)==4){u=-1;B1(l|0);i=v;return u|0}if((h|0)==-1){u=-1;B1(l|0);i=v;return u|0}else{c[f+4>>2]=c[23127];c[f>>2]=c[23128];u=0;B1(l|0);i=v;return u|0}return 0}function HX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;h[d>>3]=+h[b>>3]*+h[b>>3]+ +h[b+8>>3]*+h[b+8>>3];if(+h[d>>3]>1.0e-06){h[d>>3]=+O(+(+h[d>>3]));h[b>>3]=+h[b>>3]/+h[d>>3];f=b+8|0;h[f>>3]=+h[f>>3]/+h[d>>3]};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=e;return}function IX(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();e=f+16|0;d=f;b=f+28|0;c[b>>2]=a;if((c[b>>2]|0)<=(c[23131]|0)){i=f;return}if(c[23128]|0){d=D1(c[23128]|0,c[b>>2]<<4)|0;c[23128]=d;if(!d){d=c[24742]|0;c[e>>2]=179855;c[e+4>>2]=537;c[e+8>>2]=180008;p3(d,179863,e)|0;hb(92352,1)}}else{e=A1(c[b>>2]<<4)|0;c[23128]=e;if(!e){e=c[24742]|0;c[d>>2]=179855;c[d+4>>2]=531;c[d+8>>2]=179990;p3(e,179863,d)|0;hb(92352,1)}}c[23131]=c[b>>2];i=f;return}function JX(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 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.0,X=0.0;V=i;i=i+480|0;if((i|0)>=(j|0))ba();E=V+424|0;O=V+408|0;T=V+208|0;K=V+192|0;k=V+468|0;l=V+464|0;t=V+460|0;u=V+456|0;v=V+452|0;J=V+392|0;L=V+376|0;B=V+360|0;C=V+344|0;I=V+328|0;S=V+312|0;U=V+296|0;N=V+280|0;P=V+264|0;Q=V+248|0;G=V+240|0;D=V+232|0;R=V+224|0;H=V+448|0;F=V+444|0;M=V+440|0;w=V+176|0;x=V+160|0;y=V+144|0;z=V+128|0;A=V+112|0;m=V+96|0;n=V+80|0;o=V+64|0;p=V+48|0;q=V+32|0;r=V+16|0;s=V;c[l>>2]=a;c[t>>2]=b;c[u>>2]=d;c[v>>2]=e;if((c[23129]|0)<(c[v>>2]|0)){if(c[23130]|0){d=D1(c[23130]|0,(c[v>>2]|0)*40|0)|0;c[23130]=d;if(!d){c[k>>2]=-1;U=c[k>>2]|0;i=V;return U|0}}else{d=A1((c[v>>2]|0)*40|0)|0;c[23130]=d;if(!d){c[k>>2]=-1;U=c[k>>2]|0;i=V;return U|0}}c[23129]=c[v>>2]}h[c[23130]>>3]=0.0;c[F>>2]=1;while(1){if((c[F>>2]|0)>=(c[v>>2]|0))break;W=+h[(c[23130]|0)+(((c[F>>2]|0)-1|0)*40|0)>>3];e=(c[u>>2]|0)+(c[F>>2]<<4)|0;d=(c[u>>2]|0)+((c[F>>2]|0)-1<<4)|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[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];W=W+ +KX(O,E);h[(c[23130]|0)+((c[F>>2]|0)*40|0)>>3]=W;c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=1;while(1){if((c[F>>2]|0)>=(c[v>>2]|0))break;d=(c[23130]|0)+((c[F>>2]|0)*40|0)|0;h[d>>3]=+h[d>>3]/+h[(c[23130]|0)+(((c[v>>2]|0)-1|0)*40|0)>>3];c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[v>>2]|0))break;d=(c[23130]|0)+((c[F>>2]|0)*40|0)+8|0;W=+LX(+h[(c[23130]|0)+((c[F>>2]|0)*40|0)>>3]);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];MX(w,E,W);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];d=(c[23130]|0)+((c[F>>2]|0)*40|0)+8+16|0;W=+NX(+h[(c[23130]|0)+((c[F>>2]|0)*40|0)>>3]);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];MX(x,E,W);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];c[F>>2]=(c[F>>2]|0)+1}a=c[u>>2]|0;e=c[v>>2]|0;d=c[23130]|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[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((OX(a,e,d,O,E,J,S,L,U)|0)==-1){c[k>>2]=-1;U=c[k>>2]|0;i=V;return U|0}b=c[l>>2]|0;a=c[t>>2]|0;e=c[u>>2]|0;d=c[v>>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];c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];c[T+8>>2]=c[S+8>>2];c[T+12>>2]=c[S+12>>2];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];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];if(PX(b,a,K,T,O,E,e,d)|0){c[k>>2]=0;U=c[k>>2]|0;i=V;return U|0};c[E>>2]=c[S>>2];c[E+4>>2]=c[S+4>>2];c[E+8>>2]=c[S+8>>2];c[E+12>>2]=c[S+12>>2];MX(y,E,.3333333333333333);c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[E>>2]=c[y>>2];c[E+4>>2]=c[y+4>>2];c[E+8>>2]=c[y+8>>2];c[E+12>>2]=c[y+12>>2];QX(z,O,E);c[B>>2]=c[z>>2];c[B+4>>2]=c[z+4>>2];c[B+8>>2]=c[z+8>>2];c[B+12>>2]=c[z+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];MX(A,E,.3333333333333333);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];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];RX(m,O,E);c[C>>2]=c[m>>2];c[C+4>>2]=c[m+4>>2];c[C+8>>2]=c[m+8>>2];c[C+12>>2]=c[m+12>>2];h[G>>3]=-1.0;c[H>>2]=-1;c[F>>2]=1;while(1){if((c[F>>2]|0)>=((c[v>>2]|0)-1|0))break;h[R>>3]=+h[(c[23130]|0)+((c[F>>2]|0)*40|0)>>3];W=+SX(+h[R>>3]);W=W*+h[J>>3];X=+LX(+h[R>>3]);X=W+X*+h[B>>3];W=+NX(+h[R>>3]);W=X+W*+h[C>>3];X=+TX(+h[R>>3]);h[I>>3]=W+X*+h[L>>3];X=+SX(+h[R>>3]);X=X*+h[J+8>>3];W=+LX(+h[R>>3]);W=X+W*+h[B+8>>3];X=+NX(+h[R>>3]);X=W+X*+h[C+8>>3];W=+TX(+h[R>>3]);h[I+8>>3]=X+W*+h[L+8>>3];U=(c[u>>2]|0)+(c[F>>2]<<4)|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];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];W=+KX(O,E);h[D>>3]=W;if(W>+h[G>>3]){h[G>>3]=+h[D>>3];c[H>>2]=c[F>>2]}c[F>>2]=(c[F>>2]|0)+1}c[M>>2]=c[H>>2];U=(c[u>>2]|0)+(c[M>>2]<<4)|0;T=(c[u>>2]|0)+((c[M>>2]|0)-1<<4)|0;c[O>>2]=c[U>>2];c[O+4>>2]=c[U+4>>2];c[O+8>>2]=c[U+8>>2];c[O+12>>2]=c[U+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];RX(n,O,E);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];HX(o,E);c[P>>2]=c[o>>2];c[P+4>>2]=c[o+4>>2];c[P+8>>2]=c[o+8>>2];c[P+12>>2]=c[o+12>>2];T=(c[u>>2]|0)+((c[M>>2]|0)+1<<4)|0;U=(c[u>>2]|0)+(c[M>>2]<<4)|0;c[O>>2]=c[T>>2];c[O+4>>2]=c[T+4>>2];c[O+8>>2]=c[T+8>>2];c[O+12>>2]=c[T+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];RX(p,O,E);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];HX(q,E);c[Q>>2]=c[q>>2];c[Q+4>>2]=c[q+4>>2];c[Q+8>>2]=c[q+8>>2];c[Q+12>>2]=c[q+12>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+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];QX(r,O,E);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];HX(s,E);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];U=c[l>>2]|0;T=c[t>>2]|0;S=c[u>>2]|0;R=(c[M>>2]|0)+1|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[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];JX(U,T,S,R,O,E)|0;R=c[l>>2]|0;S=c[t>>2]|0;T=(c[u>>2]|0)+(c[M>>2]<<4)|0;U=(c[v>>2]|0)-(c[M>>2]|0)|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[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];JX(R,S,T,U,O,E)|0;c[k>>2]=0;U=c[k>>2]|0;i=V;return U|0}function KX(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0;c=i;i=i+16|0;if((i|0)>=(j|0))ba();f=c+8|0;e=c;h[f>>3]=+h[b>>3]-+h[a>>3];h[e>>3]=+h[b+8>>3]-+h[a+8>>3];d=+O(+(+h[f>>3]*+h[f>>3]+ +h[e>>3]*+h[e>>3]));i=c;return +d}function LX(a){a=+a;var b=0,c=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b+8|0;c=b;h[d>>3]=a;h[c>>3]=1.0-+h[d>>3];i=b;return +(+h[d>>3]*3.0*+h[c>>3]*+h[c>>3])}function MX(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e;h[g>>3]=d;h[b>>3]=+h[b>>3]*+h[g>>3];f=b+8|0;h[f>>3]=+h[f>>3]*+h[g>>3];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=e;return}function NX(a){a=+a;var b=0,c=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b+8|0;c=b;h[d>>3]=a;h[c>>3]=1.0-+h[d>>3];i=b;return +(+h[d>>3]*3.0*+h[d>>3]*+h[c>>3])}function OX(a,b,d,e,f,g,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|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.0;M=i;i=i+272|0;if((i|0)>=(j|0))ba();G=M+224|0;n=M+208|0;o=M+268|0;p=M+264|0;t=M+260|0;u=M+256|0;v=M+252|0;w=M+248|0;x=M+244|0;K=M+192|0;B=M+160|0;L=M+144|0;D=M+136|0;E=M+128|0;F=M+120|0;C=M+112|0;I=M+104|0;J=M+96|0;H=M+240|0;y=M+80|0;z=M+64|0;A=M+48|0;q=M+32|0;r=M+16|0;s=M;c[o>>2]=a;c[p>>2]=b;c[t>>2]=d;c[u>>2]=g;c[v>>2]=k;c[w>>2]=l;c[x>>2]=m;h[J>>3]=0.0;h[I>>3]=0.0;h[B+16+8>>3]=0.0;h[B+16>>3]=0.0;h[B+8>>3]=0.0;h[B>>3]=0.0;h[L+8>>3]=0.0;h[L>>3]=0.0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[p>>2]|0))break;m=(c[t>>2]|0)+((c[H>>2]|0)*40|0)+8|0;d=(c[t>>2]|0)+((c[H>>2]|0)*40|0)+8|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[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];N=+ZX(n,G);h[B>>3]=+h[B>>3]+N;d=(c[t>>2]|0)+((c[H>>2]|0)*40|0)+8|0;m=(c[t>>2]|0)+((c[H>>2]|0)*40|0)+8+16|0;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[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];N=+ZX(n,G);m=B+8|0;h[m>>3]=+h[m>>3]+N;h[B+16>>3]=+h[B+8>>3];m=(c[t>>2]|0)+((c[H>>2]|0)*40|0)+8+16|0;d=(c[t>>2]|0)+((c[H>>2]|0)*40|0)+8+16|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[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];N=+ZX(n,G);d=B+16+8|0;h[d>>3]=+h[d>>3]+N;d=(c[o>>2]|0)+(c[H>>2]<<4)|0;m=c[o>>2]|0;N=+_X(+h[(c[t>>2]|0)+((c[H>>2]|0)*40|0)>>3]);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];MX(z,G,N);m=(c[o>>2]|0)+((c[p>>2]|0)-1<<4)|0;N=+$X(+h[(c[t>>2]|0)+((c[H>>2]|0)*40|0)>>3]);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];MX(A,G,N);c[n>>2]=c[z>>2];c[n+4>>2]=c[z+4>>2];c[n+8>>2]=c[z+8>>2];c[n+12>>2]=c[z+12>>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];QX(y,n,G);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[G>>2]=c[y>>2];c[G+4>>2]=c[y+4>>2];c[G+8>>2]=c[y+8>>2];c[G+12>>2]=c[y+12>>2];RX(q,n,G);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];d=(c[t>>2]|0)+((c[H>>2]|0)*40|0)+8|0;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[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];N=+ZX(n,G);h[L>>3]=+h[L>>3]+N;d=(c[t>>2]|0)+((c[H>>2]|0)*40|0)+8+16|0;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[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];N=+ZX(n,G);d=L+8|0;h[d>>3]=+h[d>>3]+N;c[H>>2]=(c[H>>2]|0)+1}h[D>>3]=+h[B>>3]*+h[B+16+8>>3]-+h[B+16>>3]*+h[B+8>>3];h[E>>3]=+h[B>>3]*+h[L+8>>3]-+h[B+8>>3]*+h[L>>3];h[F>>3]=+h[L>>3]*+h[B+16+8>>3]-+h[L+8>>3]*+h[B+8>>3];N=+h[D>>3];if((+h[D>>3]>=0.0?N:-N)>=1.0e-06){h[I>>3]=+h[F>>3]/+h[D>>3];h[J>>3]=+h[E>>3]/+h[D>>3]}N=+h[D>>3];if(!((+h[I>>3]<=0.0?1:(+h[D>>3]>=0.0?N:-N)<1.0e-06)|+h[J>>3]<=0.0)){L=c[u>>2]|0;d=c[o>>2]|0;c[L>>2]=c[d>>2];c[L+4>>2]=c[d+4>>2];c[L+8>>2]=c[d+8>>2];c[L+12>>2]=c[d+12>>2];L=c[v>>2]|0;N=+h[I>>3];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];MX(r,G,N);c[L>>2]=c[r>>2];c[L+4>>2]=c[r+4>>2];c[L+8>>2]=c[r+8>>2];c[L+12>>2]=c[r+12>>2];L=c[w>>2]|0;d=c[p>>2]|0;d=d-1|0;K=c[o>>2]|0;d=K+(d<<4)|0;c[L>>2]=c[d>>2];c[L+4>>2]=c[d+4>>2];c[L+8>>2]=c[d+8>>2];c[L+12>>2]=c[d+12>>2];L=c[x>>2]|0;N=+h[J>>3];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];MX(s,G,N);c[L>>2]=c[s>>2];c[L+4>>2]=c[s+4>>2];c[L+8>>2]=c[s+8>>2];c[L+12>>2]=c[s+12>>2];i=M;return 0}d=c[o>>2]|0;L=(c[o>>2]|0)+((c[p>>2]|0)-1<<4)|0;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[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];h[C>>3]=+KX(n,G)/3.0;h[I>>3]=+h[C>>3];h[J>>3]=+h[C>>3];L=c[u>>2]|0;d=c[o>>2]|0;c[L>>2]=c[d>>2];c[L+4>>2]=c[d+4>>2];c[L+8>>2]=c[d+8>>2];c[L+12>>2]=c[d+12>>2];L=c[v>>2]|0;N=+h[I>>3];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];MX(r,G,N);c[L>>2]=c[r>>2];c[L+4>>2]=c[r+4>>2];c[L+8>>2]=c[r+8>>2];c[L+12>>2]=c[r+12>>2];L=c[w>>2]|0;d=c[p>>2]|0;d=d-1|0;K=c[o>>2]|0;d=K+(d<<4)|0;c[L>>2]=c[d>>2];c[L+4>>2]=c[d+4>>2];c[L+8>>2]=c[d+8>>2];c[L+12>>2]=c[d+12>>2];L=c[x>>2]|0;N=+h[J>>3];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];MX(s,G,N);c[L>>2]=c[s>>2];c[L+4>>2]=c[s+4>>2];c[L+8>>2]=c[s+8>>2];c[L+12>>2]=c[s+12>>2];i=M;return 0}function PX(a,b,d,e,f,g,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|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.0;x=i;i=i+112|0;if((i|0)>=(j|0))ba();t=x+108|0;m=x+104|0;n=x+100|0;o=x+96|0;p=x+92|0;w=x+16|0;q=x+8|0;r=x;v=x+88|0;u=x+84|0;s=x+80|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=k;c[p>>2]=l;c[s>>2]=1;c[u>>2]=(c[p>>2]|0)==2?1:0;h[r>>3]=4.0;h[q>>3]=4.0;while(1){h[w>>3]=+h[d>>3];h[w+8>>3]=+h[d+8>>3];h[w+16>>3]=+h[d>>3]+ +h[q>>3]*+h[e>>3]/3.0;h[w+16+8>>3]=+h[d+8>>3]+ +h[q>>3]*+h[e+8>>3]/3.0;h[w+32>>3]=+h[f>>3]-+h[r>>3]*+h[g>>3]/3.0;h[w+32+8>>3]=+h[f+8>>3]-+h[r>>3]*+h[g+8>>3]/3.0;h[w+48>>3]=+h[f>>3];h[w+48+8>>3]=+h[f+8>>3];if((c[s>>2]|0)!=0?(y=+UX(w,4),y<+UX(c[o>>2]|0,c[p>>2]|0)-.001):0){m=4;break}c[s>>2]=0;if(VX(c[m>>2]|0,c[n>>2]|0,w)|0){m=6;break}if(+h[q>>3]==0.0&+h[r>>3]==0.0){m=11;break}if(+h[q>>3]>.01){h[q>>3]=+h[q>>3]/2.0;h[r>>3]=+h[r>>3]/2.0;continue}else{h[r>>3]=0.0;h[q>>3]=0.0;continue}}if((m|0)==4){c[t>>2]=0;w=c[t>>2]|0;i=x;return w|0}else if((m|0)==6){IX((c[23127]|0)+4|0);c[v>>2]=1;while(1){if((c[v>>2]|0)>=4)break;h[(c[23128]|0)+(c[23127]<<4)>>3]=+h[w+(c[v>>2]<<4)>>3];y=+h[w+(c[v>>2]<<4)+8>>3];u=c[23127]|0;c[23127]=u+1;h[(c[23128]|0)+(u<<4)+8>>3]=y;c[v>>2]=(c[v>>2]|0)+1}c[t>>2]=1;w=c[t>>2]|0;i=x;return w|0}else if((m|0)==11){if(!(c[u>>2]|0)){c[t>>2]=0;w=c[t>>2]|0;i=x;return w|0}IX((c[23127]|0)+4|0);c[v>>2]=1;while(1){if((c[v>>2]|0)>=4)break;h[(c[23128]|0)+(c[23127]<<4)>>3]=+h[w+(c[v>>2]<<4)>>3];y=+h[w+(c[v>>2]<<4)+8>>3];u=c[23127]|0;c[23127]=u+1;h[(c[23128]|0)+(u<<4)+8>>3]=y;c[v>>2]=(c[v>>2]|0)+1}c[t>>2]=1;w=c[t>>2]|0;i=x;return w|0}return 0}function QX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];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];return}function RX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]-+h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]-+h[d+8>>3];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];return}function SX(a){a=+a;var b=0,c=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b+8|0;c=b;h[d>>3]=a;h[c>>3]=1.0-+h[d>>3];i=b;return +(+h[c>>3]*+h[c>>3]*+h[c>>3])}function TX(a){a=+a;var b=0,c=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c=b;h[c>>3]=a;i=b;return +(+h[c>>3]*+h[c>>3]*+h[c>>3])}function UX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0.0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;f=k+8|0;g=k;c[d>>2]=a;c[e>>2]=b;h[g>>3]=0.0;c[f>>2]=1;while(1){if((c[f>>2]|0)>=(c[e>>2]|0))break;l=+O(+((+h[(c[d>>2]|0)+(c[f>>2]<<4)>>3]-+h[(c[d>>2]|0)+((c[f>>2]|0)-1<<4)>>3])*(+h[(c[d>>2]|0)+(c[f>>2]<<4)>>3]-+h[(c[d>>2]|0)+((c[f>>2]|0)-1<<4)>>3])+(+h[(c[d>>2]|0)+(c[f>>2]<<4)+8>>3]-+h[(c[d>>2]|0)+((c[f>>2]|0)-1<<4)+8>>3])*(+h[(c[d>>2]|0)+(c[f>>2]<<4)+8>>3]-+h[(c[d>>2]|0)+((c[f>>2]|0)-1<<4)+8>>3])));h[g>>3]=+h[g>>3]+l;c[f>>2]=(c[f>>2]|0)+1}i=k;return +(+h[g>>3])}function VX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=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;w=i;i=i+160|0;if((i|0)>=(j|0))ba();v=w+144|0;e=w+140|0;f=w+136|0;g=w+132|0;p=w+88|0;n=w+128|0;o=w+124|0;k=w+120|0;m=w+56|0;l=w+40|0;q=w+32|0;r=w+24|0;s=w+16|0;t=w+8|0;u=w;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;a:while(1){if((c[k>>2]|0)>=(c[f>>2]|0)){e=13;break}d=(c[e>>2]|0)+(c[k>>2]<<5)|0;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];d=m+16|0;a=(c[e>>2]|0)+(c[k>>2]<<5)+16|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];d=WX(c[g>>2]|0,m,p)|0;c[o>>2]=d;b:do if((d|0)!=4){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break b;if(((!(+h[p+(c[n>>2]<<3)>>3]<1.0e-06)?!(+h[p+(c[n>>2]<<3)>>3]>.999999):0)?(h[q>>3]=+h[p+(c[n>>2]<<3)>>3],h[u>>3]=+h[q>>3]*+h[q>>3]*+h[q>>3],h[t>>3]=+h[q>>3]*3.0*+h[q>>3]*(1.0-+h[q>>3]),h[s>>3]=+h[q>>3]*3.0*(1.0-+h[q>>3])*(1.0-+h[q>>3]),h[r>>3]=(1.0-+h[q>>3])*(1.0-+h[q>>3])*(1.0-+h[q>>3]),h[l>>3]=+h[r>>3]*+h[c[g>>2]>>3]+ +h[s>>3]*+h[(c[g>>2]|0)+16>>3]+ +h[t>>3]*+h[(c[g>>2]|0)+32>>3]+ +h[u>>3]*+h[(c[g>>2]|0)+48>>3],h[l+8>>3]=+h[r>>3]*+h[(c[g>>2]|0)+8>>3]+ +h[s>>3]*+h[(c[g>>2]|0)+16+8>>3]+ +h[t>>3]*+h[(c[g>>2]|0)+32+8>>3]+ +h[u>>3]*+h[(c[g>>2]|0)+48+8>>3],!((+h[l>>3]-+h[m>>3])*(+h[l>>3]-+h[m>>3])+(+h[l+8>>3]-+h[m+8>>3])*(+h[l+8>>3]-+h[m+8>>3])<.001)):0)?!((+h[l>>3]-+h[m+16>>3])*(+h[l>>3]-+h[m+16>>3])+(+h[l+8>>3]-+h[m+16+8>>3])*(+h[l+8>>3]-+h[m+16+8>>3])<.001):0){e=10;break a}c[n>>2]=(c[n>>2]|0)+1}}while(0);c[k>>2]=(c[k>>2]|0)+1}if((e|0)==10){c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}else if((e|0)==13){c[v>>2]=1;v=c[v>>2]|0;i=w;return v|0}return 0}function WX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=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;y=i;i=i+176|0;if((i|0)>=(j|0))ba();p=y+168|0;f=y+164|0;z=y+160|0;q=y+156|0;k=y+104|0;n=y+88|0;o=y+72|0;v=y+48|0;x=y+24|0;m=y+16|0;l=y+8|0;g=y;t=y+152|0;u=y+148|0;w=y+144|0;r=y+140|0;s=y+136|0;c[f>>2]=a;c[z>>2]=b;c[q>>2]=d;h[n>>3]=+h[c[z>>2]>>3];h[n+8>>3]=+h[(c[z>>2]|0)+16>>3]-+h[c[z>>2]>>3];h[o>>3]=+h[(c[z>>2]|0)+8>>3];h[o+8>>3]=+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+8>>3];c[t>>2]=0;e=+h[o+8>>3];if(!(+h[n+8>>3]==0.0)){h[g>>3]=e/+h[n+8>>3];XX(+h[(c[f>>2]|0)+8>>3]-+h[g>>3]*+h[c[f>>2]>>3],+h[(c[f>>2]|0)+16+8>>3]-+h[g>>3]*+h[(c[f>>2]|0)+16>>3],+h[(c[f>>2]|0)+32+8>>3]-+h[g>>3]*+h[(c[f>>2]|0)+32>>3],+h[(c[f>>2]|0)+48+8>>3]-+h[g>>3]*+h[(c[f>>2]|0)+48>>3],k);h[k>>3]=+h[k>>3]+(+h[g>>3]*+h[n>>3]-+h[o>>3]);c[u>>2]=tY(k,v)|0;if((c[u>>2]|0)==4){c[p>>2]=4;z=c[p>>2]|0;i=y;return z|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;h[m>>3]=+h[v+(c[r>>2]<<3)>>3];if(+h[m>>3]>=0.0&+h[m>>3]<=1.0?(XX(+h[c[f>>2]>>3],+h[(c[f>>2]|0)+16>>3],+h[(c[f>>2]|0)+32>>3],+h[(c[f>>2]|0)+48>>3],k),h[l>>3]=+h[k>>3]+ +h[m>>3]*(+h[k+8>>3]+ +h[m>>3]*(+h[k+16>>3]+ +h[m>>3]*+h[k+24>>3])),h[l>>3]=(+h[l>>3]-+h[n>>3])/+h[n+8>>3],0.0<=+h[l>>3]&+h[l>>3]<=1.0):0)YX(+h[m>>3],c[q>>2]|0,t);c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=c[t>>2];z=c[p>>2]|0;i=y;return z|0}XX(+h[c[f>>2]>>3],+h[(c[f>>2]|0)+16>>3],+h[(c[f>>2]|0)+32>>3],+h[(c[f>>2]|0)+48>>3],k);h[k>>3]=+h[k>>3]-+h[n>>3];c[u>>2]=tY(k,v)|0;if(!(e==0.0)){if((c[u>>2]|0)==4){c[p>>2]=4;z=c[p>>2]|0;i=y;return z|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break;h[m>>3]=+h[v+(c[r>>2]<<3)>>3];if(+h[m>>3]>=0.0&+h[m>>3]<=1.0?(XX(+h[(c[f>>2]|0)+8>>3],+h[(c[f>>2]|0)+16+8>>3],+h[(c[f>>2]|0)+32+8>>3],+h[(c[f>>2]|0)+48+8>>3],k),h[l>>3]=+h[k>>3]+ +h[m>>3]*(+h[k+8>>3]+ +h[m>>3]*(+h[k+16>>3]+ +h[m>>3]*+h[k+24>>3])),h[l>>3]=(+h[l>>3]-+h[o>>3])/+h[o+8>>3],0.0<=+h[l>>3]&+h[l>>3]<=1.0):0)YX(+h[m>>3],c[q>>2]|0,t);c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=c[t>>2];z=c[p>>2]|0;i=y;return z|0}XX(+h[(c[f>>2]|0)+8>>3],+h[(c[f>>2]|0)+16+8>>3],+h[(c[f>>2]|0)+32+8>>3],+h[(c[f>>2]|0)+48+8>>3],k);h[k>>3]=+h[k>>3]-+h[o>>3];c[w>>2]=tY(k,x)|0;b=(c[w>>2]|0)==4;a:do if((c[u>>2]|0)==4){if(b){c[p>>2]=4;z=c[p>>2]|0;i=y;return z|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break a;YX(+h[x+(c[s>>2]<<3)>>3],c[q>>2]|0,t);c[s>>2]=(c[s>>2]|0)+1}}else{c[r>>2]=0;if(b)while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break a;YX(+h[v+(c[r>>2]<<3)>>3],c[q>>2]|0,t);c[r>>2]=(c[r>>2]|0)+1}while(1){if((c[r>>2]|0)>=(c[u>>2]|0))break a;c[s>>2]=0;while(1){b=c[r>>2]|0;if((c[s>>2]|0)>=(c[w>>2]|0))break;if(+h[v+(b<<3)>>3]==+h[x+(c[s>>2]<<3)>>3])YX(+h[v+(c[r>>2]<<3)>>3],c[q>>2]|0,t);c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=b+1}}while(0);c[p>>2]=c[t>>2];z=c[p>>2]|0;i=y;return z|0}function XX(a,b,d,e,f){a=+a;b=+b;d=+d;e=+e;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+48|0;if((i|0)>=(j|0))ba();l=g+24|0;m=g+16|0;n=g+8|0;o=g;k=g+32|0;h[l>>3]=a;h[m>>3]=b;h[n>>3]=d;h[o>>3]=e;c[k>>2]=f;h[(c[k>>2]|0)+24>>3]=+h[o>>3]+ +h[m>>3]*3.0-(+h[l>>3]+ +h[n>>3]*3.0);h[(c[k>>2]|0)+16>>3]=+h[l>>3]*3.0+ +h[n>>3]*3.0-+h[m>>3]*6.0;h[(c[k>>2]|0)+8>>3]=(+h[m>>3]-+h[l>>3])*3.0;h[c[k>>2]>>3]=+h[l>>3];i=g;return}function YX(a,b,d){a=+a;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k;f=k+12|0;g=k+8|0;h[e>>3]=a;c[f>>2]=b;c[g>>2]=d;if(!(+h[e>>3]>=0.0&+h[e>>3]<=1.0)){i=k;return}h[(c[f>>2]|0)+(c[c[g>>2]>>2]<<3)>>3]=+h[e>>3];d=c[g>>2]|0;c[d>>2]=(c[d>>2]|0)+1;i=k;return}function ZX(a,b){a=a|0;b=b|0;return +(+h[a>>3]*+h[b>>3]+ +h[a+8>>3]*+h[b+8>>3])}function _X(a){a=+a;var b=0,c=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c=b+8|0;d=b;h[c>>3]=a;h[d>>3]=1.0-+h[c>>3];i=b;return +(+h[d>>3]*+h[d>>3]*(+h[d>>3]+ +h[c>>3]*3.0))}function $X(a){a=+a;var b=0,c=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();c=b+8|0;d=b;h[c>>3]=a;h[d>>3]=1.0-+h[c>>3];i=b;return +(+h[c>>3]*+h[c>>3]*(+h[d>>3]*3.0+ +h[c>>3]))}function aY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0.0,l=0,m=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,D=0;D=i;i=i+112|0;if((i|0)>=(j|0))ba();y=D+80|0;x=D+64|0;w=D+48|0;B=4;z=A1(40)|0;c[z>>2]=0;t=D+32|0;u=D+16|0;v=D;A=D+96|0;B=k5(92528,1,z|0,B|0)|0;z=C;n=0;f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1)f=C;else f=0;a:while(1){if(f){m=4;break}n=0;Aa(107,c[a+4>>2]|0);f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){f=C;continue}c[23171]=0;c[23172]=0;n=0;Aa(108,c[a+4>>2]<<1|0);f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){f=C;continue}c[23175]=(c[23174]|0)/2|0;c[23176]=(c[23175]|0)-1;g=-1;k=s;l=0;while(1){if((l|0)>=(c[a+4>>2]|0))break;if(k>+h[(c[a>>2]|0)+(l<<4)>>3]){g=l;k=+h[(c[a>>2]|0)+(l<<4)>>3]}l=l+1|0}r=(c[a>>2]|0)+(g<<4)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];if(!g)f=c[a+4>>2]|0;else f=g;r=(c[a>>2]|0)+(f-1<<4)|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];r=(c[a>>2]|0)+(((g|0)==((c[a+4>>2]|0)-1|0)?0:g+1|0)<<4)|0;c[v>>2]=c[r>>2];c[v+4>>2]=c[r+4>>2];c[v+8>>2]=c[r+8>>2];c[v+12>>2]=c[r+12>>2];if((+h[t>>3]==+h[u>>3]?+h[u>>3]==+h[v>>3]:0)?+h[v+8>>3]>+h[u+8>>3]:0)m=20;else m=18;b:do if((m|0)==18){m=0;n=0;g=Ga(40,t|0,u|0,v|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){f=C;continue a}if((g|0)!=1)m=20;else{f=0;while(1){if((f|0)>=(c[a+4>>2]|0))break b;if(!(((f|0)>0?+h[(c[a>>2]|0)+(f<<4)>>3]==+h[(c[a>>2]|0)+(f-1<<4)>>3]:0)?+h[(c[a>>2]|0)+(f<<4)+8>>3]==+h[(c[a>>2]|0)+(f-1<<4)+8>>3]:0)){c[(c[23178]|0)+(c[23171]<<3)>>2]=(c[a>>2]|0)+(f<<4);c[(c[23178]|0)+(c[23171]<<3)+4>>2]=(c[23178]|0)+(((c[23171]|0)%(c[a+4>>2]|0)|0)<<3);c[(c[23179]|0)+(c[23171]<<2)>>2]=(c[23178]|0)+(c[23171]<<3);c[23171]=(c[23171]|0)+1}f=f+1|0}}}while(0);c:do if((m|0)==20){f=(c[a+4>>2]|0)-1|0;while(1){if((f|0)<0)break c;if(!(((f|0)<((c[a+4>>2]|0)-1|0)?+h[(c[a>>2]|0)+(f<<4)>>3]==+h[(c[a>>2]|0)+(f+1<<4)>>3]:0)?+h[(c[a>>2]|0)+(f<<4)+8>>3]==+h[(c[a>>2]|0)+(f+1<<4)+8>>3]:0)){c[(c[23178]|0)+(c[23171]<<3)>>2]=(c[a>>2]|0)+(f<<4);c[(c[23178]|0)+(c[23171]<<3)+4>>2]=(c[23178]|0)+(((c[23171]|0)%(c[a+4>>2]|0)|0)<<3);c[(c[23179]|0)+(c[23171]<<2)>>2]=(c[23178]|0)+(c[23171]<<3);c[23171]=(c[23171]|0)+1}f=f+-1|0}}while(0);n=0;Ca(25,c[23179]|0,c[23171]|0);f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){f=C;continue}g=0;while(1){if((g|0)>=(c[23172]|0))break;l=g+1|0;while(1){if((l|0)>=(c[23172]|0))break;n=0;Ca(26,g|0,l|0);f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){f=C;continue a}l=l+1|0}g=g+1|0}r=0;while(1){if((r|0)>=(c[23172]|0))break;n=0;f=Na(105,r|0,b|0)|0;e=n;n=0;if((e|0)!=0&(o|0)!=0){g=m5(c[e>>2]|0,B|0,z|0)|0;if(!g)hb(e|0,o|0);C=o}else g=-1;if((g|0)==1){f=C;continue a}if(f)break;r=r+1|0}if((r|0)==(c[23172]|0)){f=c[24742]|0;n=0;c[w>>2]=179882;c[w+4>>2]=192;c[w+8>>2]=179893;Ga(36,f|0,179863,w|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){f=C;continue}else{m=49;break}}m=0;while(1){if((m|0)>=(c[23172]|0))break;n=0;l=Na(105,m|0,b+16|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,B|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){f=C;continue a}if(l)break;m=m+1|0}if((m|0)==(c[23172]|0)){f=c[24742]|0;n=0;c[x>>2]=179882;c[x+4>>2]=200;c[x+8>>2]=179926;Ga(36,f|0,179863,x|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){f=C;continue}else{m=57;break}}n=0;l=Na(106,r|0,m|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,B|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){f=C;continue}if(!l){f=c[24742]|0;n=0;c[y>>2]=179882;c[y+4>>2]=207;c[y+8>>2]=179964;Ga(36,f|0,179863,y|0)|0;f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){f=C;continue}n=0;Aa(109,2);f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){f=C;continue}else{m=62;break}}if((r|0)==(m|0)){n=0;Aa(109,2);f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){f=C;continue}else{m=65;break}}c[A>>2]=b;c[A+4>>2]=0;c[A+8>>2]=b+16;c[A+8+4>>2]=0;n=0;Ca(27,1,A|0);f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1){f=C;continue}c[23177]=c[23175];p=r;d:while(1){if((p|0)==-1)break;q=(c[23181]|0)+(p*52|0)|0;c[q>>2]=2;m=0;while(1){if((m|0)>=3)break;if((c[q+4+(m<<4)+12>>2]|0)!=0?(c[c[q+4+(m<<4)+12>>2]>>2]|0)==1:0)break;m=m+1|0}do if((m|0)==3){n=0;l=Ga(40,b+16|0,c[c[(c[23173]|0)+(c[23175]<<2)>>2]>>2]|0,c[c[(c[23173]|0)+(c[23176]<<2)>>2]>>2]|0)|0;g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,B|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){f=C;continue a}if((l|0)==1){e=c[(c[23173]|0)+(c[23176]<<2)>>2]|0;m=A+8|0;break}else{e=A+8|0;m=c[(c[23173]|0)+(c[23176]<<2)>>2]|0;break}}else{n=0;f=Ga(40,c[c[q+4+(m<<4)>>2]>>2]|0,c[c[q+4+(((m+1|0)%3|0)<<4)+4>>2]>>2]|0,c[c[q+4+(m<<4)+4>>2]>>2]|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){g=m5(c[l>>2]|0,B|0,z|0)|0;if(!g)hb(l|0,o|0);C=o}else g=-1;if((g|0)==1){f=C;continue a}l=q+4+(m<<4)|0;if((f|0)==1){e=c[l+4>>2]|0;m=c[q+4+(m<<4)>>2]|0;break}else{e=c[l>>2]|0;m=c[q+4+(m<<4)+4>>2]|0;break}}while(0);e:do if((p|0)==(r|0)){n=0;Ca(27,2,e|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){g=m5(c[l>>2]|0,B|0,z|0)|0;if(!g)hb(l|0,o|0);C=o}else g=-1;if((g|0)==1){f=C;continue a}n=0;Ca(27,1,m|0);g=n;n=0;if((g|0)!=0&(o|0)!=0){f=m5(c[g>>2]|0,B|0,z|0)|0;if(!f)hb(g|0,o|0);C=o}else f=-1;if((f|0)==1){f=C;continue a}}else{do if((c[(c[23173]|0)+(c[23175]<<2)>>2]|0)!=(m|0)){if((c[(c[23173]|0)+(c[23176]<<2)>>2]|0)==(m|0))break;n=0;f=Ea(33,m|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){g=m5(c[l>>2]|0,B|0,z|0)|0;if(!g)hb(l|0,o|0);C=o}else g=-1;if((g|0)==1){f=C;continue a}n=0;Ca(28,2,f|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){g=m5(c[l>>2]|0,B|0,z|0)|0;if(!g)hb(l|0,o|0);C=o}else g=-1;if((g|0)==1){f=C;continue a}n=0;Ca(27,1,m|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){g=m5(c[l>>2]|0,B|0,z|0)|0;if(!g)hb(l|0,o|0);C=o}else g=-1;if((g|0)==1){f=C;continue a}if((f|0)<=(c[23177]|0))break e;c[23177]=f;break e}while(0);n=0;f=Ea(33,e|0)|0;l=n;n=0;if((l|0)!=0&(o|0)!=0){g=m5(c[l>>2]|0,B|0,z|0)|0;if(!g)hb(l|0,o|0);C=o}else g=-1;if((g|0)==1){f=C;continue a}n=0;Ca(28,1,f|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){g=m5(c[l>>2]|0,B|0,z|0)|0;if(!g)hb(l|0,o|0);C=o}else g=-1;if((g|0)==1){f=C;continue a}n=0;Ca(27,2,e|0);l=n;n=0;if((l|0)!=0&(o|0)!=0){g=m5(c[l>>2]|0,B|0,z|0)|0;if(!g)hb(l|0,o|0);C=o}else g=-1;if((g|0)==1){f=C;continue a}if((f|0)>=(c[23177]|0))break;c[23177]=f}while(0);f=0;while(1){if((f|0)>=3){p=-1;continue d}if((c[q+4+(f<<4)+12>>2]|0)!=0?(c[c[q+4+(f<<4)+12>>2]>>2]|0)==1:0)break;f=f+1|0}p=((c[q+4+(f<<4)+12>>2]|0)-(c[23181]|0)|0)/52|0}l=0;f=A+8|0;while(1){if(!f)break;l=l+1|0;f=c[f+4>>2]|0}n=0;Aa(109,l|0);f=n;n=0;if((f|0)!=0&(o|0)!=0){e=m5(c[f>>2]|0,B|0,z|0)|0;if(!e)hb(f|0,o|0);C=o}else e=-1;if((e|0)==1)f=C;else{m=109;break}}if((m|0)==4){d=-2;B1(B|0);i=D;return d|0}else if((m|0)==49){d=-1;B1(B|0);i=D;return d|0}else if((m|0)==57){d=-1;B1(B|0);i=D;return d|0}else if((m|0)==62){c[d+4>>2]=2;A=c[23180]|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];A=(c[23180]|0)+16|0;z=b+16|0;c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];c[A+12>>2]=c[z+12>>2];c[d>>2]=c[23180];d=0;B1(B|0);i=D;return d|0}else if((m|0)==65){c[d+4>>2]=2;A=c[23180]|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];A=(c[23180]|0)+16|0;z=b+16|0;c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];c[A+12>>2]=c[z+12>>2];c[d>>2]=c[23180];d=0;B1(B|0);i=D;return d|0}else if((m|0)==109){c[d+4>>2]=l;f=l-1|0;e=A+8|0;while(1){if(!e)break;A=(c[23180]|0)+(f<<4)|0;z=c[e>>2]|0;c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];c[A+12>>2]=c[z+12>>2];f=f+-1|0;e=c[e+4>>2]|0}c[d>>2]=c[23180];d=0;B1(B|0);i=D;return d|0}return 0}function bY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;if((i|0)>=(j|0))ba();e=h+48|0;g=h+32|0;f=h+16|0;d=h;b=h+60|0;c[b>>2]=a;if((c[b>>2]|0)<=(c[23184]|0)){i=h;return}if(c[23178]|0){f=D1(c[23178]|0,c[b>>2]<<3)|0;c[23178]=f;if(!f){f=c[24742]|0;c[g>>2]=179882;c[g+4>>2]=533;c[g+8>>2]=180171;p3(f,179863,g)|0;hb(92528,1)}g=D1(c[23179]|0,c[b>>2]<<2)|0;c[23179]=g;if(!g){g=c[24742]|0;c[e>>2]=179882;c[e+4>>2]=539;c[e+8>>2]=180191;p3(g,179863,e)|0;hb(92528,1)}}else{g=A1(c[b>>2]<<3)|0;c[23178]=g;if(!g){g=c[24742]|0;c[d>>2]=179882;c[d+4>>2]=523;c[d+8>>2]=180132;p3(g,179863,d)|0;hb(92528,1)}g=A1(c[b>>2]<<2)|0;c[23179]=g;if(!g){g=c[24742]|0;c[f>>2]=179882;c[f+4>>2]=527;c[f+8>>2]=180151;p3(g,179863,f)|0;hb(92528,1)}}c[23184]=c[b>>2];i=h;return}function cY(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();e=f+16|0;d=f;b=f+28|0;c[b>>2]=a;if((c[b>>2]|0)<=(c[23174]|0)){i=f;return}if(c[23173]|0){d=D1(c[23173]|0,c[b>>2]<<2)|0;c[23173]=d;if(!d){d=c[24742]|0;c[e>>2]=179882;c[e+4>>2]=580;c[e+8>>2]=180109;p3(d,179863,e)|0;hb(92528,1)}}else{e=A1(c[b>>2]<<2)|0;c[23173]=e;if(!e){e=c[24742]|0;c[d>>2]=179882;c[d+4>>2]=573;c[d+8>>2]=180087;p3(e,179863,d)|0;hb(92528,1)}}c[23174]=c[b>>2];i=f;return}function dY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();k=f+16|0;g=f+12|0;l=f+8|0;e=f;c[k>>2]=a;c[g>>2]=b;c[l>>2]=d;h[e>>3]=(+h[(c[k>>2]|0)+8>>3]-+h[(c[g>>2]|0)+8>>3])*(+h[c[l>>2]>>3]-+h[c[g>>2]>>3])-(+h[(c[l>>2]|0)+8>>3]-+h[(c[g>>2]|0)+8>>3])*(+h[c[k>>2]>>3]-+h[c[g>>2]>>3]);if(+h[e>>3]>0.0){l=1;i=f;return l|0}l=+h[e>>3]<0.0?2:3;i=f;return l|0}function eY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();k=m;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=3){nY(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+8>>2]|0);i=m;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[e>>2]|0)){l=10;break}c[g>>2]=((c[f>>2]|0)+1|0)%(c[e>>2]|0)|0;c[h>>2]=((c[f>>2]|0)+2|0)%(c[e>>2]|0)|0;a=(mY(c[f>>2]|0,c[h>>2]|0,c[d>>2]|0,c[e>>2]|0)|0)!=0;b=c[f>>2]|0;if(a)break;c[f>>2]=b+1}if((l|0)==10){l=c[24742]|0;c[k>>2]=179882;c[k+4>>2]=324;c[k+8>>2]=180027;p3(l,179863,k)|0;i=m;return}nY(c[(c[d>>2]|0)+(b<<2)>>2]|0,c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[d>>2]|0)+(c[h>>2]<<2)>>2]|0);c[f>>2]=c[g>>2];while(1){if((c[f>>2]|0)>=((c[e>>2]|0)-1|0))break;c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[d>>2]|0)+((c[f>>2]|0)+1<<2)>>2];c[f>>2]=(c[f>>2]|0)+1}eY(c[d>>2]|0,(c[e>>2]|0)-1|0);i=m;return}function fY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();d=l+20|0;e=l+16|0;h=l+12|0;k=l+8|0;f=l+4|0;g=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;c[g>>2]=0;while(1){if((c[g>>2]|0)>=3)break;c[h>>2]=(c[23181]|0)+((c[d>>2]|0)*52|0);c[k>>2]=(c[23181]|0)+((c[e>>2]|0)*52|0);if((c[c[(c[h>>2]|0)+4+(c[f>>2]<<4)>>2]>>2]|0)==(c[c[(c[k>>2]|0)+4+(c[g>>2]<<4)>>2]>>2]|0)?(c[c[(c[h>>2]|0)+4+(c[f>>2]<<4)+4>>2]>>2]|0)==(c[c[(c[k>>2]|0)+4+(c[g>>2]<<4)+4>>2]>>2]|0):0)a=9;else a=7;if(((a|0)==7?(a=0,(c[c[(c[h>>2]|0)+4+(c[f>>2]<<4)>>2]>>2]|0)==(c[c[(c[k>>2]|0)+4+(c[g>>2]<<4)+4>>2]>>2]|0)):0)?(c[c[(c[h>>2]|0)+4+(c[f>>2]<<4)+4>>2]>>2]|0)==(c[c[(c[k>>2]|0)+4+(c[g>>2]<<4)>>2]>>2]|0):0)a=9;if((a|0)==9){c[(c[h>>2]|0)+4+(c[f>>2]<<4)+12>>2]=c[k>>2];c[(c[k>>2]|0)+4+(c[g>>2]<<4)+12>>2]=c[h>>2]}c[g>>2]=(c[g>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}i=l;return}function gY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[g>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if((dY(c[c[(c[23181]|0)+((c[d>>2]|0)*52|0)+4+(c[f>>2]<<4)>>2]>>2]|0,c[c[(c[23181]|0)+((c[d>>2]|0)*52|0)+4+(c[f>>2]<<4)+4>>2]>>2]|0,c[e>>2]|0)|0)!=2)c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}i=h;return ((c[g>>2]|0)==3?1:(c[g>>2]|0)==0)&1|0}function hY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+12|0;g=h+8|0;d=h+4|0;e=h;c[g>>2]=a;c[d>>2]=b;if(c[(c[23181]|0)+((c[g>>2]|0)*52|0)>>2]|0){c[f>>2]=0;g=c[f>>2]|0;i=h;return g|0}c[(c[23181]|0)+((c[g>>2]|0)*52|0)>>2]=1;if((c[g>>2]|0)==(c[d>>2]|0)){c[f>>2]=1;g=c[f>>2]|0;i=h;return g|0}c[e>>2]=0;while(1){if((c[e>>2]|0)>=3){d=11;break}if((c[(c[23181]|0)+((c[g>>2]|0)*52|0)+4+(c[e>>2]<<4)+12>>2]|0)!=0?(hY(((c[(c[23181]|0)+((c[g>>2]|0)*52|0)+4+(c[e>>2]<<4)+12>>2]|0)-(c[23181]|0)|0)/52|0,c[d>>2]|0)|0)!=0:0){d=9;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==9){c[f>>2]=1;g=c[f>>2]|0;i=h;return g|0}else if((d|0)==11){c[(c[23181]|0)+((c[g>>2]|0)*52|0)>>2]=0;c[f>>2]=0;g=c[f>>2]|0;i=h;return g|0}return 0}function iY(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();e=f+16|0;d=f;b=f+28|0;c[b>>2]=a;if((c[b>>2]|0)<=(c[23182]|0)){i=f;return}if(c[23180]|0){d=D1(c[23180]|0,c[b>>2]<<4)|0;c[23180]=d;if(!d){d=c[24742]|0;c[e>>2]=179882;c[e+4>>2]=599;c[e+8>>2]=180008;p3(d,179863,e)|0;hb(92528,1)}}else{e=A1(c[b>>2]<<4)|0;c[23180]=e;if(!e){e=c[24742]|0;c[d>>2]=179882;c[d+4>>2]=593;c[d+8>>2]=179990;p3(e,179863,d)|0;hb(92528,1)}}c[23182]=c[b>>2];i=f;return}function jY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;b=((c[23176]|0)-(c[23175]|0)|0)>=0;if((c[f>>2]|0)==1){if(b)c[(c[d>>2]|0)+4>>2]=c[(c[23173]|0)+(c[23175]<<2)>>2];c[23175]=(c[23175]|0)+-1;c[(c[23173]|0)+(c[23175]<<2)>>2]=c[d>>2];i=e;return}else{if(b)c[(c[d>>2]|0)+4>>2]=c[(c[23173]|0)+(c[23176]<<2)>>2];c[23176]=(c[23176]|0)+1;c[(c[23173]|0)+(c[23176]<<2)>>2]=c[d>>2];i=e;return}}function kY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=c[23175];while(1){if((c[e>>2]|0)>=(c[23177]|0))break;h=(dY(c[c[(c[23173]|0)+((c[e>>2]|0)+1<<2)>>2]>>2]|0,c[c[(c[23173]|0)+(c[e>>2]<<2)>>2]>>2]|0,c[c[d>>2]>>2]|0)|0)==1;a=c[e>>2]|0;if(h){f=4;break}c[e>>2]=a+1}if((f|0)==4){c[b>>2]=a;h=c[b>>2]|0;i=g;return h|0}c[e>>2]=c[23176];while(1){if((c[e>>2]|0)<=(c[23177]|0)){f=11;break}h=(dY(c[c[(c[23173]|0)+((c[e>>2]|0)-1<<2)>>2]>>2]|0,c[c[(c[23173]|0)+(c[e>>2]<<2)>>2]>>2]|0,c[c[d>>2]>>2]|0)|0)==2;a=c[e>>2]|0;if(h){f=9;break}c[e>>2]=a+-1}if((f|0)==9){c[b>>2]=a;h=c[b>>2]|0;i=g;return h|0}else if((f|0)==11){c[b>>2]=c[23177];h=c[b>>2]|0;i=g;return h|0}return 0}function lY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;if((c[e>>2]|0)==1){c[23176]=b;i=d;return}else{c[23175]=b;i=d;return}}function mY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();q=r+36|0;h=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;g=r+16|0;f=r+12|0;n=r+8|0;o=r+4|0;p=r;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[g>>2]=((c[h>>2]|0)+1|0)%(c[m>>2]|0)|0;c[f>>2]=((c[h>>2]|0)+(c[m>>2]|0)-1|0)%(c[m>>2]|0)|0;d=(dY(c[c[(c[l>>2]|0)+(c[f>>2]<<2)>>2]>>2]|0,c[c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]>>2]|0,c[c[(c[l>>2]|0)+(c[g>>2]<<2)>>2]>>2]|0)|0)==1;b=c[c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]>>2]|0;a=c[c[(c[l>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0;if(d){if((dY(b,a,c[c[(c[l>>2]|0)+(c[f>>2]<<2)>>2]>>2]|0)|0)==1)b=(dY(c[c[(c[l>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0,c[c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]>>2]|0,c[c[(c[l>>2]|0)+(c[g>>2]<<2)>>2]>>2]|0)|0)==1;else b=0;c[p>>2]=b&1}else c[p>>2]=(dY(b,a,c[c[(c[l>>2]|0)+(c[g>>2]<<2)>>2]>>2]|0)|0)==2&1;if(!(c[p>>2]|0)){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0)){b=17;break}c[o>>2]=((c[n>>2]|0)+1|0)%(c[m>>2]|0)|0;if(((((c[n>>2]|0)!=(c[h>>2]|0)?(c[o>>2]|0)!=(c[h>>2]|0):0)?(c[n>>2]|0)!=(c[k>>2]|0):0)?(c[o>>2]|0)!=(c[k>>2]|0):0)?(pY(c[c[(c[l>>2]|0)+(c[h>>2]<<2)>>2]>>2]|0,c[c[(c[l>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0,c[c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]>>2]|0,c[c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]>>2]|0)|0)!=0:0){b=15;break}c[n>>2]=(c[n>>2]|0)+1}if((b|0)==15){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}else if((b|0)==17){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}return 0}function nY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+16|0;f=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[23172]|0)>=(c[23183]|0))oY((c[23183]|0)+20|0);d=c[23172]|0;c[23172]=d+1;c[k>>2]=(c[23181]|0)+(d*52|0);c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+4>>2]=c[e>>2];c[(c[k>>2]|0)+4+4>>2]=c[f>>2];c[(c[k>>2]|0)+4+12>>2]=0;c[(c[k>>2]|0)+4+16>>2]=c[f>>2];c[(c[k>>2]|0)+4+16+4>>2]=c[g>>2];c[(c[k>>2]|0)+4+16+12>>2]=0;c[(c[k>>2]|0)+4+32>>2]=c[g>>2];c[(c[k>>2]|0)+4+32+4>>2]=c[e>>2];c[(c[k>>2]|0)+4+32+12>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=3)break;c[(c[k>>2]|0)+4+(c[h>>2]<<4)+8>>2]=c[k>>2];c[h>>2]=(c[h>>2]|0)+1}i=l;return}function oY(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();e=f+16|0;d=f;b=f+28|0;c[b>>2]=a;if((c[b>>2]|0)<=(c[23183]|0)){i=f;return}if(c[23181]|0){d=D1(c[23181]|0,(c[b>>2]|0)*52|0)|0;c[23181]=d;if(!d){d=c[24742]|0;c[e>>2]=179882;c[e+4>>2]=558;c[e+8>>2]=180067;p3(d,179863,e)|0;hb(92528,1)}}else{e=A1((c[b>>2]|0)*52|0)|0;c[23181]=e;if(!e){e=c[24742]|0;c[d>>2]=179882;c[d+4>>2]=552;c[d+8>>2]=180048;p3(e,179863,d)|0;hb(92528,1)}}c[23183]=c[b>>2];i=f;return}function pY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();p=q+32|0;f=q+28|0;g=q+24|0;h=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if((((dY(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)!=3?(dY(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0)|0)!=3:0)?(dY(c[h>>2]|0,c[k>>2]|0,c[f>>2]|0)|0)!=3:0)?(dY(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0)!=3:0){e=(dY(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)==1;c[l>>2]=e?1:0;e=(dY(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0)|0)==1;c[m>>2]=e?1:0;e=(dY(c[h>>2]|0,c[k>>2]|0,c[f>>2]|0)|0)==1;c[n>>2]=e?1:0;e=(dY(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0)==1;c[o>>2]=e?1:0;if(c[l>>2]^c[m>>2])f=(c[n>>2]^c[o>>2]|0)!=0;else f=0;c[p>>2]=f&1;p=c[p>>2]|0;i=q;return p|0}if((((qY(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)==0?(qY(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0)|0)==0:0)?(qY(c[h>>2]|0,c[k>>2]|0,c[f>>2]|0)|0)==0:0)?(qY(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0)==0:0){c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}c[p>>2]=1;p=c[p>>2]|0;i=q;return p|0}function qY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;k=i;i=i+48|0;if((i|0)>=(j|0))ba();g=k+44|0;n=k+40|0;m=k+36|0;l=k+32|0;e=k+16|0;f=k;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;h[e>>3]=+h[c[m>>2]>>3]-+h[c[n>>2]>>3];h[e+8>>3]=+h[(c[m>>2]|0)+8>>3]-+h[(c[n>>2]|0)+8>>3];h[f>>3]=+h[c[l>>2]>>3]-+h[c[n>>2]>>3];h[f+8>>3]=+h[(c[l>>2]|0)+8>>3]-+h[(c[n>>2]|0)+8>>3];if((dY(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0)|0)!=3){c[g>>2]=0;n=c[g>>2]|0;i=k;return n|0}if(+h[f>>3]*+h[e>>3]+ +h[f+8>>3]*+h[e+8>>3]>=0.0)e=+h[f>>3]*+h[f>>3]+ +h[f+8>>3]*+h[f+8>>3]<=+h[e>>3]*+h[e>>3]+ +h[e+8>>3]*+h[e+8>>3];else e=0;c[g>>2]=e&1;n=c[g>>2]|0;i=k;return n|0}function rY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;if((i|0)>=(j|0))ba();f=u+52|0;g=u+48|0;k=u+44|0;l=u+40|0;m=u+36|0;s=u+32|0;r=u+28|0;o=u+24|0;n=u+20|0;q=u+16|0;p=u+8|0;t=u;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=A1(c[k>>2]<<2)|0;c[s>>2]=A1((c[k>>2]|0)+1<<3)|0;c[r>>2]=(c[s>>2]|0)+8;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=-1;h[(c[r>>2]|0)+(c[n>>2]<<3)>>3]=-+h[5507];c[n>>2]=(c[n>>2]|0)+1}h[(c[r>>2]|0)+-8>>3]=-(+h[5507]+1.0);c[o>>2]=c[f>>2];a:while(1){if((c[o>>2]|0)==(c[g>>2]|0))break;c[n>>2]=c[o>>2];e=(c[r>>2]|0)+(c[n>>2]<<3)|0;h[e>>3]=+h[e>>3]*-1.0;c[o>>2]=-1;if(+h[(c[r>>2]|0)+(c[n>>2]<<3)>>3]==+h[5507])h[(c[r>>2]|0)+(c[n>>2]<<3)>>3]=0.0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[k>>2]|0))continue a;if(+h[(c[r>>2]|0)+(c[q>>2]<<3)>>3]<0.0){if((c[n>>2]|0)>=(c[q>>2]|0))h[t>>3]=+h[(c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0)+(c[q>>2]<<3)>>3];else h[t>>3]=+h[(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)+(c[n>>2]<<3)>>3];h[p>>3]=-(+h[(c[r>>2]|0)+(c[n>>2]<<3)>>3]+ +h[t>>3]);if(+h[t>>3]!=0.0?+h[(c[r>>2]|0)+(c[q>>2]<<3)>>3]<+h[p>>3]:0){h[(c[r>>2]|0)+(c[q>>2]<<3)>>3]=+h[p>>3];c[(c[m>>2]|0)+(c[q>>2]<<2)>>2]=c[n>>2]}if(+h[(c[r>>2]|0)+(c[q>>2]<<3)>>3]>+h[(c[r>>2]|0)+(c[o>>2]<<3)>>3])c[o>>2]=c[q>>2]}c[q>>2]=(c[q>>2]|0)+1}}B1(c[s>>2]|0);i=u;return c[m>>2]|0}function sY(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 k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;r=i;i=i+80|0;if((i|0)>=(j|0))ba();s=r+16|0;t=r;k=r+64|0;v=r+60|0;l=r+56|0;u=r+52|0;m=r+48|0;n=r+44|0;o=r+40|0;p=r+36|0;q=r+32|0;c[v>>2]=b;c[l>>2]=d;c[u>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=c[(c[n>>2]|0)+4>>2];d=c[v>>2]|0;f=c[u>>2]|0;g=c[n>>2]|0;c[t>>2]=c[a>>2];c[t+4>>2]=c[a+4>>2];c[t+8>>2]=c[a+8>>2];c[t+12>>2]=c[a+12>>2];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];if(EY(t,d,s,f,g)|0){c[p>>2]=A1((c[o>>2]|0)+2<<2)|0;c[(c[p>>2]|0)+(c[o>>2]<<2)>>2]=(c[o>>2]|0)+1;c[(c[p>>2]|0)+((c[o>>2]|0)+1<<2)>>2]=-1;c[k>>2]=c[p>>2];v=c[k>>2]|0;i=r;return v|0}else{c[q>>2]=c[(c[n>>2]|0)+24>>2];c[(c[q>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[q>>2]|0)+((c[o>>2]|0)+1<<2)>>2]=c[l>>2];c[k>>2]=rY((c[o>>2]|0)+1|0,c[o>>2]|0,(c[o>>2]|0)+2|0,c[q>>2]|0)|0;v=c[k>>2]|0;i=r;return v|0}return 0}function tY(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=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=i;i=i+144|0;if((i|0)>=(j|0))ba();p=B+136|0;e=B+132|0;q=B+128|0;f=B+112|0;g=B+104|0;k=B+96|0;m=B+88|0;y=B+124|0;v=B+120|0;o=B+80|0;w=B+72|0;u=B+64|0;s=B+56|0;l=B+48|0;n=B+40|0;x=B+32|0;A=B+24|0;z=B+16|0;r=B+8|0;t=B;c[e>>2]=a;c[q>>2]=b;h[f>>3]=+h[(c[e>>2]|0)+24>>3];h[g>>3]=+h[(c[e>>2]|0)+16>>3];h[k>>3]=+h[(c[e>>2]|0)+8>>3];h[m>>3]=+h[c[e>>2]>>3];if(+h[f>>3]<1.0e-07&+h[f>>3]>-1.0e-07){c[p>>2]=uY(c[e>>2]|0,c[q>>2]|0)|0;A=c[p>>2]|0;i=B;return A|0}h[s>>3]=+h[g>>3]/(+h[f>>3]*3.0);h[l>>3]=+h[k>>3]/+h[f>>3];h[n>>3]=+h[m>>3]/+h[f>>3];h[o>>3]=+h[s>>3]*+h[s>>3];h[w>>3]=+h[s>>3]*2.0*+h[o>>3]-+h[s>>3]*+h[l>>3]+ +h[n>>3];h[o>>3]=+h[l>>3]/3.0-+h[o>>3];h[u>>3]=+h[w>>3]*+h[w>>3]+ +h[o>>3]*4.0*+h[o>>3]*+h[o>>3];d=+h[u>>3];do if(!(+h[u>>3]<0.0)){d=+O(+d);h[r>>3]=(d-+h[w>>3])*.5;h[t>>3]=-+h[w>>3]-+h[r>>3];d=+p2(+h[r>>3]);d=d+ +p2(+h[t>>3]);h[c[q>>2]>>3]=d;if(+h[u>>3]>0.0){c[y>>2]=1;break}else{d=+h[c[q>>2]>>3]*-.5;h[(c[q>>2]|0)+16>>3]=d;h[(c[q>>2]|0)+8>>3]=d;c[y>>2]=3;break}}else{h[x>>3]=+O(+(-d+ +h[w>>3]*+h[w>>3]))*.5;d=+O(+-+h[u>>3]);h[A>>3]=+W(+d,+-+h[w>>3]);h[z>>3]=+p2(+h[x>>3])*2.0;d=+h[z>>3]*+Q(+(+h[A>>3]/3.0));h[c[q>>2]>>3]=d;d=+h[z>>3]*+Q(+((+h[A>>3]+3.141592653589793+3.141592653589793)/3.0));h[(c[q>>2]|0)+8>>3]=d;d=+h[z>>3]*+Q(+((+h[A>>3]-3.141592653589793-3.141592653589793)/3.0));h[(c[q>>2]|0)+16>>3]=d;c[y>>2]=3}while(0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[y>>2]|0))break;A=(c[q>>2]|0)+(c[v>>2]<<3)|0;h[A>>3]=+h[A>>3]-+h[s>>3];c[v>>2]=(c[v>>2]|0)+1}c[p>>2]=c[y>>2];A=c[p>>2]|0;i=B;return A|0}function uY(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;if((i|0)>=(j|0))ba();m=q+56|0;e=q+52|0;n=q+48|0;f=q+40|0;g=q+32|0;k=q+24|0;p=q+16|0;o=q+8|0;l=q;c[e>>2]=a;c[n>>2]=b;h[f>>3]=+h[(c[e>>2]|0)+16>>3];h[g>>3]=+h[(c[e>>2]|0)+8>>3];h[k>>3]=+h[c[e>>2]>>3];if(+h[f>>3]<1.0e-07&+h[f>>3]>-1.0e-07){c[m>>2]=vY(c[e>>2]|0,c[n>>2]|0)|0;p=c[m>>2]|0;i=q;return p|0}h[o>>3]=+h[g>>3]/(+h[f>>3]*2.0);h[l>>3]=+h[k>>3]/+h[f>>3];h[p>>3]=+h[o>>3]*+h[o>>3]-+h[l>>3];if(+h[p>>3]<0.0){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}d=-+h[o>>3];if(+h[p>>3]==0.0){h[c[n>>2]>>3]=d;c[m>>2]=1;p=c[m>>2]|0;i=q;return p|0}else{d=d+ +O(+(+h[p>>3]));h[c[n>>2]>>3]=d;h[(c[n>>2]|0)+8>>3]=+h[o>>3]*-2.0-+h[c[n>>2]>>3];c[m>>2]=2;p=c[m>>2]|0;i=q;return p|0}return 0}function vY(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,k=0,l=0,m=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+24|0;m=l+20|0;f=l+16|0;g=l+8|0;k=l;c[m>>2]=a;c[f>>2]=b;h[g>>3]=+h[(c[m>>2]|0)+8>>3];h[k>>3]=+h[c[m>>2]>>3];d=+h[k>>3];if(!(+h[g>>3]<1.0e-07&+h[g>>3]>-1.0e-07)){h[c[f>>2]>>3]=-d/+h[g>>3];c[e>>2]=1;m=c[e>>2]|0;i=l;return m|0}if(d<1.0e-07&+h[k>>3]>-1.0e-07){c[e>>2]=4;m=c[e>>2]|0;i=l;return m|0}else{c[e>>2]=0;m=c[e>>2]|0;i=l;return m|0}return 0}function wY(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[c[d>>2]>>2]|0);B1(c[d>>2]|0);i=b;return}function xY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[g>>2]=4+(((c[a+4>>2]|0)-2|0)*3|0);if((c[g>>2]|0)>(c[23185]|0)){if(c[23186]|0)b=D1(c[23186]|0,c[g>>2]<<4)|0;else b=A1(c[g>>2]<<4)|0;c[23186]=b;c[23185]=c[g>>2]}c[e>>2]=0;c[f>>2]=0;b=(c[23186]|0)+((c[f>>2]|0)+1<<4)|0;k=(c[23186]|0)+(c[f>>2]<<4)|0;l=(c[a>>2]|0)+(c[e>>2]<<4)|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+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];c[f>>2]=(c[f>>2]|0)+2;c[e>>2]=(c[e>>2]|0)+1;while(1){b=c[f>>2]|0;if((c[e>>2]|0)>=((c[a+4>>2]|0)-1|0))break;l=(c[23186]|0)+(b+2<<4)|0;k=(c[23186]|0)+((c[f>>2]|0)+1<<4)|0;b=(c[23186]|0)+(c[f>>2]<<4)|0;m=(c[a>>2]|0)+(c[e>>2]<<4)|0;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];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];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[f>>2]|0)+3;c[e>>2]=(c[e>>2]|0)+1}m=(c[23186]|0)+(b+1<<4)|0;l=(c[23186]|0)+(c[f>>2]<<4)|0;k=(c[a>>2]|0)+(c[e>>2]<<4)|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[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];c[(c[d>>2]|0)+4>>2]=c[g>>2];c[c[d>>2]>>2]=c[23186];i=h;return}function yY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;h[d>>3]=(+h[a+8>>3]-+h[b+8>>3])*(+h[c>>3]-+h[b>>3])-(+h[c+8>>3]-+h[b+8>>3])*(+h[a>>3]-+h[b>>3]);if(+h[d>>3]>.0001){d=1;i=e;return d|0}d=+h[d>>3]<-.0001?-1:0;i=e;return d|0}function zY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f;if(+h[a>>3]!=+h[b>>3]){if(+h[a>>3]<+h[d>>3]?+h[d>>3]<+h[b>>3]:0)a=1;else if(+h[b>>3]<+h[d>>3])a=+h[d>>3]<+h[a>>3];else a=0;c[e>>2]=a&1;e=c[e>>2]|0;i=f;return e|0}else{if(+h[a+8>>3]<+h[d+8>>3]?+h[d+8>>3]<+h[b+8>>3]:0)a=1;else if(+h[b+8>>3]<+h[d+8>>3])a=+h[d+8>>3]<+h[a+8>>3];else a=0;c[e>>2]=a&1;e=c[e>>2]|0;i=f;return e|0}return 0}function AY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;if((i|0)>=(j|0))ba();l=p+32|0;n=p+16|0;m=p;o=p+64|0;f=p+60|0;g=p+56|0;h=p+52|0;k=p+48|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];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];c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[f>>2]=yY(m,n,l)|0;if((c[f>>2]|0)==0?(c[m>>2]=c[a>>2],c[m+4>>2]=c[a+4>>2],c[m+8>>2]=c[a+8>>2],c[m+12>>2]=c[a+12>>2],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],c[l>>2]=c[d>>2],c[l+4>>2]=c[d+4>>2],c[l+8>>2]=c[d+8>>2],c[l+12>>2]=c[d+12>>2],(zY(m,n,l)|0)!=0):0){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0};c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];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];c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[l+12>>2]=c[e+12>>2];c[g>>2]=yY(m,n,l)|0;if((c[g>>2]|0)==0?(c[m>>2]=c[a>>2],c[m+4>>2]=c[a+4>>2],c[m+8>>2]=c[a+8>>2],c[m+12>>2]=c[a+12>>2],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],c[l>>2]=c[e>>2],c[l+4>>2]=c[e+4>>2],c[l+8>>2]=c[e+8>>2],c[l+12>>2]=c[e+12>>2],(zY(m,n,l)|0)!=0):0){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0};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[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[l>>2]=c[a>>2];c[l+4>>2]=c[a+4>>2];c[l+8>>2]=c[a+8>>2];c[l+12>>2]=c[a+12>>2];c[h>>2]=yY(m,n,l)|0;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[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[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];c[k>>2]=yY(m,n,l)|0;if((_(c[f>>2]|0,c[g>>2]|0)|0)<0)a=(_(c[h>>2]|0,c[k>>2]|0)|0)<0;else a=0;c[o>>2]=a&1;o=c[o>>2]|0;i=p;return o|0}function BY(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=i;i=i+16|0;if((i|0)>=(j|0))ba();e=c+8|0;d=c;h[e>>3]=+h[a>>3]-+h[b>>3];h[d>>3]=+h[a+8>>3]-+h[b+8>>3];i=c;return +(+h[e>>3]*+h[e>>3]+ +h[d>>3]*+h[d>>3])}function CY(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=FY(c[(c[d>>2]|0)+4>>2]|0,2)|0;c[(c[d>>2]|0)+24>>2]=a;GY(c[d>>2]|0,0);i=b;return}function DY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=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;x=i;i=i+128|0;if((i|0)>=(j|0))ba();r=x+72|0;p=x+56|0;s=x+40|0;e=x+24|0;f=x+124|0;g=x+120|0;k=x+116|0;u=x+112|0;o=x+108|0;t=x+104|0;n=x+100|0;v=x+96|0;m=x+92|0;w=x+88|0;q=x+8|0;l=x;c[f>>2]=a;c[g>>2]=b;c[k>>2]=c[(c[f>>2]|0)+4>>2];c[u>>2]=c[(c[f>>2]|0)+8>>2];c[o>>2]=c[(c[f>>2]|0)+16>>2];c[t>>2]=c[(c[f>>2]|0)+20>>2];c[w>>2]=A1((c[k>>2]|0)+2<<3)|0;if((c[g>>2]|0)==-2222){b=c[f>>2]|0;c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];c[g>>2]=HY(b,r)|0}if((c[g>>2]|0)>=0){c[v>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2];c[m>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+((c[g>>2]|0)+1<<2)>>2]}else{c[v>>2]=c[k>>2];c[m>>2]=c[k>>2]}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;a=(c[u>>2]|0)+(c[n>>2]<<4)|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];a=(c[u>>2]|0)+(c[(c[t>>2]|0)+(c[n>>2]<<2)>>2]<<4)|0;b=(c[u>>2]|0)+(c[(c[o>>2]|0)+(c[n>>2]<<2)>>2]<<4)|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];c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];if((IY(e,s,p,r)|0)!=0?(z=c[v>>2]|0,y=c[m>>2]|0,f=c[k>>2]|0,g=c[u>>2]|0,a=c[o>>2]|0,b=c[t>>2]|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],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],(JY(p,r,z,y,f,g,a,b)|0)!=0):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];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];h[l>>3]=+KY(p,r);h[(c[w>>2]|0)+(c[n>>2]<<3)>>3]=+h[l>>3]}else h[(c[w>>2]|0)+(c[n>>2]<<3)>>3]=0.0;c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=c[v>>2];while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;h[(c[w>>2]|0)+(c[n>>2]<<3)>>3]=0.0;c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=c[m>>2];while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;y=(c[u>>2]|0)+(c[n>>2]<<4)|0;c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];y=(c[u>>2]|0)+(c[(c[t>>2]|0)+(c[n>>2]<<2)>>2]<<4)|0;z=(c[u>>2]|0)+(c[(c[o>>2]|0)+(c[n>>2]<<2)>>2]<<4)|0;c[e>>2]=c[y>>2];c[e+4>>2]=c[y+4>>2];c[e+8>>2]=c[y+8>>2];c[e+12>>2]=c[y+12>>2];c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];c[p>>2]=c[z>>2];c[p+4>>2]=c[z+4>>2];c[p+8>>2]=c[z+8>>2];c[p+12>>2]=c[z+12>>2];c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];if((IY(e,s,p,r)|0)!=0?(f=c[v>>2]|0,g=c[m>>2]|0,a=c[k>>2]|0,b=c[u>>2]|0,y=c[o>>2]|0,z=c[t>>2]|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],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],(JY(p,r,f,g,a,b,y,z)|0)!=0):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];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];h[l>>3]=+KY(p,r);h[(c[w>>2]|0)+(c[n>>2]<<3)>>3]=+h[l>>3]}else h[(c[w>>2]|0)+(c[n>>2]<<3)>>3]=0.0;c[n>>2]=(c[n>>2]|0)+1}h[(c[w>>2]|0)+(c[k>>2]<<3)>>3]=0.0;h[(c[w>>2]|0)+((c[k>>2]|0)+1<<3)>>3]=0.0;i=x;return c[w>>2]|0}function EY(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,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=i;i=i+112|0;if((i|0)>=(j|0))ba();h=z+48|0;g=z+32|0;v=z+16|0;t=z;k=z+108|0;l=z+104|0;m=z+100|0;n=z+96|0;o=z+92|0;u=z+88|0;s=z+84|0;r=z+80|0;w=z+76|0;p=z+72|0;x=z+68|0;q=z+64|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[(c[n>>2]|0)+4>>2];c[u>>2]=c[(c[n>>2]|0)+8>>2];c[s>>2]=c[(c[n>>2]|0)+16>>2];do if((c[l>>2]|0)<0){c[w>>2]=0;c[p>>2]=0;if((c[m>>2]|0)<0){c[x>>2]=0;c[q>>2]=0;break}else{c[x>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+(c[m>>2]<<2)>>2];c[q>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+((c[m>>2]|0)+1<<2)>>2];break}}else{if((c[m>>2]|0)<0){c[w>>2]=0;c[p>>2]=0;c[x>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+(c[l>>2]<<2)>>2];c[q>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+((c[l>>2]|0)+1<<2)>>2];break}if((c[l>>2]|0)<=(c[m>>2]|0)){c[w>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+(c[l>>2]<<2)>>2];c[p>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+((c[l>>2]|0)+1<<2)>>2];c[x>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+(c[m>>2]<<2)>>2];c[q>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+((c[m>>2]|0)+1<<2)>>2];break}else{c[w>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+(c[m>>2]<<2)>>2];c[p>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+((c[m>>2]|0)+1<<2)>>2];c[x>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+(c[l>>2]<<2)>>2];c[q>>2]=c[(c[(c[n>>2]|0)+12>>2]|0)+((c[l>>2]|0)+1<<2)>>2];break}}while(0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[w>>2]|0))break;b=(c[u>>2]|0)+(c[r>>2]<<4)|0;e=(c[u>>2]|0)+(c[(c[s>>2]|0)+(c[r>>2]<<2)>>2]<<4)|0;c[t>>2]=c[a>>2];c[t+4>>2]=c[a+4>>2];c[t+8>>2]=c[a+8>>2];c[t+12>>2]=c[a+12>>2];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[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[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];if(AY(t,v,g,h)|0){y=13;break}c[r>>2]=(c[r>>2]|0)+1}if((y|0)==13){c[k>>2]=0;y=c[k>>2]|0;i=z;return y|0}c[r>>2]=c[p>>2];while(1){if((c[r>>2]|0)>=(c[x>>2]|0))break;e=(c[u>>2]|0)+(c[r>>2]<<4)|0;w=(c[u>>2]|0)+(c[(c[s>>2]|0)+(c[r>>2]<<2)>>2]<<4)|0;c[t>>2]=c[a>>2];c[t+4>>2]=c[a+4>>2];c[t+8>>2]=c[a+8>>2];c[t+12>>2]=c[a+12>>2];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[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[h>>2]=c[w>>2];c[h+4>>2]=c[w+4>>2];c[h+8>>2]=c[w+8>>2];c[h+12>>2]=c[w+12>>2];if(AY(t,v,g,h)|0){y=18;break}c[r>>2]=(c[r>>2]|0)+1}if((y|0)==18){c[k>>2]=0;y=c[k>>2]|0;i=z;return y|0}c[r>>2]=c[q>>2];while(1){if((c[r>>2]|0)>=(c[o>>2]|0)){y=25;break}x=(c[u>>2]|0)+(c[r>>2]<<4)|0;y=(c[u>>2]|0)+(c[(c[s>>2]|0)+(c[r>>2]<<2)>>2]<<4)|0;c[t>>2]=c[a>>2];c[t+4>>2]=c[a+4>>2];c[t+8>>2]=c[a+8>>2];c[t+12>>2]=c[a+12>>2];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[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];c[h>>2]=c[y>>2];c[h+4>>2]=c[y+4>>2];c[h+8>>2]=c[y+8>>2];c[h+12>>2]=c[y+12>>2];if(AY(t,v,g,h)|0){y=23;break}c[r>>2]=(c[r>>2]|0)+1}if((y|0)==23){c[k>>2]=0;y=c[k>>2]|0;i=z;return y|0}else if((y|0)==25){c[k>>2]=1;y=c[k>>2]|0;i=z;return y|0}return 0}function FY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();d=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[e>>2]=b;c[f>>2]=A1((c[d>>2]|0)+(c[e>>2]|0)<<2)|0;c[h>>2]=C1(_(c[d>>2]|0,c[d>>2]|0)|0,8)|0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[d>>2]|0))break;c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+(c[d>>2]<<3);c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=c[d>>2];while(1){if((c[g>>2]|0)>=((c[d>>2]|0)+(c[e>>2]|0)|0))break;c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=k;return c[f>>2]|0}function GY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=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;r=i;i=i+80|0;if((i|0)>=(j|0))ba();e=r+24|0;d=r+8|0;t=r+76|0;s=r+72|0;f=r+68|0;p=r+64|0;m=r+60|0;n=r+56|0;q=r+52|0;l=r+48|0;k=r+44|0;o=r+40|0;g=r;c[t>>2]=a;c[s>>2]=b;c[f>>2]=c[(c[t>>2]|0)+4>>2];c[p>>2]=c[(c[t>>2]|0)+8>>2];c[m>>2]=c[(c[t>>2]|0)+16>>2];c[n>>2]=c[(c[t>>2]|0)+20>>2];c[q>>2]=c[(c[t>>2]|0)+24>>2];c[k>>2]=c[s>>2];while(1){if((c[k>>2]|0)>=(c[f>>2]|0))break;c[o>>2]=c[(c[n>>2]|0)+(c[k>>2]<<2)>>2];t=(c[p>>2]|0)+(c[k>>2]<<4)|0;a=(c[p>>2]|0)+(c[o>>2]<<4)|0;c[d>>2]=c[t>>2];c[d+4>>2]=c[t+4>>2];c[d+8>>2]=c[t+8>>2];c[d+12>>2]=c[t+12>>2];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];h[g>>3]=+KY(d,e);h[(c[(c[q>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[o>>2]<<3)>>3]=+h[g>>3];h[(c[(c[q>>2]|0)+(c[o>>2]<<2)>>2]|0)+(c[k>>2]<<3)>>3]=+h[g>>3];a=c[k>>2]|0;if((c[o>>2]|0)==((c[k>>2]|0)-1|0))c[l>>2]=a-2;else c[l>>2]=a-1;while(1){a=c[k>>2]|0;if((c[l>>2]|0)<0)break;if(((LY(a,c[l>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)!=0?(LY(c[l>>2]|0,c[k>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)!=0:0)?(x=(c[p>>2]|0)+(c[k>>2]<<4)|0,w=(c[p>>2]|0)+(c[l>>2]<<4)|0,v=c[f>>2]|0,u=c[f>>2]|0,a=c[f>>2]|0,b=c[p>>2]|0,s=c[m>>2]|0,t=c[n>>2]|0,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],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],(JY(d,e,v,u,a,b,s,t)|0)!=0):0){w=(c[p>>2]|0)+(c[k>>2]<<4)|0;x=(c[p>>2]|0)+(c[l>>2]<<4)|0;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];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];h[g>>3]=+KY(d,e);h[(c[(c[q>>2]|0)+(c[k>>2]<<2)>>2]|0)+(c[l>>2]<<3)>>3]=+h[g>>3];h[(c[(c[q>>2]|0)+(c[l>>2]<<2)>>2]|0)+(c[k>>2]<<3)>>3]=+h[g>>3]}c[l>>2]=(c[l>>2]|0)+-1}c[k>>2]=a+1}i=r;return}function HY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+48|0;if((i|0)>=(j|0))ba();g=m;k=m+40|0;l=m+32|0;d=m+28|0;f=m+24|0;h=m+16|0;c[d>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){a=6;break}c[h>>2]=(c[(c[d>>2]|0)+8>>2]|0)+(c[(c[(c[d>>2]|0)+12>>2]|0)+(c[f>>2]<<2)>>2]<<4);c[h+4>>2]=(c[(c[(c[d>>2]|0)+12>>2]|0)+((c[f>>2]|0)+1<<2)>>2]|0)-(c[(c[(c[d>>2]|0)+12>>2]|0)+(c[f>>2]<<2)>>2]|0);c[k>>2]=c[h>>2];c[k+4>>2]=c[h+4>>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];a=(FX(k,g)|0)!=0;e=c[f>>2]|0;if(a){a=4;break}c[f>>2]=e+1}if((a|0)==4){c[l>>2]=e;l=c[l>>2]|0;i=m;return l|0}else if((a|0)==6){c[l>>2]=-1111;l=c[l>>2]|0;i=m;return l|0}return 0}function IY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+64|0;if((i|0)>=(j|0))ba();l=g+32|0;m=g+16|0;n=g;f=g+56|0;k=g+52|0;h=g+48|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[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];c[k>>2]=yY(n,m,l)|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[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];c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[h>>2]=yY(n,m,l)|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];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];c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];e=(yY(n,m,l)|0)>0;b=(c[k>>2]|0)>=0;a=(c[h>>2]|0)>=0;if(e){c[f>>2]=(b?a:0)&1;n=c[f>>2]|0;i=g;return n|0}else{c[f>>2]=(b?1:a)&1;n=c[f>>2]|0;i=g;return n|0}return 0}function JY(a,b,d,e,f,g,h,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;x=i;i=i+96|0;if((i|0)>=(j|0))ba();m=x+48|0;l=x+32|0;v=x+16|0;u=x;n=x+92|0;o=x+88|0;p=x+84|0;q=x+80|0;r=x+76|0;s=x+72|0;t=x+64|0;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[x+68>>2]=k;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[o>>2]|0))break;g=(c[r>>2]|0)+(c[t>>2]<<4)|0;d=(c[r>>2]|0)+(c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]<<4)|0;c[u>>2]=c[a>>2];c[u+4>>2]=c[a+4>>2];c[u+8>>2]=c[a+8>>2];c[u+12>>2]=c[a+12>>2];c[v>>2]=c[b>>2];c[v+4>>2]=c[b+4>>2];c[v+8>>2]=c[b+8>>2];c[v+12>>2]=c[b+12>>2];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[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(AY(u,v,l,m)|0){w=4;break}c[t>>2]=(c[t>>2]|0)+1}if((w|0)==4){c[n>>2]=0;w=c[n>>2]|0;i=x;return w|0}c[t>>2]=c[p>>2];while(1){if((c[t>>2]|0)>=(c[q>>2]|0)){w=11;break}d=(c[r>>2]|0)+(c[t>>2]<<4)|0;w=(c[r>>2]|0)+(c[(c[s>>2]|0)+(c[t>>2]<<2)>>2]<<4)|0;c[u>>2]=c[a>>2];c[u+4>>2]=c[a+4>>2];c[u+8>>2]=c[a+8>>2];c[u+12>>2]=c[a+12>>2];c[v>>2]=c[b>>2];c[v+4>>2]=c[b+4>>2];c[v+8>>2]=c[b+8>>2];c[v+12>>2]=c[b+12>>2];c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[m>>2]=c[w>>2];c[m+4>>2]=c[w+4>>2];c[m+8>>2]=c[w+8>>2];c[m+12>>2]=c[w+12>>2];if(AY(u,v,l,m)|0){w=9;break}c[t>>2]=(c[t>>2]|0)+1}if((w|0)==9){c[n>>2]=0;w=c[n>>2]|0;i=x;return w|0}else if((w|0)==11){c[n>>2]=1;w=c[n>>2]|0;i=x;return w|0}return 0}function KY(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0;d=i;i=i+32|0;if((i|0)>=(j|0))ba();f=d+16|0;g=d;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];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];e=+O(+(+BY(g,f)));i=d;return +e}function LY(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+96|0;if((i|0)>=(j|0))ba();h=g+48|0;k=g+32|0;l=g+16|0;m=g;p=g+80|0;n=g+76|0;o=g+72|0;q=g+68|0;r=g+64|0;c[p>>2]=a;c[n>>2]=b;c[o>>2]=d;c[q>>2]=e;c[r>>2]=f;b=(c[o>>2]|0)+(c[(c[r>>2]|0)+(c[p>>2]<<2)>>2]<<4)|0;e=(c[o>>2]|0)+(c[p>>2]<<4)|0;f=(c[o>>2]|0)+(c[(c[q>>2]|0)+(c[p>>2]<<2)>>2]<<4)|0;d=(c[o>>2]|0)+(c[n>>2]<<4)|0;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];c[l>>2]=c[e>>2];c[l+4>>2]=c[e+4>>2];c[l+8>>2]=c[e+8>>2];c[l+12>>2]=c[e+12>>2];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[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];d=IY(m,l,k,h)|0;i=g;return d|0}function MY(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=NY(c[d>>2]|0,0,0)|0;i=b;return a|0}function NY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=YY(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function OY(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+16|0;e=k+12|0;g=k+8|0;d=k+4|0;h=k;c[f>>2]=b;if(!(c[f>>2]|0)){i=k;return}c[e>>2]=c[(c[f>>2]|0)+364>>2];while(1){if(!(c[e>>2]|0)){b=c[f>>2]|0;if(!(c[(c[f>>2]|0)+368>>2]|0))break;c[e>>2]=c[b+368>>2];c[(c[f>>2]|0)+368>>2]=0}c[d>>2]=c[e>>2];c[e>>2]=c[c[e>>2]>>2];Vb[c[(c[f>>2]|0)+12+8>>2]&127](c[(c[d>>2]|0)+36>>2]|0);bZ(c[(c[d>>2]|0)+44>>2]|0,c[f>>2]|0);Vb[c[(c[f>>2]|0)+12+8>>2]&127](c[d>>2]|0)}c[g>>2]=c[b+300>>2];while(1){if(!(c[g>>2]|0)){b=c[f>>2]|0;if(!(c[(c[f>>2]|0)+304>>2]|0))break;c[g>>2]=c[b+304>>2];c[(c[f>>2]|0)+304>>2]=0}c[h>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];Vb[c[(c[f>>2]|0)+12+8>>2]&127](c[h>>2]|0)}bZ(c[b+376>>2]|0,c[f>>2]|0);bZ(c[(c[f>>2]|0)+372>>2]|0,c[f>>2]|0);cZ((c[f>>2]|0)+416|0);cZ((c[f>>2]|0)+440|0);if((a[(c[f>>2]|0)+488>>0]|0)==0?(c[(c[f>>2]|0)+356>>2]|0)!=0:0)dZ(c[(c[f>>2]|0)+356>>2]|0,((c[(c[f>>2]|0)+476>>2]|0)!=0^1)&1,(c[f>>2]|0)+12|0);Vb[c[(c[f>>2]|0)+12+8>>2]&127](c[(c[f>>2]|0)+392>>2]|0);Vb[c[(c[f>>2]|0)+12+8>>2]&127](c[(c[f>>2]|0)+464>>2]|0);Vb[c[(c[f>>2]|0)+12+8>>2]&127](c[(c[f>>2]|0)+8>>2]|0);Vb[c[(c[f>>2]|0)+12+8>>2]&127](c[(c[f>>2]|0)+44>>2]|0);Vb[c[(c[f>>2]|0)+12+8>>2]&127](c[(c[f>>2]|0)+396>>2]|0);Vb[c[(c[f>>2]|0)+12+8>>2]&127](c[(c[f>>2]|0)+240>>2]|0);if(c[(c[f>>2]|0)+252>>2]|0)Vb[c[(c[f>>2]|0)+252>>2]&127](c[(c[f>>2]|0)+244>>2]|0);Vb[c[(c[f>>2]|0)+12+8>>2]&127](c[f>>2]|0);i=k;return}function PY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=(c[(c[d>>2]|0)+4>>2]|0)==(c[c[d>>2]>>2]|0);b=c[f>>2]|0;c[c[d>>2]>>2]=b;if(!a){i=e;return}c[(c[d>>2]|0)+4>>2]=b;i=e;return}function QY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+52>>2]=c[h>>2];c[(c[f>>2]|0)+56>>2]=c[g>>2];i=e;return}function RY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+60>>2]=c[f>>2];i=d;return}function SY(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();m=o+20|0;n=o+16|0;g=o+12|0;h=o+8|0;k=o+4|0;l=o;c[n>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;switch(c[(c[n>>2]|0)+480>>2]|0){case 3:{c[(c[n>>2]|0)+284>>2]=33;c[m>>2]=0;n=c[m>>2]|0;i=o;return n|0}case 2:{c[(c[n>>2]|0)+284>>2]=36;c[m>>2]=0;n=c[m>>2]|0;i=o;return n|0}case 0:{if((c[(c[n>>2]|0)+476>>2]|0)==0?(eZ(c[n>>2]|0)|0)<<24>>24==0:0){c[(c[n>>2]|0)+284>>2]=1;c[m>>2]=0;n=c[m>>2]|0;i=o;return n|0}break}default:{}}c[(c[n>>2]|0)+480>>2]=1;if(c[h>>2]|0){c[l>>2]=TY(c[n>>2]|0,c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=0;n=c[m>>2]|0;i=o;return n|0}else{n5(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[m>>2]=UY(c[n>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;n=c[m>>2]|0;i=o;return n|0}}a[(c[n>>2]|0)+480+4>>0]=c[k>>2];if(!(c[k>>2]|0)){c[m>>2]=1;n=c[m>>2]|0;i=o;return n|0}c[(c[n>>2]|0)+296>>2]=c[(c[n>>2]|0)+24>>2];c[(c[n>>2]|0)+40>>2]=c[(c[n>>2]|0)+28>>2];g=kc[c[(c[n>>2]|0)+280>>2]&127](c[n>>2]|0,c[(c[n>>2]|0)+24>>2]|0,c[(c[n>>2]|0)+40>>2]|0,(c[n>>2]|0)+24|0)|0;c[(c[n>>2]|0)+284>>2]=g;g=c[n>>2]|0;if(c[(c[n>>2]|0)+284>>2]|0){c[(c[n>>2]|0)+292>>2]=c[g+288>>2];c[(c[n>>2]|0)+280>>2]=56;c[m>>2]=0;n=c[m>>2]|0;i=o;return n|0}switch(c[g+480>>2]|0){case 3:{nc[c[(c[(c[n>>2]|0)+144>>2]|0)+52>>2]&31](c[(c[n>>2]|0)+144>>2]|0,c[(c[n>>2]|0)+296>>2]|0,c[(c[n>>2]|0)+24>>2]|0,(c[n>>2]|0)+408|0);c[(c[n>>2]|0)+296>>2]=c[(c[n>>2]|0)+24>>2];c[m>>2]=2;n=c[m>>2]|0;i=o;return n|0}case 1:case 0:{c[(c[n>>2]|0)+480>>2]=2;break}default:{}}c[m>>2]=1;n=c[m>>2]|0;i=o;return n|0}function TY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();d=o+32|0;e=o+28|0;f=o+24|0;l=o+20|0;h=o+16|0;n=o+12|0;m=o+8|0;g=o+4|0;k=o;c[e>>2]=a;c[f>>2]=b;switch(c[(c[e>>2]|0)+480>>2]|0){case 3:{c[(c[e>>2]|0)+284>>2]=33;c[d>>2]=0;a=c[d>>2]|0;i=o;return a|0}case 2:{c[(c[e>>2]|0)+284>>2]=36;c[d>>2]=0;a=c[d>>2]|0;i=o;return a|0}default:{if((c[f>>2]|0)>((c[(c[e>>2]|0)+32>>2]|0)-(c[(c[e>>2]|0)+28>>2]|0)|0)){c[l>>2]=(c[f>>2]|0)+((c[(c[e>>2]|0)+28>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));a=(c[(c[e>>2]|0)+24>>2]|0)-(c[(c[e>>2]|0)+8>>2]|0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)>1024?1024:a;c[l>>2]=(c[l>>2]|0)+(c[h>>2]|0);do if((c[l>>2]|0)<=((c[(c[e>>2]|0)+32>>2]|0)-(c[(c[e>>2]|0)+8>>2]|0)|0)){if((c[h>>2]|0)<((c[(c[e>>2]|0)+24>>2]|0)-(c[(c[e>>2]|0)+8>>2]|0)|0)){c[n>>2]=(c[(c[e>>2]|0)+24>>2]|0)-(c[(c[e>>2]|0)+8>>2]|0)-(c[h>>2]|0);o5(c[(c[e>>2]|0)+8>>2]|0,(c[(c[e>>2]|0)+8>>2]|0)+(c[n>>2]|0)|0,(c[(c[e>>2]|0)+28>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0)+(c[h>>2]|0)|0)|0;a=(c[e>>2]|0)+28|0;c[a>>2]=(c[a>>2]|0)+(0-(c[n>>2]|0));a=(c[e>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+(0-(c[n>>2]|0))}}else{a=(c[(c[e>>2]|0)+32>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0)|0;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)==0?1024:a;do c[g>>2]=c[g>>2]<<1;while((c[g>>2]|0)<(c[l>>2]|0));c[m>>2]=Zb[c[(c[e>>2]|0)+12>>2]&63](c[g>>2]|0)|0;if(!(c[m>>2]|0)){c[(c[e>>2]|0)+284>>2]=1;c[d>>2]=0;a=c[d>>2]|0;i=o;return a|0}c[(c[e>>2]|0)+32>>2]=(c[m>>2]|0)+(c[g>>2]|0);if(c[(c[e>>2]|0)+24>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)-(c[(c[e>>2]|0)+8>>2]|0)|0;c[k>>2]=a;c[k>>2]=(c[k>>2]|0)>1024?1024:a;n5(c[m>>2]|0,(c[(c[e>>2]|0)+24>>2]|0)+(0-(c[k>>2]|0))|0,(c[(c[e>>2]|0)+28>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0)+(c[k>>2]|0)|0)|0;Vb[c[(c[e>>2]|0)+12+8>>2]&127](c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=c[m>>2];c[(c[e>>2]|0)+28>>2]=(c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+28>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0))+(c[k>>2]|0);c[(c[e>>2]|0)+24>>2]=(c[(c[e>>2]|0)+8>>2]|0)+(c[k>>2]|0);break}else{c[(c[e>>2]|0)+28>>2]=(c[m>>2]|0)+((c[(c[e>>2]|0)+28>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));a=c[m>>2]|0;c[(c[e>>2]|0)+8>>2]=a;c[(c[e>>2]|0)+24>>2]=a;break}}while(0);c[(c[e>>2]|0)+292>>2]=0;c[(c[e>>2]|0)+288>>2]=0;c[(c[e>>2]|0)+296>>2]=0}c[d>>2]=c[(c[e>>2]|0)+28>>2];a=c[d>>2]|0;i=o;return a|0}}return 0}function UY(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();h=n+20|0;k=n+16|0;f=n+12|0;l=n+8|0;g=n+4|0;m=n;c[k>>2]=b;c[f>>2]=d;c[l>>2]=e;c[m>>2]=1;switch(c[(c[k>>2]|0)+480>>2]|0){case 3:{c[(c[k>>2]|0)+284>>2]=33;c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}case 2:{c[(c[k>>2]|0)+284>>2]=36;c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}case 0:{if((c[(c[k>>2]|0)+476>>2]|0)==0?(eZ(c[k>>2]|0)|0)<<24>>24==0:0){c[(c[k>>2]|0)+284>>2]=1;c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}break}default:{}}c[(c[k>>2]|0)+480>>2]=1;c[g>>2]=c[(c[k>>2]|0)+24>>2];c[(c[k>>2]|0)+296>>2]=c[g>>2];b=(c[k>>2]|0)+28|0;c[b>>2]=(c[b>>2]|0)+(c[f>>2]|0);c[(c[k>>2]|0)+40>>2]=c[(c[k>>2]|0)+28>>2];b=(c[k>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+(c[f>>2]|0);a[(c[k>>2]|0)+480+4>>0]=c[l>>2];f=kc[c[(c[k>>2]|0)+280>>2]&127](c[k>>2]|0,c[g>>2]|0,c[(c[k>>2]|0)+40>>2]|0,(c[k>>2]|0)+24|0)|0;c[(c[k>>2]|0)+284>>2]=f;f=c[k>>2]|0;if(c[(c[k>>2]|0)+284>>2]|0){c[(c[k>>2]|0)+292>>2]=c[f+288>>2];c[(c[k>>2]|0)+280>>2]=56;c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}switch(c[f+480>>2]|0){case 3:{c[m>>2]=2;break}case 1:case 0:{if(c[l>>2]|0){c[(c[k>>2]|0)+480>>2]=2;c[h>>2]=c[m>>2];m=c[h>>2]|0;i=n;return m|0}break}default:{}}nc[c[(c[(c[k>>2]|0)+144>>2]|0)+52>>2]&31](c[(c[k>>2]|0)+144>>2]|0,c[(c[k>>2]|0)+296>>2]|0,c[(c[k>>2]|0)+24>>2]|0,(c[k>>2]|0)+408|0);c[(c[k>>2]|0)+296>>2]=c[(c[k>>2]|0)+24>>2];c[h>>2]=c[m>>2];m=c[h>>2]|0;i=n;return m|0}function VY(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;i=b;return c[(c[d>>2]|0)+284>>2]|0}function WY(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+288>>2]|0)!=0?(c[(c[b>>2]|0)+288>>2]|0)>>>0>=(c[(c[b>>2]|0)+296>>2]|0)>>>0:0){nc[c[(c[(c[b>>2]|0)+144>>2]|0)+52>>2]&31](c[(c[b>>2]|0)+144>>2]|0,c[(c[b>>2]|0)+296>>2]|0,c[(c[b>>2]|0)+288>>2]|0,(c[b>>2]|0)+408|0);c[(c[b>>2]|0)+296>>2]=c[(c[b>>2]|0)+288>>2]}i=d;return (c[(c[b>>2]|0)+408>>2]|0)+1|0}function XY(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>>>0>0&(c[d>>2]|0)>>>0<41){c[b>>2]=c[92748+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function YY(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();l=q+28|0;m=q+24|0;g=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;h=q+4|0;k=q;c[m>>2]=b;c[g>>2]=d;c[n>>2]=e;c[o>>2]=f;if(c[g>>2]|0){c[p>>2]=Zb[c[c[g>>2]>>2]&63](500)|0;if(c[p>>2]|0){c[h>>2]=(c[p>>2]|0)+12;c[c[h>>2]>>2]=c[c[g>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2]}}else{c[p>>2]=A1(500)|0;if(c[p>>2]|0){c[k>>2]=(c[p>>2]|0)+12;c[c[k>>2]>>2]=34;c[(c[k>>2]|0)+4>>2]=107;c[(c[k>>2]|0)+8>>2]=96}}g=c[p>>2]|0;if(!(c[p>>2]|0)){c[l>>2]=g;p=c[l>>2]|0;i=q;return p|0}c[g+8>>2]=0;c[(c[p>>2]|0)+32>>2]=0;c[(c[p>>2]|0)+380>>2]=16;g=Zb[c[(c[p>>2]|0)+12>>2]&63](c[(c[p>>2]|0)+380>>2]<<4)|0;c[(c[p>>2]|0)+392>>2]=g;g=(c[p>>2]|0)+12|0;if(!(c[(c[p>>2]|0)+392>>2]|0)){Vb[c[g+8>>2]&127](c[p>>2]|0);c[l>>2]=0;p=c[l>>2]|0;i=q;return p|0}g=Zb[c[g>>2]&63](1024)|0;c[(c[p>>2]|0)+44>>2]=g;g=c[p>>2]|0;if(!(c[(c[p>>2]|0)+44>>2]|0)){Vb[c[g+12+8>>2]&127](c[(c[p>>2]|0)+392>>2]|0);Vb[c[(c[p>>2]|0)+12+8>>2]&127](c[p>>2]|0);c[l>>2]=0;p=c[l>>2]|0;i=q;return p|0}c[(c[p>>2]|0)+48>>2]=(c[g+44>>2]|0)+1024;if(!(c[o>>2]|0)){o=_Z((c[p>>2]|0)+12|0)|0;c[(c[p>>2]|0)+356>>2]=o;if(!(c[(c[p>>2]|0)+356>>2]|0)){Vb[c[(c[p>>2]|0)+12+8>>2]&127](c[(c[p>>2]|0)+44>>2]|0);Vb[c[(c[p>>2]|0)+12+8>>2]&127](c[(c[p>>2]|0)+392>>2]|0);Vb[c[(c[p>>2]|0)+12+8>>2]&127](c[p>>2]|0);c[l>>2]=0;p=c[l>>2]|0;i=q;return p|0}}else c[(c[p>>2]|0)+356>>2]=c[o>>2];c[(c[p>>2]|0)+376>>2]=0;c[(c[p>>2]|0)+368>>2]=0;c[(c[p>>2]|0)+304>>2]=0;c[(c[p>>2]|0)+468>>2]=0;c[(c[p>>2]|0)+464>>2]=0;c[(c[p>>2]|0)+124>>2]=0;c[(c[p>>2]|0)+248>>2]=0;a[(c[p>>2]|0)+472>>0]=33;a[(c[p>>2]|0)+236>>0]=0;a[(c[p>>2]|0)+237>>0]=0;c[(c[p>>2]|0)+396>>2]=0;c[(c[p>>2]|0)+400>>2]=0;a[(c[p>>2]|0)+404>>0]=0;$Z((c[p>>2]|0)+416|0,(c[p>>2]|0)+12|0);$Z((c[p>>2]|0)+440|0,(c[p>>2]|0)+12|0);_Y(c[p>>2]|0,c[m>>2]|0);if((c[m>>2]|0)!=0?(c[(c[p>>2]|0)+232>>2]|0)==0:0){OY(c[p>>2]|0);c[l>>2]=0;p=c[l>>2]|0;i=q;return p|0}if(c[n>>2]|0){a[(c[p>>2]|0)+236>>0]=1;o=h_()|0;c[(c[p>>2]|0)+228>>2]=o;a[(c[p>>2]|0)+472>>0]=a[c[n>>2]>>0]|0}else{o=e_()|0;c[(c[p>>2]|0)+228>>2]=o}c[l>>2]=c[p>>2];p=c[l>>2]|0;i=q;return p|0}function ZY(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;a=c[c[b>>2]>>2]|0;a:do if(c[(c[b>>2]|0)+4>>2]|0){c[d>>2]=a;while(1){if(!(c[d>>2]|0))break a;c[e>>2]=c[c[d>>2]>>2];c[c[d>>2]>>2]=c[(c[b>>2]|0)+4>>2];c[(c[b>>2]|0)+4>>2]=c[d>>2];c[d>>2]=c[e>>2]}}else c[(c[b>>2]|0)+4>>2]=a;while(0);c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+12>>2]=0;c[(c[b>>2]|0)+8>>2]=0;i=f;return}function _Y(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g+4|0;e=g;c[f>>2]=b;c[e>>2]=d;c[(c[f>>2]|0)+280>>2]=57;C0((c[f>>2]|0)+256|0);if(c[e>>2]|0)e=$Y((c[f>>2]|0)+416|0,c[e>>2]|0)|0;else e=0;c[(c[f>>2]|0)+232>>2]=e;c[(c[f>>2]|0)+360>>2]=0;f_((c[f>>2]|0)+148|0,(c[f>>2]|0)+144|0,0)|0;c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+52>>2]=0;c[(c[f>>2]|0)+56>>2]=0;c[(c[f>>2]|0)+60>>2]=0;c[(c[f>>2]|0)+64>>2]=0;c[(c[f>>2]|0)+68>>2]=0;c[(c[f>>2]|0)+72>>2]=0;c[(c[f>>2]|0)+76>>2]=0;c[(c[f>>2]|0)+80>>2]=0;c[(c[f>>2]|0)+84>>2]=0;c[(c[f>>2]|0)+88>>2]=0;c[(c[f>>2]|0)+92>>2]=0;c[(c[f>>2]|0)+96>>2]=0;c[(c[f>>2]|0)+100>>2]=0;c[(c[f>>2]|0)+104>>2]=0;c[(c[f>>2]|0)+108>>2]=0;c[(c[f>>2]|0)+112>>2]=0;c[(c[f>>2]|0)+116>>2]=c[f>>2];c[(c[f>>2]|0)+120>>2]=0;c[(c[f>>2]|0)+128>>2]=0;c[(c[f>>2]|0)+132>>2]=0;c[(c[f>>2]|0)+136>>2]=0;c[(c[f>>2]|0)+140>>2]=0;c[(c[f>>2]|0)+24>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+28>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+36>>2]=0;c[(c[f>>2]|0)+40>>2]=0;c[(c[f>>2]|0)+344>>2]=0;c[(c[f>>2]|0)+348>>2]=0;c[(c[f>>2]|0)+316>>2]=0;c[(c[f>>2]|0)+320>>2]=0;c[(c[f>>2]|0)+324>>2]=0;c[(c[f>>2]|0)+328>>2]=0;c[(c[f>>2]|0)+332>>2]=0;c[(c[f>>2]|0)+336>>2]=0;c[(c[f>>2]|0)+340>>2]=0;a[(c[f>>2]|0)+352>>0]=0;a[(c[f>>2]|0)+353>>0]=0;b=(c[f>>2]|0)+408|0;c[b>>2]=0;c[b+4>>2]=0;c[(c[f>>2]|0)+284>>2]=0;c[(c[f>>2]|0)+288>>2]=0;c[(c[f>>2]|0)+292>>2]=0;c[(c[f>>2]|0)+296>>2]=0;c[(c[f>>2]|0)+300>>2]=0;a[(c[f>>2]|0)+308>>0]=1;c[(c[f>>2]|0)+312>>2]=0;c[(c[f>>2]|0)+364>>2]=0;c[(c[f>>2]|0)+372>>2]=0;c[(c[f>>2]|0)+384>>2]=0;c[(c[f>>2]|0)+240>>2]=0;c[(c[f>>2]|0)+252>>2]=0;c[(c[f>>2]|0)+244>>2]=0;c[(c[f>>2]|0)+476>>2]=0;c[(c[f>>2]|0)+480>>2]=0;a[(c[f>>2]|0)+488>>0]=0;a[(c[f>>2]|0)+489>>0]=0;c[(c[f>>2]|0)+492>>2]=0;c[(c[f>>2]|0)+496>>2]=0;i=g;return}function $Y(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;while(1){if((c[(c[f>>2]|0)+12>>2]|0)==(c[(c[f>>2]|0)+8>>2]|0)?(yZ(c[f>>2]|0)|0)<<24>>24==0:0){b=5;break}b=a[c[g>>2]>>0]|0;k=(c[f>>2]|0)+12|0;d=c[k>>2]|0;c[k>>2]=d+1;a[d>>0]=b;d=c[g>>2]|0;c[g>>2]=d+1;if(!(a[d>>0]|0)){b=6;break}}if((b|0)==5){c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}else if((b|0)==6){c[g>>2]=c[(c[f>>2]|0)+16>>2];c[(c[f>>2]|0)+16>>2]=c[(c[f>>2]|0)+12>>2];c[e>>2]=c[g>>2];k=c[e>>2]|0;i=h;return k|0}return 0}function aZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();m=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;l=n+8|0;h=n+4|0;k=n;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+356>>2];c[l>>2]=c[f>>2];a:while(1){if(!(a[c[f>>2]>>0]|0)){b=45;break}if((a[c[l>>2]>>0]|0)!=12?(a[c[l>>2]>>0]|0)!=0:0){d=c[(c[e>>2]|0)+416+12>>2]|0;b=(c[e>>2]|0)+416|0;if((a[c[l>>2]>>0]|0)!=61){if((d|0)==(c[b+8>>2]|0)?(yZ((c[e>>2]|0)+416|0)|0)<<24>>24==0:0){b=44;break}b=a[c[l>>2]>>0]|0;o=(c[e>>2]|0)+416+12|0;d=c[o>>2]|0;c[o>>2]=d+1;a[d>>0]=b;c[l>>2]=(c[l>>2]|0)+1;continue}if(!(d-(c[b+16>>2]|0)|0))c[k>>2]=(c[g>>2]|0)+152;else{if((c[(c[e>>2]|0)+416+12>>2]|0)==(c[(c[e>>2]|0)+416+8>>2]|0)?(yZ((c[e>>2]|0)+416|0)|0)<<24>>24==0:0){b=19;break}d=(c[e>>2]|0)+416+12|0;o=c[d>>2]|0;c[d>>2]=o+1;a[o>>0]=0;c[k>>2]=qZ(c[e>>2]|0,(c[g>>2]|0)+60|0,c[(c[e>>2]|0)+416+16>>2]|0,8)|0;if(!(c[k>>2]|0)){b=20;break}if((c[c[k>>2]>>2]|0)==(c[(c[e>>2]|0)+416+16>>2]|0)?(o=$Y((c[g>>2]|0)+80|0,c[c[k>>2]>>2]|0)|0,c[c[k>>2]>>2]=o,(c[c[k>>2]>>2]|0)==0):0){b=23;break}c[(c[e>>2]|0)+416+12>>2]=c[(c[e>>2]|0)+416+16>>2]}c[f>>2]=(c[l>>2]|0)+1;while(1){if((a[c[f>>2]>>0]|0)!=12)d=(a[c[f>>2]>>0]|0)!=0;else d=0;b=(c[(c[e>>2]|0)+416+12>>2]|0)==(c[(c[e>>2]|0)+416+8>>2]|0);if(!d)break;if(b?(yZ((c[e>>2]|0)+416|0)|0)<<24>>24==0:0){b=32;break a}d=a[c[f>>2]>>0]|0;b=(c[e>>2]|0)+416+12|0;o=c[b>>2]|0;c[b>>2]=o+1;a[o>>0]=d;c[f>>2]=(c[f>>2]|0)+1}if(b?(yZ((c[e>>2]|0)+416|0)|0)<<24>>24==0:0){b=36;break}d=(c[e>>2]|0)+416+12|0;o=c[d>>2]|0;c[d>>2]=o+1;a[o>>0]=0;if(UZ(c[e>>2]|0,c[k>>2]|0,0,c[(c[e>>2]|0)+416+16>>2]|0,(c[e>>2]|0)+372|0)|0){b=37;break}c[(c[e>>2]|0)+416+12>>2]=c[(c[e>>2]|0)+416+16>>2];if(a[c[f>>2]>>0]|0)c[f>>2]=(c[f>>2]|0)+1;c[l>>2]=c[f>>2];continue}if((c[(c[e>>2]|0)+416+12>>2]|0)==(c[(c[e>>2]|0)+416+8>>2]|0)?(yZ((c[e>>2]|0)+416|0)|0)<<24>>24==0:0){b=8;break}d=(c[e>>2]|0)+416+12|0;o=c[d>>2]|0;c[d>>2]=o+1;a[o>>0]=0;c[h>>2]=qZ(c[e>>2]|0,c[g>>2]|0,c[(c[e>>2]|0)+416+16>>2]|0,0)|0;if(c[h>>2]|0)a[(c[h>>2]|0)+32>>0]=1;if(a[c[l>>2]>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[f>>2]=c[l>>2];c[(c[e>>2]|0)+416+12>>2]=c[(c[e>>2]|0)+416+16>>2]}if((b|0)==8){a[m>>0]=0;o=a[m>>0]|0;i=n;return o|0}else if((b|0)==19){a[m>>0]=0;o=a[m>>0]|0;i=n;return o|0}else if((b|0)==20){a[m>>0]=0;o=a[m>>0]|0;i=n;return o|0}else if((b|0)==23){a[m>>0]=0;o=a[m>>0]|0;i=n;return o|0}else if((b|0)==32){a[m>>0]=0;o=a[m>>0]|0;i=n;return o|0}else if((b|0)==36){a[m>>0]=0;o=a[m>>0]|0;i=n;return o|0}else if((b|0)==37){a[m>>0]=0;o=a[m>>0]|0;i=n;return o|0}else if((b|0)==44){a[m>>0]=0;o=a[m>>0]|0;i=n;return o|0}else if((b|0)==45){a[m>>0]=1;o=a[m>>0]|0;i=n;return o|0}return 0}function bZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=c[d>>2];if(!(c[f>>2]|0))break;c[d>>2]=c[(c[f>>2]|0)+4>>2];Vb[c[(c[e>>2]|0)+12+8>>2]&127](c[(c[f>>2]|0)+16>>2]|0);Vb[c[(c[e>>2]|0)+12+8>>2]&127](c[f>>2]|0)}i=g;return}function cZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Vb[c[(c[(c[b>>2]|0)+20>>2]|0)+8>>2]&127](c[d>>2]|0);c[d>>2]=c[e>>2]}c[d>>2]=c[(c[b>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[c[d>>2]>>2];Vb[c[(c[(c[b>>2]|0)+20>>2]|0)+8>>2]&127](c[d>>2]|0);c[d>>2]=c[f>>2]}i=g;return}function dZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();f=m+20|0;g=m+24|0;h=m+16|0;l=m+8|0;k=m;c[f>>2]=b;a[g>>0]=d;c[h>>2]=e;iZ(l,(c[f>>2]|0)+20|0);while(1){c[k>>2]=jZ(l)|0;if(!(c[k>>2]|0))break;if(!(c[(c[k>>2]|0)+16>>2]|0))continue;Vb[c[(c[h>>2]|0)+8>>2]&127](c[(c[k>>2]|0)+20>>2]|0)}kZ(c[f>>2]|0);kZ((c[f>>2]|0)+132|0);kZ((c[f>>2]|0)+20|0);kZ((c[f>>2]|0)+40|0);kZ((c[f>>2]|0)+60|0);cZ((c[f>>2]|0)+80|0);cZ((c[f>>2]|0)+104|0);if(!(a[g>>0]|0)){e=c[h>>2]|0;e=e+8|0;e=c[e>>2]|0;b=c[f>>2]|0;Vb[e&127](b);i=m;return}Vb[c[(c[h>>2]|0)+8>>2]&127](c[(c[f>>2]|0)+184>>2]|0);Vb[c[(c[h>>2]|0)+8>>2]&127](c[(c[f>>2]|0)+164>>2]|0);e=c[h>>2]|0;e=e+8|0;e=c[e>>2]|0;b=c[f>>2]|0;Vb[e&127](b);i=m;return}function eZ(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+4|0;e=f;c[e>>2]=b;if(!(c[(c[e>>2]|0)+496>>2]|0)){b=hZ()|0;c[(c[e>>2]|0)+496>>2]=b}if(a[(c[e>>2]|0)+236>>0]|0){a[d>>0]=aZ(c[e>>2]|0,181481)|0;b=a[d>>0]|0;i=f;return b|0}else{a[d>>0]=1;b=a[d>>0]|0;i=f;return b|0}return 0}function fZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+12|0;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[f>>2]=e;i=f;return c[(c[g>>2]|0)+284>>2]|0}function gZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+24|0;h=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;if(a[(c[h>>2]|0)+72>>0]|0){lc[c[(c[g>>2]|0)+80>>2]&127](c[(c[g>>2]|0)+4>>2]|0,c[k>>2]|0,(c[l>>2]|0)-(c[k>>2]|0)|0);i=p;return}d=c[g>>2]|0;if((c[h>>2]|0)==(c[(c[g>>2]|0)+144>>2]|0)){c[o>>2]=d+288;c[n>>2]=(c[g>>2]|0)+292}else{c[o>>2]=c[d+300>>2];c[n>>2]=(c[(c[g>>2]|0)+300>>2]|0)+4}do{c[m>>2]=c[(c[g>>2]|0)+44>>2];Ub[c[(c[h>>2]|0)+60>>2]&31](c[h>>2]|0,k,c[l>>2]|0,m,c[(c[g>>2]|0)+48>>2]|0);c[c[n>>2]>>2]=c[k>>2];lc[c[(c[g>>2]|0)+80>>2]&127](c[(c[g>>2]|0)+4>>2]|0,c[(c[g>>2]|0)+44>>2]|0,(c[m>>2]|0)-(c[(c[g>>2]|0)+44>>2]|0)|0);c[c[o>>2]>>2]=c[k>>2]}while((c[k>>2]|0)!=(c[l>>2]|0));i=p;return}function hZ(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=a;c[b>>2]=((Mb(0)|0)>>>0)%4294967295|0;L2(c[b>>2]|0);b=M2()|0;i=a;return b|0}function iZ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[c[f>>2]>>2];c[(c[e>>2]|0)+4>>2]=(c[c[e>>2]>>2]|0)+(c[(c[f>>2]|0)+8>>2]<<2);i=d;return}function jZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;while(1){if((c[c[b>>2]>>2]|0)==(c[(c[b>>2]|0)+4>>2]|0)){b=5;break}g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+4;c[e>>2]=c[a>>2];if(c[e>>2]|0){b=4;break}}if((b|0)==4){c[d>>2]=c[e>>2];g=c[d>>2]|0;i=f;return g|0}else if((b|0)==5){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}return 0}function kZ(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;while(1){a=c[(c[(c[b>>2]|0)+16>>2]|0)+8>>2]|0;if((c[d>>2]|0)>>>0>=(c[(c[b>>2]|0)+8>>2]|0)>>>0)break;Vb[a&127](c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Vb[a&127](c[c[b>>2]>>2]|0);i=e;return}function lZ(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f+4|0;g=f;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+232>>2];if($b[((a[(c[e>>2]|0)+236>>0]&255|0)!=0?41:42)&63]((c[e>>2]|0)+148|0,(c[e>>2]|0)+144|0,c[g>>2]|0)|0){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}else{c[d>>2]=YZ(c[e>>2]|0,c[(c[e>>2]|0)+232>>2]|0)|0;g=c[d>>2]|0;i=f;return g|0}return 0}function mZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();h=g+20|0;o=g+16|0;n=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=b;c[o>>2]=d;c[n>>2]=e;c[k>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=kc[c[c[(c[h>>2]|0)+144>>2]>>2]&127](c[(c[h>>2]|0)+144>>2]|0,c[o>>2]|0,c[n>>2]|0,l)|0;d=nZ(c[h>>2]|0,c[(c[h>>2]|0)+144>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,((a[(c[h>>2]|0)+480+4>>0]|0)!=0^1)&1)|0;i=g;return d|0} +function TL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,k=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();f=k+16|0;g=k;c[f>>2]=b;if(+h[d>>3]<+h[c[f>>2]>>3])e=+h[d>>3];else e=+h[c[f>>2]>>3];h[d>>3]=e;if(+h[d+8>>3]<+h[(c[f>>2]|0)+8>>3])e=+h[d+8>>3];else e=+h[(c[f>>2]|0)+8>>3];h[d+8>>3]=e;h[g>>3]=+h[c[f>>2]>>3]+ +h[(c[f>>2]|0)+16>>3];h[g+8>>3]=+h[(c[f>>2]|0)+8>>3]+ +h[(c[f>>2]|0)+16+8>>3];h[d+16>>3]=+h[d+16>>3]>+h[g>>3]?+h[d+16>>3]:+h[g>>3];h[d+16+8>>3]=+h[d+16+8>>3]>+h[g+8>>3]?+h[d+16+8>>3]:+h[g+8>>3];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[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];i=k;return}function UL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m;b=m+24|0;d=m+20|0;g=m+16|0;k=m+12|0;e=m+8|0;f=m+4|0;c[b>>2]=a;a=HO(OA(c[b>>2]|0,143183)|0)|0;c[g>>2]=a;if(!a){c[l>>2]=MB(c[b>>2]|0)|0;pA(0,141945,l)|0;i=m;return}c[k>>2]=_L(c[g>>2]|0)|0;if(!(c[k>>2]|0)){i=m;return}c[e>>2]=c[(c[k>>2]|0)+40>>2];c[f>>2]=c[(c[k>>2]|0)+44>>2];h[(c[(c[b>>2]|0)+8>>2]|0)+32>>3]=+(c[e>>2]|0)/72.0;h[(c[(c[b>>2]|0)+8>>2]|0)+40>>3]=+(c[f>>2]|0)/72.0;l=qK(12)|0;c[d>>2]=l;c[(c[(c[b>>2]|0)+8>>2]|0)+12>>2]=l;c[c[d>>2]>>2]=c[(c[k>>2]|0)+12>>2];c[(c[d>>2]|0)+4>>2]=0-(c[(c[k>>2]|0)+32>>2]|0)-((c[e>>2]|0)/2|0);c[(c[d>>2]|0)+4+4>>2]=0-(c[(c[k>>2]|0)+36>>2]|0)-((c[f>>2]|0)/2|0);i=m;return}function VL(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[(c[(c[b>>2]|0)+8>>2]|0)+12>>2]|0)){i=d;return}B1(c[(c[(c[b>>2]|0)+8>>2]|0)+12>>2]|0);i=d;return}function WL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;if((i|0)>=(j|0))ba();t=u+8|0;s=u;l=u+44|0;m=u+40|0;g=u+36|0;o=u+32|0;h=u+28|0;n=u+24|0;q=u+20|0;r=u+16|0;p=u+12|0;k=u+48|0;c[l>>2]=b;c[m>>2]=e;c[g>>2]=f;a[k>>0]=1;a:do if(c[m>>2]|0){c[p>>2]=0;while(1){if(!(d[k>>0]|0))break a;f=c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]|0;c[q>>2]=f;if(!f)break a;if(!(a[c[q>>2]>>0]|0))a[k>>0]=0;c[p>>2]=(c[p>>2]|0)+1}}while(0);b:do if(a[k>>0]|0){c[h>>2]=c[g>>2];while(1){if(!(c[c[h>>2]>>2]|0))break b;yF(c[l>>2]|0,c[c[h>>2]>>2]|0)|0;yF(c[l>>2]|0,193472)|0;c[h>>2]=(c[h>>2]|0)+4}}while(0);if(!(c[m>>2]|0)){i=u;return}c[p>>2]=0;while(1){k=c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]|0;c[q>>2]=k;if(!k)break;do if(a[c[q>>2]>>0]|0){c[r>>2]=HO(c[q>>2]|0)|0;if(!(c[r>>2]|0)){c[s>>2]=c[q>>2];pA(0,141994,s)|0;break}k=o3(c[r>>2]|0,176606)|0;c[o>>2]=k;if(!k){c[t>>2]=c[r>>2];pA(0,142022,t)|0;break}while(1){k=GO(c[o>>2]|0)|0;c[n>>2]=k;g=c[l>>2]|0;if(!k)break;yF(g,c[n>>2]|0)|0}yF(g,193472)|0;i3(c[o>>2]|0)|0}while(0);c[p>>2]=(c[p>>2]|0)+1}i=u;return}function XL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+8|0;l=k+4|0;g=k;f=k+12|0;c[e>>2]=b;c[l>>2]=d;c[g>>2]=c[(c[l>>2]|0)+52>>2];a:while(1){if(!(a[c[g>>2]>>0]|0))break;do if((a[c[g>>2]>>0]|0)==37?(a[(c[g>>2]|0)+1>>0]|0)==37:0){if((((f4((c[g>>2]|0)+2|0,142050,3)|0)!=0?(f4((c[g>>2]|0)+2|0,142054,5)|0)!=0:0)?(f4((c[g>>2]|0)+2|0,142060,3)|0)!=0:0)?(f4((c[g>>2]|0)+2|0,142064,7)|0)!=0:0)break;while(1){l=a[c[g>>2]>>0]|0;a[f>>0]=l;if((l<<24>>24|0)!=0?(a[f>>0]|0)!=13:0)b=(a[f>>0]|0)!=10;else b=0;d=c[g>>2]|0;if(!b)break;c[g>>2]=d+1}if((a[d>>0]|0)==13?(a[(c[g>>2]|0)+1>>0]|0)==10:0){c[g>>2]=(c[g>>2]|0)+2;continue a}if(!(a[c[g>>2]>>0]|0))continue a;c[g>>2]=(c[g>>2]|0)+1;continue a}while(0);while(1){l=a[c[g>>2]>>0]|0;a[f>>0]=l;if(!(l<<24>>24))break;if((a[f>>0]|0)==13)break;if((a[f>>0]|0)==10)break;zF(c[e>>2]|0,a[f>>0]|0)|0;c[g>>2]=(c[g>>2]|0)+1}if((a[c[g>>2]>>0]|0)==13?(a[(c[g>>2]|0)+1>>0]|0)==10:0)c[g>>2]=(c[g>>2]|0)+2;else h=26;if((h|0)==26?(h=0,(a[c[g>>2]>>0]|0)!=0):0)c[g>>2]=(c[g>>2]|0)+1;zF(c[e>>2]|0,10)|0}i=k;return}function YL(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g;d=g+8|0;e=g+4|0;c[d>>2]=b;if(!(c[13985]|0)){i=g;return}c[e>>2]=$b[c[c[55940>>2]>>2]&63](c[13985]|0,0,128)|0;while(1){if(!(c[e>>2]|0))break;if(!(a[(c[e>>2]|0)+16>>0]|0)){b=c[d>>2]|0;c[f>>2]=c[(c[e>>2]|0)+12>>2];DF(b,142072,f);yF(c[d>>2]|0,142090)|0;XL(c[d>>2]|0,c[e>>2]|0);yF(c[d>>2]|0,142108)|0;yF(c[d>>2]|0,142123)|0}c[e>>2]=$b[c[c[55940>>2]>>2]&63](c[13985]|0,c[e>>2]|0,8)|0}i=g;return}function ZL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+20|0;l=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;c[e>>2]=b;c[l>>2]=d;a:do switch(c[l>>2]|0){case 0:{c[f>>2]=c[e>>2];break}case 1:{c[f>>2]=_O(c[e>>2]|0)|0;break}default:switch($L(c[e>>2]|0)|0){case 0:{c[f>>2]=c[e>>2];break a}case 1:{c[f>>2]=_O(c[e>>2]|0)|0;break a}case 2:{if(!(c[13986]|0)){pA(0,142135,k)|0;c[13986]=1}c[f>>2]=c[e>>2];break a}default:{c[f>>2]=c[e>>2];break a}}}while(0);if(!(c[13987]|0))tA(55948,0,0);if((c[13988]|0)>>>0>=(c[13989]|0)>>>0)uA(55948,1)|0;l=c[13988]|0;c[13988]=l+1;a[l>>0]=40;c[g>>2]=40;c[h>>2]=c[f>>2];while(1){if(!(a[c[h>>2]>>0]|0))break;if(!(((a[c[h>>2]>>0]|0)!=40?(a[c[h>>2]>>0]|0)!=41:0)?(a[c[h>>2]>>0]|0)!=92:0)){if((c[13988]|0)>>>0>=(c[13989]|0)>>>0)uA(55948,1)|0;l=c[13988]|0;c[13988]=l+1;a[l>>0]=92;c[g>>2]=92}if((c[13988]|0)>>>0>=(c[13989]|0)>>>0)uA(55948,1)|0;l=c[h>>2]|0;c[h>>2]=l+1;l=a[l>>0]|0;b=c[13988]|0;c[13988]=b+1;a[b>>0]=l;c[g>>2]=l&255}if((c[13988]|0)>>>0>=(c[13989]|0)>>>0)uA(55948,1)|0;l=c[13988]|0;c[13988]=l+1;a[l>>0]=41;if((c[f>>2]|0)!=(c[e>>2]|0))B1(c[f>>2]|0);if((c[13988]|0)>>>0<(c[13989]|0)>>>0){l=c[13988]|0;g=l+1|0;c[13988]=g;a[l>>0]=0;l=c[13987]|0;c[13988]=l;c[h>>2]=l;l=c[h>>2]|0;i=k;return l|0}uA(55948,1)|0;l=c[13988]|0;g=l+1|0;c[13988]=g;a[l>>0]=0;l=c[13987]|0;c[13988]=l;c[h>>2]=l;l=c[h>>2]|0;i=k;return l|0}function _L(b){b=b|0;var d=0,e=0,f=0,g=0,h=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;w=i;i=i+1184|0;if((i|0)>=(j|0))ba();v=w+24|0;u=w+8|0;t=w;d=w+148|0;e=w+144|0;f=w+140|0;h=w+152|0;g=w+136|0;p=w+60|0;o=w+56|0;m=w+52|0;n=w+48|0;k=w+44|0;l=w+40|0;r=w+36|0;s=w+32|0;q=w+28|0;c[e>>2]=b;if(!(c[13985]|0))c[13985]=eA(55964,c[12989]|0)|0;c[q>>2]=$b[c[c[55940>>2]>>2]&63](c[13985]|0,c[e>>2]|0,512)|0;if(c[q>>2]|0){c[d>>2]=c[q>>2];v=c[d>>2]|0;i=w;return v|0}b=o3(c[e>>2]|0,176606)|0;c[g>>2]=b;if(!b){c[t>>2]=c[e>>2];pA(0,142225,t)|0;c[d>>2]=0;v=c[d>>2]|0;i=w;return v|0}c[m>>2]=0;c[o>>2]=0;do{if(!(m3(h,1024,c[g>>2]|0)|0))break;c[u>>2]=k;c[u+4>>2]=l;c[u+8>>2]=r;c[u+12>>2]=s;if((E3(h,142253,u)|0)==4)c[o>>2]=1;if((a[h>>0]|0)!=37?(l4(h,142282)|0)!=0:0)c[m>>2]=1}while(!((c[o>>2]|0)!=0&(c[m>>2]|0)!=0));if(c[o>>2]|0){c[q>>2]=rK(64)|0;c[(c[q>>2]|0)+32>>2]=c[k>>2];c[(c[q>>2]|0)+36>>2]=c[l>>2];c[(c[q>>2]|0)+40>>2]=(c[r>>2]|0)-(c[k>>2]|0);c[(c[q>>2]|0)+36>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[(c[q>>2]|0)+8>>2]=c[e>>2];v=c[14e3]|0;c[14e3]=v+1;c[(c[q>>2]|0)+12>>2]=v;V2(n3(c[g>>2]|0)|0,p)|0;v=rK((c[p+36>>2]|0)+1|0)|0;c[(c[q>>2]|0)+52>>2]=v;c[f>>2]=v;v3(c[g>>2]|0,0,0)|0;c[n>>2]=s3(c[f>>2]|0,c[p+36>>2]|0,1,c[g>>2]|0)|0;a[(c[f>>2]|0)+(c[p+36>>2]|0)>>0]=0;$b[c[c[55940>>2]>>2]&63](c[13985]|0,c[q>>2]|0,1)|0;a[(c[q>>2]|0)+16>>0]=c[m>>2]}else{c[v>>2]=c[e>>2];pA(0,142287,v)|0;c[q>>2]=0}i3(c[g>>2]|0)|0;c[d>>2]=c[q>>2];v=c[d>>2]|0;i=w;return v|0}function $L(b){b=b|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();g=k+8|0;e=k+4|0;h=k;f=k+12|0;c[e>>2]=b;c[h>>2]=0;while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){e=7;break}if((d[f>>0]|0|0)<127)continue;if(((d[f>>0]|0)&252|0)!=192){e=6;break}c[h>>2]=1;c[e>>2]=(c[e>>2]|0)+1}if((e|0)==6){c[g>>2]=2;h=c[g>>2]|0;i=k;return h|0}else if((e|0)==7){c[g>>2]=c[h>>2];h=c[g>>2]|0;i=k;return h|0}return 0}function aM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;c[e+8>>2]=a;c[f>>2]=b;c[e>>2]=d;B1(c[(c[f>>2]|0)+52>>2]|0);i=e;return}function bM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+112|0;if((i|0)>=(j|0))ba();p=r+104|0;k=r+96|0;l=r+92|0;g=r+88|0;o=r+80|0;q=r+72|0;s=r+32|0;m=r;n=r+64|0;c[l>>2]=e;c[g>>2]=f;h[s>>3]=+h[a>>3];h[s+8>>3]=+h[a+8>>3];h[s+16>>3]=+h[b>>3];h[s+16+8>>3]=+h[b+8>>3];if((aY(d,s,o)|0)<0){c[k>>2]=0;s=c[k>>2]|0;i=r;return s|0}if(!(c[g>>2]|0)){if((c[d+4>>2]|0)>(c[14001]|0)){if(c[14002]|0)g=tK(c[14002]|0,c[d+4>>2]<<5)|0;else g=rK(c[d+4>>2]<<5)|0;c[14002]=g;c[14001]=c[d+4>>2]}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[d+4>>2]|0))break;s=(c[14002]|0)+(c[n>>2]<<5)|0;a=(c[d>>2]|0)+(c[n>>2]<<4)|0;c[s>>2]=c[a>>2];c[s+4>>2]=c[a+4>>2];c[s+8>>2]=c[a+8>>2];c[s+12>>2]=c[a+12>>2];s=(c[14002]|0)+(c[n>>2]<<5)+16|0;a=(c[d>>2]|0)+((((c[n>>2]|0)+1|0)%(c[d+4>>2]|0)|0)<<4)|0;c[s>>2]=c[a>>2];c[s+4>>2]=c[a+4>>2];c[s+8>>2]=c[a+8>>2];c[s+12>>2]=c[a+12>>2];c[n>>2]=(c[n>>2]|0)+1}h[m+8>>3]=0.0;h[m>>3]=0.0;h[m+16+8>>3]=0.0;h[m+16>>3]=0.0;a=c[14002]|0;s=c[d+4>>2]|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];if((GX(a,s,p,m,q)|0)<0){c[k>>2]=0;s=c[k>>2]|0;i=r;return s|0}}else{c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];xY(p,q)}if(iM(c[q+4>>2]|0)|0){c[k>>2]=0;s=c[k>>2]|0;i=r;return s|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q+4>>2]|0))break;s=(c[14003]|0)+(c[n>>2]<<4)|0;d=(c[q>>2]|0)+(c[n>>2]<<4)|0;c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];c[n>>2]=(c[n>>2]|0)+1}c[c[l>>2]>>2]=c[q+4>>2];c[k>>2]=c[14003];s=c[k>>2]|0;i=r;return s|0}function cM(){var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;b=e+4|0;f=(c[14004]|0)+1|0;c[14004]=f;do if((f|0)>1)c[b>>2]=0;else{f=rK(4800)|0;c[14003]=f;if(!f){pA(1,142326,d)|0;c[b>>2]=1;break}c[14005]=300;c[14006]=0;c[14007]=0;if(a[139078]|0)nO();c[b>>2]=0}while(0);i=e;return c[b>>2]|0}function dM(){var b=0,d=0,e=0,f=0.0,g=0,k=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;e=(c[14004]|0)+-1|0;c[14004]=e;if((e|0)>0){i=d;return}B1(c[14003]|0);if(!(a[139078]|0)){i=d;return}e=c[24742]|0;k=c[14006]|0;g=c[14007]|0;f=+oO();c[b>>2]=k;c[b+4>>2]=g;h[b+8>>3]=f;p3(e,142364,b)|0;i=d;return}function eM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=jM(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function fM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=jM(c[f>>2]|0,c[e>>2]|0,1)|0;i=d;return a|0}function gM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+112|0;if((i|0)>=(j|0))ba();f=q+108|0;g=q+104|0;h=q+100|0;k=q+96|0;l=q+92|0;n=q+88|0;o=q+8|0;p=q+4|0;m=q;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[m>>2]=1;c[l>>2]=c[g>>2];while(1){e=c[(c[(c[l>>2]|0)+8>>2]|0)+172>>2]|0;c[l>>2]=e;b=c[m>>2]|0;if(!e)break;c[m>>2]=b+1}if((b|0)<=20)c[n>>2]=o;else c[n>>2]=qK(c[m>>2]<<2)|0;c[l>>2]=c[g>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;c[(c[n>>2]|0)+(c[p>>2]<<2)>>2]=c[l>>2];c[l>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+172>>2];c[p>>2]=(c[p>>2]|0)+1}hM(c[f>>2]|0,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0);if((c[m>>2]|0)<=20){i=q;return}B1(c[n>>2]|0);i=q;return}function hM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|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,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=i;i=i+416|0;if((i|0)>=(j|0))ba();H=K+328|0;D=K+312|0;k=K+412|0;l=K+408|0;m=K+404|0;n=K+400|0;o=K+396|0;s=K+248|0;N=K+392|0;x=K+388|0;q=K+384|0;E=K+232|0;r=K+216|0;w=K+380|0;v=K+376|0;y=K+372|0;z=K+368|0;J=K+364|0;u=K+360|0;A=K+208|0;t=K+144|0;C=K+128|0;G=K+112|0;M=K+96|0;L=K+80|0;p=K+64|0;F=K;I=K+352|0;B=K+344|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[q>>2]=(c[n>>2]|0)==4&1;c[v>>2]=c[c[l>>2]>>2];g=c[v>>2]|0;c[N>>2]=c[((c[c[v>>2]>>2]&3|0)==3?g:g+32|0)+28>>2];g=c[v>>2]|0;c[x>>2]=c[((c[c[v>>2]>>2]&3|0)==2?g:g+-32|0)+28>>2];g=s+16|0;b=(c[(c[N>>2]|0)+8>>2]|0)+16|0;a=(c[(c[v>>2]|0)+8>>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];c[H>>2]=c[a>>2];c[H+4>>2]=c[a+4>>2];c[H+8>>2]=c[a+8>>2];c[H+12>>2]=c[a+12>>2];kM(M,D,H);c[s>>2]=c[M>>2];c[s+4>>2]=c[M+4>>2];c[s+8>>2]=c[M+8>>2];c[s+12>>2]=c[M+12>>2];c[g>>2]=c[s>>2];c[g+4>>2]=c[s+4>>2];c[g+8>>2]=c[s+8>>2];c[g+12>>2]=c[s+12>>2];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];g=s+32|0;a=s+48|0;b=(c[(c[x>>2]|0)+8>>2]|0)+16|0;f=(c[(c[v>>2]|0)+8>>2]|0)+56|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[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];kM(L,D,H);c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>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];c[G>>2]=c[g>>2];c[G+4>>2]=c[g+4>>2];c[G+8>>2]=c[g+8>>2];c[G+12>>2]=c[g+12>>2];if((c[m>>2]|0)!=1?(d[139080]|0|0)==0:0){c[w>>2]=c[v>>2];if((+h[s>>3]-+h[s+48>>3])*(+h[s>>3]-+h[s+48>>3])+(+h[s+8>>3]-+h[s+48+8>>3])*(+h[s+8>>3]-+h[s+48+8>>3])<1.0e-06){N=s+16|0;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];N=s+32|0;M=s+48|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];h[r>>3]=0.0;h[r+8>>3]=0.0}else{h[E>>3]=+h[s+8>>3]-+h[s+48+8>>3];h[E+8>>3]=+h[s+48>>3]-+h[s>>3];h[A>>3]=+O(+(+h[E>>3]*+h[E>>3]+ +h[E+8>>3]*+h[E+8>>3]));c[J>>2]=c[(c[(c[(c[k>>2]|0)+48>>2]|0)+8>>2]|0)+248>>2];c[u>>2]=(_(c[J>>2]|0,(c[m>>2]|0)-1|0)|0)/2|0;h[s+16>>3]=+h[s>>3]+ +(c[u>>2]|0)*+h[E>>3]/+h[A>>3];h[s+16+8>>3]=+h[s+8>>3]+ +(c[u>>2]|0)*+h[E+8>>3]/+h[A>>3];h[s+32>>3]=+h[s+48>>3]+ +(c[u>>2]|0)*+h[E>>3]/+h[A>>3];h[s+32+8>>3]=+h[s+48+8>>3]+ +(c[u>>2]|0)*+h[E+8>>3]/+h[A>>3];h[r>>3]=+(0-(c[J>>2]|0)|0)*+h[E>>3]/+h[A>>3];h[r+8>>3]=+(0-(c[J>>2]|0)|0)*+h[E+8>>3]/+h[A>>3]}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[m>>2]|0))break;c[w>>2]=c[(c[l>>2]|0)+(c[y>>2]<<2)>>2];N=c[w>>2]|0;a:do if((c[((c[c[w>>2]>>2]&3|0)==2?N:N+-32|0)+28>>2]|0)==(c[x>>2]|0)){c[C>>2]=c[s>>2];c[C+4>>2]=c[s+4>>2];c[C+8>>2]=c[s+8>>2];c[C+12>>2]=c[s+12>>2];N=s+48|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[z>>2]=0;while(1){if((c[z>>2]|0)>=4)break a;N=t+(c[z>>2]<<4)|0;M=s+(c[z>>2]<<4)|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[z>>2]=(c[z>>2]|0)+1}}else{N=s+48|0;c[C>>2]=c[N>>2];c[C+4>>2]=c[N+4>>2];c[C+8>>2]=c[N+8>>2];c[C+12>>2]=c[N+12>>2];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];c[z>>2]=0;while(1){if((c[z>>2]|0)>=4)break a;N=t+(3-(c[z>>2]|0)<<4)|0;M=s+(c[z>>2]<<4)|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[z>>2]=(c[z>>2]|0)+1}}while(0);if((c[n>>2]|0)==6){c[B+4>>2]=4;c[B>>2]=F;c[z>>2]=0;while(1){if((c[z>>2]|0)>=4)break;N=F+(c[z>>2]<<4)|0;M=t+(c[z>>2]<<4)|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[z>>2]=(c[z>>2]|0)+1}c[H>>2]=c[B>>2];c[H+4>>2]=c[B+4>>2];xY(H,I);N=c[w>>2]|0;yN(c[w>>2]|0,c[((c[c[w>>2]>>2]&3|0)==2?N:N+-32|0)+28>>2]|0,c[I>>2]|0,c[I+4>>2]|0,c[o>>2]|0)}else{N=c[w>>2]|0;yN(c[w>>2]|0,c[((c[c[w>>2]>>2]&3|0)==2?N:N+-32|0)+28>>2]|0,t,4,c[o>>2]|0)}M=c[k>>2]|0;N=c[w>>2]|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+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];HN(M,N,D,H);N=s+16|0;h[N>>3]=+h[N>>3]+ +h[r>>3];N=s+16+8|0;h[N>>3]=+h[N>>3]+ +h[r+8>>3];N=s+32|0;h[N>>3]=+h[N>>3]+ +h[r>>3];N=s+32+8|0;h[N>>3]=+h[N>>3]+ +h[r+8>>3];c[y>>2]=(c[y>>2]|0)+1}i=K;return}if(c[q>>2]|0){lM(p,c[k>>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];mM(s,H)}M=c[v>>2]|0;yN(c[v>>2]|0,c[((c[c[v>>2]>>2]&3|0)==2?M:M+-32|0)+28>>2]|0,s,4,c[o>>2]|0);M=c[k>>2]|0;N=c[v>>2]|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+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];HN(M,N,D,H);i=K;return}function iM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g;b=g+12|0;d=g+8|0;e=g+4|0;c[d>>2]=a;do if((c[d>>2]|0)>(c[14005]|0)){c[e>>2]=(c[14005]|0)+((((c[d>>2]|0)/300|0)+1|0)*300|0);c[14003]=tK(c[14003]|0,c[e>>2]<<4)|0;if(c[14003]|0){c[14005]=c[e>>2];break}pA(1,143126,f)|0;c[b>>2]=1;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function jM(b,e,f){b=b|0;e=e|0;f=f|0;var g=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,S=0,T=0,U=0,V=0.0;U=i;i=i+272|0;if((i|0)>=(j|0))ba();I=U+248|0;S=U+136|0;P=U+128|0;w=U+120|0;l=U+112|0;v=U+96|0;m=U+80|0;g=U+72|0;x=U+244|0;y=U+240|0;z=U+236|0;n=U+232|0;J=U+224|0;H=U+216|0;M=U+208|0;N=U+204|0;o=U+40|0;F=U+8|0;E=U+200|0;t=U+196|0;r=U+192|0;s=U+188|0;A=U+184|0;B=U+180|0;C=U+176|0;L=U+172|0;p=U+168|0;G=U+164|0;D=U+160|0;O=U+256|0;k=U;q=U+156|0;u=U+152|0;K=U+144|0;c[y>>2]=b;c[z>>2]=e;c[n>>2]=f;c[D>>2]=10;c[14006]=(c[14006]|0)+1;c[14007]=(c[14007]|0)+(c[(c[y>>2]|0)+80>>2]|0);c[L>>2]=c[(c[y>>2]|0)+88>>2];while(1){if(!(c[L>>2]|0))break;if(!(a[(c[(c[L>>2]|0)+8>>2]|0)+112>>0]|0))break;c[L>>2]=c[(c[(c[L>>2]|0)+8>>2]|0)+116>>2]}if(!(c[L>>2]|0)){pA(1,142407,g)|0;c[x>>2]=0;T=c[x>>2]|0;i=U;return T|0}c[B>>2]=c[(c[y>>2]|0)+84>>2];c[C>>2]=c[(c[y>>2]|0)+80>>2];if(nM(c[C>>2]|0,c[B>>2]|0,c[y>>2]|0)|0){c[x>>2]=0;T=c[x>>2]|0;i=U;return T|0}if((c[C>>2]<<3|0)>(c[14008]|0)){if(c[14009]|0)e=tK(c[14009]|0,c[C>>2]<<3<<4)|0;else e=rK(c[C>>2]<<3<<4)|0;c[14009]=e;c[14008]=c[C>>2]<<3}a:do if((c[C>>2]|0)>1?+h[(c[B>>2]|0)+8>>3]>+h[(c[B>>2]|0)+32+8>>3]:0){c[p>>2]=1;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[C>>2]|0))break a;h[k>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3];h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3]*-1.0;h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3]=-+h[k>>3];c[A>>2]=(c[A>>2]|0)+1}}else T=19;while(0);if((T|0)==19)c[p>>2]=0;g=c[L>>2]|0;k=c[L>>2]|0;if((c[((c[c[L>>2]>>2]&3|0)==3?g:g+32|0)+28>>2]|0)==(c[((c[c[L>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)){T=c[L>>2]|0;c[l>>2]=MB(c[((c[c[L>>2]>>2]&3|0)==2?T:T+-32|0)+28>>2]|0)|0;pA(1,142514,l)|0;c[x>>2]=0;T=c[x>>2]|0;i=U;return T|0}c[A>>2]=0;c[s>>2]=0;b:while(1){if((c[A>>2]|0)>=(c[C>>2]|0))break;c[t>>2]=0;c[r>>2]=0;if((c[A>>2]|0)>0)c[t>>2]=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3]>+h[(c[B>>2]|0)+((c[A>>2]|0)-1<<5)+8>>3]?-1:1;if((c[A>>2]|0)<((c[C>>2]|0)-1|0))c[r>>2]=+h[(c[B>>2]|0)+((c[A>>2]|0)+1<<5)+8>>3]>+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3]?1:-1;do if((c[t>>2]|0)!=(c[r>>2]|0)){e=(c[B>>2]|0)+(c[A>>2]<<5)|0;if((c[r>>2]|0)==-1|(c[t>>2]|0)==1){h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[e>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3];l=c[s>>2]|0;c[s>>2]=l+1;h[(c[14009]|0)+(l<<4)+8>>3]=V;h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3];l=c[s>>2]|0;c[s>>2]=l+1;h[(c[14009]|0)+(l<<4)+8>>3]=V;break}else{h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[e+16>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3];l=c[s>>2]|0;c[s>>2]=l+1;h[(c[14009]|0)+(l<<4)+8>>3]=V;h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3];l=c[s>>2]|0;c[s>>2]=l+1;h[(c[14009]|0)+(l<<4)+8>>3]=V;break}}else if(c[t>>2]|0)if((c[t>>2]|0)==-1&(c[r>>2]|0)==-1)break;else{T=34;break b}else{h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3];l=c[s>>2]|0;c[s>>2]=l+1;h[(c[14009]|0)+(l<<4)+8>>3]=V;h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3];l=c[s>>2]|0;c[s>>2]=l+1;h[(c[14009]|0)+(l<<4)+8>>3]=V;break}while(0);c[A>>2]=(c[A>>2]|0)+1}if((T|0)==34){T=c[r>>2]|0;c[m>>2]=c[t>>2];c[m+4>>2]=T;c[m+8>>2]=480;pA(1,142449,m)|0;c[x>>2]=0;T=c[x>>2]|0;i=U;return T|0}c[A>>2]=(c[C>>2]|0)-1;c:while(1){if((c[A>>2]|0)<0)break;c[t>>2]=0;c[r>>2]=0;if((c[A>>2]|0)<((c[C>>2]|0)-1|0))c[t>>2]=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3]>+h[(c[B>>2]|0)+((c[A>>2]|0)+1<<5)+8>>3]?-1:1;if((c[A>>2]|0)>0)c[r>>2]=+h[(c[B>>2]|0)+((c[A>>2]|0)-1<<5)+8>>3]>+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3]?1:-1;do if((c[t>>2]|0)!=(c[r>>2]|0)){e=(c[B>>2]|0)+(c[A>>2]<<5)|0;if((c[r>>2]|0)==-1|(c[t>>2]|0)==1){h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[e>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3];m=c[s>>2]|0;c[s>>2]=m+1;h[(c[14009]|0)+(m<<4)+8>>3]=V;h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3];m=c[s>>2]|0;c[s>>2]=m+1;h[(c[14009]|0)+(m<<4)+8>>3]=V;break}else{h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[e+16>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3];m=c[s>>2]|0;c[s>>2]=m+1;h[(c[14009]|0)+(m<<4)+8>>3]=V;h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3];m=c[s>>2]|0;c[s>>2]=m+1;h[(c[14009]|0)+(m<<4)+8>>3]=V;break}}else{if(!(c[t>>2]|0)){h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3];m=c[s>>2]|0;c[s>>2]=m+1;h[(c[14009]|0)+(m<<4)+8>>3]=V;h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3];m=c[s>>2]|0;c[s>>2]=m+1;h[(c[14009]|0)+(m<<4)+8>>3]=V;break}if(!((c[t>>2]|0)==-1&(c[r>>2]|0)==-1)){T=49;break c}h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3];m=c[s>>2]|0;c[s>>2]=m+1;h[(c[14009]|0)+(m<<4)+8>>3]=V;h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3];m=c[s>>2]|0;c[s>>2]=m+1;h[(c[14009]|0)+(m<<4)+8>>3]=V;h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3];m=c[s>>2]|0;c[s>>2]=m+1;h[(c[14009]|0)+(m<<4)+8>>3]=V;h[(c[14009]|0)+(c[s>>2]<<4)>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)>>3];V=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3];m=c[s>>2]|0;c[s>>2]=m+1;h[(c[14009]|0)+(m<<4)+8>>3]=V}while(0);c[A>>2]=(c[A>>2]|0)+-1}if((T|0)==49){T=c[r>>2]|0;c[v>>2]=c[t>>2];c[v+4>>2]=T;c[v+8>>2]=513;pA(1,142449,v)|0;c[x>>2]=0;T=c[x>>2]|0;i=U;return T|0}d:do if(c[p>>2]|0){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[C>>2]|0))break;c[u>>2]=~~+h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3];h[(c[B>>2]|0)+(c[A>>2]<<5)+16+8>>3]=+h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3]*-1.0;h[(c[B>>2]|0)+(c[A>>2]<<5)+8>>3]=+(0-(c[u>>2]|0)|0);c[A>>2]=(c[A>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[s>>2]|0))break d;v=(c[14009]|0)+(c[q>>2]<<4)+8|0;h[v>>3]=+h[v>>3]*-1.0;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[C>>2]|0))break;h[(c[B>>2]|0)+(c[A>>2]<<5)>>3]=2147483647.0;h[(c[B>>2]|0)+(c[A>>2]<<5)+16>>3]=-2147483648.0;c[A>>2]=(c[A>>2]|0)+1}c[J>>2]=c[14009];c[J+4>>2]=c[s>>2];h[o>>3]=+h[c[y>>2]>>3];h[o+8>>3]=+h[(c[y>>2]|0)+8>>3];h[o+16>>3]=+h[(c[y>>2]|0)+40>>3];h[o+16+8>>3]=+h[(c[y>>2]|0)+40+8>>3];if((aY(J,o,H)|0)<0){pA(1,142553,w)|0;c[x>>2]=0;T=c[x>>2]|0;i=U;return T|0}if(!(c[n>>2]|0)){if((c[J+4>>2]|0)>(c[14001]|0)){if(c[14002]|0)e=tK(c[14002]|0,c[J+4>>2]<<5)|0;else e=rK(c[J+4>>2]<<5)|0;c[14002]=e;c[14001]=c[J+4>>2]}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[J+4>>2]|0))break;w=(c[14002]|0)+(c[E>>2]<<5)|0;v=(c[14009]|0)+(c[E>>2]<<4)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];w=(c[14002]|0)+(c[E>>2]<<5)+16|0;v=(c[14009]|0)+((((c[E>>2]|0)+1|0)%(c[J+4>>2]|0)|0)<<4)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];c[E>>2]=(c[E>>2]|0)+1}if(a[(c[y>>2]|0)+29>>0]|0){h[F>>3]=+Q(+(+h[(c[y>>2]|0)+16>>3]));h[F+8>>3]=+R(+(+h[(c[y>>2]|0)+16>>3]))}else{h[F+8>>3]=0.0;h[F>>3]=0.0}if(a[(c[y>>2]|0)+40+29>>0]|0){h[F+16>>3]=-+Q(+(+h[(c[y>>2]|0)+40+16>>3]));h[F+16+8>>3]=-+R(+(+h[(c[y>>2]|0)+40+16>>3]))}else{h[F+16+8>>3]=0.0;h[F+16>>3]=0.0}E=c[14002]|0;J=c[J+4>>2]|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];if((GX(E,J,I,F,M)|0)<0){pA(1,142592,P)|0;c[x>>2]=0;T=c[x>>2]|0;i=U;return T|0}}else{c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];xY(I,M)}if(iM(c[M+4>>2]|0)|0){c[x>>2]=0;T=c[x>>2]|0;i=U;return T|0}c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[C>>2]|0))break;h[(c[B>>2]|0)+(c[A>>2]<<5)>>3]=2147483647.0;h[(c[B>>2]|0)+(c[A>>2]<<5)+16>>3]=-2147483648.0;c[A>>2]=(c[A>>2]|0)+1}a[O>>0]=1;c[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[M+4>>2]|0))break;P=(c[14003]|0)+(c[N>>2]<<4)|0;J=(c[M>>2]|0)+(c[N>>2]<<4)|0;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[N>>2]=(c[N>>2]|0)+1}c[G>>2]=0;while(1){if(!((d[O>>0]|0)!=0?(c[G>>2]|0)<15:0))break;oM(c[B>>2]|0,c[C>>2]|0,c[14003]|0,c[M+4>>2]|0,c[D>>2]|0);c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[C>>2]|0))break;if(+h[(c[B>>2]|0)+(c[A>>2]<<5)>>3]==2147483647.0){T=97;break}if(+h[(c[B>>2]|0)+(c[A>>2]<<5)+16>>3]==-2147483648.0){T=97;break}c[A>>2]=(c[A>>2]|0)+1}if((T|0)==97?(T=0,c[D>>2]=c[D>>2]<<1,(c[D>>2]|0)>(2147483647/(c[C>>2]|0)|0|0)):0)c[G>>2]=15;if((c[A>>2]|0)==(c[C>>2]|0))a[O>>0]=0;c[G>>2]=(c[G>>2]|0)+1}if(a[O>>0]|0){P=c[L>>2]|0;P=MB(c[((c[c[L>>2]>>2]&3|0)==3?P:P+32|0)+28>>2]|0)|0;T=c[L>>2]|0;T=MB(c[((c[c[L>>2]>>2]&3|0)==2?T:T+-32|0)+28>>2]|0)|0;c[S>>2]=P;c[S+4>>2]=T;pA(0,142630,S)|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];xY(I,K);oM(c[B>>2]|0,c[C>>2]|0,c[K>>2]|0,c[K+4>>2]|0,10);B1(c[K>>2]|0)}c[c[z>>2]>>2]=c[M+4>>2];c[x>>2]=c[14003];T=c[x>>2]|0;i=U;return T|0}function kM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=+h[b>>3]+ +h[d>>3];h[f+8>>3]=+h[b+8>>3]+ +h[d+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function lM(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;c[e>>2]=b;c[d>>2]=0;h[4264]=(+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[e>>2]|0)+8>>2]|0)+16+16>>3])/2.0;h[4265]=(+h[(c[(c[e>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[e>>2]|0)+8>>2]|0)+16+16+8>>3])/2.0;c[a>>2]=c[8528];c[a+4>>2]=c[8529];c[a+8>>2]=c[8530];c[a+12>>2]=c[8531];i=d;return}function mM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;i=i+96|0;if((i|0)>=(j|0))ba();e=d+88|0;n=d+72|0;g=d+56|0;k=d+48|0;p=d+40|0;r=d+32|0;q=d+24|0;o=d+16|0;m=d+8|0;l=d;c[e>>2]=a;h[n>>3]=(+h[c[e>>2]>>3]+ +h[(c[e>>2]|0)+48>>3])/2.0;h[n+8>>3]=(+h[(c[e>>2]|0)+8>>3]+ +h[(c[e>>2]|0)+48+8>>3])/2.0;h[r>>3]=+h[(c[e>>2]|0)+48>>3]-+h[c[e>>2]>>3];h[q>>3]=+h[(c[e>>2]|0)+48+8>>3]-+h[(c[e>>2]|0)+8>>3];h[p>>3]=+O(+(+h[r>>3]*+h[r>>3]+ +h[q>>3]*+h[q>>3]));h[k>>3]=+h[p>>3]/5.0;h[o>>3]=+h[b>>3]-+h[n>>3];h[m>>3]=+h[b+8>>3]-+h[n+8>>3];h[l>>3]=+O(+(+h[o>>3]*+h[o>>3]+ +h[m>>3]*+h[m>>3]));h[g>>3]=+h[n>>3]-+h[o>>3]/+h[l>>3]*+h[k>>3];h[g+8>>3]=+h[n+8>>3]-+h[m>>3]/+h[l>>3]*+h[k>>3];f=+h[g>>3];h[(c[e>>2]|0)+32>>3]=f;h[(c[e>>2]|0)+16>>3]=f;f=+h[g+8>>3];h[(c[e>>2]|0)+32+8>>3]=f;h[(c[e>>2]|0)+16+8>>3]=f;i=d;return}function nM(b,e,f){b=b|0;e=e|0;f=f|0;var g=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.0;F=i;i=i+112|0;if((i|0)>=(j|0))ba();x=F+32|0;A=F+24|0;z=F+16|0;y=F+8|0;g=F;k=F+96|0;l=F+92|0;m=F+88|0;n=F+84|0;o=F+80|0;p=F+76|0;q=F+72|0;t=F+68|0;s=F+64|0;u=F+60|0;v=F+56|0;r=F+52|0;w=F+48|0;B=F+44|0;D=F+40|0;C=F+36|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[t>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;G=+h[(c[m>>2]|0)+(c[q>>2]<<5)+8>>3]-+h[(c[m>>2]|0)+(c[q>>2]<<5)+16+8>>3];if(!((+h[(c[m>>2]|0)+(c[q>>2]<<5)+8>>3]-+h[(c[m>>2]|0)+(c[q>>2]<<5)+16+8>>3]>=0.0?G:-G)<.01)?(G=+h[(c[m>>2]|0)+(c[q>>2]<<5)>>3]-+h[(c[m>>2]|0)+(c[q>>2]<<5)+16>>3],!((+h[(c[m>>2]|0)+(c[q>>2]<<5)>>3]-+h[(c[m>>2]|0)+(c[q>>2]<<5)+16>>3]>=0.0?G:-G)<.01)):0){if((c[t>>2]|0)!=(c[q>>2]|0)){f=(c[m>>2]|0)+(c[t>>2]<<5)|0;e=(c[m>>2]|0)+(c[q>>2]<<5)|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];c[f+16>>2]=c[e+16>>2];c[f+20>>2]=c[e+20>>2];c[f+24>>2]=c[e+24>>2];c[f+28>>2]=c[e+28>>2]}c[t>>2]=(c[t>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}c[l>>2]=c[t>>2];c[o>>2]=c[m>>2];if(!(+h[c[o>>2]>>3]>+h[(c[o>>2]|0)+16>>3])?!(+h[(c[o>>2]|0)+8>>3]>+h[(c[o>>2]|0)+16+8>>3]):0){c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[l>>2]|0)-1|0))break;c[o>>2]=(c[m>>2]|0)+(c[q>>2]<<5);c[p>>2]=(c[m>>2]|0)+((c[q>>2]|0)+1<<5);if(+h[c[p>>2]>>3]>+h[(c[p>>2]|0)+16>>3]){E=16;break}if(+h[(c[p>>2]|0)+8>>3]>+h[(c[p>>2]|0)+16+8>>3]){E=16;break}c[u>>2]=+h[(c[o>>2]|0)+16>>3]<+h[c[p>>2]>>3]?1:0;c[v>>2]=+h[c[o>>2]>>3]>+h[(c[p>>2]|0)+16>>3]?1:0;c[r>>2]=+h[(c[o>>2]|0)+16+8>>3]<+h[(c[p>>2]|0)+8>>3]?1:0;c[w>>2]=+h[(c[o>>2]|0)+8>>3]>+h[(c[p>>2]|0)+16+8>>3]?1:0;c[s>>2]=(c[u>>2]|0)+(c[v>>2]|0)+(c[r>>2]|0)+(c[w>>2]|0);if((c[s>>2]|0)>0?(d[139078]|0)!=0:0){g=c[24742]|0;f=(c[q>>2]|0)+1|0;c[z>>2]=c[q>>2];c[z+4>>2]=f;p3(g,142830,z)|0;pM(c[n>>2]|0)}a:do if((c[s>>2]|0)>0){do if((c[u>>2]|0)!=1){if((c[v>>2]|0)==1){c[C>>2]=~~+h[c[o>>2]>>3];h[c[o>>2]>>3]=+h[(c[p>>2]|0)+16>>3];h[(c[p>>2]|0)+16>>3]=+(c[C>>2]|0);c[v>>2]=0;break}if((c[r>>2]|0)==1){c[C>>2]=~~+h[(c[o>>2]|0)+16+8>>3];h[(c[o>>2]|0)+16+8>>3]=+h[(c[p>>2]|0)+8>>3];h[(c[p>>2]|0)+8>>3]=+(c[C>>2]|0);c[r>>2]=0;break}if((c[w>>2]|0)==1){c[C>>2]=~~+h[(c[o>>2]|0)+8>>3];h[(c[o>>2]|0)+8>>3]=+h[(c[p>>2]|0)+16+8>>3];h[(c[p>>2]|0)+16+8>>3]=+(c[C>>2]|0);c[w>>2]=0}}else{c[C>>2]=~~+h[(c[o>>2]|0)+16>>3];h[(c[o>>2]|0)+16>>3]=+h[c[p>>2]>>3];h[c[p>>2]>>3]=+(c[C>>2]|0);c[u>>2]=0}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=((c[s>>2]|0)-1|0))break a;do if((c[u>>2]|0)!=1){if((c[v>>2]|0)==1){c[C>>2]=~~((+h[c[o>>2]>>3]+ +h[(c[p>>2]|0)+16>>3])/2.0+.5);G=+(c[C>>2]|0);h[(c[p>>2]|0)+16>>3]=G;h[c[o>>2]>>3]=G;c[v>>2]=0;break}if((c[r>>2]|0)==1){c[C>>2]=~~((+h[(c[o>>2]|0)+16+8>>3]+ +h[(c[p>>2]|0)+8>>3])/2.0+.5);G=+(c[C>>2]|0);h[(c[p>>2]|0)+8>>3]=G;h[(c[o>>2]|0)+16+8>>3]=G;c[r>>2]=0;break}if((c[w>>2]|0)==1){c[C>>2]=~~((+h[(c[o>>2]|0)+8>>3]+ +h[(c[p>>2]|0)+16+8>>3])/2.0+.5);G=+(c[C>>2]|0);h[(c[p>>2]|0)+16+8>>3]=G;h[(c[o>>2]|0)+8>>3]=G;c[w>>2]=0}}else{c[C>>2]=~~((+h[(c[o>>2]|0)+16>>3]+ +h[c[p>>2]>>3])/2.0+.5);G=+(c[C>>2]|0);h[c[p>>2]>>3]=G;h[(c[o>>2]|0)+16>>3]=G;c[u>>2]=0}while(0);c[t>>2]=(c[t>>2]|0)+1}}while(0);c[B>>2]=qM(~~+h[c[o>>2]>>3],~~+h[(c[o>>2]|0)+16>>3],~~+h[c[p>>2]>>3],~~+h[(c[p>>2]|0)+16>>3])|0;c[D>>2]=qM(~~+h[(c[o>>2]|0)+8>>3],~~+h[(c[o>>2]|0)+16+8>>3],~~+h[(c[p>>2]|0)+8>>3],~~+h[(c[p>>2]|0)+16+8>>3])|0;do if((c[B>>2]|0)!=0&(c[D>>2]|0)!=0){b=(c[o>>2]|0)+16|0;if((c[B>>2]|0)<(c[D>>2]|0)){e=+h[(c[o>>2]|0)+16>>3]<+h[(c[p>>2]|0)+16>>3];if(+h[b>>3]-+h[c[o>>2]>>3]>+h[(c[p>>2]|0)+16>>3]-+h[c[p>>2]>>3]){b=c[p>>2]|0;if(e){h[(c[o>>2]|0)+16>>3]=+h[b>>3];break}else{h[c[o>>2]>>3]=+h[b+16>>3];break}}else{b=c[o>>2]|0;if(e){h[c[p>>2]>>3]=+h[b+16>>3];break}else{h[(c[p>>2]|0)+16>>3]=+h[b>>3];break}}}else{e=+h[(c[o>>2]|0)+16+8>>3]<+h[(c[p>>2]|0)+16+8>>3];if(+h[b+8>>3]-+h[(c[o>>2]|0)+8>>3]>+h[(c[p>>2]|0)+16+8>>3]-+h[(c[p>>2]|0)+8>>3]){b=c[p>>2]|0;if(e){h[(c[o>>2]|0)+16+8>>3]=+h[b+8>>3];break}else{h[(c[o>>2]|0)+8>>3]=+h[b+16+8>>3];break}}else{b=c[o>>2]|0;if(e){h[(c[p>>2]|0)+8>>3]=+h[b+16+8>>3];break}else{h[(c[p>>2]|0)+16+8>>3]=+h[b+8>>3];break}}}}while(0);c[q>>2]=(c[q>>2]|0)+1}if((E|0)==16){c[y>>2]=(c[q>>2]|0)+1;pA(1,142784,y)|0;pM(c[n>>2]|0);c[k>>2]=1;E=c[k>>2]|0;i=F;return E|0}if(!(((!(+h[c[n>>2]>>3]<+h[c[m>>2]>>3])?!(+h[c[n>>2]>>3]>+h[(c[m>>2]|0)+16>>3]):0)?!(+h[(c[n>>2]|0)+8>>3]<+h[(c[m>>2]|0)+8>>3]):0)?!(+h[(c[n>>2]|0)+8>>3]>+h[(c[m>>2]|0)+16+8>>3]):0)){if(a[139078]|0){p3(c[24742]|0,142873,A)|0;pM(c[n>>2]|0)}if(+h[c[n>>2]>>3]<+h[c[m>>2]>>3])h[c[n>>2]>>3]=+h[c[m>>2]>>3];if(+h[c[n>>2]>>3]>+h[(c[m>>2]|0)+16>>3])h[c[n>>2]>>3]=+h[(c[m>>2]|0)+16>>3];if(+h[(c[n>>2]|0)+8>>3]<+h[(c[m>>2]|0)+8>>3])h[(c[n>>2]|0)+8>>3]=+h[(c[m>>2]|0)+8>>3];if(+h[(c[n>>2]|0)+8>>3]>+h[(c[m>>2]|0)+16+8>>3])h[(c[n>>2]|0)+8>>3]=+h[(c[m>>2]|0)+16+8>>3]}if(!(((!(+h[(c[n>>2]|0)+40>>3]<+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)>>3])?!(+h[(c[n>>2]|0)+40>>3]>+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)+16>>3]):0)?!(+h[(c[n>>2]|0)+40+8>>3]<+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)+8>>3]):0)?!(+h[(c[n>>2]|0)+40+8>>3]>+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)+16+8>>3]):0)){if(a[139078]|0){p3(c[24742]|0,142916,x)|0;pM(c[n>>2]|0)}if(+h[(c[n>>2]|0)+40>>3]<+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)>>3])h[(c[n>>2]|0)+40>>3]=+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)>>3];if(+h[(c[n>>2]|0)+40>>3]>+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)+16>>3])h[(c[n>>2]|0)+40>>3]=+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)+16>>3];if(+h[(c[n>>2]|0)+40+8>>3]<+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)+8>>3])h[(c[n>>2]|0)+40+8>>3]=+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)+8>>3];if(+h[(c[n>>2]|0)+40+8>>3]>+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)+16+8>>3])h[(c[n>>2]|0)+40+8>>3]=+h[(c[m>>2]|0)+((c[l>>2]|0)-1<<5)+16+8>>3]}c[k>>2]=0;E=c[k>>2]|0;i=F;return E|0}pA(1,142739,g)|0;pM(c[n>>2]|0);c[k>>2]=1;E=c[k>>2]|0;i=F;return E|0}function oM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+112|0;if((i|0)>=(j|0))ba();g=t+104|0;k=t+100|0;l=t+96|0;m=t+92|0;u=t+88|0;n=t+84|0;p=t+80|0;r=t+76|0;s=t+64|0;q=t;o=t+72|0;c[g>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[u>>2]=f;c[o>>2]=_(c[u>>2]|0,c[k>>2]|0)|0;c[r>>2]=0;while(1){if(((c[r>>2]|0)+3|0)>=(c[m>>2]|0))break;c[p>>2]=0;while(1){if((c[p>>2]|0)>(c[o>>2]|0))break;h[s>>3]=+(c[p>>2]|0)/+(c[o>>2]|0);u=(c[l>>2]|0)+(c[r>>2]<<4)|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];u=q+16|0;d=(c[l>>2]|0)+((c[r>>2]|0)+1<<4)|0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2];u=q+32|0;d=(c[l>>2]|0)+((c[r>>2]|0)+2<<4)|0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2];u=q+48|0;d=(c[l>>2]|0)+((c[r>>2]|0)+3<<4)|0;c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2];h[q>>3]=+h[q>>3]+ +h[s>>3]*(+h[q+16>>3]-+h[q>>3]);h[q+8>>3]=+h[q+8>>3]+ +h[s>>3]*(+h[q+16+8>>3]-+h[q+8>>3]);h[q+16>>3]=+h[q+16>>3]+ +h[s>>3]*(+h[q+32>>3]-+h[q+16>>3]);h[q+16+8>>3]=+h[q+16+8>>3]+ +h[s>>3]*(+h[q+32+8>>3]-+h[q+16+8>>3]);h[q+32>>3]=+h[q+32>>3]+ +h[s>>3]*(+h[q+48>>3]-+h[q+32>>3]);h[q+32+8>>3]=+h[q+32+8>>3]+ +h[s>>3]*(+h[q+48+8>>3]-+h[q+32+8>>3]);h[q>>3]=+h[q>>3]+ +h[s>>3]*(+h[q+16>>3]-+h[q>>3]);h[q+8>>3]=+h[q+8>>3]+ +h[s>>3]*(+h[q+16+8>>3]-+h[q+8>>3]);h[q+16>>3]=+h[q+16>>3]+ +h[s>>3]*(+h[q+32>>3]-+h[q+16>>3]);h[q+16+8>>3]=+h[q+16+8>>3]+ +h[s>>3]*(+h[q+32+8>>3]-+h[q+16+8>>3]);h[q>>3]=+h[q>>3]+ +h[s>>3]*(+h[q+16>>3]-+h[q>>3]);h[q+8>>3]=+h[q+8>>3]+ +h[s>>3]*(+h[q+16+8>>3]-+h[q+8>>3]);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[k>>2]|0))break;if(+h[q+8>>3]<=+h[(c[g>>2]|0)+(c[n>>2]<<5)+16+8>>3]+.0001?+h[q+8>>3]>=+h[(c[g>>2]|0)+(c[n>>2]<<5)+8>>3]-.0001:0){if(+h[(c[g>>2]|0)+(c[n>>2]<<5)>>3]>+h[q>>3])h[(c[g>>2]|0)+(c[n>>2]<<5)>>3]=+h[q>>3];if(+h[(c[g>>2]|0)+(c[n>>2]<<5)+16>>3]<+h[q>>3])h[(c[g>>2]|0)+(c[n>>2]<<5)+16>>3]=+h[q>>3]}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+3}i=t;return}function pM(a){a=a|0;var b=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;l=i;i=i+128|0;if((i|0)>=(j|0))ba();g=l+80|0;k=l+48|0;f=l+8|0;m=l;b=l+116|0;e=l+112|0;c[b>>2]=a;a=c[24742]|0;c[m>>2]=c[(c[b>>2]|0)+80>>2];p3(a,142956,m)|0;c[e>>2]=0;while(1){a=c[24742]|0;if((c[e>>2]|0)>=(c[(c[b>>2]|0)+80>>2]|0))break;q=+h[(c[(c[b>>2]|0)+84>>2]|0)+(c[e>>2]<<5)>>3];p=+h[(c[(c[b>>2]|0)+84>>2]|0)+(c[e>>2]<<5)+8>>3];o=+h[(c[(c[b>>2]|0)+84>>2]|0)+(c[e>>2]<<5)+16>>3];n=+h[(c[(c[b>>2]|0)+84>>2]|0)+(c[e>>2]<<5)+16+8>>3];c[f>>2]=c[e>>2];h[f+8>>3]=q;h[f+16>>3]=p;h[f+24>>3]=o;h[f+32>>3]=n;p3(a,142967,f)|0;c[e>>2]=(c[e>>2]|0)+1}q=+h[(c[b>>2]|0)+8>>3];p=+h[(c[b>>2]|0)+16>>3];m=(d[(c[b>>2]|0)+29>>0]|0|0)!=0?142998:143010;h[k>>3]=+h[c[b>>2]>>3];h[k+8>>3]=q;h[k+16>>3]=p;c[k+24>>2]=m;p3(a,143026,k)|0;m=c[24742]|0;p=+h[(c[b>>2]|0)+40+8>>3];q=+h[(c[b>>2]|0)+40+16>>3];k=(d[(c[b>>2]|0)+40+29>>0]|0|0)!=0?142998:143010;h[g>>3]=+h[(c[b>>2]|0)+40>>3];h[g+8>>3]=p;h[g+16>>3]=q;c[g+24>>2]=k;p3(m,143077,g)|0;i=l;return}function qM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();l=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;if((c[g>>2]|0)<=(c[h>>2]|0)){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[k>>2]|0)){c[l>>2]=0;l=c[l>>2]|0;i=m;return l|0}if((c[h>>2]|0)<=(c[f>>2]|0)?(c[f>>2]|0)<=(c[k>>2]|0):0){c[l>>2]=(c[k>>2]|0)-(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}if((c[h>>2]|0)<=(c[g>>2]|0)?(c[g>>2]|0)<=(c[k>>2]|0):0){c[l>>2]=(c[g>>2]|0)-(c[h>>2]|0);l=c[l>>2]|0;i=m;return l|0}if(((c[g>>2]|0)-(c[f>>2]|0)|0)<((c[k>>2]|0)-(c[h>>2]|0)|0))f=(c[g>>2]|0)-(c[f>>2]|0)|0;else f=(c[k>>2]|0)-(c[h>>2]|0)|0;c[l>>2]=f;l=c[l>>2]|0;i=m;return l|0}function rM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=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.0;J=i;i=i+304|0;if((i|0)>=(j|0))ba();v=J+232|0;t=J+216|0;C=J+292|0;z=J+288|0;D=J+284|0;g=J+280|0;E=J+276|0;F=J+272|0;A=J+136|0;B=J+268|0;s=J+120|0;u=J+104|0;w=J+96|0;o=J+88|0;p=J+80|0;q=J+72|0;y=J+64|0;G=J+264|0;I=J+260|0;r=J+256|0;x=J+252|0;H=J+248|0;k=J+48|0;l=J+32|0;m=J+16|0;n=J;c[C>>2]=a;c[z>>2]=b;c[D>>2]=d;c[g>>2]=e;c[E>>2]=f;c[x>>2]=c[g>>2]&2130706432;do if(!(c[g>>2]&8))if(c[g>>2]&2130706432){c[r>>2]=c[x>>2];break}else{c[r>>2]=4;break}else c[r>>2]=8;while(0);c[F>>2]=qK((c[D>>2]<<2)+4<<4)|0;c[G>>2]=0;h[w>>3]=12.0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[D>>2]|0))break;e=(c[z>>2]|0)+(c[I>>2]<<4)|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];if((c[I>>2]|0)<((c[D>>2]|0)-1|0)){e=(c[z>>2]|0)+((c[I>>2]|0)+1<<4)|0;c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];c[u+8>>2]=c[e+8>>2];c[u+12>>2]=c[e+12>>2]}else{e=c[z>>2]|0;c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];c[u+8>>2]=c[e+8>>2];c[u+12>>2]=c[e+12>>2]}h[p>>3]=+h[u>>3]-+h[s>>3];h[q>>3]=+h[u+8>>3]-+h[s+8>>3];h[o>>3]=+O(+(+h[p>>3]*+h[p>>3]+ +h[q>>3]*+h[q>>3]));h[w>>3]=+h[w>>3]<+h[o>>3]/3.0?+h[w>>3]:+h[o>>3]/3.0;c[I>>2]=(c[I>>2]|0)+1}c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[D>>2]|0))break;e=(c[z>>2]|0)+(c[I>>2]<<4)|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];if((c[I>>2]|0)<((c[D>>2]|0)-1|0)){e=(c[z>>2]|0)+((c[I>>2]|0)+1<<4)|0;c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];c[u+8>>2]=c[e+8>>2];c[u+12>>2]=c[e+12>>2]}else{e=c[z>>2]|0;c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];c[u+8>>2]=c[e+8>>2];c[u+12>>2]=c[e+12>>2]}h[p>>3]=+h[u>>3]-+h[s>>3];h[q>>3]=+h[u+8>>3]-+h[s+8>>3];h[o>>3]=+O(+(+h[p>>3]*+h[p>>3]+ +h[q>>3]*+h[q>>3]));h[y>>3]=+h[w>>3]/+h[o>>3];if(!((c[x>>2]|0)==67108864|(c[x>>2]|0)==83886080)){if((c[x>>2]|0)==16777216)h[y>>3]=+h[y>>3]/2.0}else h[y>>3]=+h[y>>3]/3.0;e=(c[r>>2]|0)!=4;g=c[G>>2]|0;c[G>>2]=g+1;g=(c[F>>2]|0)+(g<<4)|0;if(e){c[g>>2]=c[s>>2];c[g+4>>2]=c[s+4>>2];c[g+8>>2]=c[s+8>>2];c[g+12>>2]=c[s+12>>2]}else{K=+h[y>>3]*.5;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];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];yM(k,K,t,v);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]}e=c[G>>2]|0;c[G>>2]=e+1;e=(c[F>>2]|0)+(e<<4)|0;K=+h[y>>3];c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];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];yM(l,K,t,v);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];e=c[G>>2]|0;c[G>>2]=e+1;e=(c[F>>2]|0)+(e<<4)|0;K=1.0-+h[y>>3];c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];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];yM(m,K,t,v);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[r>>2]|0)==4){e=c[G>>2]|0;c[G>>2]=e+1;e=(c[F>>2]|0)+(e<<4)|0;K=1.0-+h[y>>3]*.5;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];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];yM(n,K,t,v);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[I>>2]=(c[I>>2]|0)+1}g=c[G>>2]|0;c[G>>2]=g+1;g=(c[F>>2]|0)+(g<<4)|0;y=c[F>>2]|0;c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2];g=c[G>>2]|0;c[G>>2]=g+1;g=(c[F>>2]|0)+(g<<4)|0;y=(c[F>>2]|0)+16|0;c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2];g=c[G>>2]|0;c[G>>2]=g+1;g=(c[F>>2]|0)+(g<<4)|0;y=(c[F>>2]|0)+32|0;c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2];g=c[r>>2]|0;if((g|0)>=201326592)if((g|0)<318767104){if((g|0)<251658240){if((g|0)<218103808){switch(g|0){case 201326592:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3];h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*2.0;h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3];IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);B1(c[B>>2]|0);c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])*5.0/8.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3];IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);h[A>>3]=+h[(c[B>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}if((g|0)<234881024){switch(g|0){case 218103808:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[c[z>>2]>>3];h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])*2.0;h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+48>>3]=+h[(c[B>>2]|0)+32>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+8>>3];IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);B1(c[B>>2]|0);c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[c[z>>2]>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])*5.0/8.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3]);h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+48>>3]=+h[(c[B>>2]|0)+32>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+8>>3];IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[(c[B>>2]|0)+48>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}else{switch(g|0){case 234881024:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*9.0/8.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3];IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);B1(c[B>>2]|0);c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*9.0/8.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])*5.0/8.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3];IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);B1(c[B>>2]|0);c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])*5.0/8.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3];IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);B1(c[B>>2]|0);c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3];IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);h[A>>3]=+h[(c[B>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*9.0/8.0;h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[(c[z>>2]|0)+16>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}}if((g|0)<285212672)if((g|0)<268435456){switch(g|0){case 251658240:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*2.0;h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3];IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);B1(c[B>>2]|0);c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])*5.0/8.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*2.0;h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3];IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);h[A>>3]=+h[(c[B>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[B>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}else{switch(g|0){case 268435456:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[c[z>>2]>>3];h[(c[B>>2]|0)+8>>3]=+h[(c[F>>2]|0)+16+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[(c[F>>2]|0)+48>>3];h[(c[B>>2]|0)+16+8>>3]=+h[(c[F>>2]|0)+48+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+32>>3]=+h[(c[z>>2]|0)+32>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[c[z>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);h[A>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[A+16>>3]=+h[A>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[A+16+8>>3]=+h[A+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[A+16>>3]=+h[A>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[A+16+8>>3]=+h[A+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])*3.0/4.0;h[A+16>>3]=+h[c[z>>2]>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[A+16+8>>3]=+h[A+8>>3];LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}else if((g|0)<301989888){switch(g|0){case 285212672:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK(c[D>>2]<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+32>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+48>>3]=+h[(c[B>>2]|0)+32>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+8>>3];IR(c[C>>2]|0,c[B>>2]|0,c[D>>2]|0,c[E>>2]|0);B1(c[B>>2]|0);h[A>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*3.0/4.0;h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*3.0/4.0;h[A+16>>3]=+h[A>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*3.0/4.0;h[A+32>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*3.0/4.0;h[A+32+8>>3]=+h[A+16+8>>3];h[A+48>>3]=+h[A+32>>3];h[A+48+8>>3]=+h[A+8>>3];I=A+64|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];LR(c[C>>2]|0,A,5);h[A>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*3.0/4.0;h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*3.0/4.0;h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);I=c[F>>2]|0;B1(I);i=J;return}else{switch(g|0){case 301989888:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+12<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+32>>3]=+h[c[B>>2]>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+64>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+64+8>>3]=+h[(c[B>>2]|0)+48+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+80>>3]=+h[(c[B>>2]|0)+32>>3];h[(c[B>>2]|0)+80+8>>3]=+h[(c[B>>2]|0)+64+8>>3];h[(c[B>>2]|0)+96>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0;h[(c[B>>2]|0)+96+8>>3]=+h[(c[B>>2]|0)+48+8>>3];h[(c[B>>2]|0)+112>>3]=+h[(c[B>>2]|0)+96>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+112+8>>3]=+h[(c[B>>2]|0)+80+8>>3];h[(c[B>>2]|0)+128>>3]=+h[(c[B>>2]|0)+112>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+128+8>>3]=+h[(c[B>>2]|0)+112+8>>3];h[(c[B>>2]|0)+144>>3]=+h[(c[B>>2]|0)+128>>3];h[(c[B>>2]|0)+144+8>>3]=+h[(c[B>>2]|0)+48+8>>3];h[(c[B>>2]|0)+160>>3]=+h[(c[B>>2]|0)+128>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+160+8>>3]=+h[(c[B>>2]|0)+32+8>>3];h[(c[B>>2]|0)+176>>3]=+h[(c[B>>2]|0)+128>>3];h[(c[B>>2]|0)+176+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+192>>3]=+h[(c[B>>2]|0)+128>>3];h[(c[B>>2]|0)+192+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+208>>3]=+h[(c[B>>2]|0)+160>>3];h[(c[B>>2]|0)+208+8>>3]=+h[(c[B>>2]|0)+192+8>>3];h[(c[B>>2]|0)+224>>3]=+h[(c[B>>2]|0)+96>>3];h[(c[B>>2]|0)+224+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+240>>3]=+h[(c[B>>2]|0)+32>>3];h[(c[B>>2]|0)+240+8>>3]=+h[(c[B>>2]|0)+8>>3];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+12|0,c[E>>2]|0);h[A>>3]=+h[(c[B>>2]|0)+224>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[A>>3];h[A+16+8>>3]=+h[A+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[B>>2]|0)+224>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;h[A+16>>3]=+h[A>>3];h[A+16+8>>3]=+h[A+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}}else{if((g|0)<369098752){if((g|0)<335544320){switch(g|0){case 318767104:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+4<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+64>>3]=+h[(c[B>>2]|0)+48>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[(c[B>>2]|0)+64+8>>3]=+h[(c[B>>2]|0)+48+8>>3];h[(c[B>>2]|0)+80>>3]=+h[(c[B>>2]|0)+64>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+80+8>>3]=+h[(c[B>>2]|0)+32+8>>3];h[(c[B>>2]|0)+96>>3]=+h[(c[B>>2]|0)+80>>3];h[(c[B>>2]|0)+96+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+112>>3]=+h[(c[B>>2]|0)+64>>3];h[(c[B>>2]|0)+112+8>>3]=+h[(c[B>>2]|0)+8>>3];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+4|0,c[E>>2]|0);h[A>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0;h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[A>>3];h[A+16+8>>3]=+h[A+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0;h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;h[A+16>>3]=+h[A>>3];h[A+16+8>>3]=+h[A+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}if((g|0)<352321536){switch(g|0){case 335544320:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+12<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+32>>3]=+h[c[B>>2]>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+64>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+64+8>>3]=+h[(c[B>>2]|0)+48+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+80>>3]=+h[(c[B>>2]|0)+32>>3];h[(c[B>>2]|0)+80+8>>3]=+h[(c[B>>2]|0)+64+8>>3];h[(c[B>>2]|0)+96>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0;h[(c[B>>2]|0)+96+8>>3]=+h[(c[B>>2]|0)+48+8>>3];h[(c[B>>2]|0)+112>>3]=+h[(c[B>>2]|0)+96>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+112+8>>3]=+h[(c[B>>2]|0)+80+8>>3];h[(c[B>>2]|0)+128>>3]=+h[(c[B>>2]|0)+112>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+128+8>>3]=+h[(c[B>>2]|0)+112+8>>3];h[(c[B>>2]|0)+144>>3]=+h[(c[B>>2]|0)+128>>3];h[(c[B>>2]|0)+144+8>>3]=+h[(c[B>>2]|0)+48+8>>3];h[(c[B>>2]|0)+160>>3]=+h[(c[B>>2]|0)+128>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+160+8>>3]=+h[(c[B>>2]|0)+32+8>>3];h[(c[B>>2]|0)+176>>3]=+h[(c[B>>2]|0)+128>>3];h[(c[B>>2]|0)+176+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+192>>3]=+h[(c[B>>2]|0)+128>>3];h[(c[B>>2]|0)+192+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+208>>3]=+h[(c[B>>2]|0)+160>>3];h[(c[B>>2]|0)+208+8>>3]=+h[(c[B>>2]|0)+192+8>>3];h[(c[B>>2]|0)+224>>3]=+h[(c[B>>2]|0)+96>>3];h[(c[B>>2]|0)+224+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+240>>3]=+h[(c[B>>2]|0)+32>>3];h[(c[B>>2]|0)+240+8>>3]=+h[(c[B>>2]|0)+8>>3];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+12|0,c[E>>2]|0);I=(c[B>>2]|0)+224|0;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];h[A+16>>3]=+h[A>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}else{switch(g|0){case 352321536:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+4<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;h[(c[B>>2]|0)+48>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/8.0;h[(c[B>>2]|0)+64>>3]=+h[(c[B>>2]|0)+48>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[(c[B>>2]|0)+64+8>>3]=+h[(c[B>>2]|0)+48+8>>3];h[(c[B>>2]|0)+80>>3]=+h[(c[B>>2]|0)+64>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/8.0;h[(c[B>>2]|0)+80+8>>3]=+h[(c[B>>2]|0)+32+8>>3];h[(c[B>>2]|0)+96>>3]=+h[(c[B>>2]|0)+80>>3];h[(c[B>>2]|0)+96+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+112>>3]=+h[(c[B>>2]|0)+64>>3];h[(c[B>>2]|0)+112+8>>3]=+h[(c[B>>2]|0)+8>>3];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+4|0,c[E>>2]|0);h[A>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0;h[A+8>>3]=+h[(c[B>>2]|0)+8>>3];h[A+16>>3]=+h[A>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}}if((g|0)<402653184)if((g|0)<385875968){switch(g|0){case 369098752:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+5<<4)|0;h[c[B>>2]>>3]=+h[(c[F>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+8>>3]=+h[(c[F>>2]|0)+16+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[(c[F>>2]|0)+48>>3];h[(c[B>>2]|0)+16+8>>3]=+h[(c[F>>2]|0)+48+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+32>>3]=+h[(c[z>>2]|0)+32>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[z>>2]|0)+32+8>>3];h[(c[B>>2]|0)+48>>3]=+h[(c[F>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+48+8>>3]=+h[(c[z>>2]|0)+32+8>>3];h[(c[B>>2]|0)+64>>3]=+h[(c[F>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+64+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+80>>3]=+h[(c[F>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+80+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+96>>3]=+h[(c[F>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+96+8>>3]=+h[(c[z>>2]|0)+48+8>>3];h[(c[B>>2]|0)+112+8>>3]=+h[(c[z>>2]|0)+8>>3]-(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;h[(c[B>>2]|0)+112>>3]=+h[c[z>>2]>>3];h[(c[B>>2]|0)+128+8>>3]=+h[(c[z>>2]|0)+8>>3];h[(c[B>>2]|0)+128>>3]=+h[(c[F>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+5|0,c[E>>2]|0);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}else{switch(g|0){case 385875968:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+3<<4)|0;h[c[B>>2]>>3]=+h[(c[F>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+8>>3]=+h[(c[F>>2]|0)+16+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[(c[F>>2]|0)+48>>3];h[(c[B>>2]|0)+16+8>>3]=+h[(c[F>>2]|0)+48+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+32>>3]=+h[(c[z>>2]|0)+32>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[(c[F>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+48+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+64>>3]=+h[(c[F>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+64+8>>3]=+h[(c[z>>2]|0)+48+8>>3];h[(c[B>>2]|0)+80+8>>3]=+h[(c[z>>2]|0)+8>>3]-(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;h[(c[B>>2]|0)+80>>3]=+h[c[z>>2]>>3];h[(c[B>>2]|0)+96+8>>3]=+h[(c[z>>2]|0)+8>>3];h[(c[B>>2]|0)+96>>3]=+h[(c[F>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+3|0,c[E>>2]|0);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}else if((g|0)<419430400){switch(g|0){case 402653184:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+3<<4)|0;h[c[B>>2]>>3]=+h[c[z>>2]>>3];h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[(c[F>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+16+8>>3]=+h[(c[z>>2]|0)+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+32>>3]=+h[(c[F>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+32+8>>3]=+h[(c[F>>2]|0)+32+8>>3];h[(c[B>>2]|0)+48>>3]=+h[(c[z>>2]|0)+16>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[z>>2]|0)+16+8>>3]-(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[(c[B>>2]|0)+64>>3]=+h[(c[F>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+64+8>>3]=+h[(c[z>>2]|0)+32+8>>3];h[(c[B>>2]|0)+80+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+80>>3]=+h[(c[F>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+96+8>>3]=+h[(c[z>>2]|0)+48+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+96>>3]=+h[c[z>>2]>>3];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+3|0,c[E>>2]|0);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}else{switch(g|0){case 419430400:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+5<<4)|0;h[c[B>>2]>>3]=+h[c[z>>2]>>3];h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[(c[F>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+16+8>>3]=+h[(c[z>>2]|0)+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+32>>3]=+h[(c[F>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+32+8>>3]=+h[(c[F>>2]|0)+32+8>>3];h[(c[B>>2]|0)+48>>3]=+h[(c[z>>2]|0)+16>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[z>>2]|0)+16+8>>3]-(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[(c[B>>2]|0)+64>>3]=+h[(c[F>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+64+8>>3]=+h[(c[z>>2]|0)+32+8>>3];h[(c[B>>2]|0)+80+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+80>>3]=+h[(c[F>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+96+8>>3]=+h[(c[z>>2]|0)+48+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+96>>3]=+h[(c[F>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+112>>3]=+h[(c[F>>2]|0)+16>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+112+8>>3]=+h[(c[z>>2]|0)+48+8>>3];h[(c[B>>2]|0)+128>>3]=+h[(c[z>>2]|0)+48>>3];h[(c[B>>2]|0)+128+8>>3]=+h[(c[z>>2]|0)+48+8>>3];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+5|0,c[E>>2]|0);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}}if((g|0)>=83886080){if((g|0)<134217728){if((g|0)<100663296){switch(g|0){case 83886080:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}if((c[D>>2]|0)!=4)db(143149,143160,711,143169);c[B>>2]=qK((c[D>>2]|0)+8<<4)|0;I=c[B>>2]|0;H=c[z>>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];I=(c[B>>2]|0)+16|0;H=(c[z>>2]|0)+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];h[(c[B>>2]|0)+32>>3]=+h[(c[F>>2]|0)+48>>3]+(+h[(c[F>>2]|0)+64>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+32+8>>3]=+h[(c[F>>2]|0)+48+8>>3]+(+h[(c[F>>2]|0)+64+8>>3]-+h[(c[F>>2]|0)+48+8>>3]);h[(c[B>>2]|0)+48>>3]=+h[(c[B>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+48>>3]-+h[(c[F>>2]|0)+32>>3]);h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+32+8>>3]);h[(c[B>>2]|0)+64>>3]=+h[(c[B>>2]|0)+48>>3]+(+h[(c[F>>2]|0)+64>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+64+8>>3]=+h[(c[B>>2]|0)+48+8>>3]+(+h[(c[F>>2]|0)+64+8>>3]-+h[(c[F>>2]|0)+48+8>>3]);h[(c[B>>2]|0)+80>>3]=+h[(c[B>>2]|0)+64>>3]+(+h[(c[B>>2]|0)+32>>3]-+h[(c[B>>2]|0)+48>>3]);h[(c[B>>2]|0)+80+8>>3]=+h[(c[B>>2]|0)+64+8>>3]+(+h[(c[B>>2]|0)+32+8>>3]-+h[(c[B>>2]|0)+48+8>>3]);h[(c[B>>2]|0)+144>>3]=+h[(c[F>>2]|0)+96>>3]+(+h[(c[F>>2]|0)+80>>3]-+h[(c[F>>2]|0)+96>>3]);h[(c[B>>2]|0)+144+8>>3]=+h[(c[F>>2]|0)+96+8>>3]+(+h[(c[F>>2]|0)+80+8>>3]-+h[(c[F>>2]|0)+96+8>>3]);h[(c[B>>2]|0)+128>>3]=+h[(c[B>>2]|0)+144>>3]+(+h[(c[F>>2]|0)+96>>3]-+h[(c[F>>2]|0)+112>>3]);h[(c[B>>2]|0)+128+8>>3]=+h[(c[B>>2]|0)+144+8>>3]+(+h[(c[F>>2]|0)+96+8>>3]-+h[(c[F>>2]|0)+112+8>>3]);h[(c[B>>2]|0)+112>>3]=+h[(c[B>>2]|0)+128>>3]+(+h[(c[F>>2]|0)+80>>3]-+h[(c[F>>2]|0)+96>>3]);h[(c[B>>2]|0)+112+8>>3]=+h[(c[B>>2]|0)+128+8>>3]+(+h[(c[F>>2]|0)+80+8>>3]-+h[(c[F>>2]|0)+96+8>>3]);h[(c[B>>2]|0)+96>>3]=+h[(c[B>>2]|0)+112>>3]+(+h[(c[B>>2]|0)+144>>3]-+h[(c[B>>2]|0)+128>>3]);h[(c[B>>2]|0)+96+8>>3]=+h[(c[B>>2]|0)+112+8>>3]+(+h[(c[B>>2]|0)+144+8>>3]-+h[(c[B>>2]|0)+128+8>>3]);I=(c[B>>2]|0)+160|0;H=(c[z>>2]|0)+32|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];I=(c[B>>2]|0)+176|0;H=(c[z>>2]|0)+48|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];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+8|0,c[E>>2]|0);I=(c[B>>2]|0)+32|0;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];h[A+16>>3]=+h[(c[B>>2]|0)+32>>3]-(+h[(c[B>>2]|0)+48>>3]-+h[(c[B>>2]|0)+32>>3]);h[A+16+8>>3]=+h[(c[B>>2]|0)+32+8>>3]-(+h[(c[B>>2]|0)+48+8>>3]-+h[(c[B>>2]|0)+32+8>>3]);h[A+32>>3]=+h[A+16>>3]+(+h[(c[B>>2]|0)+64>>3]-+h[(c[B>>2]|0)+48>>3]);h[A+32+8>>3]=+h[A+16+8>>3]+(+h[(c[B>>2]|0)+64+8>>3]-+h[(c[B>>2]|0)+48+8>>3]);I=A+48|0;H=(c[B>>2]|0)+80|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];LR(c[C>>2]|0,A,4);I=(c[B>>2]|0)+96|0;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];h[A+16>>3]=+h[(c[B>>2]|0)+96>>3]-(+h[(c[B>>2]|0)+112>>3]-+h[(c[B>>2]|0)+96>>3]);h[A+16+8>>3]=+h[(c[B>>2]|0)+96+8>>3]-(+h[(c[B>>2]|0)+112+8>>3]-+h[(c[B>>2]|0)+96+8>>3]);h[A+32>>3]=+h[A+16>>3]+(+h[(c[B>>2]|0)+128>>3]-+h[(c[B>>2]|0)+112>>3]);h[A+32+8>>3]=+h[A+16+8>>3]+(+h[(c[B>>2]|0)+128+8>>3]-+h[(c[B>>2]|0)+112+8>>3]);I=A+48|0;H=(c[B>>2]|0)+144|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];LR(c[C>>2]|0,A,4);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}if((g|0)<117440512){switch(g|0){case 100663296:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+5<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/8.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])*3.0/2.0;h[(c[B>>2]|0)+16>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/4.0;h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[(c[B>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+48+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[(c[B>>2]|0)+64>>3]=+h[(c[B>>2]|0)+48>>3];h[(c[B>>2]|0)+64+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3]);h[(c[B>>2]|0)+80>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+80+8>>3]=+h[(c[B>>2]|0)+64+8>>3];h[(c[B>>2]|0)+96>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+96+8>>3]=+h[(c[B>>2]|0)+64+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;h[(c[B>>2]|0)+112>>3]=+h[(c[B>>2]|0)+96>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+112+8>>3]=+h[(c[B>>2]|0)+96+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+128>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+128+8>>3]=+h[(c[B>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+5|0,c[E>>2]|0);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}else{switch(g|0){case 117440512:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+1<<4)|0;h[c[B>>2]>>3]=+h[(c[F>>2]|0)+16>>3];h[(c[B>>2]|0)+8>>3]=+h[(c[F>>2]|0)+16+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[(c[F>>2]|0)+48>>3];h[(c[B>>2]|0)+16+8>>3]=+h[(c[F>>2]|0)+48+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+32>>3]=+h[(c[z>>2]|0)+32>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[(c[F>>2]|0)+16>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+64+8>>3]=+h[(c[z>>2]|0)+8>>3]-(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;h[(c[B>>2]|0)+64>>3]=+h[c[z>>2]>>3];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+1|0,c[E>>2]|0);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}}if((g|0)<167772160)if((g|0)<150994944){switch(g|0){case 134217728:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+4<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3]+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+48>>3]=+h[(c[B>>2]|0)+32>>3];h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+64>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*3.0/4.0;h[(c[B>>2]|0)+64+8>>3]=+h[(c[B>>2]|0)+48+8>>3];h[(c[B>>2]|0)+80>>3]=+h[(c[B>>2]|0)+64>>3];h[(c[B>>2]|0)+80+8>>3]=+h[(c[B>>2]|0)+32+8>>3];h[(c[B>>2]|0)+96>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[(c[B>>2]|0)+96+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+112>>3]=+h[(c[B>>2]|0)+96>>3];h[(c[B>>2]|0)+112+8>>3]=+h[(c[B>>2]|0)+8>>3];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+4|0,c[E>>2]|0);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}else{switch(g|0){case 150994944:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+2<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*3.0/4.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;h[(c[B>>2]|0)+32>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/4.0;h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3];h[(c[B>>2]|0)+64>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])*3.0/4.0;h[(c[B>>2]|0)+64+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+80>>3]=+h[(c[B>>2]|0)+64>>3];h[(c[B>>2]|0)+80+8>>3]=+h[(c[B>>2]|0)+8>>3];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+2|0,c[E>>2]|0);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}else if((g|0)<184549376){switch(g|0){case 167772160:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+1<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;h[(c[B>>2]|0)+16>>3]=+h[c[B>>2]>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3]);h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3]);h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/4.0;h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3];h[(c[B>>2]|0)+64>>3]=+h[(c[B>>2]|0)+48>>3];h[(c[B>>2]|0)+64+8>>3]=+h[(c[B>>2]|0)+8>>3];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+1|0,c[E>>2]|0);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}else{switch(g|0){case 184549376:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+4<<4)|0;h[c[B>>2]>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/8.0+(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;h[(c[B>>2]|0)+16>>3]=+h[(c[z>>2]|0)+16>>3]+(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/2.0-(+h[c[z>>2]>>3]-+h[(c[z>>2]|0)+16>>3])/8.0;h[(c[B>>2]|0)+16+8>>3]=+h[(c[B>>2]|0)+8>>3];h[(c[B>>2]|0)+32>>3]=+h[(c[B>>2]|0)+16>>3];h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+48>>3]=+h[(c[B>>2]|0)+32>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+48+8>>3]=+h[(c[B>>2]|0)+32+8>>3];h[(c[B>>2]|0)+64>>3]=+h[(c[B>>2]|0)+48>>3];h[(c[B>>2]|0)+64+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/4.0;h[(c[B>>2]|0)+80>>3]=+h[c[B>>2]>>3]-(+h[(c[F>>2]|0)+32>>3]-+h[(c[F>>2]|0)+48>>3])/2.0;h[(c[B>>2]|0)+80+8>>3]=+h[(c[B>>2]|0)+64+8>>3];h[(c[B>>2]|0)+96>>3]=+h[(c[B>>2]|0)+80>>3];h[(c[B>>2]|0)+96+8>>3]=+h[(c[B>>2]|0)+80+8>>3]-(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/2.0;h[(c[B>>2]|0)+112>>3]=+h[c[B>>2]>>3];h[(c[B>>2]|0)+112+8>>3]=+h[(c[B>>2]|0)+96+8>>3];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+4|0,c[E>>2]|0);h[A>>3]=+h[(c[z>>2]|0)+16>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[(c[B>>2]|0)+64>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);h[A>>3]=+h[(c[B>>2]|0)+112>>3];h[A+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+16+8>>3]-+h[(c[z>>2]|0)+32+8>>3])/2.0;h[A+16>>3]=+h[c[z>>2]>>3];h[A+16+8>>3]=+h[(c[z>>2]|0)+32+8>>3]+(+h[(c[z>>2]|0)+8>>3]-+h[(c[z>>2]|0)+48+8>>3])/2.0;LR(c[C>>2]|0,A,2);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}}if((g|0)<33554432){if((g|0)<8){switch(g|0){case 4:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[H>>2]=rK(((c[D>>2]|0)*6|0)+2<<4)|0;c[G>>2]=0;c[I>>2]=0;while(1){B=(c[I>>2]|0)<(c[D>>2]|0);g=c[G>>2]|0;c[G>>2]=g+1;g=(c[H>>2]|0)+(g<<4)|0;if(!B)break;B=(c[F>>2]|0)+(c[I>>2]<<2<<4)|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[G>>2]|0;c[G>>2]=B+1;B=(c[H>>2]|0)+(B<<4)|0;A=(c[F>>2]|0)+((c[I>>2]<<2)+1<<4)|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];B=c[G>>2]|0;c[G>>2]=B+1;B=(c[H>>2]|0)+(B<<4)|0;A=(c[F>>2]|0)+((c[I>>2]<<2)+1<<4)|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];B=c[G>>2]|0;c[G>>2]=B+1;B=(c[H>>2]|0)+(B<<4)|0;A=(c[F>>2]|0)+((c[I>>2]<<2)+2<<4)|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];B=c[G>>2]|0;c[G>>2]=B+1;B=(c[H>>2]|0)+(B<<4)|0;A=(c[F>>2]|0)+((c[I>>2]<<2)+2<<4)|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];B=c[G>>2]|0;c[G>>2]=B+1;B=(c[H>>2]|0)+(B<<4)|0;A=(c[F>>2]|0)+((c[I>>2]<<2)+3<<4)|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[I>>2]=(c[I>>2]|0)+1}I=c[H>>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];I=c[G>>2]|0;c[G>>2]=I+1;I=(c[H>>2]|0)+(I<<4)|0;D=(c[H>>2]|0)+16|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];KR(c[C>>2]|0,(c[H>>2]|0)+16|0,(c[G>>2]|0)-1|0,0,0,c[E>>2]&255);B1(c[H>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}if((g|0)<16777216){switch(g|0){case 8:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}IR(c[C>>2]|0,c[z>>2]|0,c[D>>2]|0,c[E>>2]|0);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[D>>2]|0))break;H=(c[F>>2]|0)+(((c[I>>2]|0)*3|0)+2<<4)|0;c[A>>2]=c[H>>2];c[A+4>>2]=c[H+4>>2];c[A+8>>2]=c[H+8>>2];c[A+12>>2]=c[H+12>>2];H=A+16|0;G=(c[F>>2]|0)+(((c[I>>2]|0)*3|0)+4<<4)|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];LR(c[C>>2]|0,A,2);c[I>>2]=(c[I>>2]|0)+1}I=c[F>>2]|0;B1(I);i=J;return}switch(g|0){case 16777216:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+1<<4)|0;c[I>>2]=1;while(1){if((c[I>>2]|0)>=(c[D>>2]|0))break;H=(c[B>>2]|0)+(c[I>>2]<<4)|0;G=(c[z>>2]|0)+(c[I>>2]<<4)|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[I>>2]=(c[I>>2]|0)+1}H=c[B>>2]|0;G=(c[F>>2]|0)+((((c[D>>2]|0)-1|0)*3|0)+4<<4)|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[B>>2]|0)+(c[D>>2]<<4)|0;G=(c[F>>2]|0)+((((c[D>>2]|0)-1|0)*3|0)+2<<4)|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];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+1|0,c[E>>2]|0);B1(c[B>>2]|0);c[I>>2]=(c[D>>2]|0)-1;H=(c[F>>2]|0)+(((c[I>>2]|0)*3|0)+2<<4)|0;c[A>>2]=c[H>>2];c[A+4>>2]=c[H+4>>2];c[A+8>>2]=c[H+8>>2];c[A+12>>2]=c[H+12>>2];H=A+16|0;G=(c[F>>2]|0)+(((c[I>>2]|0)*3|0)+4<<4)|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[A+32>>3]=+h[A+16>>3]+(+h[A>>3]-+h[(c[F>>2]|0)+(((c[I>>2]|0)*3|0)+3<<4)>>3]);h[A+32+8>>3]=+h[A+16+8>>3]+(+h[A+8>>3]-+h[(c[F>>2]|0)+(((c[I>>2]|0)*3|0)+3<<4)+8>>3]);LR(c[C>>2]|0,A+16|0,2);I=A+16|0;H=A+32|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];LR(c[C>>2]|0,A,2);I=c[F>>2]|0;B1(I);i=J;return}else{if((g|0)<50331648){switch(g|0){case 33554432:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+2<<4)|0;H=c[B>>2]|0;G=c[z>>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];H=(c[B>>2]|0)+16|0;G=(c[F>>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[(c[B>>2]|0)+32>>3]=+h[(c[F>>2]|0)+32>>3]+(+h[(c[F>>2]|0)+48>>3]-+h[(c[F>>2]|0)+64>>3])/3.0;h[(c[B>>2]|0)+32+8>>3]=+h[(c[F>>2]|0)+32+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/3.0;h[(c[B>>2]|0)+48>>3]=+h[(c[F>>2]|0)+48>>3]+(+h[(c[F>>2]|0)+48>>3]-+h[(c[F>>2]|0)+64>>3])/3.0;h[(c[B>>2]|0)+48+8>>3]=+h[(c[F>>2]|0)+48+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/3.0;c[I>>2]=4;while(1){if((c[I>>2]|0)>=((c[D>>2]|0)+2|0))break;H=(c[B>>2]|0)+(c[I>>2]<<4)|0;G=(c[z>>2]|0)+((c[I>>2]|0)-2<<4)|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[I>>2]=(c[I>>2]|0)+1}IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+2|0,c[E>>2]|0);B1(c[B>>2]|0);I=(c[F>>2]|0)+48|0;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];I=A+16|0;H=(c[F>>2]|0)+32|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];LR(c[C>>2]|0,A,2);I=c[F>>2]|0;B1(I);i=J;return}if((g|0)>=67108864){switch(g|0){case 67108864:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}if((c[D>>2]|0)!=4)db(143149,143160,688,143169);c[B>>2]=qK((c[D>>2]|0)+2<<4)|0;I=c[B>>2]|0;H=c[z>>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];I=(c[B>>2]|0)+16|0;H=(c[F>>2]|0)+32|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];I=(c[B>>2]|0)+32|0;H=(c[F>>2]|0)+64|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];I=(c[B>>2]|0)+48|0;H=(c[z>>2]|0)+32|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];I=(c[B>>2]|0)+64|0;H=(c[F>>2]|0)+128|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];I=(c[B>>2]|0)+80|0;H=(c[F>>2]|0)+160|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];IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+2|0,c[E>>2]|0);B1(c[B>>2]|0);h[A>>3]=+h[(c[F>>2]|0)+16>>3]+(+h[(c[F>>2]|0)+176>>3]-+h[c[F>>2]>>3]);h[A+8>>3]=+h[(c[F>>2]|0)+16+8>>3]+(+h[(c[F>>2]|0)+176+8>>3]-+h[(c[F>>2]|0)+8>>3]);I=A+16|0;H=(c[F>>2]|0)+64|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];LR(c[C>>2]|0,A,2);I=A+16|0;H=(c[F>>2]|0)+128|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];LR(c[C>>2]|0,A,2);I=A+16|0;H=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];LR(c[C>>2]|0,A,2);I=c[F>>2]|0;B1(I);i=J;return}switch(g|0){case 50331648:break;default:{I=c[F>>2]|0;B1(I);i=J;return}}c[B>>2]=qK((c[D>>2]|0)+3<<4)|0;H=c[B>>2]|0;G=c[z>>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];h[(c[B>>2]|0)+16>>3]=+h[c[z>>2]>>3]-(+h[c[z>>2]>>3]-+h[(c[F>>2]|0)+16>>3])/4.0;h[(c[B>>2]|0)+16+8>>3]=+h[(c[z>>2]|0)+8>>3]+(+h[(c[F>>2]|0)+48+8>>3]-+h[(c[F>>2]|0)+64+8>>3])/3.0;h[(c[B>>2]|0)+32>>3]=+h[c[z>>2]>>3]-(+h[c[z>>2]>>3]-+h[(c[F>>2]|0)+16>>3])*2.0;h[(c[B>>2]|0)+32+8>>3]=+h[(c[B>>2]|0)+16+8>>3];h[(c[B>>2]|0)+48>>3]=+h[c[z>>2]>>3]-(+h[c[z>>2]>>3]-+h[(c[F>>2]|0)+16>>3])*2.25;h[(c[B>>2]|0)+48+8>>3]=+h[(c[F>>2]|0)+48+8>>3];h[(c[B>>2]|0)+64>>3]=+h[(c[F>>2]|0)+48>>3];h[(c[B>>2]|0)+64+8>>3]=+h[(c[F>>2]|0)+48+8>>3];c[I>>2]=4;while(1){if((c[I>>2]|0)>=((c[D>>2]|0)+3|0))break;H=(c[B>>2]|0)+(c[I>>2]<<4)|0;G=(c[z>>2]|0)+((c[I>>2]|0)-3<<4)|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[I>>2]=(c[I>>2]|0)+1}IR(c[C>>2]|0,c[B>>2]|0,(c[D>>2]|0)+3|0,c[E>>2]|0);B1(c[B>>2]|0);I=c[F>>2]|0;B1(I);i=J;return}}function sM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();b=f+12|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2];do if(c[g>>2]|0){c[e>>2]=c[c[(c[(c[(c[d>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]>>2];if((c[e>>2]|0)==82){c[b>>2]=1;break}if((c[e>>2]|0)==85){c[b>>2]=2;break}if((c[e>>2]|0)==84){c[b>>2]=3;break}if((c[e>>2]|0)==87){c[b>>2]=4;break}else{c[b>>2]=0;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function tM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if(!(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)){a=0;a=a&1;a=a&255;i=d;return a|0}a=(c[c[(c[(c[(c[b>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]>>2]|0)==82;a=a&1;a=a&255;i=d;return a|0}function uM(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;a:do if(c[14010]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[14011]|0))break a;if((a[c[c[(c[14010]|0)+(c[f>>2]<<2)>>2]>>2]>>0]|0)==(a[c[e>>2]>>0]|0)?(a4(c[c[(c[14010]|0)+(c[f>>2]<<2)>>2]>>2]|0,c[e>>2]|0)|0)==0:0)break;c[f>>2]=(c[f>>2]|0)+1}c[d>>2]=c[(c[14010]|0)+(c[f>>2]<<2)>>2];b=c[d>>2]|0;i=g;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=g;return b|0}function vM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0;k=i;i=i+32|0;if((i|0)>=(j|0))ba();e=k+16|0;m=k+12|0;f=k+8|0;g=k+4|0;l=k;c[e>>2]=b;c[m>>2]=d;c[g>>2]=0;c[l>>2]=HO(OA(c[m>>2]|0,143183)|0)|0;do if(c[l>>2]|0){if((a[c[e>>2]>>0]|0)==(a[143193]|0)?(a4(c[e>>2]|0,143193)|0)==0:0)break;c[e>>2]=143198}while(0);if(!((a[c[e>>2]>>0]|0)==(a[143198]|0)?(a4(c[e>>2]|0,143198)|0)==0:0))h=7;a:do if((h|0)==7){c[f>>2]=56048;while(1){if(!(c[c[f>>2]>>2]|0))break a;if((a[c[c[f>>2]>>2]>>0]|0)==(a[c[e>>2]>>0]|0)?(a4(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)==0:0)break;c[f>>2]=(c[f>>2]|0)+16}c[g>>2]=c[f>>2]}while(0);if(c[g>>2]|0){m=c[g>>2]|0;i=k;return m|0}c[g>>2]=CM(c[e>>2]|0)|0;m=c[g>>2]|0;i=k;return m|0}function wM(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;g=i;i=i+64|0;if((i|0)>=(j|0))ba();m=g+52|0;n=g+48|0;k=g+44|0;h=g;l=g+40|0;c[m>>2]=b;c[n>>2]=e;c[k>>2]=f;c[l>>2]=DM(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;c[h+36>>2]=c[(c[k>>2]|0)+36>>2];EM(c[m>>2]|0,c[(c[k>>2]|0)+24>>2]|0,h,c[l>>2]|0,d[(c[k>>2]|0)+33>>0]|0,0)|0;f=h;b=a+40|0;do{c[a>>2]=c[f>>2];a=a+4|0;f=f+4|0}while((a|0)<(b|0));i=g;return}function xM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0;h=i;i=i+96|0;if((i|0)>=(j|0))ba();f=h+80|0;d=h+40|0;g=h;c[f>>2]=b;if(a[(c[(c[f>>2]|0)+8>>2]|0)+16+31>>0]|0){e=(c[(c[f>>2]|0)+8>>2]|0)+16|0;k=c[f>>2]|0;b=c[f>>2]|0;wM(d,c[((c[c[f>>2]>>2]&3|0)==3?k:k+32|0)+28>>2]|0,c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,(c[(c[f>>2]|0)+8>>2]|0)+16|0);b=e+40|0;do{c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(b|0))}if(!(a[(c[(c[f>>2]|0)+8>>2]|0)+56+31>>0]|0)){i=h;return}e=(c[(c[f>>2]|0)+8>>2]|0)+56|0;b=c[f>>2]|0;d=c[f>>2]|0;wM(g,c[((c[c[f>>2]>>2]&3|0)==2?b:b+-32|0)+28>>2]|0,c[((c[c[f>>2]>>2]&3|0)==3?d:d+32|0)+28>>2]|0,(c[(c[f>>2]|0)+8>>2]|0)+56|0);d=g;b=e+40|0;do{c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(b|0));i=h;return}function yM(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,k=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();k=f+16|0;g=f;h[k>>3]=b;h[g>>3]=+h[d>>3]+ +h[k>>3]*(+h[e>>3]-+h[d>>3]);h[g+8>>3]=+h[d+8>>3]+ +h[k>>3]*(+h[e+8>>3]-+h[d+8>>3]);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];i=f;return}function zM(b){b=b|0;var d=0.0,e=0,f=0,g=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=0,S=0,T=0,U=0,V=0,X=0,Y=0,Z=0,$=0,aa=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;pa=i;i=i+448|0;if((i|0)>=(j|0))ba();s=pa+344|0;A=pa+336|0;q=pa+328|0;p=pa+320|0;k=pa+312|0;ca=pa+440|0;fa=pa+296|0;w=pa+280|0;ea=pa+264|0;v=pa+432|0;da=pa+248|0;B=pa+232|0;C=pa+216|0;oa=pa+428|0;n=pa+424|0;o=pa+420|0;t=pa+416|0;X=pa+208|0;D=pa+200|0;F=pa+192|0;H=pa+184|0;ia=pa+176|0;ga=pa+168|0;na=pa+160|0;S=pa+152|0;T=pa+144|0;V=pa+136|0;I=pa+128|0;J=pa+120|0;E=pa+112|0;U=pa+104|0;G=pa+96|0;Z=pa+88|0;$=pa+80|0;M=pa+72|0;P=pa+64|0;Y=pa+56|0;K=pa+48|0;f=pa+40|0;g=pa+32|0;z=pa+24|0;la=pa+412|0;ja=pa+408|0;ma=pa+404|0;ha=pa+400|0;aa=pa+396|0;L=pa+392|0;x=pa+388|0;ka=pa+384|0;e=pa+16|0;l=pa+376|0;m=pa+368|0;u=pa+364|0;r=pa;y=pa+360|0;c[ca>>2]=b;c[ka>>2]=qK(48)|0;c[la>>2]=c[c[(c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]>>2];c[ja>>2]=c[(c[(c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2];c[ma>>2]=c[(c[(c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2];h[ia>>3]=+h[(c[(c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0)+16>>3];h[na>>3]=+h[(c[(c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0)+32>>3];h[ga>>3]=+h[(c[(c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0)+24>>3];b=(zO(OA(c[ca>>2]|0,144053)|0)|0)&255;c[la>>2]=c[la>>2]|b;b=c[ca>>2]|0;do if(c[la>>2]|0){h[e>>3]=+tN(b);if(+h[e>>3]>0.0){d=+h[e>>3];h[K>>3]=d;h[Y>>3]=d;break}else{h[Y>>3]=+h[(c[(c[ca>>2]|0)+8>>2]|0)+32>>3];h[K>>3]=+h[(c[(c[ca>>2]|0)+8>>2]|0)+40>>3];d=(+h[Y>>3]<+h[K>>3]?+h[Y>>3]:+h[K>>3])*72.0;d=+(~~((+h[Y>>3]<+h[K>>3]?+h[Y>>3]:+h[K>>3])*72.0>=0.0?d+.5:d-.5)|0);h[K>>3]=d;h[Y>>3]=d;break}}else{d=+h[(c[(c[ca>>2]|0)+8>>2]|0)+32>>3]*72.0;h[Y>>3]=+(~~(+h[(c[b+8>>2]|0)+32>>3]*72.0>=0.0?d+.5:d-.5)|0);d=+h[(c[(c[ca>>2]|0)+8>>2]|0)+40>>3]*72.0;h[K>>3]=+(~~(+h[(c[(c[ca>>2]|0)+8>>2]|0)+40>>3]*72.0>=0.0?d+.5:d-.5)|0)}while(0);c[ja>>2]=tO(c[ca>>2]|0,c[13837]|0,c[ja>>2]|0,0)|0;d=+uO(c[ca>>2]|0,c[13839]|0,0.0,-360.0);h[ia>>3]=+h[ia>>3]+d;if(!(c[ma>>2]|0)){h[na>>3]=+uO(c[ca>>2]|0,c[13840]|0,0.0,-100.0);c[ma>>2]=tO(c[ca>>2]|0,c[13836]|0,4,0)|0;h[ga>>3]=+uO(c[ca>>2]|0,c[13841]|0,0.0,-100.0)}e=(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+24|0;c[fa>>2]=c[e>>2];c[fa+4>>2]=c[e+4>>2];c[fa+8>>2]=c[e+8>>2];c[fa+12>>2]=c[e+12>>2];e=(N(~~+h[fa>>3]|0)|0)>=0;d=+(N(~~+h[fa>>3]|0)|0);if(e)if(~~(d+.5))e=14;else e=11;else if(~~(d-.5))e=14;else e=11;do if((e|0)==11){b=(N(~~+h[fa+8>>3]|0)|0)>=0;d=+(N(~~+h[fa+8>>3]|0)|0);if(b)if(~~(d+.5)){e=14;break}else break;else if(~~(d-.5)){e=14;break}else break}while(0);do if((e|0)==14){b=OA(c[ca>>2]|0,144038)|0;c[n>>2]=b;if(!b){h[fa>>3]=+h[fa>>3]+16.0;k=fa+8|0;h[k>>3]=+h[k>>3]+8.0;break}h[g>>3]=0.0;h[f>>3]=0.0;b=c[n>>2]|0;c[k>>2]=f;c[k+4>>2]=g;c[ha>>2]=E3(b,144045,k)|0;if(+h[f>>3]<0.0)h[f>>3]=0.0;if(+h[g>>3]<0.0)h[g>>3]=0.0;if((c[ha>>2]|0)<=0){h[fa>>3]=+h[fa>>3]+16.0;k=fa+8|0;h[k>>3]=+h[k>>3]+8.0;break}d=+h[f>>3]*72.0;h[fa>>3]=+h[fa>>3]+ +(~~(+h[f>>3]*72.0>=0.0?d+.5:d-.5)<<1|0);if((c[ha>>2]|0)>1){d=+h[g>>3]*72.0;k=fa+8|0;h[k>>3]=+h[k>>3]+ +(~~(+h[g>>3]*72.0>=0.0?d+.5:d-.5)<<1|0);break}else{d=+h[f>>3]*72.0;k=fa+8|0;h[k>>3]=+h[k>>3]+ +(~~(+h[f>>3]*72.0>=0.0?d+.5:d-.5)<<1|0);break}}while(0);h[z>>3]=+h[fa>>3]-+h[(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+24>>3];d=+h[c[(c[(GC(c[ca>>2]|0)|0)+8>>2]|0)+8>>2]>>3];h[X>>3]=d;if(d>0.0){d=+h[X>>3]*72.0;h[X>>3]=+(~~(+h[X>>3]*72.0>=0.0?d+.5:d-.5)|0);h[fa>>3]=+uN(+h[fa>>3],+h[X>>3]);h[fa+8>>3]=+uN(+h[fa+8>>3],+h[X>>3])}c[v+4>>2]=0;c[v>>2]=0;b=c[ca>>2]|0;do if(a[(c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]|0)+12>>0]|0){if((a[c[c[(c[b+8>>2]|0)+8>>2]>>2]>>0]|0)==(a[143198]|0)?(a4(c[c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]>>2]|0,143198)|0)==0:0){c[o>>2]=OA(c[ca>>2]|0,143183)|0;q=GC(c[ca>>2]|0)|0;UF(l,q,c[o>>2]|0);c[v>>2]=c[l>>2];c[v+4>>2]=c[l+4>>2];if((c[v>>2]|0)==-1?(c[v+4>>2]|0)==-1:0){o=(c[o>>2]|0)!=0?c[o>>2]|0:144061;q=MB(c[ca>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=q;pA(0,144067,p)|0;c[v+4>>2]=0;c[v>>2]=0;break}a[(c[(GC(c[ca>>2]|0)|0)+8>>2]|0)+114>>0]=1;c[v>>2]=(c[v>>2]|0)+2;q=v+4|0;c[q>>2]=(c[q>>2]|0)+2}}else{p=OA(b,146802)|0;c[o>>2]=p;if((p|0)!=0?(a[c[o>>2]>>0]|0)!=0:0){p=GC(c[ca>>2]|0)|0;UF(m,p,c[o>>2]|0);c[v>>2]=c[m>>2];c[v+4>>2]=c[m+4>>2];if((c[v>>2]|0)==-1?(c[v+4>>2]|0)==-1:0){o=(c[o>>2]|0)!=0?c[o>>2]|0:144061;p=MB(c[ca>>2]|0)|0;c[q>>2]=o;c[q+4>>2]=p;pA(0,144112,q)|0;c[v+4>>2]=0;c[v>>2]=0;break}a[(c[(GC(c[ca>>2]|0)|0)+8>>2]|0)+114>>0]=1;c[v>>2]=(c[v>>2]|0)+2;q=v+4|0;c[q>>2]=(c[q>>2]|0)+2}}while(0);h[ea>>3]=+h[fa>>3]>+(c[v>>2]|0)?+h[fa>>3]:+(c[v>>2]|0);h[ea+8>>3]=+h[fa+8>>3]>+(c[v+4>>2]|0)?+h[fa+8>>3]:+(c[v+4>>2]|0);if((c[ma>>2]|0)<=2?+h[ga>>3]!=0.0|+h[na>>3]!=0.0:0)c[ma>>2]=120;c[n>>2]=OA(c[ca>>2]|0,144153)|0;do if(c[n>>2]|0){if((a[c[n>>2]>>0]|0)!=116?(a[c[n>>2]>>0]|0)!=98:0){e=47;break}a[(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+80>>0]=a[c[n>>2]>>0]|0}else e=47;while(0);if((e|0)==47)a[(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+80>>0]=99;if((c[ma>>2]|0)==4?(d=+h[ia>>3],+h[ga>>3]==0.0?((~~(+h[ia>>3]>=0.0?d+.5:d-.5)|0)%90|0|0)==0:0):0)b=+h[na>>3]==0.0;else b=0;c[L>>2]=b&1;do if(!(c[L>>2]|0)){if(c[(c[(c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0){c[u>>2]=c[(c[(c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2];u=c[c[u>>2]>>2]|0;c[s>>2]=c[ea>>2];c[s+4>>2]=c[ea+4>>2];c[s+8>>2]=c[ea+8>>2];c[s+12>>2]=c[ea+12>>2];Xb[u&31](r,s);c[ea>>2]=c[r>>2];c[ea+4>>2]=c[r+4>>2];c[ea+8>>2]=c[r+8>>2];c[ea+12>>2]=c[r+12>>2];break}h[X>>3]=+h[ea+8>>3]*1.4142135623730951;if(+h[K>>3]>+h[X>>3]?(a[(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+80>>0]|0)==99:0){d=+O(+(1.0/(1.0-+h[ea+8>>3]/+h[K>>3]*(+h[ea+8>>3]/+h[K>>3]))));h[ea>>3]=+h[ea>>3]*d}else{h[ea>>3]=+h[ea>>3]*1.4142135623730951;h[ea+8>>3]=+h[X>>3]}if((c[ma>>2]|0)>2){h[X>>3]=+Q(+(3.141592653589793/+(c[ma>>2]|0)));h[ea>>3]=+h[ea>>3]/+h[X>>3];u=ea+8|0;h[u>>3]=+h[u>>3]/+h[X>>3]}}while(0);c[w>>2]=c[ea>>2];c[w+4>>2]=c[ea+4>>2];c[w+8>>2]=c[ea+8>>2];c[w+12>>2]=c[ea+12>>2];c[t>>2]=wO(c[ca>>2]|0,c[13842]|0,174991)|0;if(((a[c[t>>2]>>0]|0)==115?(a[c[t>>2]>>0]|0)==(a[147742]|0):0)?(a4(c[t>>2]|0,147742)|0)==0:0){h[ea>>3]=+h[Y>>3];h[ea+8>>3]=+h[K>>3];A=(c[ka>>2]|0)+40|0;c[A>>2]=c[A>>2]|2048}else e=64;do if((e|0)==64){u=(zO(c[t>>2]|0)|0)<<24>>24!=0;d=+h[Y>>3];if(!u){d=d>+h[ea>>3]?+h[Y>>3]:+h[ea>>3];h[Y>>3]=d;h[ea>>3]=d;d=+h[K>>3]>+h[ea+8>>3]?+h[K>>3]:+h[ea+8>>3];h[K>>3]=d;h[ea+8>>3]=d;break}if(!(!(d<+h[(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+24>>3])?!(+h[K>>3]<+h[(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+24+8>>3]):0)){t=MB(c[ca>>2]|0)|0;u=MB(GC(c[ca>>2]|0)|0)|0;c[A>>2]=t;c[A+4>>2]=u;pA(0,144162,A)|0}h[ea>>3]=+h[Y>>3];h[ea+8>>3]=+h[K>>3]}while(0);if(c[la>>2]|0){d=+h[ea>>3]>+h[ea+8>>3]?+h[ea>>3]:+h[ea+8>>3];h[ea+8>>3]=d;h[ea>>3]=d;h[K>>3]=d;h[Y>>3]=d}do if(!((zO(wO(c[ca>>2]|0,c[13833]|0,174991)|0)|0)<<24>>24)){if(c[L>>2]|0){h[(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+40>>3]=(+h[fa>>3]>+h[ea>>3]?+h[fa>>3]:+h[ea>>3])-+h[z>>3];break}if(+h[fa+8>>3]<+h[ea+8>>3]){h[X>>3]=+h[ea>>3]*+O(+(1.0-+h[fa+8>>3]*+h[fa+8>>3]/(+h[ea+8>>3]*+h[ea+8>>3])));h[(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+40>>3]=(+h[fa>>3]>+h[X>>3]?+h[fa>>3]:+h[X>>3])-+h[z>>3];break}else{h[(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+40>>3]=+h[fa>>3]-+h[z>>3];break}}else h[(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+40>>3]=+h[fa>>3]-+h[z>>3];while(0);if(!(c[(c[ka>>2]|0)+40>>2]&2048)){h[X>>3]=+h[ea+8>>3]-+h[w+8>>3];if(+h[fa+8>>3]<+(c[v+4>>2]|0))h[X>>3]=+h[X>>3]+(+(c[v+4>>2]|0)-+h[fa+8>>3]);h[(c[(c[(c[ca>>2]|0)+8>>2]|0)+104>>2]|0)+40+8>>3]=+h[fa+8>>3]+ +h[X>>3]}A=c[ja>>2]|0;c[x>>2]=A;c[x>>2]=(c[ja>>2]|0)<1?1:A;a:do if((c[ma>>2]|0)<3){c[ma>>2]=2;c[oa>>2]=qK((_(c[x>>2]|0,c[ma>>2]|0)|0)<<4)|0;h[da>>3]=+h[ea>>3]/2.0;h[da+8>>3]=+h[ea+8>>3]/2.0;h[c[oa>>2]>>3]=-+h[da>>3];h[(c[oa>>2]|0)+8>>3]=-+h[da+8>>3];$=(c[oa>>2]|0)+16|0;c[$>>2]=c[da>>2];c[$+4>>2]=c[da+4>>2];c[$+8>>2]=c[da+8>>2];c[$+12>>2]=c[da+12>>2];if((c[ja>>2]|0)>1){c[aa>>2]=1;c[ha>>2]=2;while(1){d=+h[da>>3];if((c[aa>>2]|0)>=(c[ja>>2]|0))break;h[da>>3]=d+4.0;$=da+8|0;h[$>>3]=+h[$>>3]+4.0;h[(c[oa>>2]|0)+(c[ha>>2]<<4)>>3]=-+h[da>>3];h[(c[oa>>2]|0)+(c[ha>>2]<<4)+8>>3]=-+h[da+8>>3];c[ha>>2]=(c[ha>>2]|0)+1;h[(c[oa>>2]|0)+(c[ha>>2]<<4)>>3]=+h[da>>3];h[(c[oa>>2]|0)+(c[ha>>2]<<4)+8>>3]=+h[da+8>>3];c[ha>>2]=(c[ha>>2]|0)+1;c[aa>>2]=(c[aa>>2]|0)+1}h[ea>>3]=2.0*d;h[ea+8>>3]=+h[da+8>>3]*2.0}}else{c[oa>>2]=qK((_(c[x>>2]|0,c[ma>>2]|0)|0)<<4)|0;b:do if(c[(c[(c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0){c[y>>2]=c[(c[(c[(c[(c[ca>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2];Xb[c[(c[y>>2]|0)+4>>2]&31](c[oa>>2]|0,ea);h[Z>>3]=+h[ea>>3]/2.0;h[$>>3]=+h[ea+8>>3]/2.0}else{h[S>>3]=6.283185307179586/+(c[ma>>2]|0);h[T>>3]=+R(+(+h[S>>3]/2.0));d=+N(+(+h[ga>>3]));h[V>>3]=+w2(d+ +N(+(+h[na>>3])),1.0);h[I>>3]=+h[ga>>3]*1.4142135623730951/+Q(+(+h[S>>3]/2.0));h[J>>3]=+h[na>>3]/2.0;h[E>>3]=(+h[S>>3]-3.141592653589793)/2.0;B2(+h[E>>3],U,G);h[C>>3]=+h[G>>3]*.5;h[C+8>>3]=+h[U>>3]*.5;h[$>>3]=0.0;h[Z>>3]=0.0;h[E>>3]=+h[E>>3]+(3.141592653589793-+h[S>>3])/2.0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[ma>>2]|0))break b;h[E>>3]=+h[E>>3]+ +h[S>>3];B2(+h[E>>3],U,G);h[C>>3]=+h[C>>3]+ +h[T>>3]*+h[G>>3];A=C+8|0;h[A>>3]=+h[A>>3]+ +h[T>>3]*+h[U>>3];h[da>>3]=+h[C>>3]*(+h[V>>3]+ +h[C+8>>3]*+h[I>>3])+ +h[C+8>>3]*+h[J>>3];h[da+8>>3]=+h[C+8>>3];h[D>>3]=+h[ia>>3]/180.0*3.141592653589793+ +W(+(+h[da+8>>3]),+(+h[da>>3]));B2(+h[D>>3],U,G);d=+w2(+h[da>>3],+h[da+8>>3]);h[da+8>>3]=d;h[da>>3]=d;h[da>>3]=+h[da>>3]*+h[G>>3];A=da+8|0;h[A>>3]=+h[A>>3]*+h[U>>3];h[da>>3]=+h[da>>3]*+h[ea>>3];A=da+8|0;h[A>>3]=+h[A>>3]*+h[ea+8>>3];d=+N(+(+h[da>>3]));if(d>+h[Z>>3])d=+N(+(+h[da>>3]));else d=+h[Z>>3];h[Z>>3]=d;d=+N(+(+h[da+8>>3]));if(d>+h[$>>3])d=+N(+(+h[da+8>>3]));else d=+h[$>>3];h[$>>3]=d;A=(c[oa>>2]|0)+(c[ha>>2]<<4)|0;c[A>>2]=c[da>>2];c[A+4>>2]=c[da+4>>2];c[A+8>>2]=c[da+8>>2];c[A+12>>2]=c[da+12>>2];if(c[L>>2]|0)break;c[ha>>2]=(c[ha>>2]|0)+1}h[(c[oa>>2]|0)+16>>3]=-+h[da>>3];h[(c[oa>>2]|0)+16+8>>3]=+h[da+8>>3];h[(c[oa>>2]|0)+32>>3]=-+h[da>>3];h[(c[oa>>2]|0)+32+8>>3]=-+h[da+8>>3];h[(c[oa>>2]|0)+48>>3]=+h[da>>3];h[(c[oa>>2]|0)+48+8>>3]=-+h[da+8>>3]}while(0);h[Z>>3]=+h[Z>>3]*2.0;h[$>>3]=+h[$>>3]*2.0;h[ea>>3]=+h[Y>>3]>+h[Z>>3]?+h[Y>>3]:+h[Z>>3];h[ea+8>>3]=+h[K>>3]>+h[$>>3]?+h[K>>3]:+h[$>>3];h[M>>3]=+h[ea>>3]/+h[Z>>3];h[P>>3]=+h[ea+8>>3]/+h[$>>3];c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[ma>>2]|0))break;$=(c[oa>>2]|0)+(c[ha>>2]<<4)|0;c[da>>2]=c[$>>2];c[da+4>>2]=c[$+4>>2];c[da+8>>2]=c[$+8>>2];c[da+12>>2]=c[$+12>>2];h[da>>3]=+h[da>>3]*+h[M>>3];$=da+8|0;h[$>>3]=+h[$>>3]*+h[P>>3];$=(c[oa>>2]|0)+(c[ha>>2]<<4)|0;c[$>>2]=c[da>>2];c[$+4>>2]=c[da+4>>2];c[$+8>>2]=c[da+8>>2];c[$+12>>2]=c[da+12>>2];c[ha>>2]=(c[ha>>2]|0)+1}if((c[ja>>2]|0)>1){$=(c[oa>>2]|0)+((c[ma>>2]|0)-1<<4)|0;c[B>>2]=c[$>>2];c[B+4>>2]=c[$+4>>2];c[B+8>>2]=c[$+8>>2];c[B+12>>2]=c[$+12>>2];$=c[oa>>2]|0;c[C>>2]=c[$>>2];c[C+4>>2]=c[$+4>>2];c[C+8>>2]=c[$+8>>2];c[C+12>>2]=c[$+12>>2];h[F>>3]=+W(+(+h[C+8>>3]-+h[B+8>>3]),+(+h[C>>3]-+h[B>>3]));c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[ma>>2]|0))break;c[da>>2]=c[B>>2];c[da+4>>2]=c[B+4>>2];c[da+8>>2]=c[B+8>>2];c[da+12>>2]=c[B+12>>2];c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];c[B+8>>2]=c[C+8>>2];c[B+12>>2]=c[C+12>>2];$=(c[oa>>2]|0)+((((c[ha>>2]|0)+1|0)%(c[ma>>2]|0)|0)<<4)|0;c[C>>2]=c[$>>2];c[C+4>>2]=c[$+4>>2];c[C+8>>2]=c[$+8>>2];c[C+12>>2]=c[$+12>>2];h[D>>3]=+h[F>>3];h[F>>3]=+W(+(+h[C+8>>3]-+h[B+8>>3]),+(+h[C>>3]-+h[B>>3]));h[H>>3]=(+h[D>>3]+3.141592653589793-+h[F>>3])/2.0;h[X>>3]=4.0/+R(+(+h[H>>3]));B2(+h[D>>3]-+h[H>>3],U,G);h[U>>3]=+h[U>>3]*+h[X>>3];h[G>>3]=+h[G>>3]*+h[X>>3];c[aa>>2]=1;while(1){if((c[aa>>2]|0)>=(c[ja>>2]|0))break;h[B>>3]=+h[B>>3]+ +h[G>>3];$=B+8|0;h[$>>3]=+h[$>>3]+ +h[U>>3];$=(c[ha>>2]|0)+(_(c[aa>>2]|0,c[ma>>2]|0)|0)|0;$=(c[oa>>2]|0)+($<<4)|0;c[$>>2]=c[B>>2];c[$+4>>2]=c[B+4>>2];c[$+8>>2]=c[B+8>>2];c[$+12>>2]=c[B+12>>2];c[aa>>2]=(c[aa>>2]|0)+1}c[ha>>2]=(c[ha>>2]|0)+1}c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[ma>>2]|0))break a;aa=(c[ha>>2]|0)+(_((c[ja>>2]|0)-1|0,c[ma>>2]|0)|0)|0;aa=(c[oa>>2]|0)+(aa<<4)|0;c[da>>2]=c[aa>>2];c[da+4>>2]=c[aa+4>>2];c[da+8>>2]=c[aa+8>>2];c[da+12>>2]=c[aa+12>>2];d=+N(+(+h[da>>3]))*2.0;if(d>+h[ea>>3])d=+N(+(+h[da>>3]))*2.0;else d=+h[ea>>3];h[ea>>3]=d;d=+N(+(+h[da+8>>3]))*2.0;if(d>+h[ea+8>>3])d=+N(+(+h[da+8>>3]))*2.0;else d=+h[ea+8>>3];h[ea+8>>3]=d;c[ha>>2]=(c[ha>>2]|0)+1}}}while(0);c[c[ka>>2]>>2]=c[la>>2];c[(c[ka>>2]|0)+4>>2]=c[ja>>2];c[(c[ka>>2]|0)+8>>2]=c[ma>>2];h[(c[ka>>2]|0)+16>>3]=+h[ia>>3];h[(c[ka>>2]|0)+32>>3]=+h[na>>3];h[(c[ka>>2]|0)+24>>3]=+h[ga>>3];c[(c[ka>>2]|0)+44>>2]=c[oa>>2];if(c[(c[ka>>2]|0)+40>>2]&2048){h[(c[(c[ca>>2]|0)+8>>2]|0)+32>>3]=(+h[fa>>3]>+h[ea>>3]?+h[fa>>3]:+h[ea>>3])/72.0;h[(c[(c[ca>>2]|0)+8>>2]|0)+40>>3]=(+h[fa+8>>3]>+h[ea+8>>3]?+h[fa+8>>3]:+h[ea+8>>3])/72.0;na=c[ka>>2]|0;oa=c[ca>>2]|0;oa=oa+8|0;oa=c[oa>>2]|0;oa=oa+12|0;c[oa>>2]=na;i=pa;return}else{h[(c[(c[ca>>2]|0)+8>>2]|0)+32>>3]=+h[ea>>3]/72.0;h[(c[(c[ca>>2]|0)+8>>2]|0)+40>>3]=+h[ea+8>>3]/72.0;na=c[ka>>2]|0;oa=c[ca>>2]|0;oa=oa+8|0;oa=c[oa>>2]|0;oa=oa+12|0;c[oa>>2]=na;i=pa;return}}function AM(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+112|0;if((i|0)>=(j|0))ba();p=q+72|0;f=q+64|0;g=q+108|0;l=q+104|0;o=q+48|0;n=q+32|0;d=q+100|0;r=q+96|0;e=q+92|0;m=q+88|0;k=q;c[g>>2]=a;c[m>>2]=15;c[d>>2]=((c[(c[(GC(c[g>>2]|0)|0)+8>>2]|0)+116>>2]>>2&1|0)!=0^1)&1;c[14311]=c[c[(c[(c[g>>2]|0)+8>>2]|0)+104>>2]>>2];c[r>>2]=e4(c[14311]|0)|0;c[r>>2]=(c[r>>2]|0)>1?c[r>>2]|0:1;c[e>>2]=qK((c[r>>2]|0)+1|0)|0;a=oN(c[g>>2]|0,c[d>>2]|0,1,c[e>>2]|0)|0;c[l>>2]=a;if(!a){c[f>>2]=c[c[(c[(c[g>>2]|0)+8>>2]|0)+104>>2]>>2];pA(1,144014,f)|0;c[14311]=144035;c[l>>2]=oN(c[g>>2]|0,c[d>>2]|0,1,c[e>>2]|0)|0}B1(c[e>>2]|0);pN(q+16|0,c[g>>2]|0,c[l>>2]|0);b=+h[(c[(c[g>>2]|0)+8>>2]|0)+32>>3]*72.0;h[n>>3]=+(~~(+h[(c[(c[g>>2]|0)+8>>2]|0)+32>>3]*72.0>=0.0?b+.5:b-.5)|0);b=+h[(c[(c[g>>2]|0)+8>>2]|0)+40>>3]*72.0;h[n+8>>3]=+(~~(+h[(c[(c[g>>2]|0)+8>>2]|0)+40>>3]*72.0>=0.0?b+.5:b-.5)|0);if(!((zO(wO(c[g>>2]|0,c[13842]|0,174991)|0)|0)<<24>>24)){if(+h[c[l>>2]>>3]>+h[n>>3])b=+h[c[l>>2]>>3];else b=+h[n>>3];h[n>>3]=b;if(+h[(c[l>>2]|0)+8>>3]>+h[n+8>>3])b=+h[(c[l>>2]|0)+8>>3];else b=+h[n+8>>3];h[n+8>>3]=b}f=c[l>>2]|0;r=(zO(wO(c[g>>2]|0,c[13833]|0,174991)|0)|0)&255;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];qN(f,p,r);FM(k,-+h[n>>3]/2.0,+h[n+8>>3]/2.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];n=c[l>>2]|0;r=c[m>>2]|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];rN(n,p,r);h[(c[(c[g>>2]|0)+8>>2]|0)+32>>3]=+h[c[l>>2]>>3]/72.0;h[(c[(c[g>>2]|0)+8>>2]|0)+40>>3]=(+h[(c[l>>2]|0)+8>>3]+1.0)/72.0;c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]=c[l>>2];i=q;return}function BM(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;if((i|0)>=(j|0))ba();k=s+68|0;p=s+64|0;f=s+60|0;e=s+56|0;o=s+52|0;q=s+32|0;l=s+16|0;r=s+48|0;m=s+44|0;n=s+40|0;g=s+8|0;d=s;c[k>>2]=a;c[p>>2]=qK(48)|0;c[o>>2]=c[(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2];h[g>>3]=+uO(c[k>>2]|0,c[13815]|0,1797693134862315708145274.0e284,0.0);h[d>>3]=+uO(c[k>>2]|0,c[13814]|0,1797693134862315708145274.0e284,0.0);h[g>>3]=+h[g>>3]<+h[d>>3]?+h[g>>3]:+h[d>>3];if(+h[g>>3]==1797693134862315708145274.0e284&+h[d>>3]==1797693134862315708145274.0e284){h[(c[(c[k>>2]|0)+8>>2]|0)+40>>3]=.05;h[(c[(c[k>>2]|0)+8>>2]|0)+32>>3]=.05}else{h[g>>3]=+h[g>>3]<+h[d>>3]?+h[g>>3]:+h[d>>3];if(+h[g>>3]>0.0)h[g>>3]=+h[g>>3]>.0003?+h[g>>3]:.0003;b=+h[g>>3];h[(c[(c[k>>2]|0)+8>>2]|0)+40>>3]=b;h[(c[(c[k>>2]|0)+8>>2]|0)+32>>3]=b}h[q>>3]=+h[(c[(c[k>>2]|0)+8>>2]|0)+32>>3]*72.0;c[o>>2]=tO(c[k>>2]|0,c[13837]|0,c[o>>2]|0,0)|0;if((c[o>>2]|0)<1)c[e>>2]=1;else c[e>>2]=c[o>>2];c[f>>2]=2;c[r>>2]=qK((_(c[e>>2]|0,c[f>>2]|0)|0)<<4)|0;b=+h[q>>3]/2.0;h[l>>3]=b;h[l+8>>3]=b;h[c[r>>2]>>3]=-+h[l>>3];h[(c[r>>2]|0)+8>>3]=-+h[l+8>>3];g=(c[r>>2]|0)+16|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];if((c[o>>2]|0)<=1){n=c[p>>2]|0;c[n>>2]=1;n=c[o>>2]|0;o=c[p>>2]|0;o=o+4|0;c[o>>2]=n;o=c[p>>2]|0;o=o+8|0;c[o>>2]=2;o=c[p>>2]|0;o=o+16|0;h[o>>3]=0.0;o=c[p>>2]|0;o=o+32|0;h[o>>3]=0.0;o=c[p>>2]|0;o=o+24|0;h[o>>3]=0.0;o=c[r>>2]|0;r=c[p>>2]|0;r=r+44|0;c[r>>2]=o;b=+h[q>>3];b=b/72.0;q=c[k>>2]|0;q=q+8|0;q=c[q>>2]|0;q=q+32|0;h[q>>3]=b;q=c[k>>2]|0;q=q+8|0;q=c[q>>2]|0;q=q+40|0;h[q>>3]=b;q=c[p>>2]|0;r=c[k>>2]|0;r=r+8|0;r=c[r>>2]|0;r=r+12|0;c[r>>2]=q;i=s;return}c[n>>2]=1;c[m>>2]=2;while(1){b=+h[l>>3];if((c[n>>2]|0)>=(c[o>>2]|0))break;h[l>>3]=b+4.0;g=l+8|0;h[g>>3]=+h[g>>3]+4.0;h[(c[r>>2]|0)+(c[m>>2]<<4)>>3]=-+h[l>>3];h[(c[r>>2]|0)+(c[m>>2]<<4)+8>>3]=-+h[l+8>>3];c[m>>2]=(c[m>>2]|0)+1;h[(c[r>>2]|0)+(c[m>>2]<<4)>>3]=+h[l>>3];h[(c[r>>2]|0)+(c[m>>2]<<4)+8>>3]=+h[l+8>>3];c[m>>2]=(c[m>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1}h[q>>3]=2.0*b;n=c[p>>2]|0;c[n>>2]=1;n=c[o>>2]|0;o=c[p>>2]|0;o=o+4|0;c[o>>2]=n;o=c[p>>2]|0;o=o+8|0;c[o>>2]=2;o=c[p>>2]|0;o=o+16|0;h[o>>3]=0.0;o=c[p>>2]|0;o=o+32|0;h[o>>3]=0.0;o=c[p>>2]|0;o=o+24|0;h[o>>3]=0.0;o=c[r>>2]|0;r=c[p>>2]|0;r=r+44|0;c[r>>2]=o;b=+h[q>>3];b=b/72.0;q=c[k>>2]|0;q=q+8|0;q=c[q>>2]|0;q=q+32|0;h[q>>3]=b;q=c[k>>2]|0;q=q+8|0;q=c[q>>2]|0;q=q+40|0;h[q>>3]=b;q=c[p>>2]|0;r=c[k>>2]|0;r=r+8|0;r=c[r>>2]|0;r=r+12|0;c[r>>2]=q;i=s;return}function CM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();h=l;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;c[e>>2]=b;b=uM(c[e>>2]|0)|0;c[g>>2]=b;if(b){c[d>>2]=c[g>>2];k=c[d>>2]|0;i=l;return k|0}b=c[14011]|0;c[14011]=b+1;c[f>>2]=b;if(c[14010]|0)b=tK(c[14010]|0,c[14011]<<2)|0;else b=rK(c[14011]<<2)|0;c[14010]=b;b=qK(16)|0;c[(c[14010]|0)+(c[f>>2]<<2)>>2]=b;c[g>>2]=b;f=c[g>>2]|0;c[f>>2]=c[14012];c[f+4>>2]=c[14013];c[f+8>>2]=c[14014];c[f+12>>2]=c[14015];f=d4(c[e>>2]|0)|0;c[c[g>>2]>>2]=f;do if(!(c[13791]|0)){if((a[c[e>>2]>>0]|0)==(a[143198]|0)?(a4(c[e>>2]|0,143198)|0)==0:0){k=10;break}f=c[c[g>>2]>>2]|0;c[h>>2]=c[14012];c[h+4>>2]=f;pA(0,143211,h)|0;a[(c[g>>2]|0)+12>>0]=0}else k=10;while(0);if((k|0)==10)a[(c[g>>2]|0)+12>>0]=1;c[d>>2]=c[g>>2];k=c[d>>2]|0;i=l;return k|0}function DM(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,g=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;v=i;i=i+128|0;if((i|0)>=(j|0))ba();w=v+32|0;k=v+112|0;l=v+108|0;y=v+104|0;g=v+100|0;m=v;x=v+96|0;r=v+88|0;s=v+80|0;q=v+72|0;u=v+64|0;t=v+60|0;o=v+56|0;n=v+52|0;p=v+48|0;c[l>>2]=a;c[y>>2]=b;c[g>>2]=e;c[x>>2]=c[(c[(c[(GC(c[l>>2]|0)|0)+48>>2]|0)+8>>2]|0)+116>>2]&3;c[r>>2]=0;c[r+4>>2]=0;b=(c[(c[l>>2]|0)+8>>2]|0)+16|0;e=c[x>>2]|0;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];JM(s,w,e);e=(c[(c[y>>2]|0)+8>>2]|0)+16|0;b=c[x>>2]|0;c[w>>2]=c[e>>2];c[w+4>>2]=c[e+4>>2];c[w+8>>2]=c[e+8>>2];c[w+12>>2]=c[e+12>>2];JM(q,w,b);c[u>>2]=d[(c[g>>2]|0)+33>>0];c[t>>2]=0;c[p>>2]=0;if((c[u>>2]|0)==0|(c[u>>2]|0)==15){c[k>>2]=c[t>>2];y=c[k>>2]|0;i=v;return y|0}do if(!(c[(c[g>>2]|0)+24>>2]|0)){y=(c[(c[(GC(c[l>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;f=+h[(c[(c[l>>2]|0)+8>>2]|0)+80>>3]/2.0;g=m+16|0;if(y){h[g>>3]=f;h[m>>3]=-+h[m+16>>3];h[m+16+8>>3]=+h[(c[(c[l>>2]|0)+8>>2]|0)+88>>3];h[m+8>>3]=-+h[m+16+8>>3];break}else{h[g+8>>3]=f;h[m+8>>3]=-+h[m+16+8>>3];h[m+16>>3]=+h[(c[(c[l>>2]|0)+8>>2]|0)+88>>3];h[m>>3]=-+h[m+16>>3];break}}else{y=c[(c[g>>2]|0)+24>>2]|0;c[m>>2]=c[y>>2];c[m+4>>2]=c[y+4>>2];c[m+8>>2]=c[y+8>>2];c[m+12>>2]=c[y+12>>2];c[m+16>>2]=c[y+16>>2];c[m+20>>2]=c[y+20>>2];c[m+24>>2]=c[y+24>>2];c[m+28>>2]=c[y+28>>2]}while(0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=4)break;do if(c[u>>2]&1<>2]){switch(c[o>>2]|0){case 0:{c[r+4>>2]=~~+h[m+8>>3];c[r>>2]=~~((+h[m>>3]+ +h[m+16>>3])/2.0);break}case 1:{c[r>>2]=~~+h[m+16>>3];c[r+4>>2]=~~((+h[m+8>>3]+ +h[m+16+8>>3])/2.0);break}case 2:{c[r+4>>2]=~~+h[m+16+8>>3];c[r>>2]=~~((+h[m>>3]+ +h[m+16>>3])/2.0);break}case 3:{c[r>>2]=~~+h[m>>3];c[r+4>>2]=~~((+h[m+8>>3]+ +h[m+16+8>>3])/2.0);break}default:{}}c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);y=r+4|0;c[y>>2]=(c[y>>2]|0)+(c[s+4>>2]|0);y=_((c[r>>2]|0)-(c[q>>2]|0)|0,(c[r>>2]|0)-(c[q>>2]|0)|0)|0;c[n>>2]=y+(_((c[r+4>>2]|0)-(c[q+4>>2]|0)|0,(c[r+4>>2]|0)-(c[q+4>>2]|0)|0)|0);if((c[t>>2]|0)!=0?(c[n>>2]|0)>=(c[p>>2]|0):0)break;c[p>>2]=c[n>>2];c[t>>2]=c[57024+(c[o>>2]<<2)>>2]}while(0);c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[t>>2];y=c[k>>2]|0;i=v;return y|0}function EM(b,d,e,f,g,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;k=k|0;var l=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,L=0,M=0,N=0,O=0,P=0;P=i;i=i+304|0;if((i|0)>=(j|0))ba();C=P+248|0;E=P+292|0;F=P+288|0;G=P+284|0;t=P+280|0;u=P+276|0;v=P+272|0;z=P+216|0;M=P+200|0;A=P+184|0;N=P+268|0;O=P+176|0;J=P+299|0;L=P+298|0;D=P+264|0;I=P+297|0;K=P+296|0;B=P+168|0;l=P+152|0;w=P+136|0;x=P+120|0;y=P+104|0;n=P+88|0;o=P+72|0;p=P+56|0;q=P+40|0;r=P+24|0;s=P+8|0;H=P;c[E>>2]=b;c[F>>2]=d;c[G>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=k;c[N>>2]=0;h[O>>3]=0.0;a[J>>0]=0;a[L>>0]=0;c[D>>2]=0;a[I>>0]=1;if(c[F>>2]|0){g=c[F>>2]|0;c[z>>2]=c[g>>2];c[z+4>>2]=c[g+4>>2];c[z+8>>2]=c[g+8>>2];c[z+12>>2]=c[g+12>>2];c[z+16>>2]=c[g+16>>2];c[z+20>>2]=c[g+20>>2];c[z+24>>2]=c[g+24>>2];c[z+28>>2]=c[g+28>>2];FM(l,(+h[z>>3]+ +h[z+16>>3])/2.0,(+h[z+8>>3]+ +h[z+16+8>>3])/2.0);c[M>>2]=c[l>>2];c[M+4>>2]=c[l+4>>2];c[M+8>>2]=c[l+8>>2];c[M+12>>2]=c[l+12>>2];a[K>>0]=1}else{h[M+8>>3]=0.0;h[M>>3]=0.0;g=(c[(c[(GC(c[E>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;m=+h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;l=z+16|0;if(g){h[l>>3]=m;h[z>>3]=-+h[z+16>>3];h[z+16+8>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+88>>3];h[z+8>>3]=-+h[z+16+8>>3]}else{h[l+8>>3]=m;h[z+8>>3]=-+h[z+16+8>>3];h[z+16>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+88>>3];h[z>>3]=-+h[z+16>>3]}a[K>>0]=0}g=z+16|0;h[B>>3]=+h[z+16>>3]>+h[z+16+8>>3]?+h[g>>3]:+h[g+8>>3];h[B>>3]=+h[B>>3]*4.0;c[A>>2]=c[M>>2];c[A+4>>2]=c[M+4>>2];c[A+8>>2]=c[M+8>>2];c[A+12>>2]=c[M+12>>2];a:do if((c[t>>2]|0)!=0?(a[c[t>>2]>>0]|0)!=0:0){g=c[t>>2]|0;c[t>>2]=g+1;switch(a[g>>0]|0){case 99:break a;case 101:{if(a[c[t>>2]>>0]|0){c[N>>2]=1;break a}if(c[v>>2]|0){GM(w,c[v>>2]|0,+h[A+8>>3],+h[B>>3]);c[M>>2]=c[w>>2];c[M+4>>2]=c[w+4>>2];c[M+8>>2]=c[w+8>>2];c[M+12>>2]=c[w+12>>2]}else h[M>>3]=+h[z+16>>3];h[O>>3]=0.0;a[J>>0]=1;a[K>>0]=1;a[I>>0]=0;c[D>>2]=c[u>>2]&2;break a}case 115:{h[M+8>>3]=+h[z+8>>3];a[J>>0]=1;a[I>>0]=0;switch(a[c[t>>2]>>0]|0){case 0:{h[O>>3]=-1.5707963267948966;a[K>>0]=1;if(c[v>>2]|0){GM(x,c[v>>2]|0,-+h[B>>3],+h[A>>3]);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]}else h[M>>3]=+h[A>>3];c[D>>2]=c[u>>2]&1;break a}case 101:{h[O>>3]=-.7853981633974483;a[K>>0]=1;if(c[v>>2]|0){GM(y,c[v>>2]|0,-+h[B>>3],+h[B>>3]);c[M>>2]=c[y>>2];c[M+4>>2]=c[y+4>>2];c[M+8>>2]=c[y+8>>2];c[M+12>>2]=c[y+12>>2]}else h[M>>3]=+h[z+16>>3];c[D>>2]=c[u>>2]&3;break a}case 119:{h[O>>3]=-2.356194490192345;a[K>>0]=1;if(c[v>>2]|0){GM(n,c[v>>2]|0,-+h[B>>3],-+h[B>>3]);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]}else h[M>>3]=+h[z>>3];c[D>>2]=c[u>>2]&9;break a}default:{h[M+8>>3]=+h[A+8>>3];a[J>>0]=0;a[I>>0]=1;c[N>>2]=1;break a}}}case 119:{if(a[c[t>>2]>>0]|0){c[N>>2]=1;break a}if(c[v>>2]|0){GM(o,c[v>>2]|0,+h[A+8>>3],-+h[B>>3]);c[M>>2]=c[o>>2];c[M+4>>2]=c[o+4>>2];c[M+8>>2]=c[o+8>>2];c[M+12>>2]=c[o+12>>2]}else h[M>>3]=+h[z>>3];h[O>>3]=3.141592653589793;a[J>>0]=1;a[K>>0]=1;a[I>>0]=0;c[D>>2]=c[u>>2]&8;break a}case 110:{h[M+8>>3]=+h[z+16+8>>3];a[J>>0]=1;a[I>>0]=0;switch(a[c[t>>2]>>0]|0){case 0:{a[K>>0]=1;h[O>>3]=1.5707963267948966;if(c[v>>2]|0){GM(p,c[v>>2]|0,+h[B>>3],+h[A>>3]);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]}else h[M>>3]=+h[A>>3];c[D>>2]=c[u>>2]&4;break a}case 101:{a[K>>0]=1;h[O>>3]=.7853981633974483;if(c[v>>2]|0){GM(q,c[v>>2]|0,+h[B>>3],+h[B>>3]);c[M>>2]=c[q>>2];c[M+4>>2]=c[q+4>>2];c[M+8>>2]=c[q+8>>2];c[M+12>>2]=c[q+12>>2]}else h[M>>3]=+h[z+16>>3];c[D>>2]=c[u>>2]&6;break a}case 119:{a[K>>0]=1;h[O>>3]=2.356194490192345;if(c[v>>2]|0){GM(r,c[v>>2]|0,+h[B>>3],-+h[B>>3]);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]}else h[M>>3]=+h[z>>3];c[D>>2]=c[u>>2]&12;break a}default:{h[M+8>>3]=+h[A+8>>3];a[J>>0]=0;a[I>>0]=1;c[N>>2]=1;break a}}}case 95:{a[L>>0]=1;c[D>>2]=c[u>>2];break a}default:{c[N>>2]=1;break a}}}while(0);l=(c[(c[(GC(c[E>>2]|0)|0)+8>>2]|0)+116>>2]&3)*90|0;c[C>>2]=c[M>>2];c[C+4>>2]=c[M+4>>2];c[C+8>>2]=c[M+8>>2];c[C+12>>2]=c[M+12>>2];TJ(s,C,l);c[M>>2]=c[s>>2];c[M+4>>2]=c[s+4>>2];c[M+8>>2]=c[s+8>>2];c[M+12>>2]=c[s+12>>2];l=c[D>>2]|0;if(a[L>>0]|0)a[(c[G>>2]|0)+33>>0]=l;else{D=(HM(l,c[(c[(GC(c[E>>2]|0)|0)+8>>2]|0)+116>>2]&3)|0)&255;a[(c[G>>2]|0)+33>>0]=D}c[(c[G>>2]|0)+24>>2]=c[F>>2];m=+h[M>>3];h[c[G>>2]>>3]=+(~~(+h[M>>3]>=0.0?m+.5:m-.5)|0);m=+h[M+8>>3];h[(c[G>>2]|0)+8>>3]=+(~~(+h[M+8>>3]>=0.0?m+.5:m-.5)|0);m=+h[O>>3];m=+IM(m,c[(c[(GC(c[E>>2]|0)|0)+8>>2]|0)+116>>2]&3);h[(c[G>>2]|0)+16>>3]=m;if(+h[M>>3]==0.0?+h[M+8>>3]==0.0:0){a[(c[G>>2]|0)+32>>0]=-128;O=a[J>>0]|0;M=c[G>>2]|0;M=M+29|0;a[M>>0]=O;M=a[K>>0]|0;O=c[G>>2]|0;O=O+28|0;a[O>>0]=M;O=a[I>>0]|0;M=c[G>>2]|0;M=M+30|0;a[M>>0]=O;M=a[L>>0]|0;O=c[G>>2]|0;O=O+31|0;a[O>>0]=M;O=c[N>>2]|0;i=P;return O|0}h[H>>3]=+W(+(+h[M+8>>3]),+(+h[M>>3]))+4.71238898038469;if(+h[H>>3]>=6.283185307179586)h[H>>3]=+h[H>>3]-6.283185307179586;a[(c[G>>2]|0)+32>>0]=~~(+h[H>>3]*256.0/6.283185307179586);O=a[J>>0]|0;M=c[G>>2]|0;M=M+29|0;a[M>>0]=O;M=a[K>>0]|0;O=c[G>>2]|0;O=O+28|0;a[O>>0]=M;O=a[I>>0]|0;M=c[G>>2]|0;M=M+30|0;a[M>>0]=O;M=a[L>>0]|0;O=c[G>>2]|0;O=O+31|0;a[O>>0]=M;O=c[N>>2]|0;i=P;return O|0}function FM(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();k=e+24|0;g=e+16|0;f=e;h[k>>3]=b;h[g>>3]=d;h[f>>3]=+h[k>>3];h[f+8>>3]=+h[g>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function GM(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+160|0;if((i|0)>=(j|0))ba();f=q+128|0;g=q+156|0;r=q+120|0;s=q+112|0;m=q+48|0;n=q+152|0;t=q+148|0;p=q+144|0;o=q+32|0;k=q+16|0;l=q;c[g>>2]=b;h[r>>3]=d;h[s>>3]=e;c[n>>2]=c[c[g>>2]>>2];c[t>>2]=GC(c[n>>2]|0)|0;c[p>>2]=c[(c[(c[t>>2]|0)+8>>2]|0)+116>>2]&3;h[o>>3]=+h[s>>3];h[o+8>>3]=+h[r>>3];if(c[p>>2]|0){t=(c[p>>2]|0)*90|0;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];TJ(k,f,t);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]}h[m+8>>3]=0.0;h[m>>3]=0.0;t=m+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];t=m+48|0;s=m+32|0;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];c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];vN(c[g>>2]|0,c[(c[(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,m,1);if(!(c[p>>2]|0)){c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];i=q;return}t=(c[p>>2]|0)*90|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];UJ(l,f,t);c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];i=q;return}function HM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a:do switch(c[f>>2]|0){case 3:switch(c[d>>2]|0){case 4:{c[d>>2]=2;break a}case 1:{c[d>>2]=8;break a}case 8:{c[d>>2]=1;break a}case 2:{c[d>>2]=4;break a}default:break a}case 2:switch(c[d>>2]|0){case 4:{c[d>>2]=1;break a}case 1:{c[d>>2]=4;break a}default:break a}case 1:switch(c[d>>2]|0){case 4:{c[d>>2]=2;break a}case 1:{c[d>>2]=8;break a}case 8:{c[d>>2]=4;break a}case 2:{c[d>>2]=1;break a}default:break a}default:{}}while(0);i=e;return c[d>>2]|0}function IM(a,b){a=+a;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;f=e+8|0;h[d>>3]=a;c[f>>2]=b;a:do switch(c[f>>2]|0){case 3:{if(+h[d>>3]==3.141592653589793){h[d>>3]=-1.5707963267948966;break a}if(+h[d>>3]==2.356194490192345){h[d>>3]=-.7853981633974483;break a}if(+h[d>>3]==1.5707963267948966){h[d>>3]=0.0;break a}if(+h[d>>3]==0.0){h[d>>3]=1.5707963267948966;break a}if(+h[d>>3]==-.7853981633974483){h[d>>3]=2.356194490192345;break a}if(+h[d>>3]==-1.5707963267948966)h[d>>3]=3.141592653589793;break}case 2:{h[d>>3]=+h[d>>3]*-1.0;break}case 1:{h[d>>3]=+h[d>>3]-1.5707963267948966;break}default:{}}while(0);i=e;return +(+h[d>>3])}function JM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0.0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();k=g+24|0;f=g;e=g+16|0;c[k>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;switch(c[k>>2]|0){case 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];break}case 2:{h[f>>3]=+h[b>>3];h[f+8>>3]=-+h[b+8>>3];break}case 1:{h[f+8>>3]=+h[b>>3];h[f>>3]=-+h[b+8>>3];break}case 3:{h[f+8>>3]=+h[b>>3];h[f>>3]=+h[b+8>>3];break}default:{}}l=+h[f>>3];c[e>>2]=~~(+h[f>>3]>=0.0?l+.5:l-.5);l=+h[f+8>>3];c[e+4>>2]=~~(+h[f+8>>3]>=0.0?l+.5:l-.5);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];i=g;return}function KM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0;d=i;i=i+48|0;if((i|0)>=(j|0))ba();e=d+32|0;g=d+24|0;f=d+16|0;l=d+8|0;k=d;h[l>>3]=+h[b>>3]/(+Q(.3141592653589793)*2.0);h[k>>3]=+h[b+8>>3]/(+R(.3141592653589793)+ +R(.9424777960769379));h[g>>3]=+h[l>>3]>+h[k>>3]?+h[l>>3]:+h[k>>3];h[f>>3]=+h[g>>3]*+R(1.2566370614359172)*+Q(.6283185307179586)/(+Q(.3141592653589793)*+Q(1.2566370614359172));h[e>>3]=+h[f>>3]*2.0*+Q(.3141592653589793);h[e+8>>3]=+h[f>>3]*(+R(.9424777960769379)+1.0);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=d;return}function LM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=i;i=i+80|0;if((i|0)>=(j|0))ba();d=q+72|0;e=q+68|0;k=q+64|0;o=q+48|0;l=q+40|0;f=q+32|0;g=q+24|0;m=q+16|0;n=q+8|0;p=q;c[d>>2]=a;c[e>>2]=b;a=c[e>>2]|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];h[g>>3]=(+R(.9424777960769379)+1.0)/(+Q(.3141592653589793)*2.0);h[p>>3]=.3141592653589793;h[f>>3]=+h[o+8>>3]/+h[o>>3];if(!(+h[f>>3]>+h[g>>3])){if(+h[f>>3]<+h[g>>3])h[o+8>>3]=+h[o>>3]*+h[g>>3]}else h[o>>3]=+h[o+8>>3]/+h[g>>3];h[m>>3]=+h[o>>3]/(+Q(.3141592653589793)*2.0);h[n>>3]=+h[m>>3]*+Q(.3141592653589793)*+Q(1.2566370614359172)/(+R(1.2566370614359172)*+Q(.6283185307179586));h[l>>3]=+h[m>>3]*(1.0-+R(.9424777960769379))/2.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=10)break;r=+h[m>>3]*+Q(+(+h[p>>3]));h[(c[d>>2]|0)+(c[k>>2]<<4)>>3]=r;r=+h[m>>3]*+R(+(+h[p>>3]));h[(c[d>>2]|0)+(c[k>>2]<<4)+8>>3]=r-+h[l>>3];h[p>>3]=+h[p>>3]+.6283185307179586;r=+h[n>>3]*+Q(+(+h[p>>3]));h[(c[d>>2]|0)+((c[k>>2]|0)+1<<4)>>3]=r;r=+h[n>>3]*+R(+(+h[p>>3]));h[(c[d>>2]|0)+((c[k>>2]|0)+1<<4)+8>>3]=r-+h[l>>3];h[p>>3]=+h[p>>3]+.6283185307179586;c[k>>2]=(c[k>>2]|0)+2}a=c[e>>2]|0;c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];i=q;return}function MM(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2];if(!(c[b>>2]|0)){i=d;return}B1(c[(c[b>>2]|0)+44>>2]|0);B1(c[b>>2]|0);i=d;return}function NM(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+96|0;if((i|0)>=(j|0))ba();r=s+40|0;k=s+84|0;l=s+80|0;m=s+76|0;h=s;n=s+72|0;q=s+68|0;p=s+64|0;o=s+56|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(a[c[l>>2]>>0]|0)){h=36640;k=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(k|0));i=s;return}if(!(c[m>>2]|0))c[m>>2]=143862;c[q>>2]=15;if((d[(c[(c[(c[k>>2]|0)+8>>2]|0)+104>>2]|0)+82>>0]|0)!=0?(f=PT(c[k>>2]|0,c[l>>2]|0,q)|0,c[n>>2]=f,(f|0)!=0):0){if(EM(c[k>>2]|0,c[n>>2]|0,h,c[m>>2]|0,c[q>>2]|0,0)|0){e=MB(c[k>>2]|0)|0;f=c[l>>2]|0;q=c[m>>2]|0;c[r>>2]=e;c[r+4>>2]=f;c[r+8>>2]=q;pA(0,143864,r)|0}}else{if((c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0)==34128)c[p>>2]=0;else{c[o>>2]=c[k>>2];c[o+4>>2]=0;c[p>>2]=o}if(EM(c[k>>2]|0,0,h,c[l>>2]|0,c[q>>2]|0,c[p>>2]|0)|0)$M(c[k>>2]|0,c[l>>2]|0)}k=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(k|0));i=s;return}function OM(b,d){b=b|0;d=d|0;var e=0,f=0,g=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=i;i=i+192|0;if((i|0)>=(j|0))ba();m=u+144|0;k=u+128|0;s=u+112|0;f=u+96|0;t=u+180|0;w=u+176|0;o=u+172|0;q=u+168|0;e=u+80|0;g=u+64|0;l=u+48|0;p=u+164|0;r=u+160|0;v=u+32|0;n=u;c[w>>2]=b;c[o>>2]=c[(c[w>>2]|0)+4>>2];c[q>>2]=c[c[w>>2]>>2];b=(c[(c[(GC(c[q>>2]|0)|0)+8>>2]|0)+116>>2]&3)*90|0;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];UJ(v,m,b);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];if(c[o>>2]|0){w=c[o>>2]|0;c[n>>2]=c[w>>2];c[n+4>>2]=c[w+4>>2];c[n+8>>2]=c[w+8>>2];c[n+12>>2]=c[w+12>>2];c[n+16>>2]=c[w+16>>2];c[n+20>>2]=c[w+20>>2];c[n+24>>2]=c[w+24>>2];c[n+28>>2]=c[w+28>>2];if((+h[n>>3]<=+h[e>>3]?+h[e>>3]<=+h[n+16>>3]:0)?+h[n+8>>3]<=+h[e+8>>3]:0)e=+h[e+8>>3]<=+h[n+16+8>>3];else e=0;a[t>>0]=e&1;w=a[t>>0]|0;i=u;return w|0}if((c[q>>2]|0)!=(c[14294]|0)){c[14295]=c[(c[(c[q>>2]|0)+8>>2]|0)+12>>2];c[14296]=c[(c[14295]|0)+44>>2];c[14297]=c[(c[14295]|0)+8>>2];w=_((c[(c[14295]|0)+4>>2]|0)-1|0,c[14297]|0)|0;c[14298]=w;c[14298]=(c[14298]|0)<0?0:w;c[14294]=c[q>>2]}c[r>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[14297]|0)){e=16;break}w=(c[14296]|0)+((c[p>>2]|0)+(c[14298]|0)<<4)|0;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];w=(c[14296]|0)+((((c[p>>2]|0)+4|0)%(c[14297]|0)|0)+(c[14298]|0)<<4)|0;c[l>>2]=c[w>>2];c[l+4>>2]=c[w+4>>2];c[l+8>>2]=c[w+8>>2];c[l+12>>2]=c[w+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[s>>2]=c[9156];c[s+4>>2]=c[9157];c[s+8>>2]=c[9158];c[s+12>>2]=c[9159];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[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];if(!(_M(f,s,k,m)|0))c[r>>2]=(c[r>>2]|0)+1;if((c[r>>2]|0)==2){e=14;break}c[p>>2]=(c[p>>2]|0)+2}if((e|0)==14){a[t>>0]=0;w=a[t>>0]|0;i=u;return w|0}else if((e|0)==16){a[t>>0]=1;w=a[t>>0]|0;i=u;return w|0}return 0}function PM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[l>>2]=0;if(!(d[(c[(c[(c[h>>2]|0)+8>>2]|0)+104>>2]|0)+82>>0]|0)){e=c[l>>2]|0;i=o;return e|0}if(!(d[(c[(c[h>>2]|0)+8>>2]|0)+145>>0]|0)){e=c[l>>2]|0;i=o;return e|0}c[l>>2]=QT(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;e=c[l>>2]|0;i=o;return e|0}function QM(e,f){e=e|0;f=f|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,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.0;P=i;i=i+160|0;if((i|0)>=(j|0))ba();E=P+56|0;F=P+48|0;s=P+40|0;r=P+32|0;G=P+144|0;H=P+140|0;M=P+136|0;k=P+132|0;y=P+24|0;z=P+16|0;u=P+128|0;B=P+124|0;o=P+120|0;N=P+116|0;O=P+112|0;t=P;x=P+108|0;K=P+150|0;w=P+149|0;v=P+148|0;l=P+104|0;L=P+100|0;J=P+96|0;A=P+92|0;n=P+88|0;I=P+80|0;m=P+76|0;p=P+72|0;q=P+68|0;C=P+64|0;D=P+60|0;c[G>>2]=e;c[H>>2]=f;c[M>>2]=c[(c[G>>2]|0)+16>>2];if(c[(c[M>>2]|0)+208>>2]|0)e=1;else e=((b[(c[M>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)!=0;c[J>>2]=e&1;c[A>>2]=0;c[n>>2]=0;if((c[J>>2]|0)!=0?(c[(c[G>>2]|0)+152>>2]&4|0)==0:0)yR(c[G>>2]|0,c[(c[M>>2]|0)+208>>2]|0,c[(c[M>>2]|0)+228>>2]|0,c[(c[M>>2]|0)+244>>2]|0,c[(c[M>>2]|0)+212>>2]|0);c[k>>2]=c[(c[(c[H>>2]|0)+8>>2]|0)+12>>2];c[x>>2]=c[(c[k>>2]|0)+44>>2];c[N>>2]=c[(c[k>>2]|0)+8>>2];c[o>>2]=c[(c[k>>2]|0)+4>>2];if((c[14292]|0)<(c[N>>2]|0)){c[14292]=(c[N>>2]|0)+5;if(c[14293]|0)e=tK(c[14293]|0,c[14292]<<4)|0;else e=rK(c[14292]<<4)|0;c[14293]=e}e=(c[(c[(c[H>>2]|0)+8>>2]|0)+104>>2]|0)+56|0;f=(c[(c[H>>2]|0)+8>>2]|0)+16|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];Q=+h[(c[(c[H>>2]|0)+8>>2]|0)+32>>3]*72.0;h[y>>3]=(+h[(c[(c[H>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[H>>2]|0)+8>>2]|0)+96>>3])/+(~~(+h[(c[(c[H>>2]|0)+8>>2]|0)+32>>3]*72.0>=0.0?Q+.5:Q-.5)|0);Q=+h[(c[(c[H>>2]|0)+8>>2]|0)+40>>3]*72.0;h[z>>3]=+h[(c[(c[H>>2]|0)+8>>2]|0)+80>>3]/+(~~(+h[(c[(c[H>>2]|0)+8>>2]|0)+40>>3]*72.0>=0.0?Q+.5:Q-.5)|0);c[O>>2]=RM(c[G>>2]|0,c[H>>2]|0)|0;c[I>>2]=0;e=c[H>>2]|0;do if(d[(c[(c[H>>2]|0)+8>>2]|0)+117>>0]&1){c[n>>2]=xO(e,c[13819]|0,143746)|0;DR(c[G>>2]|0,c[n>>2]|0);c[l>>2]=xO(c[H>>2]|0,c[13820]|0,143754)|0;ER(c[G>>2]|0,c[l>>2]|0);a[K>>0]=1}else{f=c[H>>2]|0;if(d[(c[e+8>>2]|0)+117>>0]&2){c[n>>2]=xO(f,c[13821]|0,143762)|0;DR(c[G>>2]|0,c[n>>2]|0);c[l>>2]=xO(c[H>>2]|0,c[13822]|0,143770)|0;ER(c[G>>2]|0,c[l>>2]|0);a[K>>0]=1;break}e=c[H>>2]|0;if(d[(c[f+8>>2]|0)+117>>0]&8){c[n>>2]=xO(e,c[13825]|0,143778)|0;DR(c[G>>2]|0,c[n>>2]|0);c[l>>2]=xO(c[H>>2]|0,c[13826]|0,143786)|0;ER(c[G>>2]|0,c[l>>2]|0);a[K>>0]=1;break}if(d[(c[e+8>>2]|0)+117>>0]&4){c[n>>2]=xO(c[H>>2]|0,c[13823]|0,143794)|0;DR(c[G>>2]|0,c[n>>2]|0);c[l>>2]=xO(c[H>>2]|0,c[13824]|0,143802)|0;ER(c[G>>2]|0,c[l>>2]|0);a[K>>0]=1;break}do if(c[O>>2]&1){c[A>>2]=SM(c[H>>2]|0)|0;l=(XH(c[A>>2]|0,I,m)|0)<<24>>24!=0;e=c[G>>2]|0;if(!l){ER(e,c[A>>2]|0);a[K>>0]=1;break}ER(e,c[I>>2]|0);e=c[G>>2]|0;if(c[I+4>>2]|0){f=c[I+4>>2]|0;l=tO(c[H>>2]|0,c[13850]|0,0,0)|0;FR(e,f,l,+g[m>>2])}else{l=tO(c[H>>2]|0,c[13850]|0,0,0)|0;FR(e,174997,l,+g[m>>2])}if(c[O>>2]&2){a[K>>0]=3;break}else{a[K>>0]=2;break}}else if(c[O>>2]&576){c[A>>2]=SM(c[H>>2]|0)|0;a[K>>0]=1;break}else{a[K>>0]=0;break}while(0);c[n>>2]=TM(c[G>>2]|0,c[H>>2]|0)|0}while(0);if(a[(c[(c[(c[H>>2]|0)+8>>2]|0)+8>>2]|0)+12>>0]|0)if((a[c[c[(c[(c[H>>2]|0)+8>>2]|0)+8>>2]>>2]>>0]|0)==(a[143198]|0))e=(a4(c[c[(c[(c[H>>2]|0)+8>>2]|0)+8>>2]>>2]|0,143198)|0)!=0^1;else e=0;else e=1;a[v>>0]=e&1;if(((c[o>>2]|0)==0?(d[K>>0]|0)!=0:0)?(d[v>>0]|0)!=0:0){c[o>>2]=1;DR(c[G>>2]|0,175510)}c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[o>>2]|0))break;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[N>>2]|0))break;m=(c[u>>2]|0)+(_(c[B>>2]|0,c[N>>2]|0)|0)|0;m=(c[x>>2]|0)+(m<<4)|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];h[(c[14293]|0)+(c[u>>2]<<4)>>3]=+h[t>>3]*+h[y>>3]+ +h[(c[(c[H>>2]|0)+8>>2]|0)+16>>3];h[(c[14293]|0)+(c[u>>2]<<4)+8>>3]=+h[t+8>>3]*+h[z>>3]+ +h[(c[(c[H>>2]|0)+8>>2]|0)+16+8>>3];c[u>>2]=(c[u>>2]|0)+1}e=c[O>>2]|0;do if((c[N>>2]|0)<=2){if((e&512|0)!=0&(c[B>>2]|0)==0?(_3(c[A>>2]|0,58)|0)!=0:0){c[p>>2]=PH(c[G>>2]|0,c[14293]|0,c[A>>2]|0)|0;if((c[p>>2]|0)>1){c[r>>2]=MB(c[H>>2]|0)|0;pA(3,143810,r)|0}a[K>>0]=0}HR(c[G>>2]|0,c[14293]|0,c[N>>2]|0,d[K>>0]|0);if(c[O>>2]&8)UM(c[G>>2]|0,c[H>>2]|0)}else{if(e&64){if((c[B>>2]|0)==0?(c[q>>2]=QH(c[G>>2]|0,c[14293]|0,c[A>>2]|0,1)|0,(c[q>>2]|0)>1):0){c[s>>2]=MB(c[H>>2]|0)|0;pA(3,143810,s)|0}IR(c[G>>2]|0,c[14293]|0,c[N>>2]|0,0);break}if(c[O>>2]&1024){DR(c[G>>2]|0,175510);IR(c[G>>2]|0,c[14293]|0,c[N>>2]|0,d[K>>0]|0);DR(c[G>>2]|0,c[n>>2]|0);LR(c[G>>2]|0,(c[14293]|0)+32|0,2);break}e=c[G>>2]|0;f=c[14293]|0;k=c[N>>2]|0;if(c[O>>2]&2130706444){rM(e,f,k,c[O>>2]|0,d[K>>0]|0);break}else{IR(e,f,k,d[K>>0]|0);break}}while(0);a[K>>0]=0;c[B>>2]=(c[B>>2]|0)+1}a[w>>0]=0;e=c[H>>2]|0;do if(!(a[(c[(c[(c[H>>2]|0)+8>>2]|0)+8>>2]|0)+12>>0]|0)){s=OA(e,146802)|0;c[L>>2]=s;if((s|0)!=0?(a[c[L>>2]>>0]|0)!=0:0)a[w>>0]=1}else{c[L>>2]=c[c[(c[e+8>>2]|0)+8>>2]>>2];if((a[c[L>>2]>>0]|0)==(a[143198]|0)?(a4(c[L>>2]|0,143198)|0)==0:0){s=OA(c[H>>2]|0,143183)|0;c[L>>2]=s;if(!s)break;if(!(a[c[L>>2]>>0]|0))break;a[w>>0]=1;break}a[w>>0]=1}while(0);if(a[w>>0]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[N>>2]|0))break;w=(c[x>>2]|0)+(c[u>>2]<<4)|0;c[t>>2]=c[w>>2];c[t+4>>2]=c[w+4>>2];c[t+8>>2]=c[w+8>>2];c[t+12>>2]=c[w+12>>2];h[(c[14293]|0)+(c[u>>2]<<4)>>3]=+h[t>>3]*+h[y>>3]+ +h[(c[(c[H>>2]|0)+8>>2]|0)+16>>3];h[(c[14293]|0)+(c[u>>2]<<4)+8>>3]=+h[t+8>>3]*+h[z>>3]+ +h[(c[(c[H>>2]|0)+8>>2]|0)+16+8>>3];c[u>>2]=(c[u>>2]|0)+1}do if((d[K>>0]|0)!=0?(d[v>>0]|0)!=0:0){e=c[O>>2]|0;if((c[N>>2]|0)>2)if(!(e&64)){k=c[G>>2]|0;f=c[14293]|0;e=c[N>>2]|0;if(c[O>>2]&12){rM(k,f,e,c[O>>2]|0,d[K>>0]|0);break}else{IR(k,f,e,d[K>>0]|0);break}}else{c[D>>2]=QH(c[G>>2]|0,c[14293]|0,c[A>>2]|0,1)|0;if((c[D>>2]|0)>1){c[E>>2]=MB(c[H>>2]|0)|0;pA(3,143810,E)|0}IR(c[G>>2]|0,c[14293]|0,c[N>>2]|0,0);break}else{if((e&512|0)!=0&(c[B>>2]|0)==0?(_3(c[A>>2]|0,58)|0)!=0:0){c[C>>2]=PH(c[G>>2]|0,c[14293]|0,c[A>>2]|0)|0;if((c[C>>2]|0)>1){c[F>>2]=MB(c[H>>2]|0)|0;pA(3,143810,F)|0}a[K>>0]=0}HR(c[G>>2]|0,c[14293]|0,c[N>>2]|0,d[K>>0]|0);if(!(c[O>>2]&8))break;UM(c[G>>2]|0,c[H>>2]|0);break}}while(0);E=c[G>>2]|0;F=c[L>>2]|0;L=c[14293]|0;N=c[N>>2]|0;O=a[K>>0]|0;NR(E,F,L,N,O,wO(c[H>>2]|0,c[13843]|0,174991)|0);a[K>>0]=0}B1(c[I>>2]|0);iK(c[G>>2]|0,10,c[(c[(c[H>>2]|0)+8>>2]|0)+104>>2]|0);if(!(c[J>>2]|0)){i=P;return}if(c[(c[G>>2]|0)+152>>2]&4)yR(c[G>>2]|0,c[(c[M>>2]|0)+208>>2]|0,c[(c[M>>2]|0)+228>>2]|0,c[(c[M>>2]|0)+244>>2]|0,c[(c[M>>2]|0)+212>>2]|0);zR(c[G>>2]|0);i=P;return}function RM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+24|0;f=n+20|0;l=n+16|0;m=n+12|0;g=n+8|0;k=n;c[e>>2]=b;c[f>>2]=d;d=XM(c[f>>2]|0,g)|0;c[l>>2]=d;if(d)GR(c[e>>2]|0,c[l>>2]|0);if(((c[13849]|0)!=0?(l=PA(c[f>>2]|0,c[13849]|0)|0,c[m>>2]=l,(l|0)!=0):0)?(a[c[m>>2]>>0]|0)!=0:0){h[k>>3]=+uO(c[f>>2]|0,c[13849]|0,1.0,0.0);OR(c[e>>2]|0,+h[k>>3])}i=n;return c[g>>2]|0}function SM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;a=WM(c[d>>2]|0,172483)|0;i=b;return a|0}function TM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();g=e+8|0;h=e+4|0;f=e;c[g>>2]=b;c[h>>2]=d;d=xO(c[h>>2]|0,c[13817]|0,178598)|0;c[f>>2]=d;c[f>>2]=(a[c[f>>2]>>0]|0)!=0?d:174997;DR(c[g>>2]|0,c[f>>2]|0);i=e;return c[f>>2]|0}function UM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+128|0;if((i|0)>=(j|0))ba();l=d+96|0;m=d+80|0;f=d+116|0;n=d+112|0;o=d+72|0;p=d+64|0;e=d+32|0;g=d+16|0;k=d;c[f>>2]=a;c[n>>2]=b;h[p>>3]=.75;h[o>>3]=.6614;h[g+8>>3]=+h[p>>3]*+h[(c[(c[n>>2]|0)+8>>2]|0)+80>>3]/2.0;h[g>>3]=+h[(c[(c[n>>2]|0)+8>>2]|0)+96>>3]*+h[o>>3];b=(c[(c[n>>2]|0)+8>>2]|0)+16|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[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];VM(k,m,l);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];h[e+16+8>>3]=+h[e+8>>3];h[e+16>>3]=+h[e>>3]-+h[g>>3]*2.0;LR(c[f>>2]|0,e,2);b=e+8|0;h[b>>3]=+h[b>>3]-+h[g+8>>3]*2.0;h[e+16+8>>3]=+h[e+8>>3];LR(c[f>>2]|0,e,2);i=d;return}function VM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=+h[b>>3]+ +h[d>>3];h[f+8>>3]=+h[b+8>>3]+ +h[d+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function WM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=d;c[g>>2]=xO(c[e>>2]|0,c[13818]|0,178598)|0;if((a[c[g>>2]>>0]|0)==0?(c[g>>2]=xO(c[e>>2]|0,c[13817]|0,178598)|0,(a[c[g>>2]>>0]|0)==0):0)c[g>>2]=c[f>>2];i=h;return c[g>>2]|0}function XM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;if((i|0)>=(j|0))ba();e=p+32|0;f=p+28|0;o=p+24|0;m=p+20|0;g=p+16|0;k=p+12|0;l=p+8|0;n=p+4|0;h=p;c[e>>2]=b;c[f>>2]=d;c[m>>2]=0;c[g>>2]=0;c[o>>2]=xO(c[e>>2]|0,c[13834]|0,178598)|0;a:do if(a[c[o>>2]>>0]|0){o=YH(c[o>>2]|0)|0;c[m>>2]=o;c[l>>2]=o;b:while(1){o=c[c[l>>2]>>2]|0;c[h>>2]=o;if(!o)break a;if((a[c[h>>2]>>0]|0)==(a[148743]|0)?(a4(c[h>>2]|0,148743)|0)==0:0){c[g>>2]=c[g>>2]|1;c[l>>2]=(c[l>>2]|0)+4;continue}if((a[c[h>>2]>>0]|0)==(a[143822]|0)?(a4(c[h>>2]|0,143822)|0)==0:0){c[g>>2]=c[g>>2]|4;c[n>>2]=c[l>>2];while(1){c[n>>2]=(c[n>>2]|0)+4;c[(c[n>>2]|0)+-4>>2]=c[c[n>>2]>>2];if(!(c[c[n>>2]>>2]|0))continue b}}if((a[c[h>>2]>>0]|0)==(a[143830]|0)?(a4(c[h>>2]|0,143830)|0)==0:0){c[g>>2]=c[g>>2]|8;c[n>>2]=c[l>>2];while(1){c[n>>2]=(c[n>>2]|0)+4;c[(c[n>>2]|0)+-4>>2]=c[c[n>>2]>>2];if(!(c[c[n>>2]>>2]|0))continue b}}if((a[c[h>>2]>>0]|0)==(a[172018]|0)?(a4(c[h>>2]|0,172018)|0)==0:0){c[g>>2]=c[g>>2]|32;c[l>>2]=(c[l>>2]|0)+4;continue}if((a[c[h>>2]>>0]|0)==(a[143840]|0)?(a4(c[h>>2]|0,143840)|0)==0:0){c[g>>2]=c[g>>2]|3;c[n>>2]=c[l>>2];while(1){c[n>>2]=(c[n>>2]|0)+4;c[(c[n>>2]|0)+-4>>2]=c[c[n>>2]>>2];if(!(c[c[n>>2]>>2]|0))continue b}}if(((a[c[h>>2]>>0]|0)==(a[143847]|0)?(a4(c[h>>2]|0,143847)|0)==0:0)?(YM(c[e>>2]|0)|0)!=0:0){c[g>>2]=c[g>>2]|64;c[n>>2]=c[l>>2];while(1){c[n>>2]=(c[n>>2]|0)+4;c[(c[n>>2]|0)+-4>>2]=c[c[n>>2]>>2];if(!(c[c[n>>2]>>2]|0))continue b}}if(((a[c[h>>2]>>0]|0)==(a[143855]|0)?(a4(c[h>>2]|0,143855)|0)==0:0)?(ZM(c[e>>2]|0)|0)!=0:0){c[g>>2]=c[g>>2]|512;c[n>>2]=c[l>>2];while(1){c[n>>2]=(c[n>>2]|0)+4;c[(c[n>>2]|0)+-4>>2]=c[c[n>>2]>>2];if(!(c[c[n>>2]>>2]|0))continue b}}c[l>>2]=(c[l>>2]|0)+4}}while(0);o=c[(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0;c[k>>2]=o;if(!o){n=c[g>>2]|0;o=c[f>>2]|0;c[o>>2]=n;o=c[m>>2]|0;i=p;return o|0}c[g>>2]=c[g>>2]|c[(c[k>>2]|0)+40>>2];n=c[g>>2]|0;o=c[f>>2]|0;c[o>>2]=n;o=c[m>>2]|0;i=p;return o|0}function YM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e+8|0;f=e+4|0;b=e;c[f>>2]=a;a=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0;c[b>>2]=a;if(!a){c[d>>2]=0;f=c[d>>2]|0;i=e;return f|0}if(((c[(c[b>>2]|0)+8>>2]|0)==4?(g=+h[(c[b>>2]|0)+16>>3],((~~(+h[(c[b>>2]|0)+16>>3]>=0.0?g+.5:g-.5)|0)%90|0|0)==0):0)?+h[(c[b>>2]|0)+24>>3]==0.0:0)a=+h[(c[b>>2]|0)+32>>3]==0.0;else a=0;c[d>>2]=a&1;f=c[d>>2]|0;i=e;return f|0}function ZM(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+8|0;f=e+4|0;d=e;c[f>>2]=a;a=c[(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0)+8>>2]|0;c[d>>2]=a;if(a){c[b>>2]=(c[(c[d>>2]|0)+8>>2]|0)<=2&1;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=0;f=c[b>>2]|0;i=e;return f|0}return 0}function _M(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();k=f+28|0;g=f+24|0;n=f+16|0;m=f+8|0;l=f;h[n>>3]=-(+h[e+8>>3]-+h[d+8>>3]);h[m>>3]=+h[e>>3]-+h[d>>3];h[l>>3]=+h[n>>3]*+h[d>>3]+ +h[m>>3]*+h[d+8>>3];c[k>>2]=+h[n>>3]*+h[a>>3]+ +h[m>>3]*+h[a+8>>3]-+h[l>>3]>=0.0&1;c[g>>2]=+h[n>>3]*+h[b>>3]+ +h[m>>3]*+h[b+8>>3]-+h[l>>3]>=0.0&1;i=f;return (c[k>>2]|0)==(c[g>>2]|0)|0}function $M(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;g=d+12|0;f=d+8|0;c[g>>2]=a;c[f>>2]=b;a=MB(c[g>>2]|0)|0;b=c[f>>2]|0;c[e>>2]=a;c[e+4>>2]=b;pA(0,143925,e)|0;i=d;return}function aN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0;g=i;i=i+64|0;if((i|0)>=(j|0))ba();l=g+40|0;m=g+60|0;d=g+24|0;f=g+16|0;e=g+56|0;k=g;c[m>>2]=a;c[e>>2]=c[c[m>>2]>>2];a=(c[(c[(GC(c[e>>2]|0)|0)+8>>2]|0)+116>>2]&3)*90|0;c[l>>2]=c[b>>2];c[l+4>>2]=c[b+4>>2];c[l+8>>2]=c[b+8>>2];c[l+12>>2]=c[b+12>>2];UJ(k,l,a);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];h[f>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+80>>3]/2.0;if(!(+h[d+8>>3]>=-+h[f>>3])){m=0;m=m&1;m=m&255;i=g;return m|0}if(!(+h[d+8>>3]<=+h[f>>3])){m=0;m=m&1;m=m&255;i=g;return m|0}if(!(+h[d>>3]>=-+h[(c[(c[e>>2]|0)+8>>2]|0)+88>>3])){m=0;m=m&1;m=m&255;i=g;return m|0}m=+h[d>>3]<=+h[(c[(c[e>>2]|0)+8>>2]|0)+96>>3];m=m&1;m=m&255;i=g;return m|0}function bN(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+48|0;if((i|0)>=(j|0))ba();m=n;e=n+40|0;f=n+36|0;l=n+32|0;g=n+28|0;k=n+24|0;c[e>>2]=a;c[f>>2]=d;c[l>>2]=c[(c[e>>2]|0)+16>>2];if(c[(c[l>>2]|0)+208>>2]|0)a=1;else a=((b[(c[l>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)!=0;c[k>>2]=a&1;c[g>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+12>>2];if(!(c[g>>2]|0)){i=n;return}if((c[k>>2]|0)!=0?(c[(c[e>>2]|0)+152>>2]&4|0)==0:0)yR(c[e>>2]|0,c[(c[l>>2]|0)+208>>2]|0,c[(c[l>>2]|0)+228>>2]|0,c[(c[l>>2]|0)+244>>2]|0,c[(c[l>>2]|0)+212>>2]|0);if(c[g>>2]|0){d=c[(c[e>>2]|0)+36>>2]|0;o=+h[(c[(c[f>>2]|0)+8>>2]|0)+16+8>>3]+ +(c[(c[g>>2]|0)+4+4>>2]|0);a=c[c[g>>2]>>2]|0;h[m>>3]=+h[(c[(c[f>>2]|0)+8>>2]|0)+16>>3]+ +(c[(c[g>>2]|0)+4>>2]|0);h[m+8>>3]=o;c[m+16>>2]=a;p3(d,143956,m)|0}m=(c[(c[(c[f>>2]|0)+8>>2]|0)+104>>2]|0)+56|0;g=(c[(c[f>>2]|0)+8>>2]|0)+16|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];iK(c[e>>2]|0,10,c[(c[(c[f>>2]|0)+8>>2]|0)+104>>2]|0);if(!(c[k>>2]|0)){i=n;return}if(c[(c[e>>2]|0)+152>>2]&4)yR(c[e>>2]|0,c[(c[l>>2]|0)+208>>2]|0,c[(c[l>>2]|0)+228>>2]|0,c[(c[l>>2]|0)+244>>2]|0,c[(c[l>>2]|0)+212>>2]|0);zR(c[e>>2]|0);i=n;return}function cN(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2];kN(c[d>>2]|0);i=b;return}function dN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+80|0;if((i|0)>=(j|0))ba();q=r+40|0;k=r+72|0;l=r+68|0;m=r+64|0;n=r+60|0;p=r+56|0;h=r;o=r+52|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(a[c[l>>2]>>0]|0)){h=36640;g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0));i=r;return}c[o>>2]=15;if(!(c[m>>2]|0))c[m>>2]=143862;c[n>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+12>>2];f=jN(c[n>>2]|0,c[l>>2]|0)|0;c[p>>2]=f;g=c[k>>2]|0;if(f){if(EM(g,(c[p>>2]|0)+16|0,h,c[m>>2]|0,d[(c[p>>2]|0)+65>>0]|0,0)|0){n=MB(c[k>>2]|0)|0;o=c[l>>2]|0;p=c[m>>2]|0;c[q>>2]=n;c[q+4>>2]=o;c[q+8>>2]=p;pA(0,143864,q)|0}}else if(EM(g,(c[n>>2]|0)+16|0,h,c[l>>2]|0,c[o>>2]|0,0)|0)$M(c[k>>2]|0,c[l>>2]|0);g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0));i=r;return}function eN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0;k=i;i=i+80|0;if((i|0)>=(j|0))ba();m=k+48|0;n=k+76|0;f=k+72|0;e=k+68|0;g=k+64|0;d=k+16|0;l=k;c[n>>2]=a;c[e>>2]=c[(c[n>>2]|0)+4>>2];c[g>>2]=c[c[n>>2]>>2];a=(c[(c[(GC(c[g>>2]|0)|0)+8>>2]|0)+116>>2]&3)*90|0;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];UJ(l,m,a);c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];if(!(c[e>>2]|0)){c[f>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2];n=(c[f>>2]|0)+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[d+16>>2]=c[n+16>>2];c[d+20>>2]=c[n+20>>2];c[d+24>>2]=c[n+24>>2];c[d+28>>2]=c[n+28>>2]}else{n=c[e>>2]|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[d+16>>2]=c[n+16>>2];c[d+20>>2]=c[n+20>>2];c[d+24>>2]=c[n+24>>2];c[d+28>>2]=c[n+28>>2]}if(!(+h[d>>3]<=+h[b>>3])){n=0;n=n&1;n=n&255;i=k;return n|0}if(!(+h[b>>3]<=+h[d+16>>3])){n=0;n=n&1;n=n&255;i=k;return n|0}if(!(+h[d+8>>3]<=+h[b+8>>3])){n=0;n=n&1;n=n&255;i=k;return n|0}n=+h[b+8>>3]<=+h[d+16+8>>3];n=n&1;n=n&255;i=k;return n|0}function fN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|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,w=0,x=0,y=0,z=0;z=i;i=i+144|0;if((i|0)>=(j|0))ba();m=z+80|0;l=z+48|0;n=z+132|0;o=z+128|0;k=z+124|0;p=z+120|0;q=z+116|0;r=z+112|0;t=z+108|0;v=z+104|0;x=z+100|0;w=z+32|0;u=z+96|0;s=z;c[o>>2]=b;c[k>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;if(!(a[(c[k>>2]|0)+28>>0]|0)){c[n>>2]=0;y=c[n>>2]|0;i=z;return y|0}e=c[k>>2]|0;c[w>>2]=c[e>>2];c[w+4>>2]=c[e+4>>2];c[w+8>>2]=c[e+8>>2];c[w+12>>2]=c[e+12>>2];c[u>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+12>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[u>>2]|0)+48>>2]|0))break;e=(c[(c[(GC(c[o>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;k=(c[(c[(c[u>>2]|0)+56>>2]|0)+(c[t>>2]<<2)>>2]|0)+16|0;if(e){c[v>>2]=~~+h[k+8>>3];c[x>>2]=~~+h[(c[(c[(c[u>>2]|0)+56>>2]|0)+(c[t>>2]<<2)>>2]|0)+16+16+8>>3]}else{c[v>>2]=~~+h[k>>3];c[x>>2]=~~+h[(c[(c[(c[u>>2]|0)+56>>2]|0)+(c[t>>2]<<2)>>2]|0)+16+16>>3]}if(+(c[v>>2]|0)<=+h[w>>3]?+h[w>>3]<=+(c[x>>2]|0):0){y=10;break}c[t>>2]=(c[t>>2]|0)+1}if((y|0)==10){if(c[(c[(GC(c[o>>2]|0)|0)+8>>2]|0)+116>>2]&1){y=c[q>>2]|0;w=(c[(c[(c[u>>2]|0)+56>>2]|0)+(c[t>>2]<<2)>>2]|0)+16|0;x=(c[(c[o>>2]|0)+8>>2]|0)+16|0;c[l>>2]=c[w>>2];c[l+4>>2]=c[w+4>>2];c[l+8>>2]=c[w+8>>2];c[l+12>>2]=c[w+12>>2];c[l+16>>2]=c[w+16>>2];c[l+20>>2]=c[w+20>>2];c[l+24>>2]=c[w+24>>2];c[l+28>>2]=c[w+28>>2];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];VJ(s,l,m);c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];c[y+16>>2]=c[s+16>>2];c[y+20>>2]=c[s+20>>2];c[y+24>>2]=c[s+24>>2];c[y+28>>2]=c[s+28>>2]}else{h[c[q>>2]>>3]=+h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3]+ +(c[v>>2]|0);h[(c[q>>2]|0)+8>>3]=+h[(c[(c[o>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[o>>2]|0)+8>>2]|0)+80>>3]/2.0;h[(c[q>>2]|0)+16>>3]=+h[(c[(c[o>>2]|0)+8>>2]|0)+16>>3]+ +(c[x>>2]|0)}h[(c[q>>2]|0)+16+8>>3]=+h[(c[(c[o>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[o>>2]|0)+8>>2]|0)+80>>3]/2.0;c[c[r>>2]>>2]=1}c[n>>2]=c[p>>2];y=c[n>>2]|0;i=z;return y|0}function gN(d,e){d=d|0;e=e|0;var f=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;w=i;i=i+176|0;if((i|0)>=(j|0))ba();o=w+96|0;k=w+168|0;l=w+164|0;u=w+160|0;n=w+64|0;m=w;v=w+156|0;r=w+152|0;q=w+148|0;s=w+144|0;p=w+136|0;f=w+132|0;t=w+128|0;c[k>>2]=d;c[l>>2]=e;c[u>>2]=c[(c[k>>2]|0)+16>>2];if(c[(c[u>>2]|0)+208>>2]|0)d=1;else d=((b[(c[u>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)!=0;c[q>>2]=d&1;c[r>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+12>>2];e=(c[r>>2]|0)+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[n+16>>2]=c[e+16>>2];c[n+20>>2]=c[e+20>>2];c[n+24>>2]=c[e+24>>2];c[n+28>>2]=c[e+28>>2];h[n>>3]=+h[n>>3]+ +h[(c[(c[l>>2]|0)+8>>2]|0)+16>>3];e=n+8|0;h[e>>3]=+h[e>>3]+ +h[(c[(c[l>>2]|0)+8>>2]|0)+16+8>>3];e=n+16|0;h[e>>3]=+h[e>>3]+ +h[(c[(c[l>>2]|0)+8>>2]|0)+16>>3];e=n+16+8|0;h[e>>3]=+h[e>>3]+ +h[(c[(c[l>>2]|0)+8>>2]|0)+16+8>>3];if((c[q>>2]|0)!=0?(c[(c[k>>2]|0)+152>>2]&4|0)==0:0)yR(c[k>>2]|0,c[(c[u>>2]|0)+208>>2]|0,c[(c[u>>2]|0)+228>>2]|0,c[(c[u>>2]|0)+244>>2]|0,c[(c[u>>2]|0)+212>>2]|0);c[v>>2]=RM(c[k>>2]|0,c[l>>2]|0)|0;TM(c[k>>2]|0,c[l>>2]|0)|0;c[p>>2]=0;do if(c[v>>2]&1){c[f>>2]=SM(c[l>>2]|0)|0;if(!((XH(c[f>>2]|0,p,t)|0)<<24>>24)){c[s>>2]=1;ER(c[k>>2]|0,c[f>>2]|0);break}ER(c[k>>2]|0,c[p>>2]|0);d=c[k>>2]|0;if(c[p+4>>2]|0){e=c[p+4>>2]|0;f=tO(c[l>>2]|0,c[13850]|0,0,0)|0;FR(d,e,f,+g[t>>2])}else{f=tO(c[l>>2]|0,c[13850]|0,0,0)|0;FR(d,174997,f,+g[t>>2])}if(c[v>>2]&2){c[s>>2]=3;break}else{c[s>>2]=2;break}}else c[s>>2]=0;while(0);if((a[c[c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]>>2]>>0]|0)==(a[143733]|0)?(a4(c[c[(c[(c[l>>2]|0)+8>>2]|0)+8>>2]>>2]|0,143733)|0)==0:0)c[v>>2]=c[v>>2]|4;if(c[v>>2]&2130706444){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];t=m+32|0;o=n+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];c[t+12>>2]=c[o+12>>2];h[m+16>>3]=+h[m+32>>3];h[m+16+8>>3]=+h[m+8>>3];h[m+48>>3]=+h[m>>3];h[m+48+8>>3]=+h[m+32+8>>3];rM(c[k>>2]|0,m,4,c[v>>2]|0,c[s>>2]|0)}else{t=c[k>>2]|0;v=c[s>>2]|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[o+16>>2]=c[n+16>>2];c[o+20>>2]=c[n+20>>2];c[o+24>>2]=c[n+24>>2];c[o+28>>2]=c[n+28>>2];JR(t,o,v)}hN(c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);if(c[p>>2]|0)B1(c[p>>2]|0);if(!(c[q>>2]|0)){i=w;return}if(c[(c[k>>2]|0)+152>>2]&4)yR(c[k>>2]|0,c[(c[u>>2]|0)+208>>2]|0,c[(c[u>>2]|0)+228>>2]|0,c[(c[u>>2]|0)+244>>2]|0,c[(c[u>>2]|0)+212>>2]|0);zR(c[k>>2]|0);i=w;return}function hN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+160|0;if((i|0)>=(j|0))ba();s=u+128|0;f=u+112|0;g=u+156|0;k=u+152|0;l=u+148|0;t=u+144|0;q=u+80|0;r=u+64|0;m=u+48|0;n=u+32|0;o=u+16|0;p=u;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;if(c[(c[l>>2]|0)+52>>2]|0){d=(c[(c[l>>2]|0)+52>>2]|0)+56|0;e=(c[l>>2]|0)+16|0;b=(c[l>>2]|0)+16+16|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];c[s>>2]=c[b>>2];c[s+4>>2]=c[b+4>>2];c[s+8>>2]=c[b+8>>2];c[s+12>>2]=c[b+12>>2];iN(m,f,s);b=(c[(c[k>>2]|0)+8>>2]|0)+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[s>>2]=c[b>>2];c[s+4>>2]=c[b+4>>2];c[s+8>>2]=c[b+8>>2];c[s+12>>2]=c[b+12>>2];VM(n,f,s);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];iK(c[g>>2]|0,10,c[(c[l>>2]|0)+52>>2]|0);TM(c[g>>2]|0,c[k>>2]|0)|0}d=(c[(c[k>>2]|0)+8>>2]|0)+16|0;c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[l>>2]|0)+48>>2]|0))break;if((c[t>>2]|0)>0){if(a[(c[l>>2]|0)+64>>0]|0){d=(c[(c[(c[l>>2]|0)+56>>2]|0)+(c[t>>2]<<2)>>2]|0)+16|0;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];h[q+16>>3]=+h[q>>3];h[q+16+8>>3]=+h[(c[(c[(c[l>>2]|0)+56>>2]|0)+(c[t>>2]<<2)>>2]|0)+16+16+8>>3]}else{d=q+16|0;b=(c[(c[(c[l>>2]|0)+56>>2]|0)+(c[t>>2]<<2)>>2]|0)+16+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];h[q>>3]=+h[(c[(c[(c[l>>2]|0)+56>>2]|0)+(c[t>>2]<<2)>>2]|0)+16>>3];h[q+8>>3]=+h[q+16+8>>3]};c[f>>2]=c[q>>2];c[f+4>>2]=c[q+4>>2];c[f+8>>2]=c[q+8>>2];c[f+12>>2]=c[q+12>>2];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];VM(o,f,s);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];d=q+16|0;b=q+16|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[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];VM(p,f,s);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];LR(c[g>>2]|0,q,2)}hN(c[g>>2]|0,c[k>>2]|0,c[(c[(c[l>>2]|0)+56>>2]|0)+(c[t>>2]<<2)>>2]|0);c[t>>2]=(c[t>>2]|0)+1}i=u;return}function iN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=(+h[b>>3]+ +h[d>>3])/2.0;h[f+8>>3]=(+h[b+8>>3]+ +h[d+8>>3])/2.0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function jN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+12|0;f=k+8|0;h=k+4|0;g=k;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+60>>2]|0)!=0?(a[c[(c[e>>2]|0)+60>>2]>>0]|0)==(a[c[f>>2]>>0]|0):0)?(a4(c[(c[e>>2]|0)+60>>2]|0,c[f>>2]|0)|0)==0:0){c[h>>2]=c[e>>2];h=c[h>>2]|0;i=k;return h|0}c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0)){e=9;break}d=jN(c[(c[(c[e>>2]|0)+56>>2]|0)+(c[g>>2]<<2)>>2]|0,c[f>>2]|0)|0;c[h>>2]=d;if(d){e=9;break}c[g>>2]=(c[g>>2]|0)+1}if((e|0)==9){h=c[h>>2]|0;i=k;return h|0}return 0}function kN(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+48>>2]|0))break;kN(c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}B1(c[(c[b>>2]|0)+60>>2]|0);hK(c[(c[b>>2]|0)+52>>2]|0);B1(c[(c[b>>2]|0)+56>>2]|0);B1(c[b>>2]|0);i=e;return}function lN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;m=i;i=i+80|0;if((i|0)>=(j|0))ba();o=m+32|0;e=m+64|0;p=m+60|0;f=m+16|0;g=m+56|0;n=m;k=m+52|0;l=m+48|0;c[p>>2]=b;c[g>>2]=c[c[p>>2]>>2];b=(c[(c[(GC(c[g>>2]|0)|0)+8>>2]|0)+116>>2]&3)*90|0;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];UJ(n,o,b);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];if((c[g>>2]|0)!=(c[14304]|0)){c[l>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2];p=(c[(c[l>>2]|0)+4>>2]|0)-1<<1;c[k>>2]=p;c[k>>2]=(c[k>>2]|0)<0?0:p;h[4585]=+h[(c[(c[l>>2]|0)+44>>2]|0)+((c[k>>2]|0)+1<<4)>>3];c[14304]=c[g>>2]}q=+N(+(+h[f>>3]));if(!(q>+h[4585])?(q=+N(+(+h[f+8>>3])),!(q>+h[4585])):0){q=+w2(+h[f>>3],+h[f+8>>3]);a[e>>0]=q<=+h[4585];p=a[e>>0]|0;i=m;return p|0}a[e>>0]=0;p=a[e>>0]|0;i=m;return p|0}function mN(e,f){e=e|0;f=f|0;var g=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=i;i=i+80|0;if((i|0)>=(j|0))ba();l=x+60|0;m=x+56|0;t=x+52|0;g=x+48|0;r=x+44|0;s=x+40|0;v=x+36|0;u=x+32|0;k=x+28|0;n=x;w=x+24|0;q=x+64|0;o=x+20|0;p=x+16|0;c[l>>2]=e;c[m>>2]=f;c[t>>2]=c[(c[l>>2]|0)+16>>2];if(c[(c[t>>2]|0)+208>>2]|0)f=1;else f=((b[(c[t>>2]|0)+260>>1]<<15&65535)<<16>>16>>15<<16>>16|0)!=0;c[p>>2]=f&1;if((c[p>>2]|0)!=0?(c[(c[l>>2]|0)+152>>2]&4|0)==0:0)yR(c[l>>2]|0,c[(c[t>>2]|0)+208>>2]|0,c[(c[t>>2]|0)+228>>2]|0,c[(c[t>>2]|0)+244>>2]|0,c[(c[t>>2]|0)+212>>2]|0);c[g>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+12>>2];c[w>>2]=c[(c[g>>2]|0)+44>>2];c[v>>2]=c[(c[g>>2]|0)+8>>2];c[u>>2]=c[(c[g>>2]|0)+4>>2];if((c[14299]|0)<(c[v>>2]|0)){c[14299]=(c[v>>2]|0)+2;if(c[14300]|0)g=tK(c[14300]|0,c[14299]<<4)|0;else g=rK(c[14299]<<4)|0;c[14300]=g}XM(c[m>>2]|0,k)|0;g=c[l>>2]|0;if(c[k>>2]&32)GR(g,57204);else GR(g,57208);g=c[m>>2]|0;do if(!(d[(c[(c[m>>2]|0)+8>>2]|0)+117>>0]&1)){e=c[m>>2]|0;if(d[(c[g+8>>2]|0)+117>>0]&2){c[o>>2]=xO(e,c[13821]|0,143762)|0;DR(c[l>>2]|0,c[o>>2]|0);c[o>>2]=xO(c[m>>2]|0,c[13822]|0,143770)|0;ER(c[l>>2]|0,c[o>>2]|0);break}f=c[m>>2]|0;if(d[(c[e+8>>2]|0)+117>>0]&8){c[o>>2]=xO(f,c[13825]|0,143778)|0;DR(c[l>>2]|0,c[o>>2]|0);c[o>>2]=xO(c[m>>2]|0,c[13826]|0,143786)|0;ER(c[l>>2]|0,c[o>>2]|0);break}g=c[m>>2]|0;if(d[(c[f+8>>2]|0)+117>>0]&4){c[o>>2]=xO(g,c[13823]|0,143794)|0;DR(c[l>>2]|0,c[o>>2]|0);c[o>>2]=xO(c[m>>2]|0,c[13824]|0,143802)|0;ER(c[l>>2]|0,c[o>>2]|0);break}else{c[o>>2]=WM(g,174997)|0;ER(c[l>>2]|0,c[o>>2]|0);TM(c[l>>2]|0,c[m>>2]|0)|0;break}}else{c[o>>2]=xO(g,c[13819]|0,143746)|0;DR(c[l>>2]|0,c[o>>2]|0);c[o>>2]=xO(c[m>>2]|0,c[13820]|0,143754)|0;ER(c[l>>2]|0,c[o>>2]|0)}while(0);a[q>>0]=1;if((c[u>>2]|0)==0?(c[u>>2]=1,(a[c[o>>2]>>0]|0)!=0):0)DR(c[l>>2]|0,c[o>>2]|0);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[v>>2]|0))break;o=(c[r>>2]|0)+(_(c[s>>2]|0,c[v>>2]|0)|0)|0;o=(c[w>>2]|0)+(o<<4)|0;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];h[(c[14300]|0)+(c[r>>2]<<4)>>3]=+h[n>>3]+ +h[(c[(c[m>>2]|0)+8>>2]|0)+16>>3];h[(c[14300]|0)+(c[r>>2]<<4)+8>>3]=+h[n+8>>3]+ +h[(c[(c[m>>2]|0)+8>>2]|0)+16+8>>3];c[r>>2]=(c[r>>2]|0)+1}HR(c[l>>2]|0,c[14300]|0,c[v>>2]|0,d[q>>0]|0);a[q>>0]=0;c[s>>2]=(c[s>>2]|0)+1}if(!(c[p>>2]|0)){i=x;return}if(c[(c[l>>2]|0)+152>>2]&4)yR(c[l>>2]|0,c[(c[t>>2]|0)+208>>2]|0,c[(c[t>>2]|0)+228>>2]|0,c[(c[t>>2]|0)+244>>2]|0,c[(c[t>>2]|0)+212>>2]|0);zR(c[l>>2]|0);i=x;return}function nN(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=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;A=i;i=i+240|0;if((i|0)>=(j|0))ba();m=A+192|0;l=A+176|0;w=A+160|0;o=A+144|0;z=A+236|0;C=A+232|0;y=A+228|0;r=A+224|0;s=A+220|0;x=A+216|0;n=A+128|0;p=A+112|0;q=A+96|0;k=A+212|0;t=A+208|0;B=A+80|0;g=A+48|0;v=A+40|0;u=A+32|0;e=A;c[C>>2]=b;c[k>>2]=c[(c[C>>2]|0)+4>>2];c[t>>2]=c[c[C>>2]>>2];b=(c[(c[(GC(c[t>>2]|0)|0)+8>>2]|0)+116>>2]&3)*90|0;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];UJ(B,m,b);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];if(c[k>>2]|0){B=c[k>>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];c[g+16>>2]=c[B+16>>2];c[g+20>>2]=c[B+20>>2];c[g+24>>2]=c[B+24>>2];c[g+28>>2]=c[B+28>>2];if((+h[g>>3]<=+h[n>>3]?+h[n>>3]<=+h[g+16>>3]:0)?+h[g+8>>3]<=+h[n+8>>3]:0)e=+h[n+8>>3]<=+h[g+16+8>>3];else e=0;a[z>>0]=e&1;B=a[z>>0]|0;i=A;return B|0}if((c[t>>2]|0)!=(c[14305]|0)){c[14306]=c[(c[(c[t>>2]|0)+8>>2]|0)+12>>2];c[14307]=c[(c[14306]|0)+44>>2];c[14308]=c[(c[14306]|0)+8>>2];do if(c[(c[14306]|0)+40>>2]&2048){OO(e,c[14306]|0);h[v>>3]=+h[e+16>>3]-+h[e>>3];h[u>>3]=+h[e+16+8>>3]-+h[e+8>>3];B=(c[(c[(GC(c[t>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;f=+h[v>>3];if(B){h[4586]=f;h[4587]=+h[u>>3];break}else{h[4587]=f;h[4586]=+h[u>>3];break}}else{B=(c[(c[(GC(c[t>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;f=+h[(c[(c[t>>2]|0)+8>>2]|0)+88>>3]+ +h[(c[(c[t>>2]|0)+8>>2]|0)+96>>3];if(B){h[4586]=f;h[4587]=+h[(c[(c[t>>2]|0)+8>>2]|0)+80>>3]}else{h[4587]=f;h[4586]=+h[(c[(c[t>>2]|0)+8>>2]|0)+80>>3]}f=+h[(c[(c[t>>2]|0)+8>>2]|0)+32>>3]*72.0;h[v>>3]=+(~~(+h[(c[(c[t>>2]|0)+8>>2]|0)+32>>3]*72.0>=0.0?f+.5:f-.5)|0);f=+h[(c[(c[t>>2]|0)+8>>2]|0)+40>>3]*72.0;h[u>>3]=+(~~(+h[(c[(c[t>>2]|0)+8>>2]|0)+40>>3]*72.0>=0.0?f+.5:f-.5)|0)}while(0);if(+h[4587]==0.0)h[4587]=1.0;if(+h[4586]==0.0)h[4586]=1.0;h[4588]=+h[v>>3]/+h[4587];h[4589]=+h[u>>3]/+h[4586];h[4590]=+h[v>>3]/2.0;h[4591]=+h[u>>3]/2.0;B=_((c[(c[14306]|0)+4>>2]|0)-1|0,c[14308]|0)|0;c[14309]=B;c[14309]=(c[14309]|0)<0?0:B;c[14305]=c[t>>2]}h[n>>3]=+h[n>>3]*+h[4588];B=n+8|0;h[B>>3]=+h[B>>3]*+h[4589];f=+N(+(+h[n>>3]));if(!(f>+h[4590])?(f=+N(+(+h[n+8>>3])),!(f>+h[4591])):0){if((c[14308]|0)<=2){a[z>>0]=+w2(+h[n>>3]/+h[4590],+h[n+8>>3]/+h[4591])<1.0;B=a[z>>0]|0;i=A;return B|0}c[y>>2]=(c[14310]|0)%(c[14308]|0)|0;c[r>>2]=((c[y>>2]|0)+1|0)%(c[14308]|0)|0;B=(c[14307]|0)+((c[y>>2]|0)+(c[14309]|0)<<4)|0;c[p>>2]=c[B>>2];c[p+4>>2]=c[B+4>>2];c[p+8>>2]=c[B+8>>2];c[p+12>>2]=c[B+12>>2];B=(c[14307]|0)+((c[r>>2]|0)+(c[14309]|0)<<4)|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[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[w>>2]=c[9184];c[w+4>>2]=c[9185];c[w+8>>2]=c[9186];c[w+12>>2]=c[9187];c[l>>2]=c[p>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[l+12>>2]=c[p+12>>2];c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];if(!(_M(o,w,l,m)|0)){a[z>>0]=0;B=a[z>>0]|0;i=A;return B|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[w>>2]=c[p>>2];c[w+4>>2]=c[p+4>>2];c[w+8>>2]=c[p+8>>2];c[w+12>>2]=c[p+12>>2];c[l>>2]=c[q>>2];c[l+4>>2]=c[q+4>>2];c[l+8>>2]=c[q+8>>2];c[l+12>>2]=c[q+12>>2];c[m>>2]=c[9184];c[m+4>>2]=c[9185];c[m+8>>2]=c[9186];c[m+12>>2]=c[9187];B=_M(o,w,l,m)|0;c[x>>2]=B;if((B|0)!=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[w>>2]=c[q>>2],c[w+4>>2]=c[q+4>>2],c[w+8>>2]=c[q+8>>2],c[w+12>>2]=c[q+12>>2],c[l>>2]=c[9184],c[l+4>>2]=c[9185],c[l+8>>2]=c[9186],c[l+12>>2]=c[9187],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],(_M(o,w,l,m)|0)!=0):0){a[z>>0]=1;B=a[z>>0]|0;i=A;return B|0}c[s>>2]=1;while(1){if((c[s>>2]|0)>=(c[14308]|0)){e=39;break}if(c[x>>2]|0){c[y>>2]=c[r>>2];c[r>>2]=((c[y>>2]|0)+1|0)%(c[14308]|0)|0}else{c[r>>2]=c[y>>2];c[y>>2]=((c[y>>2]|0)+(c[14308]|0)-1|0)%(c[14308]|0)|0}v=(c[14307]|0)+((c[y>>2]|0)+(c[14309]|0)<<4)|0;B=(c[14307]|0)+((c[r>>2]|0)+(c[14309]|0)<<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];c[w>>2]=c[9184];c[w+4>>2]=c[9185];c[w+8>>2]=c[9186];c[w+12>>2]=c[9187];c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[l+12>>2]=c[v+12>>2];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(!(_M(o,w,l,m)|0)){e=37;break}c[s>>2]=(c[s>>2]|0)+1}if((e|0)==37){c[14310]=c[y>>2];a[z>>0]=0;B=a[z>>0]|0;i=A;return B|0}else if((e|0)==39){c[14310]=c[y>>2];a[z>>0]=1;B=a[z>>0]|0;i=A;return B|0}}a[z>>0]=0;B=a[z>>0]|0;i=A;return B|0}function oN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+80|0;if((i|0)>=(j|0))ba();k=F+76|0;l=F+72|0;m=F+68|0;n=F+64|0;o=F+60|0;r=F+56|0;z=F+52|0;C=F+48|0;y=F+44|0;t=F+40|0;s=F+36|0;A=F+32|0;B=F+28|0;w=F+24|0;p=F+20|0;x=F+16|0;D=F+12|0;u=F+8|0;q=F+4|0;v=F;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[z>>2]=qK(72)|0;c[y>>2]=0;c[s>>2]=0;c[B>>2]=0;c[v>>2]=c[(c[(c[l>>2]|0)+8>>2]|0)+104>>2];c[r>>2]=0;c[w>>2]=1;c[p>>2]=0;c[A>>2]=c[14311];while(1){if(!(a[c[A>>2]>>0]|0))break;if((a[c[A>>2]>>0]|0)==92?(c[A>>2]=(c[A>>2]|0)+1,(a[c[A>>2]>>0]|0)!=0):0){if((((a[c[A>>2]>>0]|0)!=123?(a[c[A>>2]>>0]|0)!=125:0)?(a[c[A>>2]>>0]|0)!=124:0)?(a[c[A>>2]>>0]|0)!=92:0)E=9}else E=9;if((E|0)==9){E=0;do if((a[c[A>>2]>>0]|0)!=123){if((a[c[A>>2]>>0]|0)==125){c[p>>2]=(c[p>>2]|0)+-1;break}if((c[p>>2]|0)==0?(a[c[A>>2]>>0]|0)==124:0)c[w>>2]=(c[w>>2]|0)+1}else c[p>>2]=(c[p>>2]|0)+1;while(0);if((c[p>>2]|0)<0)break}c[A>>2]=(c[A>>2]|0)+1}g=qK(c[w>>2]<<2)|0;c[(c[z>>2]|0)+56>>2]=g;a[(c[z>>2]|0)+64>>0]=c[m>>2];c[x>>2]=0;c[q>>2]=0;g=c[o>>2]|0;c[C>>2]=g;c[t>>2]=g;c[D>>2]=1;c[u>>2]=0;a:while(1){if(!(c[D>>2]|0)){E=94;break}if((a[c[14311]>>0]|0)<32?(a[c[14311]>>0]|0)!=0:0){c[14311]=(c[14311]|0)+1;continue}b:do switch(a[c[14311]>>0]|0){case 60:{if(c[x>>2]&6){E=24;break a}if(!(a[(c[v>>2]|0)+82>>0]|0)){c[x>>2]=c[x>>2]|18;c[14311]=(c[14311]|0)+1;g=c[o>>2]|0;c[y>>2]=g;c[s>>2]=g;continue a}break}case 62:{if(!(a[(c[v>>2]|0)+82>>0]|0)){if(!(c[x>>2]&16)){E=29;break a}if(((c[y>>2]|0)>>>0>((c[o>>2]|0)+1|0)>>>0?((c[y>>2]|0)+-1|0)!=(c[s>>2]|0):0)?(a[(c[y>>2]|0)+-1>>0]|0)==32:0)c[y>>2]=(c[y>>2]|0)+-1;a[c[y>>2]>>0]=0;c[B>>2]=d4(c[o>>2]|0)|0;c[x>>2]=c[x>>2]&-17;c[14311]=(c[14311]|0)+1;continue a}break}case 123:{c[14311]=(c[14311]|0)+1;if(c[x>>2]|0){E=37;break a}if(!(a[c[14311]>>0]|0)){E=37;break a}c[x>>2]=4;g=oN(c[l>>2]|0,((c[m>>2]|0)!=0^1)&1,0,c[o>>2]|0)|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[(c[z>>2]|0)+56>>2]|0)+(A<<2)>>2]=g;if(g)continue a;else{E=39;break a}}case 0:case 124:case 125:{if(!((a[c[14311]>>0]|0)!=0|(c[n>>2]|0)!=0)){E=42;break a}if(c[x>>2]&16){E=42;break a}if(!(c[x>>2]&4)){g=qK(72)|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[(c[z>>2]|0)+56>>2]|0)+(A<<2)>>2]=g;c[r>>2]=g}if(c[B>>2]|0){c[(c[r>>2]|0)+60>>2]=c[B>>2];c[B>>2]=0}if(!(c[x>>2]&5)){c[x>>2]=c[x>>2]|1;g=c[C>>2]|0;c[C>>2]=g+1;a[g>>0]=32}if(c[x>>2]&1){if(((c[C>>2]|0)>>>0>((c[o>>2]|0)+1|0)>>>0?((c[C>>2]|0)+-1|0)!=(c[t>>2]|0):0)?(a[(c[C>>2]|0)+-1>>0]|0)==32:0)c[C>>2]=(c[C>>2]|0)+-1;a[c[C>>2]>>0]=0;A=c[l>>2]|0;g=d4(c[o>>2]|0)|0;g=fK(A,g,(d[(c[v>>2]|0)+82>>0]|0)!=0?2:0,+h[(c[v>>2]|0)+16>>3],c[(c[v>>2]|0)+4>>2]|0,c[(c[v>>2]|0)+8>>2]|0)|0;c[(c[r>>2]|0)+52>>2]=g;a[(c[r>>2]|0)+64>>0]=1;g=c[o>>2]|0;c[C>>2]=g;c[t>>2]=g}if(!(a[c[14311]>>0]|0)){c[D>>2]=0;continue a}if((a[c[14311]>>0]|0)==125){E=57;break a}c[x>>2]=0;c[14311]=(c[14311]|0)+1;continue a}case 92:{if(a[(c[14311]|0)+1>>0]|0){if(((((a[(c[14311]|0)+1>>0]|0)!=123?(a[(c[14311]|0)+1>>0]|0)!=125:0)?(a[(c[14311]|0)+1>>0]|0)!=124:0)?(a[(c[14311]|0)+1>>0]|0)!=60:0)?(a[(c[14311]|0)+1>>0]|0)!=62:0){if((a[(c[14311]|0)+1>>0]|0)==32?(a[(c[v>>2]|0)+82>>0]|0)==0:0){c[u>>2]=1;c[14311]=(c[14311]|0)+1;break b}g=c[C>>2]|0;c[C>>2]=g+1;a[g>>0]=92;c[x>>2]=c[x>>2]|9;c[14311]=(c[14311]|0)+1;break b}c[14311]=(c[14311]|0)+1}break}default:{}}while(0);if((c[x>>2]&4|0)!=0?(a[c[14311]>>0]|0)!=32:0){E=73;break}if((c[x>>2]&24|0)==0?(a[c[14311]>>0]|0)!=32:0)c[x>>2]=c[x>>2]|9;if(c[x>>2]&8){if(!((!((c[u>>2]|0)!=0?1:(a[c[14311]>>0]|0)!=32)?(a[(c[C>>2]|0)+-1>>0]|0)==32:0)?(a[(c[v>>2]|0)+82>>0]|0)==0:0)){A=a[c[14311]>>0]|0;g=c[C>>2]|0;c[C>>2]=g+1;a[g>>0]=A}if(c[u>>2]|0)c[t>>2]=(c[C>>2]|0)+-1}else if(c[x>>2]&16){if(!((c[u>>2]|0)!=0?1:(a[c[14311]>>0]|0)!=32)){if((c[y>>2]|0)!=(c[o>>2]|0)?(a[(c[y>>2]|0)+-1>>0]|0)!=32:0)E=88}else E=88;if((E|0)==88){E=0;A=a[c[14311]>>0]|0;g=c[y>>2]|0;c[y>>2]=g+1;a[g>>0]=A}if(c[u>>2]|0)c[s>>2]=(c[y>>2]|0)+-1}c[14311]=(c[14311]|0)+1;while(1){if(!(a[c[14311]>>0]&128))continue a;A=c[14311]|0;c[14311]=A+1;A=a[A>>0]|0;g=c[C>>2]|0;c[C>>2]=g+1;a[g>>0]=A}}if((E|0)==24){c[k>>2]=sN(c[z>>2]|0,c[B>>2]|0)|0;E=c[k>>2]|0;i=F;return E|0}else if((E|0)==29){c[k>>2]=sN(c[z>>2]|0,c[B>>2]|0)|0;E=c[k>>2]|0;i=F;return E|0}else if((E|0)==37){c[k>>2]=sN(c[z>>2]|0,c[B>>2]|0)|0;E=c[k>>2]|0;i=F;return E|0}else if((E|0)==39){c[k>>2]=sN(c[z>>2]|0,c[B>>2]|0)|0;E=c[k>>2]|0;i=F;return E|0}else if((E|0)==42){c[k>>2]=sN(c[z>>2]|0,c[B>>2]|0)|0;E=c[k>>2]|0;i=F;return E|0}else if((E|0)==57){c[14311]=(c[14311]|0)+1;c[(c[z>>2]|0)+48>>2]=c[q>>2];c[k>>2]=c[z>>2];E=c[k>>2]|0;i=F;return E|0}else if((E|0)==73){c[k>>2]=sN(c[z>>2]|0,c[B>>2]|0)|0;E=c[k>>2]|0;i=F;return E|0}else if((E|0)==94){c[(c[z>>2]|0)+48>>2]=c[q>>2];c[k>>2]=c[z>>2];E=c[k>>2]|0;i=F;return E|0}return 0}function pN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=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.0;u=i;i=i+112|0;if((i|0)>=(j|0))ba();s=u+80|0;f=u+100|0;g=u+96|0;o=u+92|0;r=u+88|0;p=u+72|0;q=u+64|0;l=u+48|0;m=u+32|0;n=u+16|0;k=u;c[f>>2]=d;c[g>>2]=e;if(!(c[(c[g>>2]|0)+52>>2]|0)){h[l+8>>3]=0.0;h[l>>3]=0.0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[g>>2]|0)+48>>2]|0))break;pN(k,c[f>>2]|0,c[(c[(c[g>>2]|0)+56>>2]|0)+(c[o>>2]<<2)>>2]|0);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(a[(c[g>>2]|0)+64>>0]|0){h[l>>3]=+h[l>>3]+ +h[m>>3];h[l+8>>3]=+h[l+8>>3]>+h[m+8>>3]?+h[l+8>>3]:+h[m+8>>3]}else{t=l+8|0;h[t>>3]=+h[t>>3]+ +h[m+8>>3];h[l>>3]=+h[l>>3]>+h[m>>3]?+h[l>>3]:+h[m>>3]}c[o>>2]=(c[o>>2]|0)+1}t=c[g>>2]|0;c[t>>2]=c[l>>2];c[t+4>>2]=c[l+4>>2];c[t+8>>2]=c[l+8>>2];c[t+12>>2]=c[l+12>>2];c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];i=u;return}d=(c[(c[g>>2]|0)+52>>2]|0)+24|0;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(!(!(+h[n>>3]>0.0)?!(+h[n+8>>3]>0.0):0))t=4;do if((t|0)==4){t=OA(c[f>>2]|0,144038)|0;c[r>>2]=t;if(!t){h[n>>3]=+h[n>>3]+16.0;t=n+8|0;h[t>>3]=+h[t>>3]+8.0;break}t=c[r>>2]|0;c[s>>2]=p;c[s+4>>2]=q;c[o>>2]=E3(t,144045,s)|0;if((c[o>>2]|0)>0){v=+h[p>>3]*72.0;h[n>>3]=+h[n>>3]+ +(~~(+h[p>>3]*72.0>=0.0?v+.5:v-.5)<<1|0);v=+h[q>>3]*72.0;t=n+8|0;h[t>>3]=+h[t>>3]+ +(~~(+h[q>>3]*72.0>=0.0?v+.5:v-.5)<<1|0);break}else{h[n>>3]=+h[n>>3]+16.0;t=n+8|0;h[t>>3]=+h[t>>3]+8.0;break}}while(0);c[l>>2]=c[n>>2];c[l+4>>2]=c[n+4>>2];c[l+8>>2]=c[n+8>>2];c[l+12>>2]=c[n+12>>2];t=c[g>>2]|0;c[t>>2]=c[l>>2];c[t+4>>2]=c[l+4>>2];c[t+8>>2]=c[l+8>>2];c[t+12>>2]=c[l+12>>2];c[b>>2]=c[l>>2];c[b+4>>2]=c[l+4>>2];c[b+8>>2]=c[l+8>>2];c[b+12>>2]=c[l+12>>2];i=u;return}function qN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+112|0;if((i|0)>=(j|0))ba();r=t+72|0;f=t+104|0;g=t+100|0;o=t+96|0;m=t+92|0;p=t+64|0;n=t+48|0;q=t+32|0;s=t+88|0;k=t+16|0;l=t;c[f>>2]=b;c[g>>2]=e;h[n>>3]=+h[d>>3]-+h[c[f>>2]>>3];h[n+8>>3]=+h[d+8>>3]-+h[(c[f>>2]|0)+8>>3];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];if(!((c[g>>2]|0)!=0?1:(c[(c[f>>2]|0)+52>>2]|0)==0)){e=(c[(c[f>>2]|0)+52>>2]|0)+40|0;h[e>>3]=+h[e>>3]+ +h[n>>3];e=(c[(c[f>>2]|0)+52>>2]|0)+40+8|0;h[e>>3]=+h[e>>3]+ +h[n+8>>3]}if(!(c[(c[f>>2]|0)+48>>2]|0)){i=t;return}if(a[(c[f>>2]|0)+64>>0]|0)h[p>>3]=+h[n>>3]/+(c[(c[f>>2]|0)+48>>2]|0);else h[p>>3]=+h[n+8>>3]/+(c[(c[f>>2]|0)+48>>2]|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[f>>2]|0)+48>>2]|0))break;c[s>>2]=c[(c[(c[f>>2]|0)+56>>2]|0)+(c[o>>2]<<2)>>2];c[m>>2]=~~(+((c[o>>2]|0)+1|0)*+h[p>>3])-~~(+(c[o>>2]|0)*+h[p>>3]);if(a[(c[f>>2]|0)+64>>0]|0){FM(k,+h[c[s>>2]>>3]+ +(c[m>>2]|0),+h[d+8>>3]);c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2]}else{FM(l,+h[d>>3],+h[(c[s>>2]|0)+8>>3]+ +(c[m>>2]|0));c[q>>2]=c[l>>2];c[q+4>>2]=c[l+4>>2];c[q+8>>2]=c[l+8>>2];c[q+12>>2]=c[l+12>>2]}b=c[s>>2]|0;e=c[g>>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];qN(b,r,e);c[o>>2]=(c[o>>2]|0)+1}i=t;return}function rN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+80|0;if((i|0)>=(j|0))ba();n=o+32|0;f=o+64|0;g=o+60|0;k=o+56|0;l=o+52|0;m=o+48|0;q=o+16|0;p=o;c[f>>2]=b;c[g>>2]=e;a[(c[f>>2]|0)+65>>0]=c[g>>2];b=(c[f>>2]|0)+16|0;FM(q,+h[d>>3],+h[d+8>>3]-+h[(c[f>>2]|0)+8>>3]);c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];c[b+8>>2]=c[q+8>>2];c[b+12>>2]=c[q+12>>2];b=(c[f>>2]|0)+16+16|0;FM(p,+h[d>>3]+ +h[c[f>>2]>>3],+h[d+8>>3]);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];c[l>>2]=(c[(c[f>>2]|0)+48>>2]|0)-1;c[k>>2]=0;while(1){if((c[k>>2]|0)>(c[l>>2]|0))break;do if(c[g>>2]|0){e=(c[k>>2]|0)==0;b=(c[k>>2]|0)==(c[l>>2]|0);if(a[(c[f>>2]|0)+64>>0]|0)if(e)if(b){c[m>>2]=15;break}else{c[m>>2]=13;break}else if(b){c[m>>2]=7;break}else{c[m>>2]=5;break}else if(e)if(b){c[m>>2]=15;break}else{c[m>>2]=14;break}else if(b){c[m>>2]=11;break}else{c[m>>2]=10;break}}else c[m>>2]=0;while(0);p=c[(c[(c[f>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]|0;q=c[g>>2]&c[m>>2];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];rN(p,n,q);if(a[(c[f>>2]|0)+64>>0]|0)h[d>>3]=+h[d>>3]+ +h[c[(c[(c[f>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]>>3];else h[d+8>>3]=+h[d+8>>3]-+h[(c[(c[(c[f>>2]|0)+56>>2]|0)+(c[k>>2]<<2)>>2]|0)+8>>3];c[k>>2]=(c[k>>2]|0)+1}i=o;return}function sN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;kN(c[f>>2]|0);if(!(c[d>>2]|0)){i=e;return 0}B1(c[d>>2]|0);i=e;return 0}function tN(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0;b=i;i=i+32|0;if((i|0)>=(j|0))ba();g=b+16|0;f=b+8|0;e=b;c[g>>2]=a;h[f>>3]=+uO(c[g>>2]|0,c[13815]|0,0.0,.01);h[e>>3]=+uO(c[g>>2]|0,c[13814]|0,0.0,.02);d=(+h[f>>3]>+h[e>>3]?+h[f>>3]:+h[e>>3])*72.0;i=b;return +(+(~~((+h[f>>3]>+h[e>>3]?+h[f>>3]:+h[e>>3])*72.0>=0.0?d+.5:d-.5)|0))}function uN(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();g=f+8|0;d=f;e=f+16|0;h[g>>3]=a;h[d>>3]=b;c[e>>2]=~~(+h[g>>3]/+h[d>>3]);if(+(c[e>>2]|0)*+h[d>>3]+1.0e-05<+h[g>>3])c[e>>2]=(c[e>>2]|0)+1;i=f;return +(+(c[e>>2]|0)*+h[d>>3])}function vN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=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.0;B=i;i=i+256|0;if((i|0)>=(j|0))ba();x=B+200|0;g=B+244|0;k=B+240|0;l=B+236|0;C=B+249|0;z=B+136|0;n=B+72|0;w=B+56|0;v=B+40|0;s=B+232|0;y=B+228|0;t=B+32|0;p=B+24|0;A=B+16|0;r=B+224|0;u=B+220|0;o=B+248|0;q=B+216|0;m=B;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;a[C>>0]=f;if(a[C>>0]|0){c[s>>2]=0;c[y>>2]=z;C=c[l>>2]|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[w+12>>2]=c[C+12>>2];c[r>>2]=t;c[u>>2]=p}else{c[s>>2]=z;c[y>>2]=0;C=(c[l>>2]|0)+48|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[w+12>>2]=c[C+12>>2];c[r>>2]=p;c[u>>2]=t}a[o>>0]=0;h[t>>3]=0.0;h[p>>3]=1.0;while(1){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];h[A>>3]=(+h[p>>3]+ +h[t>>3])/2.0;FO(m,c[l>>2]|0,3,+h[A>>3],c[s>>2]|0,c[y>>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];e=c[k>>2]|0;C=c[g>>2]|0;c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];if((gc[e&127](C,x)|0)<<24>>24)h[c[r>>2]>>3]=+h[A>>3];else{c[q>>2]=0;while(1){if((c[q>>2]|0)>=4)break;C=n+(c[q>>2]<<4)|0;e=z+(c[q>>2]<<4)|0;c[C>>2]=c[e>>2];c[C+4>>2]=c[e+4>>2];c[C+8>>2]=c[e+8>>2];c[C+12>>2]=c[e+12>>2];c[q>>2]=(c[q>>2]|0)+1}a[o>>0]=1;h[c[u>>2]>>3]=+h[A>>3]}D=+h[v>>3]-+h[w>>3];if((+h[v>>3]-+h[w>>3]>=0.0?D:-D)>.5)continue;D=+h[v+8>>3]-+h[w+8>>3];if(!((+h[v+8>>3]-+h[w+8>>3]>=0.0?D:-D)>.5))break}C=(a[o>>0]|0)!=0;c[q>>2]=0;if(C){while(1){if((c[q>>2]|0)>=4)break;C=(c[l>>2]|0)+(c[q>>2]<<4)|0;A=n+(c[q>>2]<<4)|0;c[C>>2]=c[A>>2];c[C+4>>2]=c[A+4>>2];c[C+8>>2]=c[A+8>>2];c[C+12>>2]=c[A+12>>2];c[q>>2]=(c[q>>2]|0)+1}i=B;return}else{while(1){if((c[q>>2]|0)>=4)break;C=(c[l>>2]|0)+(c[q>>2]<<4)|0;A=z+(c[q>>2]<<4)|0;c[C>>2]=c[A>>2];c[C+4>>2]=c[A+4>>2];c[C+8>>2]=c[A+8>>2];c[C+12>>2]=c[A+12>>2];c[q>>2]=(c[q>>2]|0)+1}i=B;return}}function wN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();k=o+24|0;e=o+52|0;f=o+48|0;n=o+16|0;m=o+56|0;g=o;l=o+40|0;c[e>>2]=b;c[f>>2]=d;if(!(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)){i=o;return}if(!(c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0)){i=o;return}c[l>>2]=c[e>>2];c[l+4>>2]=0;h[n>>3]=+h[(c[(c[e>>2]|0)+8>>2]|0)+96>>3];h[g>>3]=+h[c[f>>2]>>3]-+h[(c[(c[e>>2]|0)+8>>2]|0)+16>>3];h[g+8>>3]=+h[(c[f>>2]|0)+8>>3]-+h[(c[(c[e>>2]|0)+8>>2]|0)+16+8>>3];b=c[(c[(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;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];a[m>>0]=gc[b&127](l,k)|0;h[(c[(c[e>>2]|0)+8>>2]|0)+96>>3]=+h[n>>3];JN(l,c[e>>2]|0,c[f>>2]|0,a[m>>0]|0);i=o;return}function xN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();e=k+8|0;f=k+4|0;g=k;c[e>>2]=b;c[f>>2]=d;while(1){b=c[(c[e>>2]|0)+8>>2]|0;if(!(a[(c[(c[e>>2]|0)+8>>2]|0)+112>>0]|0))break;c[e>>2]=c[b+116>>2]}if(!(c[b+8>>2]|0)){d=qK(40)|0;c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]=d}b=c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0;if(c[c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]>>2]|0)b=tK(c[b>>2]|0,((c[(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+1|0)*48|0)|0;else b=rK(((c[b+4>>2]|0)+1|0)*48|0)|0;c[c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]>>2]=b;b=(c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0)+4|0;d=c[b>>2]|0;c[b>>2]=d+1;c[g>>2]=(c[c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]>>2]|0)+(d*48|0);e=qK(c[f>>2]<<4)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+4>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+8>>2]=0;h[(c[g>>2]|0)+32+8>>3]=0.0;h[(c[g>>2]|0)+32>>3]=0.0;h[(c[g>>2]|0)+16+8>>3]=0.0;h[(c[g>>2]|0)+16>>3]=0.0;i=k;return c[g>>2]|0}function yN(b,e,f,g,k){b=b|0;e=e|0;f=f|0;g=g|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;G=i;i=i+176|0;if((i|0)>=(j|0))ba();A=G+80|0;m=G+172|0;n=G+168|0;o=G+164|0;p=G+160|0;q=G+156|0;z=G+64|0;E=G+152|0;C=G+148|0;F=G+144|0;D=G+140|0;w=G+136|0;s=G+132|0;r=G+128|0;u=G+124|0;y=G+120|0;B=G+116|0;v=G+112|0;x=G+104|0;l=G+96|0;t=G;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=k;f=c[m>>2]|0;c[C>>2]=c[((c[c[m>>2]>>2]&3|0)==3?f:f+32|0)+28>>2];c[u>>2]=GC(c[C>>2]|0)|0;c[E>>2]=xN(c[m>>2]|0,c[p>>2]|0)|0;c[y>>2]=c[m>>2];while(1){if(!(a[(c[(c[y>>2]|0)+8>>2]|0)+112>>0]|0))break;c[y>>2]=c[(c[(c[y>>2]|0)+8>>2]|0)+116>>2]}if(((a[(c[q>>2]|0)+8>>0]|0)==0?(c[(c[(c[C>>2]|0)+8>>2]|0)+232>>2]|0)==(c[(c[(c[n>>2]|0)+8>>2]|0)+232>>2]|0):0)?(c[(c[(c[C>>2]|0)+8>>2]|0)+236>>2]|0)>(c[(c[(c[n>>2]|0)+8>>2]|0)+236>>2]|0):0){c[l>>2]=c[n>>2];c[n>>2]=c[C>>2];c[C>>2]=c[l>>2]}l=c[y>>2]|0;b=c[(c[y>>2]|0)+8>>2]|0;if((c[C>>2]|0)==(c[((c[c[y>>2]>>2]&3|0)==3?l:l+32|0)+28>>2]|0)){c[s>>2]=d[b+16+30>>0];c[r>>2]=d[(c[(c[y>>2]|0)+8>>2]|0)+56+30>>0];c[B>>2]=c[(c[(c[y>>2]|0)+8>>2]|0)+16+24>>2];c[v>>2]=c[(c[(c[y>>2]|0)+8>>2]|0)+56+24>>2]}else{c[s>>2]=d[b+56+30>>0];c[r>>2]=d[(c[(c[y>>2]|0)+8>>2]|0)+16+30>>0];c[v>>2]=c[(c[(c[y>>2]|0)+8>>2]|0)+16+24>>2];c[B>>2]=c[(c[(c[y>>2]|0)+8>>2]|0)+56+24>>2]}if(((c[s>>2]|0)!=0?(c[(c[(c[C>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0)?(c[(c[(c[(c[(c[C>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0)!=0:0){c[x>>2]=c[C>>2];c[x+4>>2]=c[B>>2];c[F>>2]=0;while(1){if((c[F>>2]|0)>=((c[p>>2]|0)-4|0))break;h[z>>3]=+h[(c[o>>2]|0)+((c[F>>2]|0)+3<<4)>>3]-+h[(c[(c[C>>2]|0)+8>>2]|0)+16>>3];h[z+8>>3]=+h[(c[o>>2]|0)+((c[F>>2]|0)+3<<4)+8>>3]-+h[(c[(c[C>>2]|0)+8>>2]|0)+16+8>>3];B=c[(c[(c[(c[(c[C>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];c[A+12>>2]=c[z+12>>2];if(!((gc[B&127](x,A)|0)&255))break;c[F>>2]=(c[F>>2]|0)+3}JN(x,c[C>>2]|0,(c[o>>2]|0)+(c[F>>2]<<4)|0,1)}else c[F>>2]=0;if(((c[r>>2]|0)!=0?(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0)!=0:0)?(c[(c[(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0)!=0:0){c[x>>2]=c[n>>2];c[x+4>>2]=c[v>>2];c[D>>2]=(c[p>>2]|0)-4;while(1){if((c[D>>2]|0)<=0)break;h[z>>3]=+h[(c[o>>2]|0)+(c[D>>2]<<4)>>3]-+h[(c[(c[n>>2]|0)+8>>2]|0)+16>>3];h[z+8>>3]=+h[(c[o>>2]|0)+(c[D>>2]<<4)+8>>3]-+h[(c[(c[n>>2]|0)+8>>2]|0)+16+8>>3];C=c[(c[(c[(c[(c[n>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[z>>2];c[A+4>>2]=c[z+4>>2];c[A+8>>2]=c[z+8>>2];c[A+12>>2]=c[z+12>>2];if(!((gc[C&127](x,A)|0)&255))break;c[D>>2]=(c[D>>2]|0)-3}JN(x,c[n>>2]|0,(c[o>>2]|0)+(c[D>>2]<<4)|0,0)}else c[D>>2]=(c[p>>2]|0)-4;while(1){if((c[F>>2]|0)>=((c[p>>2]|0)-4|0))break;if(!((+h[(c[o>>2]|0)+(c[F>>2]<<4)>>3]-+h[(c[o>>2]|0)+((c[F>>2]|0)+3<<4)>>3])*(+h[(c[o>>2]|0)+(c[F>>2]<<4)>>3]-+h[(c[o>>2]|0)+((c[F>>2]|0)+3<<4)>>3])+(+h[(c[o>>2]|0)+(c[F>>2]<<4)+8>>3]-+h[(c[o>>2]|0)+((c[F>>2]|0)+3<<4)+8>>3])*(+h[(c[o>>2]|0)+(c[F>>2]<<4)+8>>3]-+h[(c[o>>2]|0)+((c[F>>2]|0)+3<<4)+8>>3])<1.0e-06))break;c[F>>2]=(c[F>>2]|0)+3}while(1){if((c[D>>2]|0)<=0)break;if(!((+h[(c[o>>2]|0)+(c[D>>2]<<4)>>3]-+h[(c[o>>2]|0)+((c[D>>2]|0)+3<<4)>>3])*(+h[(c[o>>2]|0)+(c[D>>2]<<4)>>3]-+h[(c[o>>2]|0)+((c[D>>2]|0)+3<<4)>>3])+(+h[(c[o>>2]|0)+(c[D>>2]<<4)+8>>3]-+h[(c[o>>2]|0)+((c[D>>2]|0)+3<<4)+8>>3])*(+h[(c[o>>2]|0)+(c[D>>2]<<4)+8>>3]-+h[(c[o>>2]|0)+((c[D>>2]|0)+3<<4)+8>>3])<1.0e-06))break;c[D>>2]=(c[D>>2]|0)-3}KN(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,F,D,c[E>>2]|0,c[q>>2]|0);c[w>>2]=c[F>>2];while(1){if((c[w>>2]|0)>=((c[D>>2]|0)+4|0)){b=39;break}C=(c[c[E>>2]>>2]|0)+((c[w>>2]|0)-(c[F>>2]|0)<<4)|0;B=(c[o>>2]|0)+(c[w>>2]<<4)|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];C=(c[o>>2]|0)+(c[w>>2]<<4)|0;c[t>>2]=c[C>>2];c[t+4>>2]=c[C+4>>2];c[t+8>>2]=c[C+8>>2];c[t+12>>2]=c[C+12>>2];c[w>>2]=(c[w>>2]|0)+1;if((c[w>>2]|0)>=((c[D>>2]|0)+4|0)){b=39;break}C=(c[c[E>>2]>>2]|0)+((c[w>>2]|0)-(c[F>>2]|0)<<4)|0;B=(c[o>>2]|0)+(c[w>>2]<<4)|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];C=t+16|0;B=(c[o>>2]|0)+(c[w>>2]<<4)|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];c[w>>2]=(c[w>>2]|0)+1;C=(c[c[E>>2]>>2]|0)+((c[w>>2]|0)-(c[F>>2]|0)<<4)|0;B=(c[o>>2]|0)+(c[w>>2]<<4)|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];C=t+32|0;B=(c[o>>2]|0)+(c[w>>2]<<4)|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];c[w>>2]=(c[w>>2]|0)+1;C=t+48|0;B=(c[o>>2]|0)+(c[w>>2]<<4)|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];SH((c[(c[u>>2]|0)+8>>2]|0)+16|0,t)}if((b|0)==39){c[(c[E>>2]|0)+4>>2]=(c[D>>2]|0)-(c[F>>2]|0)+4;i=G;return}}function zN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=a;if(!(+h[b>>3]<+h[b+16>>3])){i=e;return}if(!(+h[b+8>>3]<+h[b+16+8>>3])){i=e;return}f=(c[d>>2]|0)+80|0;a=c[f>>2]|0;c[f>>2]=a+1;a=(c[(c[d>>2]|0)+84>>2]|0)+(a<<5)|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[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];i=e;return}function AN(b,e,f,g,k){b=b|0;e=e|0;f=f|0;g=g|0;k=k|0;var l=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+272|0;if((i|0)>=(j|0))ba();p=G+200|0;o=G+184|0;C=G+252|0;D=G+248|0;r=G+244|0;F=G+240|0;s=G+256|0;B=G+236|0;u=G+232|0;E=G+228|0;v=G+224|0;l=G+144|0;q=G+128|0;y=G+220|0;w=G+96|0;x=G+64|0;t=G+32|0;z=G;A=G+216|0;c[C>>2]=b;c[D>>2]=e;c[r>>2]=f;c[F>>2]=g;a[s>>0]=k;k=c[D>>2]|0;c[E>>2]=c[((c[c[D>>2]>>2]&3|0)==3?k:k+32|0)+28>>2];if(a[(c[(c[D>>2]|0)+8>>2]|0)+16+31>>0]|0){b=(c[(c[D>>2]|0)+8>>2]|0)+16|0;k=c[D>>2]|0;e=c[D>>2]|0;wM(l,c[((c[c[D>>2]>>2]&3|0)==3?k:k+32|0)+28>>2]|0,c[((c[c[D>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0,(c[(c[D>>2]|0)+8>>2]|0)+16|0);e=b+40|0;do{c[b>>2]=c[l>>2];b=b+4|0;l=l+4|0}while((b|0)<(e|0))}if(c[(c[(c[E>>2]|0)+8>>2]|0)+8>>2]|0)c[v>>2]=c[(c[(c[(c[(c[E>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+16>>2];else c[v>>2]=0;l=c[C>>2]|0;f=(c[(c[E>>2]|0)+8>>2]|0)+16|0;k=(c[(c[D>>2]|0)+8>>2]|0)+16|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[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];LN(q,o,p);c[l>>2]=c[q>>2];c[l+4>>2]=c[q+4>>2];c[l+8>>2]=c[q+8>>2];c[l+12>>2]=c[q+12>>2];l=c[D>>2]|0;do if(!(a[s>>0]|0))if(a[(c[l+8>>2]|0)+16+29>>0]|0){h[(c[C>>2]|0)+16>>3]=+h[(c[(c[D>>2]|0)+8>>2]|0)+16+16>>3];a[(c[C>>2]|0)+29>>0]=1;break}else{a[(c[C>>2]|0)+29>>0]=0;break}else{s=c[D>>2]|0;n=+MN(c[((c[l>>2]&3|0)==3?s:s+32|0)+28>>2]|0);h[(c[C>>2]|0)+16>>3]=n;a[(c[C>>2]|0)+29>>0]=1}while(0);c[(c[C>>2]|0)+80>>2]=0;c[(c[C>>2]|0)+88>>2]=c[D>>2];s=(c[F>>2]|0)+32|0;q=c[C>>2]|0;c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];if(((c[r>>2]|0)==1?(a[(c[(c[E>>2]|0)+8>>2]|0)+156>>0]|0)==0:0)?(s=d[(c[(c[D>>2]|0)+8>>2]|0)+16+33>>0]|0,c[B>>2]=s,(s|0)!=0):0){A=c[F>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=c[A+4>>2];c[x+8>>2]=c[A+8>>2];c[x+12>>2]=c[A+12>>2];c[x+16>>2]=c[A+16>>2];c[x+20>>2]=c[A+20>>2];c[x+24>>2]=c[A+24>>2];c[x+28>>2]=c[A+28>>2];do if(c[B>>2]&4){c[(c[F>>2]|0)+48>>2]=4;m=+h[x>>3];if(+h[c[C>>2]>>3]<+h[(c[(c[E>>2]|0)+8>>2]|0)+16>>3]){h[w>>3]=m-1.0;h[w+8>>3]=+h[(c[C>>2]|0)+8>>3];h[w+16>>3]=+h[x+16>>3];n=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;h[w+16+8>>3]=n+ +((c[(c[(GC(c[E>>2]|0)|0)+8>>2]|0)+252>>2]|0)/2|0|0);h[x+16>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[E>>2]|0)+8>>2]|0)+88>>3]-0.0;h[x+16+8>>3]=+h[w+8>>3];h[x+8>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;h[x>>3]=+h[x>>3]-1.0;B=(c[F>>2]|0)+56|0;c[B>>2]=c[w>>2];c[B+4>>2]=c[w+4>>2];c[B+8>>2]=c[w+8>>2];c[B+12>>2]=c[w+12>>2];c[B+16>>2]=c[w+16>>2];c[B+20>>2]=c[w+20>>2];c[B+24>>2]=c[w+24>>2];c[B+28>>2]=c[w+28>>2];B=(c[F>>2]|0)+56+32|0;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];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2]}else{h[w>>3]=m;h[w+8>>3]=+h[(c[C>>2]|0)+8>>3];h[w+16>>3]=+h[x+16>>3]+1.0;n=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;h[w+16+8>>3]=n+ +((c[(c[(GC(c[E>>2]|0)|0)+8>>2]|0)+252>>2]|0)/2|0|0);h[x>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[E>>2]|0)+8>>2]|0)+96>>3]+0.0;h[x+16+8>>3]=+h[w+8>>3];h[x+8>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;B=x+16|0;h[B>>3]=+h[B>>3]+1.0;B=(c[F>>2]|0)+56|0;c[B>>2]=c[w>>2];c[B+4>>2]=c[w+4>>2];c[B+8>>2]=c[w+8>>2];c[B+12>>2]=c[w+12>>2];c[B+16>>2]=c[w+16>>2];c[B+20>>2]=c[w+20>>2];c[B+24>>2]=c[w+24>>2];c[B+28>>2]=c[w+28>>2];B=(c[F>>2]|0)+56+32|0;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];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2]}C=(c[C>>2]|0)+8|0;h[C>>3]=+h[C>>3]+1.0;c[(c[F>>2]|0)+52>>2]=2}else{if(!(c[B>>2]&1)){l=(c[F>>2]|0)+48|0;if(c[B>>2]&8){c[l>>2]=8;h[x+16>>3]=+h[c[C>>2]>>3];h[x+8>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;h[x+16+8>>3]=+h[(c[C>>2]|0)+8>>3];B=(c[F>>2]|0)+56|0;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];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];c[(c[F>>2]|0)+52>>2]=1;F=c[C>>2]|0;h[F>>3]=+h[F>>3]-1.0;break}else{c[l>>2]=2;h[x>>3]=+h[c[C>>2]>>3];h[x+8>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;h[x+16+8>>3]=+h[(c[C>>2]|0)+8>>3];B=(c[F>>2]|0)+56|0;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];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];c[(c[F>>2]|0)+52>>2]=1;F=c[C>>2]|0;h[F>>3]=+h[F>>3]+1.0;break}}c[(c[F>>2]|0)+48>>2]=1;if(+h[x+16+8>>3]>+h[(c[C>>2]|0)+8>>3])m=+h[x+16+8>>3];else m=+h[(c[C>>2]|0)+8>>3];h[x+16+8>>3]=m;B=(c[F>>2]|0)+56|0;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];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];c[(c[F>>2]|0)+52>>2]=1;F=(c[C>>2]|0)+8|0;h[F>>3]=+h[F>>3]-1.0}while(0);c[y>>2]=c[D>>2];while(1){if(!(a[(c[(c[y>>2]|0)+8>>2]|0)+112>>0]|0))break;c[y>>2]=c[(c[(c[y>>2]|0)+8>>2]|0)+116>>2]}F=c[y>>2]|0;l=c[(c[y>>2]|0)+8>>2]|0;if((c[E>>2]|0)==(c[((c[c[y>>2]>>2]&3|0)==3?F:F+32|0)+28>>2]|0)){a[l+16+30>>0]=0;i=G;return}else{a[l+56+30>>0]=0;i=G;return}}if((c[r>>2]|0)==2?(y=d[(c[(c[D>>2]|0)+8>>2]|0)+16+33>>0]|0,c[B>>2]=y,(y|0)!=0):0){y=c[F>>2]|0;c[z>>2]=c[y>>2];c[z+4>>2]=c[y+4>>2];c[z+8>>2]=c[y+8>>2];c[z+12>>2]=c[y+12>>2];c[z+16>>2]=c[y+16>>2];c[z+20>>2]=c[y+20>>2];c[z+24>>2]=c[y+24>>2];c[z+28>>2]=c[y+28>>2];do if(!(c[B>>2]&4)){if(c[B>>2]&1){if((c[(c[F>>2]|0)+48>>2]|0)==4){h[t+16+8>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;h[t+16>>3]=+h[z+16>>3]+1.0;h[t>>3]=+h[c[C>>2]>>3];n=+h[t+16+8>>3];h[t+8>>3]=n-+((c[(c[(GC(c[E>>2]|0)|0)+8>>2]|0)+252>>2]|0)/2|0|0);h[z>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[E>>2]|0)+8>>2]|0)+96>>3]+0.0;h[z+8>>3]=+h[t+16+8>>3];h[z+16+8>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;y=z+16|0;h[y>>3]=+h[y>>3]+1.0;y=(c[F>>2]|0)+56|0;c[y>>2]=c[t>>2];c[y+4>>2]=c[t+4>>2];c[y+8>>2]=c[t+8>>2];c[y+12>>2]=c[t+12>>2];c[y+16>>2]=c[t+16>>2];c[y+20>>2]=c[t+20>>2];c[y+24>>2]=c[t+24>>2];c[y+28>>2]=c[t+28>>2];y=(c[F>>2]|0)+56+32|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];c[(c[F>>2]|0)+52>>2]=2}else{if(+h[z+16+8>>3]>+h[(c[C>>2]|0)+8>>3])m=+h[z+16+8>>3];else m=+h[(c[C>>2]|0)+8>>3];h[z+16+8>>3]=m;y=(c[F>>2]|0)+56|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];c[(c[F>>2]|0)+52>>2]=1}C=(c[C>>2]|0)+8|0;h[C>>3]=+h[C>>3]-1.0;break}m=+h[c[C>>2]>>3];if(c[B>>2]&8){h[z+16>>3]=m+1.0;m=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3];n=+h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;if((c[(c[F>>2]|0)+48>>2]|0)==4){h[z+16+8>>3]=m+n;h[z+8>>3]=+h[(c[C>>2]|0)+8>>3]-1.0}else{h[z+8>>3]=m-n;h[z+16+8>>3]=+h[(c[C>>2]|0)+8>>3]+1.0}y=(c[F>>2]|0)+56|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];c[(c[F>>2]|0)+52>>2]=1;C=c[C>>2]|0;h[C>>3]=+h[C>>3]-1.0;break}else{h[z>>3]=m;n=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3];m=+h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;if((c[(c[F>>2]|0)+48>>2]|0)==4){h[z+16+8>>3]=n+m;h[z+8>>3]=+h[(c[C>>2]|0)+8>>3]}else{h[z+8>>3]=n-m;h[z+16+8>>3]=+h[(c[C>>2]|0)+8>>3]+1.0}y=(c[F>>2]|0)+56|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];c[(c[F>>2]|0)+52>>2]=1;C=c[C>>2]|0;h[C>>3]=+h[C>>3]+1.0;break}}else{if(+h[z+8>>3]<+h[(c[C>>2]|0)+8>>3])m=+h[z+8>>3];else m=+h[(c[C>>2]|0)+8>>3];h[z+8>>3]=m;y=(c[F>>2]|0)+56|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];c[(c[F>>2]|0)+52>>2]=1;C=(c[C>>2]|0)+8|0;h[C>>3]=+h[C>>3]+1.0}while(0);c[A>>2]=c[D>>2];while(1){if(!(a[(c[(c[A>>2]|0)+8>>2]|0)+112>>0]|0))break;c[A>>2]=c[(c[(c[A>>2]|0)+8>>2]|0)+116>>2]}C=c[A>>2]|0;l=c[(c[A>>2]|0)+8>>2]|0;if((c[E>>2]|0)==(c[((c[c[A>>2]>>2]&3|0)==3?C:C+32|0)+28>>2]|0))a[l+16+30>>0]=0;else a[l+56+30>>0]=0;c[(c[F>>2]|0)+48>>2]=c[B>>2];i=G;return}if((c[r>>2]|0)==1)c[B>>2]=1;else c[B>>2]=c[(c[F>>2]|0)+48>>2];if((c[v>>2]|0)!=0?(E=_b[c[v>>2]&63](c[E>>2]|0,(c[(c[D>>2]|0)+8>>2]|0)+16|0,c[B>>2]|0,(c[F>>2]|0)+56|0,(c[F>>2]|0)+52|0)|0,c[u>>2]=E,(E|0)!=0):0){c[(c[F>>2]|0)+48>>2]=c[u>>2];i=G;return}E=(c[F>>2]|0)+56|0;B=c[F>>2]|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];c[E+24>>2]=c[B+24>>2];c[E+28>>2]=c[B+28>>2];c[(c[F>>2]|0)+52>>2]=1;switch(c[r>>2]|0){case 8:{db(176179,144210,569,144220);break}case 2:{m=+h[(c[C>>2]|0)+8>>3];l=(c[F>>2]|0)+56|0;if((c[(c[F>>2]|0)+48>>2]|0)==4){h[l+8>>3]=m;i=G;return}else{h[l+16+8>>3]=m;i=G;return}}case 1:{h[(c[F>>2]|0)+56+16+8>>3]=+h[(c[C>>2]|0)+8>>3];c[(c[F>>2]|0)+48>>2]=1;F=(c[C>>2]|0)+8|0;h[F>>3]=+h[F>>3]-1.0;i=G;return}default:{i=G;return}}}function BN(b,e,f,g,k){b=b|0;e=e|0;f=f|0;g=g|0;k=k|0;var l=0.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;G=i;i=i+272|0;if((i|0)>=(j|0))ba();p=G+200|0;o=G+184|0;B=G+252|0;C=G+248|0;r=G+244|0;F=G+240|0;s=G+256|0;E=G+236|0;u=G+232|0;D=G+228|0;v=G+224|0;m=G+144|0;q=G+128|0;y=G+220|0;w=G+96|0;x=G+64|0;t=G+32|0;z=G;A=G+216|0;c[B>>2]=b;c[C>>2]=e;c[r>>2]=f;c[F>>2]=g;a[s>>0]=k;k=c[C>>2]|0;c[D>>2]=c[((c[c[C>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2];if(a[(c[(c[C>>2]|0)+8>>2]|0)+56+31>>0]|0){b=(c[(c[C>>2]|0)+8>>2]|0)+56|0;k=c[C>>2]|0;e=c[C>>2]|0;wM(m,c[((c[c[C>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0,c[((c[c[C>>2]>>2]&3|0)==3?e:e+32|0)+28>>2]|0,(c[(c[C>>2]|0)+8>>2]|0)+56|0);e=b+40|0;do{c[b>>2]=c[m>>2];b=b+4|0;m=m+4|0}while((b|0)<(e|0))}if(c[(c[(c[D>>2]|0)+8>>2]|0)+8>>2]|0)c[v>>2]=c[(c[(c[(c[(c[D>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+16>>2];else c[v>>2]=0;m=(c[B>>2]|0)+40|0;g=(c[(c[D>>2]|0)+8>>2]|0)+16|0;k=(c[(c[C>>2]|0)+8>>2]|0)+56|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[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];LN(q,o,p);c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];m=c[C>>2]|0;do if(a[s>>0]|0){q=c[C>>2]|0;n=+MN(c[((c[m>>2]&3|0)==2?q:q+-32|0)+28>>2]|0)+3.141592653589793;h[(c[B>>2]|0)+40+16>>3]=n;if(+h[(c[B>>2]|0)+40+16>>3]<6.283185307179586){a[(c[B>>2]|0)+40+29>>0]=1;break}else db(144230,144210,606,144254)}else if(a[(c[m+8>>2]|0)+56+29>>0]|0){h[(c[B>>2]|0)+40+16>>3]=+h[(c[(c[C>>2]|0)+8>>2]|0)+56+16>>3];a[(c[B>>2]|0)+40+29>>0]=1;break}else{a[(c[B>>2]|0)+40+29>>0]=0;break}while(0);q=(c[F>>2]|0)+32|0;p=(c[B>>2]|0)+40|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];if(((c[r>>2]|0)==1?(a[(c[(c[D>>2]|0)+8>>2]|0)+156>>0]|0)==0:0)?(q=d[(c[(c[C>>2]|0)+8>>2]|0)+56+33>>0]|0,c[E>>2]=q,(q|0)!=0):0){A=c[F>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=c[A+4>>2];c[x+8>>2]=c[A+8>>2];c[x+12>>2]=c[A+12>>2];c[x+16>>2]=c[A+16>>2];c[x+20>>2]=c[A+20>>2];c[x+24>>2]=c[A+24>>2];c[x+28>>2]=c[A+28>>2];do if(c[E>>2]&4){c[(c[F>>2]|0)+48>>2]=4;if(+h[x+8>>3]<+h[(c[B>>2]|0)+40+8>>3])l=+h[x+8>>3];else l=+h[(c[B>>2]|0)+40+8>>3];h[x+8>>3]=l;A=(c[F>>2]|0)+56|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];c[A+16>>2]=c[x+16>>2];c[A+20>>2]=c[x+20>>2];c[A+24>>2]=c[x+24>>2];c[A+28>>2]=c[x+28>>2];c[(c[F>>2]|0)+52>>2]=1;B=(c[B>>2]|0)+40+8|0;h[B>>3]=+h[B>>3]+1.0}else{if(!(c[E>>2]&1)){m=(c[F>>2]|0)+48|0;if(c[E>>2]&8){c[m>>2]=8;h[x+16>>3]=+h[(c[B>>2]|0)+40>>3];h[x+16+8>>3]=+h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[D>>2]|0)+8>>2]|0)+80>>3]/2.0;h[x+8>>3]=+h[(c[B>>2]|0)+40+8>>3];A=(c[F>>2]|0)+56|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];c[A+16>>2]=c[x+16>>2];c[A+20>>2]=c[x+20>>2];c[A+24>>2]=c[x+24>>2];c[A+28>>2]=c[x+28>>2];c[(c[F>>2]|0)+52>>2]=1;B=(c[B>>2]|0)+40|0;h[B>>3]=+h[B>>3]-1.0;break}else{c[m>>2]=2;h[x>>3]=+h[(c[B>>2]|0)+40>>3];h[x+16+8>>3]=+h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[D>>2]|0)+8>>2]|0)+80>>3]/2.0;h[x+8>>3]=+h[(c[B>>2]|0)+40+8>>3];A=(c[F>>2]|0)+56|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];c[A+16>>2]=c[x+16>>2];c[A+20>>2]=c[x+20>>2];c[A+24>>2]=c[x+24>>2];c[A+28>>2]=c[x+28>>2];c[(c[F>>2]|0)+52>>2]=1;B=(c[B>>2]|0)+40|0;h[B>>3]=+h[B>>3]+1.0;break}}c[(c[F>>2]|0)+48>>2]=1;l=+h[x>>3];if(+h[(c[B>>2]|0)+40>>3]<+h[(c[(c[D>>2]|0)+8>>2]|0)+16>>3]){h[w>>3]=l-1.0;h[w+16+8>>3]=+h[(c[B>>2]|0)+40+8>>3];h[w+16>>3]=+h[x+16>>3];n=+h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[D>>2]|0)+8>>2]|0)+80>>3]/2.0;h[w+8>>3]=n-+((c[(c[(GC(c[D>>2]|0)|0)+8>>2]|0)+252>>2]|0)/2|0|0);h[x+16>>3]=+h[(c[(c[D>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[D>>2]|0)+8>>2]|0)+88>>3]-0.0;h[x+8>>3]=+h[w+16+8>>3];h[x+16+8>>3]=+h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[D>>2]|0)+8>>2]|0)+80>>3]/2.0;h[x>>3]=+h[x>>3]-1.0;A=(c[F>>2]|0)+56|0;c[A>>2]=c[w>>2];c[A+4>>2]=c[w+4>>2];c[A+8>>2]=c[w+8>>2];c[A+12>>2]=c[w+12>>2];c[A+16>>2]=c[w+16>>2];c[A+20>>2]=c[w+20>>2];c[A+24>>2]=c[w+24>>2];c[A+28>>2]=c[w+28>>2];A=(c[F>>2]|0)+56+32|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];c[A+16>>2]=c[x+16>>2];c[A+20>>2]=c[x+20>>2];c[A+24>>2]=c[x+24>>2];c[A+28>>2]=c[x+28>>2]}else{h[w>>3]=l;h[w+16+8>>3]=+h[(c[B>>2]|0)+40+8>>3];h[w+16>>3]=+h[x+16>>3]+1.0;n=+h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[D>>2]|0)+8>>2]|0)+80>>3]/2.0;h[w+8>>3]=n-+((c[(c[(GC(c[D>>2]|0)|0)+8>>2]|0)+252>>2]|0)/2|0|0);h[x>>3]=+h[(c[(c[D>>2]|0)+8>>2]|0)+16>>3]+ +h[(c[(c[D>>2]|0)+8>>2]|0)+96>>3]+0.0;h[x+8>>3]=+h[w+16+8>>3];h[x+16+8>>3]=+h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[D>>2]|0)+8>>2]|0)+80>>3]/2.0;A=x+16|0;h[A>>3]=+h[A>>3]+1.0;A=(c[F>>2]|0)+56|0;c[A>>2]=c[w>>2];c[A+4>>2]=c[w+4>>2];c[A+8>>2]=c[w+8>>2];c[A+12>>2]=c[w+12>>2];c[A+16>>2]=c[w+16>>2];c[A+20>>2]=c[w+20>>2];c[A+24>>2]=c[w+24>>2];c[A+28>>2]=c[w+28>>2];A=(c[F>>2]|0)+56+32|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];c[A+16>>2]=c[x+16>>2];c[A+20>>2]=c[x+20>>2];c[A+24>>2]=c[x+24>>2];c[A+28>>2]=c[x+28>>2]}c[(c[F>>2]|0)+52>>2]=2;B=(c[B>>2]|0)+40+8|0;h[B>>3]=+h[B>>3]-1.0}while(0);c[y>>2]=c[C>>2];while(1){if(!(a[(c[(c[y>>2]|0)+8>>2]|0)+112>>0]|0))break;c[y>>2]=c[(c[(c[y>>2]|0)+8>>2]|0)+116>>2]}C=c[y>>2]|0;m=c[(c[y>>2]|0)+8>>2]|0;if((c[D>>2]|0)==(c[((c[c[y>>2]>>2]&3|0)==2?C:C+-32|0)+28>>2]|0))a[m+56+30>>0]=0;else a[m+16+30>>0]=0;c[(c[F>>2]|0)+48>>2]=c[E>>2];i=G;return}if((c[r>>2]|0)==2?(y=d[(c[(c[C>>2]|0)+8>>2]|0)+56+33>>0]|0,c[E>>2]=y,(y|0)!=0):0){y=c[F>>2]|0;c[z>>2]=c[y>>2];c[z+4>>2]=c[y+4>>2];c[z+8>>2]=c[y+8>>2];c[z+12>>2]=c[y+12>>2];c[z+16>>2]=c[y+16>>2];c[z+20>>2]=c[y+20>>2];c[z+24>>2]=c[y+24>>2];c[z+28>>2]=c[y+28>>2];do if(!(c[E>>2]&4)){if(c[E>>2]&1){if((c[(c[F>>2]|0)+48>>2]|0)==4){h[t>>3]=+h[z>>3]-1.0;h[t+16+8>>3]=+h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[D>>2]|0)+8>>2]|0)+80>>3]/2.0;h[t+16>>3]=+h[(c[B>>2]|0)+40>>3];n=+h[t+16+8>>3];h[t+8>>3]=n-+((c[(c[(GC(c[D>>2]|0)|0)+8>>2]|0)+252>>2]|0)/2|0|0);h[z+16>>3]=+h[(c[(c[D>>2]|0)+8>>2]|0)+16>>3]-+h[(c[(c[D>>2]|0)+8>>2]|0)+88>>3]-2.0;h[z+8>>3]=+h[t+16+8>>3];h[z+16+8>>3]=+h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3]+ +h[(c[(c[D>>2]|0)+8>>2]|0)+80>>3]/2.0;h[z>>3]=+h[z>>3]-1.0;y=(c[F>>2]|0)+56|0;c[y>>2]=c[t>>2];c[y+4>>2]=c[t+4>>2];c[y+8>>2]=c[t+8>>2];c[y+12>>2]=c[t+12>>2];c[y+16>>2]=c[t+16>>2];c[y+20>>2]=c[t+20>>2];c[y+24>>2]=c[t+24>>2];c[y+28>>2]=c[t+28>>2];y=(c[F>>2]|0)+56+32|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];c[(c[F>>2]|0)+52>>2]=2}else{if(+h[z+16+8>>3]>+h[(c[B>>2]|0)+8>>3])l=+h[z+16+8>>3];else l=+h[(c[B>>2]|0)+8>>3];h[z+16+8>>3]=l;y=(c[F>>2]|0)+56|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];c[(c[F>>2]|0)+52>>2]=1}B=(c[B>>2]|0)+40+8|0;h[B>>3]=+h[B>>3]-1.0;break}l=+h[(c[B>>2]|0)+40>>3];if(c[E>>2]&8){h[z+16>>3]=l+1.0;l=+h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3];n=+h[(c[(c[D>>2]|0)+8>>2]|0)+80>>3]/2.0;if((c[(c[F>>2]|0)+48>>2]|0)==4){h[z+16+8>>3]=l+n;h[z+8>>3]=+h[(c[B>>2]|0)+40+8>>3]-1.0}else{h[z+8>>3]=l-n;h[z+16+8>>3]=+h[(c[B>>2]|0)+40+8>>3]+1.0}y=(c[F>>2]|0)+56|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];c[(c[F>>2]|0)+52>>2]=1;B=(c[B>>2]|0)+40|0;h[B>>3]=+h[B>>3]-1.0;break}else{h[z>>3]=l-1.0;n=+h[(c[(c[D>>2]|0)+8>>2]|0)+16+8>>3];l=+h[(c[(c[D>>2]|0)+8>>2]|0)+80>>3]/2.0;if((c[(c[F>>2]|0)+48>>2]|0)==4){h[z+16+8>>3]=n+l;h[z+8>>3]=+h[(c[B>>2]|0)+40+8>>3]-1.0}else{h[z+8>>3]=n-l;h[z+16+8>>3]=+h[(c[B>>2]|0)+40+8>>3]}y=(c[F>>2]|0)+56|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];c[(c[F>>2]|0)+52>>2]=1;B=(c[B>>2]|0)+40|0;h[B>>3]=+h[B>>3]+1.0;break}}else{if(+h[z+8>>3]<+h[(c[B>>2]|0)+40+8>>3])l=+h[z+8>>3];else l=+h[(c[B>>2]|0)+40+8>>3];h[z+8>>3]=l;y=(c[F>>2]|0)+56|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];c[(c[F>>2]|0)+52>>2]=1;B=(c[B>>2]|0)+40+8|0;h[B>>3]=+h[B>>3]+1.0}while(0);c[A>>2]=c[C>>2];while(1){if(!(a[(c[(c[A>>2]|0)+8>>2]|0)+112>>0]|0))break;c[A>>2]=c[(c[(c[A>>2]|0)+8>>2]|0)+116>>2]}C=c[A>>2]|0;m=c[(c[A>>2]|0)+8>>2]|0;if((c[D>>2]|0)==(c[((c[c[A>>2]>>2]&3|0)==2?C:C+-32|0)+28>>2]|0))a[m+56+30>>0]=0;else a[m+16+30>>0]=0;c[(c[F>>2]|0)+48>>2]=c[E>>2];i=G;return}if((c[r>>2]|0)==1)c[E>>2]=4;else c[E>>2]=c[(c[F>>2]|0)+48>>2];if((c[v>>2]|0)!=0?(D=_b[c[v>>2]&63](c[D>>2]|0,(c[(c[C>>2]|0)+8>>2]|0)+56|0,c[E>>2]|0,(c[F>>2]|0)+56|0,(c[F>>2]|0)+52|0)|0,c[u>>2]=D,(D|0)!=0):0){c[(c[F>>2]|0)+48>>2]=c[u>>2];i=G;return}D=(c[F>>2]|0)+56|0;C=c[F>>2]|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];c[D+16>>2]=c[C+16>>2];c[D+20>>2]=c[C+20>>2];c[D+24>>2]=c[C+24>>2];c[D+28>>2]=c[C+28>>2];c[(c[F>>2]|0)+52>>2]=1;switch(c[r>>2]|0){case 8:{db(176179,144210,765,144254);break}case 2:{l=+h[(c[B>>2]|0)+40+8>>3];m=(c[F>>2]|0)+56|0;if((c[(c[F>>2]|0)+48>>2]|0)==4){h[m+8>>3]=l;i=G;return}else{h[m+16+8>>3]=l;i=G;return}}case 1:{h[(c[F>>2]|0)+56+8>>3]=+h[(c[B>>2]|0)+40+8>>3];c[(c[F>>2]|0)+48>>2]=4;F=(c[B>>2]|0)+40+8|0;h[F>>3]=+h[F>>3]+1.0;i=G;return}default:{i=G;return}}}function CN(b){b=b|0;var e=0,f=0.0,g=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();e=n+16|0;m=n+12|0;l=n;g=n+8|0;c[e>>2]=b;c[g>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+96>>2];if(!((a[(c[(c[e>>2]|0)+8>>2]|0)+16+28>>0]|0)==0?(a[(c[(c[e>>2]|0)+8>>2]|0)+56+28>>0]|0)==0:0))k=3;do if((k|0)==3){if((d[(c[(c[e>>2]|0)+8>>2]|0)+16+33>>0]&8|0)==0?(d[(c[(c[e>>2]|0)+8>>2]|0)+56+33>>0]&8|0)==0:0){if((d[(c[(c[e>>2]|0)+8>>2]|0)+16+33>>0]|0)!=(d[(c[(c[e>>2]|0)+8>>2]|0)+56+33>>0]|0))break;if(!(d[(c[(c[e>>2]|0)+8>>2]|0)+16+33>>0]&5))break}c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}while(0);c[m>>2]=18;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}k=c[e>>2]|0;k=(c[(c[(GC(c[((c[c[e>>2]>>2]&3|0)==2?k:k+-32|0)+28>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;e=(c[g>>2]|0)+24|0;if(k)f=+h[e+8>>3];else f=+h[e>>3];h[l>>3]=f;c[m>>2]=~~(+(c[m>>2]|0)+ +h[l>>3]);m=c[m>>2]|0;i=n;return m|0}function DN(b,e,f,g,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;k=+k;l=+l;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;if((i|0)>=(j|0))ba();n=v+32|0;o=v+28|0;p=v+24|0;q=v+8|0;r=v;s=v+20|0;t=v+16|0;c[v+36>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;h[q>>3]=k;h[r>>3]=l;c[s>>2]=m;c[t>>2]=c[(c[n>>2]|0)+(c[o>>2]<<2)>>2];if(!((a[(c[(c[t>>2]|0)+8>>2]|0)+16+28>>0]|0)==0?(a[(c[(c[t>>2]|0)+8>>2]|0)+56+28>>0]|0)==0:0))u=3;do if((u|0)==3){if((d[(c[(c[t>>2]|0)+8>>2]|0)+16+33>>0]&8|0)==0?(d[(c[(c[t>>2]|0)+8>>2]|0)+56+33>>0]&8|0)==0:0){if((d[(c[(c[t>>2]|0)+8>>2]|0)+16+33>>0]|0)!=(d[(c[(c[t>>2]|0)+8>>2]|0)+56+33>>0]|0))break;if(!(d[(c[(c[t>>2]|0)+8>>2]|0)+16+33>>0]&5))break}if((d[(c[(c[t>>2]|0)+8>>2]|0)+16+33>>0]&8|0)==0?(d[(c[(c[t>>2]|0)+8>>2]|0)+56+33>>0]&8|0)==0:0){if(d[(c[(c[t>>2]|0)+8>>2]|0)+16+33>>0]&4){ON(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,+h[q>>3],+h[r>>3],c[s>>2]|0);i=v;return}if(!(d[(c[(c[t>>2]|0)+8>>2]|0)+16+33>>0]&1))db(176179,144210,1231,144262);QN(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,+h[q>>3],+h[r>>3],c[s>>2]|0);i=v;return}if((d[(c[(c[t>>2]|0)+8>>2]|0)+16+33>>0]&2|0)==0?(d[(c[(c[t>>2]|0)+8>>2]|0)+56+33>>0]&2|0)==0:0){PN(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,+h[q>>3],+h[r>>3],c[s>>2]|0);i=v;return}ON(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,+h[q>>3],+h[r>>3],c[s>>2]|0);i=v;return}while(0);NN(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,+h[q>>3],+h[r>>3],c[s>>2]|0);i=v;return}function EN(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();d=e;c[d>>2]=b;if(!((c[13887]|0)!=0|(c[13886]|0)!=0)){i=e;return}if(((c[(c[(c[d>>2]|0)+8>>2]|0)+100>>2]|0)!=0?(a[(c[(c[(c[d>>2]|0)+8>>2]|0)+100>>2]|0)+81>>0]|0)==0:0)?(FN(c[d>>2]|0,1)|0)!=0:0){b=c[d>>2]|0;b=GC(c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)|0;PO(b,c[(c[(c[d>>2]|0)+8>>2]|0)+100>>2]|0)}if(!(c[(c[(c[d>>2]|0)+8>>2]|0)+104>>2]|0)){i=e;return}if(a[(c[(c[(c[d>>2]|0)+8>>2]|0)+104>>2]|0)+81>>0]|0){i=e;return}if(!(FN(c[d>>2]|0,0)|0)){i=e;return}b=c[d>>2]|0;b=GC(c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)|0;PO(b,c[(c[(c[d>>2]|0)+8>>2]|0)+104>>2]|0);i=e;return}function FN(b,e){b=b|0;e=e|0;var f=0,g=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;y=i;i=i+192|0;if((i|0)>=(j|0))ba();o=y+172|0;p=y+168|0;k=y+176|0;v=y+164|0;l=y+160|0;r=y+156|0;t=y+136|0;q=y+128|0;s=y+64|0;w=y+48|0;x=y+32|0;u=y+152|0;f=y+144|0;m=y+16|0;n=y;c[p>>2]=b;a[k>>0]=e;if((a[(c[(c[p>>2]|0)+8>>2]|0)+112>>0]|0)==6){c[o>>2]=0;x=c[o>>2]|0;i=y;return x|0}if(!((c[13887]|0)!=0?(e=PA(c[p>>2]|0,c[13887]|0)|0,c[y+148>>2]=e,(a[e>>0]|0)!=0):0))g=5;do if((g|0)==5){if((c[13886]|0)!=0?(g=PA(c[p>>2]|0,c[13886]|0)|0,c[f>>2]=g,(a[g>>0]|0)!=0):0)break;c[o>>2]=0;x=c[o>>2]|0;i=y;return x|0}while(0);b=c[(c[p>>2]|0)+8>>2]|0;if(d[k>>0]|0)b=c[b+100>>2]|0;else b=c[b+104>>2]|0;c[v>>2]=b;g=IN(c[p>>2]|0)|0;c[l>>2]=g;if(!g){c[o>>2]=0;x=c[o>>2]|0;i=y;return x|0}b=c[l>>2]|0;do if(a[k>>0]|0){c[r>>2]=(c[c[l>>2]>>2]|0)+(((c[b+4>>2]|0)-1|0)*48|0);b=c[r>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){u=b+32|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];u=(c[c[r>>2]>>2]|0)+((c[(c[r>>2]|0)+4>>2]|0)-1<<4)|0;c[x>>2]=c[u>>2];c[x+4>>2]=c[u+4>>2];c[x+8>>2]=c[u+8>>2];c[x+12>>2]=c[u+12>>2];break}m=(c[c[r>>2]>>2]|0)+((c[b+4>>2]|0)-1<<4)|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[u>>2]=0;while(1){if((c[u>>2]|0)>=4)break;m=s+(c[u>>2]<<4)|0;l=(c[c[r>>2]>>2]|0)+((c[(c[r>>2]|0)+4>>2]|0)-4+(c[u>>2]|0)<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];c[u>>2]=(c[u>>2]|0)+1}FO(n,s,3,.9,0,0);c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2]}else{c[r>>2]=c[b>>2];b=c[r>>2]|0;if(c[(c[r>>2]|0)+8>>2]|0){u=b+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];u=c[c[r>>2]>>2]|0;c[x>>2]=c[u>>2];c[x+4>>2]=c[u+4>>2];c[x+8>>2]=c[u+8>>2];c[x+12>>2]=c[u+12>>2];break}n=c[b>>2]|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=4)break;n=s+(c[u>>2]<<4)|0;l=(c[c[r>>2]>>2]|0)+(c[u>>2]<<4)|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[u>>2]=(c[u>>2]|0)+1}FO(m,s,3,.1,0,0);c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];c[x+8>>2]=c[m+8>>2];c[x+12>>2]=c[m+12>>2]}while(0);z=+W(+(+h[x+8>>3]-+h[w+8>>3]),+(+h[x>>3]-+h[w>>3]));h[q>>3]=z+ +uO(c[p>>2]|0,c[13887]|0,-25.0,-180.0)/180.0*3.141592653589793;h[t>>3]=+uO(c[p>>2]|0,c[13886]|0,1.0,0.0)*10.0;z=+h[w>>3]+ +h[t>>3]*+Q(+(+h[q>>3]));h[(c[v>>2]|0)+56>>3]=z;z=+h[w+8>>3]+ +h[t>>3]*+R(+(+h[q>>3]));h[(c[v>>2]|0)+56+8>>3]=z;a[(c[v>>2]|0)+81>>0]=1;c[o>>2]=1;x=c[o>>2]|0;i=y;return x|0}function GN(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+128|0;if((i|0)>=(j|0))ba();m=r+96|0;s=r+120|0;f=r+116|0;n=r+112|0;l=r+80|0;q=r+64|0;o=r+48|0;p=r+32|0;g=r+16|0;k=r;c[s>>2]=b;c[f>>2]=d;c[n>>2]=(e[(c[(c[s>>2]|0)+8>>2]|0)+136>>1]|0)&14;RN(c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0,o,p);if((+h[o>>3]-+h[p>>3])*(+h[o>>3]-+h[p>>3])+(+h[o+8>>3]-+h[p+8>>3])*(+h[o+8>>3]-+h[p+8>>3])<1.0e-06){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[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];i=r;return}if((c[n>>2]|0)==10|(c[n>>2]|0)==4){h[l>>3]=(+h[p>>3]+ +h[o>>3])/2.0;h[l+8>>3]=(+h[o+8>>3]+ +h[p+8>>3])/2.0;s=c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];KO(g,s,m);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[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];i=r;return}else{SN(k,c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2]|0,o,p);c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];i=r;return}}function HN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[d+4>>2]=a;c[e>>2]=b;EN(c[e>>2]|0);i=d;return}function IN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=b;c[e>>2]=c[d>>2];while(1){b=c[(c[(c[e>>2]|0)+8>>2]|0)+8>>2]|0;c[f>>2]=b;if(b)break;if(!(a[(c[(c[e>>2]|0)+8>>2]|0)+112>>0]|0))break;c[e>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+116>>2]}if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}b=c[d>>2]|0;b=MB(c[((c[c[d>>2]>>2]&3|0)==3?b:b+32|0)+28>>2]|0)|0;e=c[d>>2]|0;e=MB(c[((c[c[d>>2]>>2]&3|0)==2?e:e+-32|0)+28>>2]|0)|0;c[g>>2]=b;c[g+4>>2]=e;pA(1,144275,g)|0;g=c[f>>2]|0;i=h;return g|0}function JN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+96|0;if((i|0)>=(j|0))ba();g=q+84|0;k=q+80|0;l=q+76|0;m=q+88|0;o=q+72|0;p=q+64|0;n=q;c[g>>2]=b;c[k>>2]=d;c[l>>2]=e;a[m>>0]=f;h[p>>3]=+h[(c[(c[k>>2]|0)+8>>2]|0)+96>>3];c[o>>2]=0;while(1){if((c[o>>2]|0)>=4)break;h[n+(c[o>>2]<<4)>>3]=+h[(c[l>>2]|0)+(c[o>>2]<<4)>>3]-+h[(c[(c[k>>2]|0)+8>>2]|0)+16>>3];h[n+(c[o>>2]<<4)+8>>3]=+h[(c[l>>2]|0)+(c[o>>2]<<4)+8>>3]-+h[(c[(c[k>>2]|0)+8>>2]|0)+16+8>>3];c[o>>2]=(c[o>>2]|0)+1}vN(c[g>>2]|0,c[(c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,n,a[m>>0]|0);c[o>>2]=0;while(1){if((c[o>>2]|0)>=4)break;h[(c[l>>2]|0)+(c[o>>2]<<4)>>3]=+h[n+(c[o>>2]<<4)>>3]+ +h[(c[(c[k>>2]|0)+8>>2]|0)+16>>3];h[(c[l>>2]|0)+(c[o>>2]<<4)+8>>3]=+h[n+(c[o>>2]<<4)+8>>3]+ +h[(c[(c[k>>2]|0)+8>>2]|0)+16+8>>3];c[o>>2]=(c[o>>2]|0)+1}h[(c[(c[k>>2]|0)+8>>2]|0)+96>>3]=+h[p>>3];i=q;return}function KN(b,d,e,f,g,h,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;x=i;i=i+48|0;if((i|0)>=(j|0))ba();l=x+44|0;m=x+40|0;n=x+36|0;o=x+32|0;p=x+28|0;q=x+24|0;r=x+20|0;s=x+16|0;u=x+12|0;v=x+8|0;w=x+4|0;t=x;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=k;c[s>>2]=c[l>>2];while(1){if(!(c[(c[(c[s>>2]|0)+8>>2]|0)+116>>2]|0))break;c[s>>2]=c[(c[(c[s>>2]|0)+8>>2]|0)+116>>2]}if(a[(c[r>>2]|0)+8>>0]|0)c[v>>2]=0;else c[v>>2]=(Zb[c[c[r>>2]>>2]&63](c[s>>2]|0)|0)&255;qH(c[s>>2]|0,w,t);if((Zb[c[(c[r>>2]|0)+4>>2]&63](c[m>>2]|0)|0)<<24>>24)c[t>>2]=0;f=c[l>>2]|0;if((Zb[c[(c[r>>2]|0)+4>>2]&63](c[((c[c[l>>2]>>2]&3|0)==3?f:f+32|0)+28>>2]|0)|0)<<24>>24)c[w>>2]=0;if(c[v>>2]|0){c[u>>2]=c[w>>2];c[w>>2]=c[t>>2];c[t>>2]=c[u>>2]}if(a[(c[r>>2]|0)+9>>0]|0){if(!((c[t>>2]|0)!=0|(c[w>>2]|0)!=0)){i=x;return}uH(c[s>>2]|0,c[n>>2]|0,c[c[o>>2]>>2]|0,c[c[p>>2]>>2]|0,c[q>>2]|0,c[w>>2]|0,c[t>>2]|0);i=x;return}if(c[w>>2]|0){f=tH(c[s>>2]|0,c[n>>2]|0,c[c[o>>2]>>2]|0,c[c[p>>2]>>2]|0,c[q>>2]|0,c[w>>2]|0)|0;c[c[o>>2]>>2]=f}if(!(c[t>>2]|0)){i=x;return}f=sH(c[s>>2]|0,c[n>>2]|0,c[c[o>>2]>>2]|0,c[c[p>>2]>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;c[c[p>>2]>>2]=f;i=x;return}function LN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;h[f>>3]=+h[b>>3]+ +h[d>>3];h[f+8>>3]=+h[b+8>>3]+ +h[d+8>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function MN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+64|0;if((i|0)>=(j|0))ba();b=o+60|0;m=o+40|0;n=o+32|0;g=o+24|0;k=o+16|0;d=o+56|0;e=o+52|0;l=o;f=o+48|0;c[b>>2]=a;h[n>>3]=0.0;h[m>>3]=0.0;c[d>>2]=0;while(1){a=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+172>>2]|0)+(c[d>>2]<<2)>>2]|0;c[f>>2]=a;if(!a)break;a=c[f>>2]|0;h[m>>3]=+h[m>>3]+ +h[(c[(c[((c[c[f>>2]>>2]&3|0)==3?a:a+32|0)+28>>2]|0)+8>>2]|0)+16>>3];c[d>>2]=(c[d>>2]|0)+1}c[e>>2]=0;while(1){a=c[(c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]|0)+(c[e>>2]<<2)>>2]|0;c[f>>2]=a;if(!a)break;a=c[f>>2]|0;h[n>>3]=+h[n>>3]+ +h[(c[(c[((c[c[f>>2]>>2]&3|0)==2?a:a+-32|0)+28>>2]|0)+8>>2]|0)+16>>3];c[e>>2]=(c[e>>2]|0)+1}h[l>>3]=+h[(c[(c[b>>2]|0)+8>>2]|0)+16>>3]-+h[m>>3]/+(c[d>>2]|0);m=c[c[(c[(c[b>>2]|0)+8>>2]|0)+172>>2]>>2]|0;h[l+8>>3]=+h[(c[(c[b>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[((c[c[c[(c[(c[b>>2]|0)+8>>2]|0)+172>>2]>>2]>>2]&3|0)==3?m:m+32|0)+28>>2]|0)+8>>2]|0)+16+8>>3];h[g>>3]=+W(+(+h[l+8>>3]),+(+h[l>>3]));h[l>>3]=+h[n>>3]/+(c[e>>2]|0)-+h[(c[(c[b>>2]|0)+8>>2]|0)+16>>3];n=c[c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]>>2]|0;h[l+8>>3]=+h[(c[(c[((c[c[c[(c[(c[b>>2]|0)+8>>2]|0)+180>>2]>>2]>>2]&3|0)==2?n:n+-32|0)+28>>2]|0)+8>>2]|0)+16+8>>3]-+h[(c[(c[b>>2]|0)+8>>2]|0)+16+8>>3];h[k>>3]=+W(+(+h[l+8>>3]),+(+h[l>>3]));i=o;return +((+h[g>>3]+ +h[k>>3])/2.0)}function NN(b,e,f,g,k,l){b=b|0;e=e|0;f=f|0;g=+g;k=+k;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=0,N=0,O=0;N=i;i=i+16240|0;if((i|0)>=(j|0))ba();n=N+16236|0;o=N+16232|0;q=N+16228|0;r=N+16192|0;O=N+16184|0;s=N+16224|0;D=N+16220|0;I=N+16216|0;m=N+16212|0;C=N+16176|0;L=N+16168|0;J=N+16160|0;x=N+16152|0;y=N+16144|0;M=N+16136|0;A=N+16128|0;K=N+16112|0;B=N+16096|0;F=N+16080|0;E=N+16208|0;z=N+16204|0;H=N+80|0;G=N+16200|0;t=N+64|0;u=N+48|0;v=N+32|0;w=N+16|0;p=N;c[n>>2]=b;c[o>>2]=e;c[q>>2]=f;h[r>>3]=g;h[O>>3]=k;c[s>>2]=l;c[z>>2]=c[(c[n>>2]|0)+(c[o>>2]<<2)>>2];l=c[z>>2]|0;c[E>>2]=c[((c[c[z>>2]>>2]&3|0)==3?l:l+32|0)+28>>2];h[J>>3]=+h[O>>3]/2.0/+(c[q>>2]|0);h[J>>3]=+h[J>>3]>2.0?+h[J>>3]:2.0;c[G>>2]=0;l=(c[(c[E>>2]|0)+8>>2]|0)+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];l=(c[(c[z>>2]|0)+8>>2]|0)+16|0;c[K>>2]=c[l>>2];c[K+4>>2]=c[l+4>>2];c[K+8>>2]=c[l+8>>2];c[K+12>>2]=c[l+12>>2];h[K>>3]=+h[K>>3]+ +h[F>>3];l=K+8|0;h[l>>3]=+h[l>>3]+ +h[F+8>>3];l=(c[(c[z>>2]|0)+8>>2]|0)+56|0;c[B>>2]=c[l>>2];c[B+4>>2]=c[l+4>>2];c[B+8>>2]=c[l+8>>2];c[B+12>>2]=c[l+12>>2];h[B>>3]=+h[B>>3]+ +h[F>>3];l=B+8|0;h[l>>3]=+h[l>>3]+ +h[F+8>>3];if(+h[K+8>>3]>=+h[B+8>>3])c[I>>2]=1;else c[I>>2]=-1;h[x>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+96>>3];h[y>>3]=0.0;c[m>>2]=TN(d[(c[(c[z>>2]|0)+8>>2]|0)+16+33>>0]|0,d[(c[(c[z>>2]|0)+8>>2]|0)+56+33>>0]|0)|0;switch(c[m>>2]|0){case 65:case 32:{if(+h[K+8>>3]==+h[B+8>>3])c[I>>2]=0-(c[I>>2]|0);break}default:{}}if(+h[x>>3]<(+h[F>>3]+ +h[x>>3]-+h[K>>3])*3.0)k=+h[x>>3];else k=(+h[F>>3]+ +h[x>>3]-+h[K>>3])*3.0;h[L>>3]=k;if(+h[x>>3]<(+h[F>>3]+ +h[x>>3]-+h[B>>3])*3.0)k=+h[x>>3];else k=(+h[F>>3]+ +h[x>>3]-+h[B>>3])*3.0;h[C>>3]=k;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[q>>2]|0))break;O=c[o>>2]|0;c[o>>2]=O+1;c[z>>2]=c[(c[n>>2]|0)+(O<<2)>>2];h[x>>3]=+h[x>>3]+ +h[r>>3];h[L>>3]=+h[L>>3]+ +h[r>>3];h[C>>3]=+h[C>>3]+ +h[r>>3];h[y>>3]=+h[y>>3]+ +(c[I>>2]|0)*+h[J>>3];c[G>>2]=0;O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|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];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(t,+h[K>>3]+ +h[L>>3]/3.0,+h[K+8>>3]+ +h[y>>3]);c[O>>2]=c[t>>2];c[O+4>>2]=c[t+4>>2];c[O+8>>2]=c[t+8>>2];c[O+12>>2]=c[t+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(u,+h[F>>3]+ +h[x>>3],+h[K+8>>3]+ +h[y>>3]);c[O>>2]=c[u>>2];c[O+4>>2]=c[u+4>>2];c[O+8>>2]=c[u+8>>2];c[O+12>>2]=c[u+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(v,+h[F>>3]+ +h[x>>3],(+h[K+8>>3]+ +h[B+8>>3])/2.0);c[O>>2]=c[v>>2];c[O+4>>2]=c[v+4>>2];c[O+8>>2]=c[v+8>>2];c[O+12>>2]=c[v+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(w,+h[F>>3]+ +h[x>>3],+h[B+8>>3]-+h[y>>3]);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];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(p,+h[B>>3]+ +h[C>>3]/3.0,+h[B+8>>3]-+h[y>>3]);c[O>>2]=c[p>>2];c[O+4>>2]=c[p+4>>2];c[O+8>>2]=c[p+8>>2];c[O+12>>2]=c[p+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|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];if(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0){O=c[z>>2]|0;O=(c[(c[(GC(c[((c[c[z>>2]>>2]&3|0)==3?O:O+32|0)+28>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;f=(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24|0;if(O){h[M>>3]=+h[f+8>>3];h[A>>3]=+h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24>>3]}else{h[M>>3]=+h[f>>3];h[A>>3]=+h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]}h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+56>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16>>3]+ +h[x>>3]+ +h[M>>3]/2.0;h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+56+8>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3];a[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]=1;if(+h[M>>3]>+h[r>>3])h[x>>3]=+h[x>>3]+(+h[M>>3]-+h[r>>3])}O=c[z>>2]|0;yN(c[z>>2]|0,c[((c[c[z>>2]>>2]&3|0)==2?O:O+-32|0)+28>>2]|0,H,c[G>>2]|0,c[s>>2]|0);c[D>>2]=(c[D>>2]|0)+1}i=N;return}function ON(b,e,f,g,k,l){b=b|0;e=e|0;f=f|0;g=+g;k=+k;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=0,N=0,O=0;N=i;i=i+16240|0;if((i|0)>=(j|0))ba();n=N+16236|0;o=N+16232|0;q=N+16228|0;O=N+16192|0;r=N+16184|0;s=N+16224|0;D=N+16220|0;I=N+16216|0;m=N+16212|0;C=N+16176|0;L=N+16168|0;J=N+16160|0;x=N+16152|0;y=N+16144|0;M=N+16136|0;A=N+16128|0;K=N+16112|0;B=N+16096|0;F=N+16080|0;E=N+16208|0;z=N+16204|0;H=N+80|0;G=N+16200|0;t=N+64|0;u=N+48|0;v=N+32|0;w=N+16|0;p=N;c[n>>2]=b;c[o>>2]=e;c[q>>2]=f;h[O>>3]=g;h[r>>3]=k;c[s>>2]=l;c[z>>2]=c[(c[n>>2]|0)+(c[o>>2]<<2)>>2];l=c[z>>2]|0;c[E>>2]=c[((c[c[z>>2]>>2]&3|0)==3?l:l+32|0)+28>>2];h[J>>3]=+h[O>>3]/2.0/+(c[q>>2]|0);h[J>>3]=+h[J>>3]>2.0?+h[J>>3]:2.0;c[G>>2]=0;l=(c[(c[E>>2]|0)+8>>2]|0)+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];l=(c[(c[z>>2]|0)+8>>2]|0)+16|0;c[K>>2]=c[l>>2];c[K+4>>2]=c[l+4>>2];c[K+8>>2]=c[l+8>>2];c[K+12>>2]=c[l+12>>2];h[K>>3]=+h[K>>3]+ +h[F>>3];l=K+8|0;h[l>>3]=+h[l>>3]+ +h[F+8>>3];l=(c[(c[z>>2]|0)+8>>2]|0)+56|0;c[B>>2]=c[l>>2];c[B+4>>2]=c[l+4>>2];c[B+8>>2]=c[l+8>>2];c[B+12>>2]=c[l+12>>2];h[B>>3]=+h[B>>3]+ +h[F>>3];l=B+8|0;h[l>>3]=+h[l>>3]+ +h[F+8>>3];if(+h[K>>3]>=+h[B>>3])c[I>>2]=1;else c[I>>2]=-1;h[y>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;h[x>>3]=0.0;c[m>>2]=TN(d[(c[(c[z>>2]|0)+8>>2]|0)+16+33>>0]|0,d[(c[(c[z>>2]|0)+8>>2]|0)+56+33>>0]|0)|0;switch(c[m>>2]|0){case 15:{h[x>>3]=+(c[I>>2]|0)*(+h[(c[(c[E>>2]|0)+8>>2]|0)+96>>3]-(+h[B>>3]-+h[F>>3])+ +h[J>>3]);break}case 38:{h[x>>3]=+(c[I>>2]|0)*(+h[(c[(c[E>>2]|0)+8>>2]|0)+88>>3]-(+h[F>>3]-+h[B>>3])+ +h[J>>3]);break}case 41:{h[x>>3]=+(c[I>>2]|0)*(+h[(c[(c[E>>2]|0)+8>>2]|0)+96>>3]-(+h[K>>3]-+h[F>>3])+ +h[J>>3]);break}case 48:{h[x>>3]=+(c[I>>2]|0)*(+h[(c[(c[E>>2]|0)+8>>2]|0)+96>>3]-(+h[K>>3]-+h[F>>3])+ +h[J>>3]);break}case 58:case 57:case 51:case 47:case 37:case 14:{h[x>>3]=+(c[I>>2]|0)*((+h[(c[(c[E>>2]|0)+8>>2]|0)+88>>3]-(+h[F>>3]-+h[K>>3])+(+h[(c[(c[E>>2]|0)+8>>2]|0)+96>>3]-(+h[B>>3]-+h[F>>3])))/3.0);break}case 73:{h[x>>3]=+(c[I>>2]|0)*(+h[(c[(c[E>>2]|0)+8>>2]|0)+88>>3]-(+h[F>>3]-+h[K>>3])+ +h[J>>3]);break}case 83:{h[x>>3]=+(c[I>>2]|0)*(+h[(c[(c[E>>2]|0)+8>>2]|0)+88>>3]-(+h[F>>3]-+h[K>>3]));break}case 84:{h[x>>3]=+(c[I>>2]|0)*((+h[(c[(c[E>>2]|0)+8>>2]|0)+88>>3]-(+h[F>>3]-+h[K>>3])+(+h[(c[(c[E>>2]|0)+8>>2]|0)+96>>3]-(+h[B>>3]-+h[F>>3])))/2.0+ +h[J>>3]);break}case 85:case 75:case 74:{h[x>>3]=+(c[I>>2]|0)*((+h[(c[(c[E>>2]|0)+8>>2]|0)+88>>3]-(+h[F>>3]-+h[K>>3])+(+h[(c[(c[E>>2]|0)+8>>2]|0)+96>>3]-(+h[B>>3]-+h[F>>3])))/2.0+ +h[J>>3]*2.0);break}default:{}}if(+h[y>>3]<(+h[F+8>>3]+ +h[y>>3]-+h[K+8>>3])*3.0)g=+h[y>>3];else g=(+h[F+8>>3]+ +h[y>>3]-+h[K+8>>3])*3.0;h[L>>3]=g;if(+h[y>>3]<(+h[F+8>>3]+ +h[y>>3]-+h[B+8>>3])*3.0)g=+h[y>>3];else g=(+h[F+8>>3]+ +h[y>>3]-+h[B+8>>3])*3.0;h[C>>3]=g;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[q>>2]|0))break;O=c[o>>2]|0;c[o>>2]=O+1;c[z>>2]=c[(c[n>>2]|0)+(O<<2)>>2];h[y>>3]=+h[y>>3]+ +h[r>>3];h[L>>3]=+h[L>>3]+ +h[r>>3];h[C>>3]=+h[C>>3]+ +h[r>>3];h[x>>3]=+h[x>>3]+ +(c[I>>2]|0)*+h[J>>3];c[G>>2]=0;O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|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];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(t,+h[K>>3]+ +h[x>>3],+h[K+8>>3]+ +h[L>>3]/3.0);c[O>>2]=c[t>>2];c[O+4>>2]=c[t+4>>2];c[O+8>>2]=c[t+8>>2];c[O+12>>2]=c[t+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(u,+h[K>>3]+ +h[x>>3],+h[F+8>>3]+ +h[y>>3]);c[O>>2]=c[u>>2];c[O+4>>2]=c[u+4>>2];c[O+8>>2]=c[u+8>>2];c[O+12>>2]=c[u+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(v,(+h[K>>3]+ +h[B>>3])/2.0,+h[F+8>>3]+ +h[y>>3]);c[O>>2]=c[v>>2];c[O+4>>2]=c[v+4>>2];c[O+8>>2]=c[v+8>>2];c[O+12>>2]=c[v+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(w,+h[B>>3]-+h[x>>3],+h[F+8>>3]+ +h[y>>3]);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];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(p,+h[B>>3]-+h[x>>3],+h[B+8>>3]+ +h[C>>3]/3.0);c[O>>2]=c[p>>2];c[O+4>>2]=c[p+4>>2];c[O+8>>2]=c[p+8>>2];c[O+12>>2]=c[p+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|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];if(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0){O=c[z>>2]|0;O=(c[(c[(GC(c[((c[c[z>>2]>>2]&3|0)==3?O:O+32|0)+28>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;f=(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24|0;if(O){h[M>>3]=+h[f+8>>3];h[A>>3]=+h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24>>3]}else{h[M>>3]=+h[f>>3];h[A>>3]=+h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]}h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+56+8>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3]+ +h[y>>3]+ +h[A>>3]/2.0;h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+56>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16>>3];a[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]=1;if(+h[A>>3]>+h[r>>3])h[y>>3]=+h[y>>3]+(+h[A>>3]-+h[r>>3])}O=c[z>>2]|0;yN(c[z>>2]|0,c[((c[c[z>>2]>>2]&3|0)==2?O:O+-32|0)+28>>2]|0,H,c[G>>2]|0,c[s>>2]|0);c[D>>2]=(c[D>>2]|0)+1}i=N;return}function PN(b,e,f,g,k,l){b=b|0;e=e|0;f=f|0;g=+g;k=+k;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=0,N=0,O=0;N=i;i=i+16240|0;if((i|0)>=(j|0))ba();n=N+16236|0;o=N+16232|0;q=N+16228|0;r=N+16192|0;O=N+16184|0;s=N+16224|0;D=N+16220|0;I=N+16216|0;m=N+16212|0;C=N+16176|0;L=N+16168|0;J=N+16160|0;x=N+16152|0;y=N+16144|0;M=N+16136|0;A=N+16128|0;K=N+16112|0;B=N+16096|0;F=N+16080|0;E=N+16208|0;z=N+16204|0;H=N+80|0;G=N+16200|0;t=N+64|0;u=N+48|0;v=N+32|0;w=N+16|0;p=N;c[n>>2]=b;c[o>>2]=e;c[q>>2]=f;h[r>>3]=g;h[O>>3]=k;c[s>>2]=l;c[z>>2]=c[(c[n>>2]|0)+(c[o>>2]<<2)>>2];l=c[z>>2]|0;c[E>>2]=c[((c[c[z>>2]>>2]&3|0)==3?l:l+32|0)+28>>2];h[J>>3]=+h[O>>3]/2.0/+(c[q>>2]|0);h[J>>3]=+h[J>>3]>2.0?+h[J>>3]:2.0;c[G>>2]=0;l=(c[(c[E>>2]|0)+8>>2]|0)+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];l=(c[(c[z>>2]|0)+8>>2]|0)+16|0;c[K>>2]=c[l>>2];c[K+4>>2]=c[l+4>>2];c[K+8>>2]=c[l+8>>2];c[K+12>>2]=c[l+12>>2];h[K>>3]=+h[K>>3]+ +h[F>>3];l=K+8|0;h[l>>3]=+h[l>>3]+ +h[F+8>>3];l=(c[(c[z>>2]|0)+8>>2]|0)+56|0;c[B>>2]=c[l>>2];c[B+4>>2]=c[l+4>>2];c[B+8>>2]=c[l+8>>2];c[B+12>>2]=c[l+12>>2];h[B>>3]=+h[B>>3]+ +h[F>>3];l=B+8|0;h[l>>3]=+h[l>>3]+ +h[F+8>>3];if(+h[K+8>>3]>=+h[B+8>>3])c[I>>2]=1;else c[I>>2]=-1;h[x>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+88>>3];h[y>>3]=0.0;c[m>>2]=TN(d[(c[(c[z>>2]|0)+8>>2]|0)+16+33>>0]|0,d[(c[(c[z>>2]|0)+8>>2]|0)+56+33>>0]|0)|0;switch(c[m>>2]|0){case 67:case 12:{if(+h[K+8>>3]==+h[B+8>>3])c[I>>2]=0-(c[I>>2]|0);break}default:{}}if(+h[x>>3]<(+h[K>>3]+ +h[x>>3]-+h[F>>3])*3.0)k=+h[x>>3];else k=(+h[K>>3]+ +h[x>>3]-+h[F>>3])*3.0;h[L>>3]=k;if(+h[x>>3]<(+h[B>>3]+ +h[x>>3]-+h[F>>3])*3.0)k=+h[x>>3];else k=(+h[B>>3]+ +h[x>>3]-+h[F>>3])*3.0;h[C>>3]=k;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[q>>2]|0))break;O=c[o>>2]|0;c[o>>2]=O+1;c[z>>2]=c[(c[n>>2]|0)+(O<<2)>>2];h[x>>3]=+h[x>>3]+ +h[r>>3];h[L>>3]=+h[L>>3]+ +h[r>>3];h[C>>3]=+h[C>>3]+ +h[r>>3];h[y>>3]=+h[y>>3]+ +(c[I>>2]|0)*+h[J>>3];c[G>>2]=0;O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|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];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(t,+h[K>>3]-+h[L>>3]/3.0,+h[K+8>>3]+ +h[y>>3]);c[O>>2]=c[t>>2];c[O+4>>2]=c[t+4>>2];c[O+8>>2]=c[t+8>>2];c[O+12>>2]=c[t+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(u,+h[F>>3]-+h[x>>3],+h[K+8>>3]+ +h[y>>3]);c[O>>2]=c[u>>2];c[O+4>>2]=c[u+4>>2];c[O+8>>2]=c[u+8>>2];c[O+12>>2]=c[u+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(v,+h[F>>3]-+h[x>>3],(+h[K+8>>3]+ +h[B+8>>3])/2.0);c[O>>2]=c[v>>2];c[O+4>>2]=c[v+4>>2];c[O+8>>2]=c[v+8>>2];c[O+12>>2]=c[v+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(w,+h[F>>3]-+h[x>>3],+h[B+8>>3]-+h[y>>3]);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];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(p,+h[B>>3]-+h[C>>3]/3.0,+h[B+8>>3]-+h[y>>3]);c[O>>2]=c[p>>2];c[O+4>>2]=c[p+4>>2];c[O+8>>2]=c[p+8>>2];c[O+12>>2]=c[p+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|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];if(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0){O=c[z>>2]|0;O=(c[(c[(GC(c[((c[c[z>>2]>>2]&3|0)==3?O:O+32|0)+28>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;f=(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24|0;if(O){h[M>>3]=+h[f+8>>3];h[A>>3]=+h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24>>3]}else{h[M>>3]=+h[f>>3];h[A>>3]=+h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]}h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+56>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16>>3]-+h[x>>3]-+h[M>>3]/2.0;h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+56+8>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3];a[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]=1;if(+h[M>>3]>+h[r>>3])h[x>>3]=+h[x>>3]+(+h[M>>3]-+h[r>>3])}O=c[z>>2]|0;yN(c[z>>2]|0,c[((c[c[z>>2]>>2]&3|0)==2?O:O+-32|0)+28>>2]|0,H,c[G>>2]|0,c[s>>2]|0);c[D>>2]=(c[D>>2]|0)+1}i=N;return}function QN(b,e,f,g,k,l){b=b|0;e=e|0;f=f|0;g=+g;k=+k;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=0,N=0,O=0;N=i;i=i+16240|0;if((i|0)>=(j|0))ba();n=N+16236|0;o=N+16232|0;q=N+16228|0;O=N+16192|0;r=N+16184|0;s=N+16224|0;K=N+16168|0;B=N+16152|0;F=N+16136|0;E=N+16220|0;z=N+16216|0;D=N+16212|0;I=N+16208|0;m=N+16204|0;C=N+16128|0;L=N+16120|0;J=N+16112|0;x=N+16104|0;y=N+16096|0;M=N+16088|0;A=N+16080|0;H=N+80|0;G=N+16200|0;t=N+64|0;u=N+48|0;v=N+32|0;w=N+16|0;p=N;c[n>>2]=b;c[o>>2]=e;c[q>>2]=f;h[O>>3]=g;h[r>>3]=k;c[s>>2]=l;c[z>>2]=c[(c[n>>2]|0)+(c[o>>2]<<2)>>2];l=c[z>>2]|0;c[E>>2]=c[((c[c[z>>2]>>2]&3|0)==3?l:l+32|0)+28>>2];h[J>>3]=+h[O>>3]/2.0/+(c[q>>2]|0);h[J>>3]=+h[J>>3]>2.0?+h[J>>3]:2.0;c[G>>2]=0;l=(c[(c[E>>2]|0)+8>>2]|0)+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];l=(c[(c[z>>2]|0)+8>>2]|0)+16|0;c[K>>2]=c[l>>2];c[K+4>>2]=c[l+4>>2];c[K+8>>2]=c[l+8>>2];c[K+12>>2]=c[l+12>>2];h[K>>3]=+h[K>>3]+ +h[F>>3];l=K+8|0;h[l>>3]=+h[l>>3]+ +h[F+8>>3];l=(c[(c[z>>2]|0)+8>>2]|0)+56|0;c[B>>2]=c[l>>2];c[B+4>>2]=c[l+4>>2];c[B+8>>2]=c[l+8>>2];c[B+12>>2]=c[l+12>>2];h[B>>3]=+h[B>>3]+ +h[F>>3];l=B+8|0;h[l>>3]=+h[l>>3]+ +h[F+8>>3];if(+h[K>>3]>=+h[B>>3])c[I>>2]=1;else c[I>>2]=-1;h[y>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+80>>3]/2.0;h[x>>3]=0.0;c[m>>2]=TN(d[(c[(c[z>>2]|0)+8>>2]|0)+16+33>>0]|0,d[(c[(c[z>>2]|0)+8>>2]|0)+56+33>>0]|0)|0;if((c[m>>2]|0)==67)c[I>>2]=0-(c[I>>2]|0);if(+h[y>>3]<(+h[K+8>>3]+ +h[y>>3]-+h[F+8>>3])*3.0)g=+h[y>>3];else g=(+h[K+8>>3]+ +h[y>>3]-+h[F+8>>3])*3.0;h[L>>3]=g;if(+h[y>>3]<(+h[B+8>>3]+ +h[y>>3]-+h[F+8>>3])*3.0)g=+h[y>>3];else g=(+h[B+8>>3]+ +h[y>>3]-+h[F+8>>3])*3.0;h[C>>3]=g;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[q>>2]|0))break;O=c[o>>2]|0;c[o>>2]=O+1;c[z>>2]=c[(c[n>>2]|0)+(O<<2)>>2];h[y>>3]=+h[y>>3]+ +h[r>>3];h[L>>3]=+h[L>>3]+ +h[r>>3];h[C>>3]=+h[C>>3]+ +h[r>>3];h[x>>3]=+h[x>>3]+ +(c[I>>2]|0)*+h[J>>3];c[G>>2]=0;O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|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];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(t,+h[K>>3]+ +h[x>>3],+h[K+8>>3]-+h[L>>3]/3.0);c[O>>2]=c[t>>2];c[O+4>>2]=c[t+4>>2];c[O+8>>2]=c[t+8>>2];c[O+12>>2]=c[t+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(u,+h[K>>3]+ +h[x>>3],+h[F+8>>3]-+h[y>>3]);c[O>>2]=c[u>>2];c[O+4>>2]=c[u+4>>2];c[O+8>>2]=c[u+8>>2];c[O+12>>2]=c[u+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(v,(+h[K>>3]+ +h[B>>3])/2.0,+h[F+8>>3]-+h[y>>3]);c[O>>2]=c[v>>2];c[O+4>>2]=c[v+4>>2];c[O+8>>2]=c[v+8>>2];c[O+12>>2]=c[v+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(w,+h[B>>3]-+h[x>>3],+h[F+8>>3]-+h[y>>3]);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];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|0;UN(p,+h[B>>3]-+h[x>>3],+h[B+8>>3]-+h[C>>3]/3.0);c[O>>2]=c[p>>2];c[O+4>>2]=c[p+4>>2];c[O+8>>2]=c[p+8>>2];c[O+12>>2]=c[p+12>>2];O=c[G>>2]|0;c[G>>2]=O+1;O=H+(O<<4)|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];if(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0){O=c[z>>2]|0;O=(c[(c[(GC(c[((c[c[z>>2]>>2]&3|0)==3?O:O+32|0)+28>>2]|0)|0)+8>>2]|0)+116>>2]&1|0)!=0;f=(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24|0;if(O){h[M>>3]=+h[f+8>>3];h[A>>3]=+h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24>>3]}else{h[M>>3]=+h[f>>3];h[A>>3]=+h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+24+8>>3]}h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+56+8>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16+8>>3]-+h[y>>3]-+h[A>>3]/2.0;h[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+56>>3]=+h[(c[(c[E>>2]|0)+8>>2]|0)+16>>3];a[(c[(c[(c[z>>2]|0)+8>>2]|0)+96>>2]|0)+81>>0]=1;if(+h[A>>3]>+h[r>>3])h[y>>3]=+h[y>>3]+(+h[A>>3]-+h[r>>3])}O=c[z>>2]|0;yN(c[z>>2]|0,c[((c[c[z>>2]>>2]&3|0)==2?O:O+-32|0)+28>>2]|0,H,c[G>>2]|0,c[s>>2]|0);c[D>>2]=(c[D>>2]|0)+1}i=N;return}function RN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;k=i;i=i+64|0;if((i|0)>=(j|0))ba();f=k+56|0;e=k+52|0;g=k+48|0;h=k;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;a=h;d=c[c[f>>2]>>2]|0;b=a+48|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(b|0));b=c[e>>2]|0;if(c[h+8>>2]|0){e=h+16|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]}else{e=c[h>>2]|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]}a=h;d=(c[c[f>>2]>>2]|0)+(((c[(c[f>>2]|0)+4>>2]|0)-1|0)*48|0)|0;b=a+48|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(b|0));b=c[g>>2]|0;if(c[h+12>>2]|0){h=h+32|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];i=k;return}else{h=(c[h>>2]|0)+((c[h+4>>2]|0)-1<<4)|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];i=k;return}}function SN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=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.0;u=i;i=i+144|0;if((i|0)>=(j|0))ba();f=u+132|0;n=u+128|0;o=u+124|0;g=u+64|0;k=u+120|0;l=u+116|0;m=u+112|0;p=u+56|0;q=u+48|0;s=u+32|0;t=u+16|0;r=u;c[f>>2]=b;c[n>>2]=d;c[o>>2]=e;h[q>>3]=0.0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;b=g;e=(c[c[f>>2]>>2]|0)+((c[k>>2]|0)*48|0)|0;d=b+48|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(d|0));c[l>>2]=0;c[m>>2]=3;while(1){if((c[m>>2]|0)>=(c[g+4>>2]|0))break;b=(c[g>>2]|0)+(c[l>>2]<<4)|0;c[s>>2]=c[b>>2];c[s+4>>2]=c[b+4>>2];c[s+8>>2]=c[b+8>>2];c[s+12>>2]=c[b+12>>2];b=(c[g>>2]|0)+(c[m>>2]<<4)|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];v=+O(+((+h[s>>3]-+h[t>>3])*(+h[s>>3]-+h[t>>3])+(+h[s+8>>3]-+h[t+8>>3])*(+h[s+8>>3]-+h[t+8>>3])));h[q>>3]=+h[q>>3]+v;c[l>>2]=(c[l>>2]|0)+3;c[m>>2]=(c[m>>2]|0)+3}c[k>>2]=(c[k>>2]|0)+1}h[q>>3]=+h[q>>3]/2.0;c[k>>2]=0;a:while(1){if((c[k>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){d=15;break}b=g;e=(c[c[f>>2]>>2]|0)+((c[k>>2]|0)*48|0)|0;d=b+48|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(d|0));c[l>>2]=0;c[m>>2]=3;while(1){if((c[m>>2]|0)>=(c[g+4>>2]|0))break;b=(c[g>>2]|0)+(c[l>>2]<<4)|0;c[s>>2]=c[b>>2];c[s+4>>2]=c[b+4>>2];c[s+8>>2]=c[b+8>>2];c[s+12>>2]=c[b+12>>2];b=(c[g>>2]|0)+(c[m>>2]<<4)|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];h[p>>3]=+O(+((+h[s>>3]-+h[t>>3])*(+h[s>>3]-+h[t>>3])+(+h[s+8>>3]-+h[t+8>>3])*(+h[s+8>>3]-+h[t+8>>3])));if(+h[p>>3]>=+h[q>>3]){d=12;break a}h[q>>3]=+h[q>>3]-+h[p>>3];c[l>>2]=(c[l>>2]|0)+3;c[m>>2]=(c[m>>2]|0)+3}c[k>>2]=(c[k>>2]|0)+1}if((d|0)==12){n=c[n>>2]|0;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];o=c[o>>2]|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];h[r>>3]=(+h[t>>3]*+h[q>>3]+ +h[s>>3]*(+h[p>>3]-+h[q>>3]))/+h[p>>3];h[r+8>>3]=(+h[t+8>>3]*+h[q>>3]+ +h[s+8>>3]*(+h[p>>3]-+h[q>>3]))/+h[p>>3];c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];i=u;return}else if((d|0)==15)db(176497,144210,1316,144337)}function TN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+320|0;if((i|0)>=(j|0))ba();e=o+312|0;f=o+308|0;d=o+304|0;m=o+272|0;h=o+264|0;l=o+260|0;g=o+256|0;k=o;c[f>>2]=a;c[d>>2]=b;c[m>>2]=c[14312];c[m+4>>2]=c[14313];c[m+8>>2]=c[14314];c[m+12>>2]=c[14315];c[m+16>>2]=c[14316];c[m+20>>2]=c[14317];c[m+24>>2]=c[14318];c[m+28>>2]=c[14319];n5(k|0,57280,256)|0;c[g>>2]=-1;c[l>>2]=-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=8)break;b=c[h>>2]|0;if((c[d>>2]|0)==(c[m+(c[h>>2]<<2)>>2]|0)){n=4;break}c[h>>2]=b+1}if((n|0)==4)c[g>>2]=b;c[h>>2]=0;while(1){if((c[h>>2]|0)>=8)break;b=c[h>>2]|0;if((c[f>>2]|0)==(c[m+(c[h>>2]<<2)>>2]|0)){n=9;break}c[h>>2]=b+1}if((n|0)==9)c[l>>2]=b;if((c[l>>2]|0)<0|(c[g>>2]|0)<0){c[e>>2]=0;n=c[e>>2]|0;i=o;return n|0}else{c[e>>2]=c[k+(c[l>>2]<<5)+(c[g>>2]<<2)>>2];n=c[e>>2]|0;i=o;return n|0}return 0}function UN(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0;e=i;i=i+32|0;if((i|0)>=(j|0))ba();k=e+24|0;g=e+16|0;f=e;h[k>>3]=b;h[g>>3]=d;h[f>>3]=+h[k>>3];h[f+8>>3]=+h[g>>3];c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];i=e;return}function VN(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|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,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,S=0,T=0,U=0.0;S=i;i=i+384|0;if((i|0)>=(j|0))ba();T=S+372|0;k=S+368|0;l=S+320|0;m=S+364|0;n=S+360|0;u=S+356|0;v=S+352|0;D=S+348|0;J=S+344|0;p=S+340|0;r=S+312|0;s=S+304|0;o=S+336|0;K=S+332|0;q=S+240|0;w=S+176|0;F=S+112|0;N=S+104|0;O=S+96|0;t=S+88|0;G=S+80|0;H=S+72|0;E=S+64|0;B=S+56|0;C=S+48|0;x=S+40|0;z=S+32|0;A=S+24|0;y=S+16|0;M=S+8|0;L=S;I=S+328|0;c[T>>2]=b;c[k>>2]=d;h[l>>3]=e;c[m>>2]=f;c[n>>2]=g;h[r>>3]=0.0;h[s>>3]=0.0;c[o>>2]=WN(c[T>>2]|0,+h[l>>3])|0;h[N>>3]=0.0;h[O>>3]=0.0;h[z>>3]=0.0;h[A>>3]=0.0;h[y>>3]=0.0;c[J>>2]=c[(c[o>>2]|0)+4>>2];c[K>>2]=c[c[o>>2]>>2];h[y>>3]=+h[(c[K>>2]|0)+((c[J>>2]|0)-1<<6)+16>>3];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[J>>2]|0))break;c[v>>2]=~~+XN(+((c[u>>2]|0)-1|0),+(c[J>>2]|0));c[D>>2]=~~+XN(+((c[u>>2]|0)+1|0),+(c[J>>2]|0));f=q;g=(c[K>>2]|0)+(c[u>>2]<<6)|0;b=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(b|0));h[N>>3]=+h[q>>3];h[O>>3]=+h[q+8>>3];h[t>>3]=+h[q+16>>3];f=F;g=(c[K>>2]|0)+(c[D>>2]<<6)|0;b=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(b|0));h[G>>3]=+h[F>>3];h[H>>3]=+h[F+8>>3];h[E>>3]=+YN(+h[H>>3]-+h[O>>3],+h[G>>3]-+h[N>>3]);f=w;g=(c[K>>2]|0)+(c[v>>2]<<6)|0;b=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(b|0));h[B>>3]=+h[w>>3];h[C>>3]=+h[w+8>>3];h[x>>3]=+YN(+h[C>>3]-+h[O>>3],+h[B>>3]-+h[N>>3]);c[p>>2]=0;h[s>>3]=0.0;h[A>>3]=+dc[c[k>>2]&7](+h[t>>3],+h[y>>3],+h[l>>3]);do if((c[u>>2]|0)!=0?(c[u>>2]|0)!=((c[J>>2]|0)-1|0):0){h[M>>3]=+h[E>>3]-+h[x>>3];if(+h[M>>3]<0.0)h[M>>3]=+h[M>>3]+6.283185307179586;h[L>>3]=1.5707963267948966-+h[M>>3]/2.0;if(+Q(+(+h[L>>3]))==0.0)h[z>>3]=0.0;else h[z>>3]=+h[A>>3]/+Q(+(+h[L>>3]));h[r>>3]=+h[E>>3]+1.5707963267948966+ +h[L>>3];if(0==(c[m>>2]|0)?!(+h[z>>3]>+h[4594]*+h[A>>3]):0){h[s>>3]=+h[r>>3];break}c[p>>2]=1;h[z>>3]=+h[A>>3];h[r>>3]=+XN(+h[x>>3]-1.5707963267948966,6.283185307179586);h[s>>3]=+XN(+h[E>>3]+1.5707963267948966,6.283185307179586);if((c[u>>2]|0)==((c[J>>2]|0)-1|0))c[p>>2]=0}else P=5;while(0);if((P|0)==5){P=0;h[z>>3]=+h[A>>3];if(!(c[u>>2]|0)){h[r>>3]=+h[E>>3]+1.5707963267948966;if((c[n>>2]|0)==2){e=+Q(+(+h[E>>3]));h[N>>3]=+h[N>>3]-e*+h[z>>3];e=+R(+(+h[E>>3]));h[O>>3]=+h[O>>3]-e*+h[z>>3]}}else{h[r>>3]=+h[x>>3]-1.5707963267948966;if((c[n>>2]|0)==2){e=+Q(+(+h[x>>3]));h[N>>3]=+h[N>>3]-e*+h[z>>3];e=+R(+(+h[x>>3]));h[O>>3]=+h[O>>3]-e*+h[z>>3]}}h[s>>3]=+h[r>>3]}h[(c[K>>2]|0)+(c[u>>2]<<6)>>3]=+h[N>>3];h[(c[K>>2]|0)+(c[u>>2]<<6)+8>>3]=+h[O>>3];h[(c[K>>2]|0)+(c[u>>2]<<6)+16>>3]=+h[t>>3];a[(c[K>>2]|0)+(c[u>>2]<<6)+24>>0]=108;h[(c[K>>2]|0)+(c[u>>2]<<6)+32>>3]=+h[r>>3];h[(c[K>>2]|0)+(c[u>>2]<<6)+40>>3]=+h[z>>3];c[(c[K>>2]|0)+(c[u>>2]<<6)+48>>2]=c[p>>2];h[(c[K>>2]|0)+(c[u>>2]<<6)+56>>3]=+h[s>>3];c[u>>2]=(c[u>>2]|0)+1}c[I>>2]=qK(12)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[J>>2]|0))break;f=q;g=(c[K>>2]|0)+(c[u>>2]<<6)|0;b=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(b|0));h[N>>3]=+h[q>>3];h[O>>3]=+h[q+8>>3];h[r>>3]=+h[q+32>>3];h[z>>3]=+h[q+40>>3];c[p>>2]=c[q+48>>2];h[s>>3]=+h[q+56>>3];U=+Q(+(+h[r>>3]));e=+R(+(+h[r>>3]));ZN(c[I>>2]|0,+h[N>>3]+U*+h[z>>3],+h[O>>3]+e*+h[z>>3]);if(c[p>>2]|0)_N(+h[N>>3],+h[O>>3],+h[z>>3],1,+h[r>>3],+h[s>>3],c[m>>2]|0,c[I>>2]|0);c[u>>2]=(c[u>>2]|0)+1}if((c[n>>2]|0)==1)$N(c[I>>2]|0,+h[N>>3],+h[O>>3],+h[z>>3],+h[r>>3],+h[r>>3]+3.141592653589793);else{h[r>>3]=+h[r>>3]+3.141592653589793;e=+Q(+(+h[r>>3]));U=+R(+(+h[r>>3]));ZN(c[I>>2]|0,+h[N>>3]+e*+h[z>>3],+h[O>>3]+U*+h[z>>3])}c[u>>2]=(c[J>>2]|0)-2;while(1){if((c[u>>2]|0)<0)break;f=q;g=(c[K>>2]|0)+(c[u>>2]<<6)|0;b=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(b|0));h[N>>3]=+h[q>>3];h[O>>3]=+h[q+8>>3];h[r>>3]=+h[q+32>>3]+3.141592653589793;h[z>>3]=+h[q+40>>3];c[p>>2]=c[q+48>>2];h[s>>3]=+h[q+56>>3]+3.141592653589793;e=+Q(+(+h[s>>3]));U=+R(+(+h[s>>3]));ZN(c[I>>2]|0,+h[N>>3]+e*+h[z>>3],+h[O>>3]+U*+h[z>>3]);if(c[p>>2]|0)_N(+h[N>>3],+h[O>>3],+h[z>>3],0,+h[r>>3],+h[s>>3],c[m>>2]|0,c[I>>2]|0);c[u>>2]=(c[u>>2]|0)+-1}if((c[n>>2]|0)!=1){T=c[o>>2]|0;aO(T);T=c[I>>2]|0;i=S;return T|0}$N(c[I>>2]|0,+h[N>>3],+h[O>>3],+h[z>>3],+h[r>>3],+h[r>>3]+3.141592653589793);T=c[o>>2]|0;aO(T);T=c[I>>2]|0;i=S;return T|0}function WN(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=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=i;i=i+208|0;if((i|0)>=(j|0))ba();r=u+152|0;p=u+136|0;v=u+192|0;k=u+188|0;l=u+184|0;t=u+180|0;s=u+120|0;m=u+112|0;g=u+176|0;o=u+96|0;q=u+80|0;f=u+16|0;n=u+172|0;e=u+168|0;d=u;c[v>>2]=a;h[u+128>>3]=b;h[m>>3]=0.0;c[g>>2]=bO()|0;c[n>>2]=c[(c[v>>2]|0)+4>>2];c[e>>2]=c[c[v>>2]>>2];a=c[g>>2]|0;v=c[e>>2]|0;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];cO(a,r,0.0);a=f+48|0;v=c[e>>2]|0;c[a>>2]=c[v>>2];c[a+4>>2]=c[v+4>>2];c[a+8>>2]=c[v+8>>2];c[a+12>>2]=c[v+12>>2];c[k>>2]=0;while(1){if(((c[k>>2]|0)+3|0)>=(c[n>>2]|0))break;v=f+48|0;c[f>>2]=c[v>>2];c[f+4>>2]=c[v+4>>2];c[f+8>>2]=c[v+8>>2];c[f+12>>2]=c[v+12>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>3)break;v=f+(c[l>>2]<<4)|0;a=(c[e>>2]|0)+((c[k>>2]|0)+(c[l>>2]|0)<<4)|0;c[v>>2]=c[a>>2];c[v+4>>2]=c[a+4>>2];c[v+8>>2]=c[a+8>>2];c[v+12>>2]=c[a+12>>2];c[l>>2]=(c[l>>2]|0)+1}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[t>>2]=1;while(1){if((c[t>>2]|0)>20)break;FO(d,f,3,+(c[t>>2]|0)/20.0,0,0);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[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];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];h[s>>3]=+dO(p,r);h[m>>3]=+h[m>>3]+ +h[s>>3];v=c[g>>2]|0;b=+h[m>>3];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];cO(v,r,b);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];c[t>>2]=(c[t>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+3}eO(c[g>>2]|0);i=u;return c[g>>2]|0}function XN(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();c=g+24|0;d=g+16|0;e=g+8|0;f=g;h[d>>3]=a;h[e>>3]=b;if(!(+h[d>>3]<0.0)?!(+h[d>>3]>=+h[e>>3]):0){h[c>>3]=+h[d>>3];a=+h[c>>3];i=g;return +a}h[f>>3]=-+M(+(+h[d>>3]/+h[e>>3]));h[c>>3]=+h[f>>3]*+h[e>>3]+ +h[d>>3];a=+h[c>>3];i=g;return +a}function YN(a,b){a=+a;b=+b;var c=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();e=g+24|0;c=g+16|0;d=g+8|0;f=g;h[c>>3]=a;h[d>>3]=b;do if(!(+h[d>>3]==0.0&+h[c>>3]==0.0)){h[f>>3]=+W(+(+h[c>>3]),+(+h[d>>3]));b=+h[f>>3];if(+h[f>>3]>=0.0){h[e>>3]=b;break}else{h[e>>3]=b+6.283185307179586;break}}else h[e>>3]=0.0;while(0);i=g;return +(+h[e>>3])}function ZN(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,k=0,l=0;l=i;i=i+48|0;if((i|0)>=(j|0))ba();e=l+32|0;f=l+24|0;g=l+16|0;k=l;c[e>>2]=a;h[f>>3]=b;h[g>>3]=d;if((c[c[e>>2]>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){c[(c[e>>2]|0)+4>>2]=2e3;a=tK(c[(c[e>>2]|0)+8>>2]|0,c[(c[e>>2]|0)+4>>2]<<4)|0;c[(c[e>>2]|0)+8>>2]=a}h[k>>3]=+h[f>>3];h[k+8>>3]=+h[g>>3];g=c[e>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;a=(c[(c[e>>2]|0)+8>>2]|0)+(a<<4)|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];i=l;return}function _N(a,b,d,e,f,g,k,l){a=+a;b=+b;d=+d;e=e|0;f=+f;g=+g;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;w=i;i=i+80|0;if((i|0)>=(j|0))ba();m=w+56|0;n=w+48|0;o=w+40|0;x=w+72|0;p=w+32|0;q=w+24|0;r=w+68|0;s=w+64|0;t=w+16|0;u=w+8|0;v=w;h[m>>3]=a;h[n>>3]=b;h[o>>3]=d;c[x>>2]=e;h[p>>3]=f;h[q>>3]=g;c[r>>2]=k;c[s>>2]=l;if(c[x>>2]|0){h[u>>3]=+h[p>>3];h[v>>3]=+h[q>>3]}else{h[u>>3]=+h[q>>3];h[v>>3]=+h[p>>3]}if((c[r>>2]|0)!=1){b=+h[m>>3]+ +h[o>>3]*+Q(+(+h[v>>3]));ZN(c[s>>2]|0,b,+h[m>>3]+ +h[o>>3]*+R(+(+h[v>>3])));i=w;return}h[t>>3]=+h[u>>3]-+h[v>>3];if(+h[t>>3]<=1.7453292519943296e-03)h[t>>3]=+h[t>>3]+6.283185307179586;if(+h[t>>3]<3.141592653589793){h[u>>3]=+h[t>>3]+ +h[v>>3];$N(c[s>>2]|0,+h[m>>3],+h[n>>3],+h[o>>3],+h[u>>3],+h[v>>3]);i=w;return}else{b=+h[m>>3]+ +h[o>>3]*+Q(+(+h[v>>3]));ZN(c[s>>2]|0,b,+h[m>>3]+ +h[o>>3]*+R(+(+h[v>>3])));i=w;return}}function $N(a,b,d,e,f,g){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+64|0;if((i|0)>=(j|0))ba();l=s+52|0;m=s+40|0;n=s+32|0;o=s+24|0;p=s+16|0;k=s+8|0;r=s;q=s+48|0;c[l>>2]=a;h[m>>3]=b;h[n>>3]=d;h[o>>3]=e;h[p>>3]=f;h[k>>3]=g;d=+h[m>>3]+ +h[o>>3]*+Q(+(+h[p>>3]));ZN(c[l>>2]|0,d,+h[n>>3]+ +h[o>>3]*+R(+(+h[p>>3])));if(+h[o>>3]==0.0){i=s;return}while(1){if(!(+h[k>>3]>+h[p>>3]))break;h[k>>3]=+h[k>>3]-6.283185307179586}h[r>>3]=+h[p>>3]-+h[k>>3];while(1){f=+h[r>>3];if(!(+h[r>>3]>6.283185307179586))break;h[r>>3]=f-6.283185307179586}h[r>>3]=f/19.0;c[q>>2]=1;while(1){if((c[q>>2]|0)>=20)break;d=+h[m>>3]+ +h[o>>3]*+Q(+(+h[p>>3]-+(c[q>>2]|0)*+h[r>>3]));ZN(c[l>>2]|0,d,+h[n>>3]+ +h[o>>3]*+R(+(+h[p>>3]-+(c[q>>2]|0)*+h[r>>3])));c[q>>2]=(c[q>>2]|0)+1}i=s;return}function aO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;B1(c[c[d>>2]>>2]|0);B1(c[d>>2]|0);i=b;return}function bO(){var a=0,b=0,d=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=a;c[b>>2]=qK(12)|0;c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+8>>2]=2e3;d=qK(128e3)|0;c[c[b>>2]>>2]=d;i=a;return c[b>>2]|0}function cO(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;if((c[(c[e>>2]|0)+4>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0)){a=(c[e>>2]|0)+8|0;c[a>>2]=c[a>>2]<<1;a=tK(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]<<6)|0;c[c[e>>2]>>2]=a}h[(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]<<6)>>3]=+h[b>>3];h[(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]<<6)+8>>3]=+h[b+8>>3];d=+h[f>>3];a=(c[e>>2]|0)+4|0;b=c[a>>2]|0;c[a>>2]=b+1;h[(c[c[e>>2]>>2]|0)+(b<<6)+16>>3]=d;i=g;return}function dO(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0;c=i;i=i+16|0;if((i|0)>=(j|0))ba();f=c+8|0;e=c;h[f>>3]=+h[a>>3]-+h[b>>3];h[e>>3]=+h[a+8>>3]-+h[b+8>>3];d=+O(+(+h[f>>3]*+h[f>>3]+ +h[e>>3]*+h[e>>3]));i=c;return +d}function eO(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+8>>2]|0)<=(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}a=tK(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+4>>2]<<6)|0;c[c[b>>2]>>2]=a;i=d;return}function fO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();n=o+8|0;m=o;g=o+28|0;k=o+24|0;f=o+20|0;l=o+16|0;h=o+12|0;c[g>>2]=b;c[k>>2]=e;c[f>>2]=0;c[l>>2]=0;if(!(c[(c[k>>2]|0)+4>>2]|0))db(144354,144365,202,144376);c[h>>2]=c[(c[k>>2]|0)+4>>2];if(!(c[c[h>>2]>>2]|0))db(144390,144365,205,144376);if(!(c[(c[h>>2]|0)+8>>2]|0)){e=hO(c[c[h>>2]>>2]|0)|0;c[(c[h>>2]|0)+8>>2]=e}if((d[139078]|0|0)!=0?(VH(c[c[h>>2]>>2]|0)|0)!=0:0)c[f>>2]=l;if(!((GS(c[g>>2]|0,c[k>>2]|0,c[f>>2]|0)|0)<<24>>24))iO(c[k>>2]|0,c[f>>2]|0);do if(c[f>>2]|0){g=c[24742]|0;f=c[c[h>>2]>>2]|0;if(c[l>>2]|0){n=c[l>>2]|0;c[m>>2]=f;c[m+4>>2]=n;p3(g,144401,m)|0;break}else{c[n>>2]=f;p3(g,144433,n)|0;break}}while(0);n=(c[k>>2]|0)+32|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];i=o;return}function gO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[(c[d>>2]|0)+108>>2]=0;c[(c[d>>2]|0)+108+4>>2]=32;c[(c[d>>2]|0)+108+8>>2]=-1;c[(c[d>>2]|0)+108+12>>2]=37;c[(c[d>>2]|0)+108+16>>2]=60;c[(c[d>>2]|0)+108+20>>2]=55;c[(c[d>>2]|0)+108+24>>2]=0;c[(c[d>>2]|0)+108+28>>2]=0;c[(c[d>>2]|0)+108+32>>2]=0;a=eA((c[d>>2]|0)+108|0,c[12989]|0)|0;c[(c[d>>2]|0)+144>>2]=a;i=b;return c[(c[d>>2]|0)+144>>2]|0}function hO(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d;c[b>>2]=a;if((c[14384]|0)!=0?(Y3(c[14384]|0,c[b>>2]|0)|0)==0:0){a=c[14708]|0;i=d;return a|0}c[14384]=c[b>>2];c[14708]=O3(57536,57572,35,36,95)|0;a=c[14708]|0;i=d;return a|0}function iO(b,e){b=b|0;e=e|0;var f=0,g=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;if((i|0)>=(j|0))ba();f=q+28|0;g=q+24|0;k=q+20|0;n=q;l=q+32|0;p=q+16|0;o=q+12|0;m=q+8|0;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[(c[f>>2]|0)+4>>2]>>2];h[n>>3]=+h[(c[(c[f>>2]|0)+4>>2]|0)+16>>3];h[(c[f>>2]|0)+32>>3]=0.0;h[(c[f>>2]|0)+32+8>>3]=+h[n>>3]*1.2;h[(c[f>>2]|0)+16>>3]=0.0;h[(c[f>>2]|0)+24>>3]=+h[n>>3]*.1;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;do if(f4(c[m>>2]|0,144467,4)|0){if((f4(c[m>>2]|0,144491,5)|0)!=0?(f4(c[m>>2]|0,144497,9)|0)!=0:0){c[o>>2]=144524;c[k>>2]=40856;break}c[o>>2]=144507;c[k>>2]=38808}else{c[o>>2]=144472;c[k>>2]=36760}while(0);if(c[g>>2]|0)c[c[g>>2]>>2]=c[o>>2];b=c[c[f>>2]>>2]|0;c[p>>2]=b;if(!b){i=q;return}while(1){b=c[p>>2]|0;c[p>>2]=b+1;b=a[b>>0]|0;a[l>>0]=b;if(!(b<<24>>24))break;b=(c[f>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +h[(c[k>>2]|0)+((d[l>>0]|0)<<3)>>3]}b=(c[f>>2]|0)+32|0;h[b>>3]=+h[b>>3]*+h[n>>3];i=q;return}function jO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,k=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();k=g+12|0;e=g+4|0;f=g;c[g+16>>2]=a;c[k>>2]=b;c[g+8>>2]=d;c[e>>2]=c[k>>2];c[f>>2]=C1(1,32)|0;if(c[c[e>>2]>>2]|0){k=d4(c[c[e>>2]>>2]|0)|0;c[c[f>>2]>>2]=k}if(c[(c[e>>2]|0)+4>>2]|0){k=d4(c[(c[e>>2]|0)+4>>2]|0)|0;c[(c[f>>2]|0)+4>>2]=k}k=(c[f>>2]|0)+24|0;c[k>>2]=c[k>>2]&-128|c[(c[e>>2]|0)+24>>2]&127;h[(c[f>>2]|0)+16>>3]=+h[(c[e>>2]|0)+16>>3];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+8>>2];i=g;return c[f>>2]|0}function kO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f+8|0;e=f;c[f+12>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=c[g>>2];if(c[c[e>>2]>>2]|0)B1(c[c[e>>2]>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){g=c[e>>2]|0;B1(g);i=f;return}B1(c[(c[e>>2]|0)+4>>2]|0);g=c[e>>2]|0;B1(g);i=f;return} +function U$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();h=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=1;c[n>>2]=0;c[o>>2]=0;c[k>>2]=(c[k>>2]|0)+1;a:while(1){b:do switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0){case 5:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}c[k>>2]=(c[k>>2]|0)+1;break}case 6:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}c[k>>2]=(c[k>>2]|0)+2;break}case 7:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}c[k>>2]=(c[k>>2]|0)+3;break}case 24:case 22:case 29:{if(!(c[p>>2]|0)){if((c[n>>2]|0)<(c[l>>2]|0)){c[(c[m>>2]|0)+(c[n>>2]<<4)>>2]=c[k>>2];a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=1}c[p>>2]=1}break}case 12:{if((c[p>>2]|0)!=2){if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+4>>2]=(c[k>>2]|0)+1;c[p>>2]=2;c[o>>2]=12;break b}if((c[o>>2]|0)==12){c[p>>2]=0;if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+8>>2]=c[k>>2];c[n>>2]=(c[n>>2]|0)+1}break}case 13:{if((c[p>>2]|0)!=2){if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+4>>2]=(c[k>>2]|0)+1;c[p>>2]=2;c[o>>2]=13;break b}if((c[o>>2]|0)==13){c[p>>2]=0;if((c[n>>2]|0)<(c[l>>2]|0))c[(c[m>>2]|0)+(c[n>>2]<<4)+8>>2]=c[k>>2];c[n>>2]=(c[n>>2]|0)+1}break}case 3:{if((c[n>>2]|0)<(c[l>>2]|0))a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=0;break}case 21:{if((c[p>>2]|0)==1){c[p>>2]=0;break b}if(((c[p>>2]|0)==2?(c[n>>2]|0)<(c[l>>2]|0):0)?(a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]|0)!=0:0){if((((c[k>>2]|0)!=(c[(c[m>>2]|0)+(c[n>>2]<<4)+4>>2]|0)?(a[c[k>>2]>>0]|0)==32:0)?(a[(c[k>>2]|0)+1>>0]|0)!=32:0)?(d[(c[h>>2]|0)+76+(d[(c[k>>2]|0)+1>>0]|0)>>0]|0)!=(c[o>>2]|0):0)break b;a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=0}break}case 10:case 9:{if((c[p>>2]|0)==1){c[p>>2]=0;break b}if((c[p>>2]|0)==2?(c[n>>2]|0)<(c[l>>2]|0):0)a[(c[m>>2]|0)+(c[n>>2]<<4)+12>>0]=0;break}case 17:case 11:{if((c[p>>2]|0)!=2)break a;break}default:{}}while(0);c[k>>2]=(c[k>>2]|0)+1}i=q;return c[n>>2]|0}function V$(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();e=l+20|0;f=l+12|0;k=l+8|0;g=l+4|0;h=l;c[l+16>>2]=b;c[f>>2]=d;c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+2;a:do if((a[c[f>>2]>>0]|0)==120){c[f>>2]=(c[f>>2]|0)+1;while(1){if(!((a[c[f>>2]>>0]|0)==59^1))break a;c[g>>2]=a[c[f>>2]>>0];switch(c[g>>2]|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{c[k>>2]=c[k>>2]<<4;c[k>>2]=c[k>>2]|(c[g>>2]|0)-48;break}case 70:case 69:case 68:case 67:case 66:case 65:{c[k>>2]=c[k>>2]<<4;c[k>>2]=(c[k>>2]|0)+(10+((c[g>>2]|0)-65));break}case 102:case 101:case 100:case 99:case 98:case 97:{c[k>>2]=c[k>>2]<<4;c[k>>2]=(c[k>>2]|0)+(10+((c[g>>2]|0)-97));break}default:{}}if((c[k>>2]|0)>=1114112)break;c[f>>2]=(c[f>>2]|0)+1}c[e>>2]=-1;k=c[e>>2]|0;i=l;return k|0}else{while(1){if(!((a[c[f>>2]>>0]|0)==59^1))break a;c[h>>2]=a[c[f>>2]>>0];c[k>>2]=(c[k>>2]|0)*10;c[k>>2]=(c[k>>2]|0)+((c[h>>2]|0)-48);if((c[k>>2]|0)>=1114112)break;c[f>>2]=(c[f>>2]|0)+1}c[e>>2]=-1;k=c[e>>2]|0;i=l;return k|0}while(0);c[e>>2]=l_(c[k>>2]|0)|0;k=c[e>>2]|0;i=l;return k|0}function W$(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0;h=i;i=i+16|0;if((i|0)>=(j|0))ba();f=h+12|0;g=h+4|0;k=h;c[h+8>>2]=b;c[g>>2]=d;c[k>>2]=e;a:do switch(((c[k>>2]|0)-(c[g>>2]|0)|0)/1|0|0){case 2:{if((a[(c[g>>2]|0)+1>>0]|0)==116)switch(a[c[g>>2]>>0]|0){case 108:{c[f>>2]=60;k=c[f>>2]|0;i=h;return k|0}case 103:{c[f>>2]=62;k=c[f>>2]|0;i=h;return k|0}default:break a}break}case 3:{if(((a[c[g>>2]>>0]|0)==97?(c[g>>2]=(c[g>>2]|0)+1,(a[c[g>>2]>>0]|0)==109):0)?(c[g>>2]=(c[g>>2]|0)+1,(a[c[g>>2]>>0]|0)==112):0){c[f>>2]=38;k=c[f>>2]|0;i=h;return k|0}break}case 4:switch(a[c[g>>2]>>0]|0){case 113:{c[g>>2]=(c[g>>2]|0)+1;if((a[c[g>>2]>>0]|0)!=117)break a;c[g>>2]=(c[g>>2]|0)+1;if((a[c[g>>2]>>0]|0)!=111)break a;c[g>>2]=(c[g>>2]|0)+1;if((a[c[g>>2]>>0]|0)!=116)break a;c[f>>2]=34;k=c[f>>2]|0;i=h;return k|0}case 97:{c[g>>2]=(c[g>>2]|0)+1;if((a[c[g>>2]>>0]|0)!=112)break a;c[g>>2]=(c[g>>2]|0)+1;if((a[c[g>>2]>>0]|0)!=111)break a;c[g>>2]=(c[g>>2]|0)+1;if((a[c[g>>2]>>0]|0)!=115)break a;c[f>>2]=39;k=c[f>>2]|0;i=h;return k|0}default:break a}default:{}}while(0);c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}function X$(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0;m=i;i=i+16|0;if((i|0)>=(j|0))ba();g=m+12|0;h=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[k>>2]=e;c[l>>2]=f;while(1){if((c[h>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;switch(d[(c[g>>2]|0)+76+(d[c[h>>2]>>0]|0)>>0]|0|0){case 5:{c[h>>2]=(c[h>>2]|0)+2;break}case 6:{c[h>>2]=(c[h>>2]|0)+3;break}case 7:{c[h>>2]=(c[h>>2]|0)+4;break}case 10:{c[(c[l>>2]|0)+4>>2]=-1;b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1;break}case 9:{b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1;if((c[h>>2]|0)!=(c[k>>2]|0)?(d[(c[g>>2]|0)+76+(d[c[h>>2]>>0]|0)>>0]|0|0)==10:0)c[h>>2]=(c[h>>2]|0)+1;c[(c[l>>2]|0)+4>>2]=-1;break}default:c[h>>2]=(c[h>>2]|0)+1}b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1}i=m;return}function Y$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();h=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1;a:while(1){if((c[l>>2]|0)==(c[m>>2]|0)){o=10;break}switch(d[(c[k>>2]|0)+76+(d[c[l>>2]>>0]|0)>>0]|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:break;case 21:{if((a[c[l>>2]>>0]|0)==9){o=5;break a}break}case 22:case 26:{if(a[c[l>>2]>>0]&-128)o=7;break}default:o=7}if((o|0)==7){o=0;switch(a[c[l>>2]>>0]|0){case 64:case 36:break;default:{o=8;break a}}}c[l>>2]=(c[l>>2]|0)+1}if((o|0)==5){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else if((o|0)==8){c[c[n>>2]>>2]=c[l>>2];c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else if((o|0)==10){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}return 0}function Z$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();l=q+20|0;m=q+16|0;n=q+12|0;k=q+8|0;p=q+4|0;o=q;c[q+24>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[k>>2]=h;a:do if(((c[m>>2]|0)-(c[c[l>>2]>>2]|0)|0)>((c[k>>2]|0)-(c[c[n>>2]>>2]|0)|0)){c[m>>2]=(c[c[l>>2]>>2]|0)+((c[k>>2]|0)-(c[c[n>>2]>>2]|0));while(1){if((c[m>>2]|0)>>>0<=(c[c[l>>2]>>2]|0)>>>0)break a;if(((d[(c[m>>2]|0)+-1>>0]|0)&192|0)!=128)break a;c[m>>2]=(c[m>>2]|0)+-1}}while(0);c[p>>2]=c[c[n>>2]>>2];c[o>>2]=c[c[l>>2]>>2];while(1){k=c[o>>2]|0;if((c[o>>2]|0)==(c[m>>2]|0))break;a[c[p>>2]>>0]=a[k>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}c[c[l>>2]>>2]=k;c[c[n>>2]>>2]=c[p>>2];i=q;return}function _$(e,f,g,h,k){e=e|0;f=f|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+32|0;if((i|0)>=(j|0))ba();l=t+28|0;p=t+24|0;m=t+20|0;q=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;o=t;c[l>>2]=e;c[p>>2]=f;c[m>>2]=g;c[q>>2]=h;c[n>>2]=k;c[s>>2]=c[c[q>>2]>>2];c[r>>2]=c[c[p>>2]>>2];a:while(1){if((c[r>>2]|0)==(c[m>>2]|0)){l=10;break}if((c[s>>2]|0)==(c[n>>2]|0)){l=10;break}switch(d[(c[l>>2]|0)+76+(d[c[r>>2]>>0]|0)>>0]|0){case 5:{k=((a[c[r>>2]>>0]&31)<<6|a[(c[r>>2]|0)+1>>0]&63)&65535;h=c[s>>2]|0;c[s>>2]=h+2;b[h>>1]=k;c[r>>2]=(c[r>>2]|0)+2;continue a}case 6:{k=((a[c[r>>2]>>0]&15)<<12|(a[(c[r>>2]|0)+1>>0]&63)<<6|a[(c[r>>2]|0)+2>>0]&63)&65535;h=c[s>>2]|0;c[s>>2]=h+2;b[h>>1]=k;c[r>>2]=(c[r>>2]|0)+3;continue a}case 7:{if(((c[s>>2]|0)+2|0)==(c[n>>2]|0)){l=10;break a}c[o>>2]=(a[c[r>>2]>>0]&7)<<18|(a[(c[r>>2]|0)+1>>0]&63)<<12|(a[(c[r>>2]|0)+2>>0]&63)<<6|a[(c[r>>2]|0)+3>>0]&63;c[o>>2]=(c[o>>2]|0)-65536;b[c[s>>2]>>1]=(c[o>>2]|0)>>>10|55296;b[(c[s>>2]|0)+2>>1]=c[o>>2]&1023|56320;c[s>>2]=(c[s>>2]|0)+4;c[r>>2]=(c[r>>2]|0)+4;continue a}default:{k=c[r>>2]|0;c[r>>2]=k+1;k=a[k>>0]|0;h=c[s>>2]|0;c[s>>2]=h+2;b[h>>1]=k;continue a}}}if((l|0)==10){c[c[p>>2]>>2]=c[r>>2];c[c[q>>2]>>2]=c[s>>2];i=t;return}}function $$(a,b){a=a|0;b=b|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[e+4>>2]=a;c[f>>2]=b;i=e;return c[93280+(((d[181914+((d[c[f>>2]>>0]|0)>>2&7)>>0]|0)<<3)+(((d[c[f>>2]>>0]|0)&3)<<1)+((d[(c[f>>2]|0)+1>>0]|0)>>5&1)<<2)>>2]&1<<((d[(c[f>>2]|0)+1>>0]|0)&31)|0}function a0(a,b){a=a|0;b=b|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[e+4>>2]=a;c[f>>2]=b;i=e;return c[93280+(((d[181914+((((d[c[f>>2]>>0]|0)&15)<<4)+((d[(c[f>>2]|0)+1>>0]|0)>>2&15))>>0]|0)<<3)+(((d[(c[f>>2]|0)+1>>0]|0)&3)<<1)+((d[(c[f>>2]|0)+2>>0]|0)>>5&1)<<2)>>2]&1<<((d[(c[f>>2]|0)+2>>0]|0)&31)|0}function b0(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function c0(a,b){a=a|0;b=b|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[e+4>>2]=a;c[f>>2]=b;i=e;return c[93280+(((d[181658+((d[c[f>>2]>>0]|0)>>2&7)>>0]|0)<<3)+(((d[c[f>>2]>>0]|0)&3)<<1)+((d[(c[f>>2]|0)+1>>0]|0)>>5&1)<<2)>>2]&1<<((d[(c[f>>2]|0)+1>>0]|0)&31)|0}function d0(a,b){a=a|0;b=b|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[e+4>>2]=a;c[f>>2]=b;i=e;return c[93280+(((d[181658+((((d[c[f>>2]>>0]|0)&15)<<4)+((d[(c[f>>2]|0)+1>>0]|0)>>2&15))>>0]|0)<<3)+(((d[(c[f>>2]|0)+1>>0]|0)&3)<<1)+((d[(c[f>>2]|0)+2>>0]|0)>>5&1)<<2)>>2]&1<<((d[(c[f>>2]|0)+2>>0]|0)&31)|0}function e0(a,b){a=a|0;b=b|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f;c[f+4>>2]=a;c[e>>2]=b;if((d[c[e>>2]>>0]|0|0)>=194?((d[(c[e>>2]|0)+1>>0]|0)&128|0)!=0:0)e=((d[(c[e>>2]|0)+1>>0]|0)&192|0)==192;else e=1;i=f;return e&1|0}function f0(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;if((i|0)>=(j|0))ba();f=g;c[g+4>>2]=a;c[f>>2]=b;if(!((d[(c[f>>2]|0)+2>>0]|0)&128)){f=1;f=f&1;i=g;return f|0}if((d[c[f>>2]>>0]|0|0)==239?(d[(c[f>>2]|0)+1>>0]|0|0)==191:0){if((d[(c[f>>2]|0)+2>>0]|0|0)>189){f=1;f=f&1;i=g;return f|0}}else e=5;if((e|0)==5?((d[(c[f>>2]|0)+2>>0]|0)&192|0)==192:0){f=1;f=f&1;i=g;return f|0}a=d[(c[f>>2]|0)+1>>0]|0;if((d[c[f>>2]>>0]|0|0)==224)if((a|0)<160)a=1;else a=((d[(c[f>>2]|0)+1>>0]|0)&192|0)==192;else if(!(a&128))a=1;else{a=d[(c[f>>2]|0)+1>>0]|0;a=(((d[c[f>>2]>>0]|0|0)==237?(a|0)>159:(a&192|0)==192)&1|0)!=0}f=(a&1|0)!=0;f=f&1;i=g;return f|0}function g0(a,b){a=a|0;b=b|0;var e=0,f=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();e=f;c[f+4>>2]=a;c[e>>2]=b;if(!((d[(c[e>>2]|0)+3>>0]|0)&128)){e=1;e=e&1;i=f;return e|0}if(((d[(c[e>>2]|0)+3>>0]|0)&192|0)==192){e=1;e=e&1;i=f;return e|0}if(!((d[(c[e>>2]|0)+2>>0]|0)&128)){e=1;e=e&1;i=f;return e|0}if(((d[(c[e>>2]|0)+2>>0]|0)&192|0)==192){e=1;e=e&1;i=f;return e|0}a=d[(c[e>>2]|0)+1>>0]|0;if((d[c[e>>2]>>0]|0|0)==240)if((a|0)<144)a=1;else a=((d[(c[e>>2]|0)+1>>0]|0)&192|0)==192;else if(!(a&128))a=1;else{a=d[(c[e>>2]|0)+1>>0]|0;a=(((d[c[e>>2]>>0]|0|0)==244?(a|0)>143:(a&192|0)==192)&1|0)!=0}e=(a&1|0)!=0;e=e&1;i=f;return e|0}function h0(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();k=n+16|0;g=n+12|0;l=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[l>>2]=b;c[h>>2]=e;c[m>>2]=f;a:do if((c[l>>2]|0)==(c[h>>2]|0))c[k>>2]=-1;else{b:do switch(d[(c[g>>2]|0)+76+(d[c[l>>2]>>0]|0)>>0]|0|0){case 29:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 24:case 22:{c[l>>2]=(c[l>>2]|0)+1;break}case 5:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break a}b=(gc[c[(c[g>>2]|0)+344>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(b){c[l>>2]=e+2;break b}else{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}}case 6:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break a}b=(gc[c[(c[g>>2]|0)+348>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(b){c[l>>2]=e+3;break b}else{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}}case 7:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break a}b=(gc[c[(c[g>>2]|0)+352>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(b){c[l>>2]=e+4;break b}else{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}}case 19:{c[k>>2]=j0(c[g>>2]|0,(c[l>>2]|0)+1|0,c[h>>2]|0,c[m>>2]|0)|0;break a}default:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}}while(0);c:while(1){if((c[l>>2]|0)==(c[h>>2]|0)){a=44;break}switch(d[(c[g>>2]|0)+76+(d[c[l>>2]>>0]|0)>>0]|0|0){case 29:{a=25;break c}case 18:{a=42;break c}case 27:case 26:case 25:case 24:case 22:{c[l>>2]=(c[l>>2]|0)+1;continue c}case 5:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<2){a=28;break c}b=(gc[c[(c[g>>2]|0)+332>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(!b){a=30;break c}c[l>>2]=e+2;continue c}case 6:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<3){a=33;break c}b=(gc[c[(c[g>>2]|0)+336>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(!b){a=35;break c}c[l>>2]=e+3;continue c}case 7:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<4){a=38;break c}b=(gc[c[(c[g>>2]|0)+340>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(!b){a=40;break c}c[l>>2]=e+4;continue c}default:{a=43;break c}}}switch(a|0){case 25:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 28:{c[k>>2]=-2;break a}case 30:{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}case 33:{c[k>>2]=-2;break a}case 35:{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}case 38:{c[k>>2]=-2;break a}case 40:{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}case 42:{c[c[m>>2]>>2]=(c[l>>2]|0)+1;c[k>>2]=9;break a}case 43:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 44:{c[k>>2]=-1;break a}}}while(0);i=n;return c[k>>2]|0}function i0(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();k=n+16|0;g=n+12|0;l=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[l>>2]=b;c[h>>2]=e;c[m>>2]=f;a:do if((c[l>>2]|0)==(c[h>>2]|0))c[k>>2]=-1;else{b:do switch(d[(c[g>>2]|0)+76+(d[c[l>>2]>>0]|0)>>0]|0|0){case 29:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 24:case 22:{c[l>>2]=(c[l>>2]|0)+1;break}case 5:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break a}b=(gc[c[(c[g>>2]|0)+344>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(b){c[l>>2]=e+2;break b}else{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}}case 6:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break a}b=(gc[c[(c[g>>2]|0)+348>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(b){c[l>>2]=e+3;break b}else{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}}case 7:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break a}b=(gc[c[(c[g>>2]|0)+352>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(b){c[l>>2]=e+4;break b}else{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}}case 30:case 9:case 10:case 21:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=22;break a}default:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}}while(0);c:while(1){if((c[l>>2]|0)==(c[h>>2]|0)){a=44;break}switch(d[(c[g>>2]|0)+76+(d[c[l>>2]>>0]|0)>>0]|0|0){case 29:{a=25;break c}case 18:{a=42;break c}case 27:case 26:case 25:case 24:case 22:{c[l>>2]=(c[l>>2]|0)+1;continue c}case 5:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<2){a=28;break c}b=(gc[c[(c[g>>2]|0)+332>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(!b){a=30;break c}c[l>>2]=e+2;continue c}case 6:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<3){a=33;break c}b=(gc[c[(c[g>>2]|0)+336>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(!b){a=35;break c}c[l>>2]=e+3;continue c}case 7:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<4){a=38;break c}b=(gc[c[(c[g>>2]|0)+340>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(!b){a=40;break c}c[l>>2]=e+4;continue c}default:{a=43;break c}}}switch(a|0){case 25:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 28:{c[k>>2]=-2;break a}case 30:{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}case 33:{c[k>>2]=-2;break a}case 35:{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}case 38:{c[k>>2]=-2;break a}case 40:{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}case 42:{c[c[m>>2]>>2]=(c[l>>2]|0)+1;c[k>>2]=28;break a}case 43:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 44:{c[k>>2]=-1;break a}}}while(0);i=n;return c[k>>2]|0}function j0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();l=o+16|0;h=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=b;c[m>>2]=e;c[k>>2]=f;c[n>>2]=g;a:do if((c[m>>2]|0)!=(c[k>>2]|0)){if((a[c[m>>2]>>0]|0)==120){c[l>>2]=k0(c[h>>2]|0,(c[m>>2]|0)+1|0,c[k>>2]|0,c[n>>2]|0)|0;n=c[l>>2]|0;i=o;return n|0}b=c[m>>2]|0;if((d[(c[h>>2]|0)+76+(d[c[m>>2]>>0]|0)>>0]|0)!=25){c[c[n>>2]>>2]=b;c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}c[m>>2]=b+1;b:while(1){if((c[m>>2]|0)==(c[k>>2]|0))break a;switch(d[(c[h>>2]|0)+76+(d[c[m>>2]>>0]|0)>>0]|0){case 18:{b=9;break b}case 25:break;default:{b=10;break b}}c[m>>2]=(c[m>>2]|0)+1}if((b|0)==9){c[c[n>>2]>>2]=(c[m>>2]|0)+1;c[l>>2]=10;n=c[l>>2]|0;i=o;return n|0}else if((b|0)==10){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=0;n=c[l>>2]|0;i=o;return n|0}}while(0);c[l>>2]=-1;n=c[l>>2]|0;i=o;return n|0}function k0(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();k=n+16|0;g=n+12|0;l=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[l>>2]=b;c[h>>2]=e;c[m>>2]=f;a:do if((c[l>>2]|0)!=(c[h>>2]|0)){a=c[l>>2]|0;if(((d[(c[g>>2]|0)+76+(d[c[l>>2]>>0]|0)>>0]|0)+-24|0)>>>0>=2){c[c[m>>2]>>2]=a;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[l>>2]=a+1;b:while(1){if((c[l>>2]|0)==(c[h>>2]|0))break a;switch(d[(c[g>>2]|0)+76+(d[c[l>>2]>>0]|0)>>0]|0|0){case 18:{a=7;break b}case 24:case 25:break;default:{a=8;break b}}c[l>>2]=(c[l>>2]|0)+1}if((a|0)==7){c[c[m>>2]>>2]=(c[l>>2]|0)+1;c[k>>2]=10;m=c[k>>2]|0;i=n;return m|0}else if((a|0)==8){c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}}while(0);c[k>>2]=-1;m=c[k>>2]|0;i=n;return m|0}function l0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();n=q+20|0;l=q+16|0;o=q+12|0;m=q+8|0;p=q+4|0;h=q;c[l>>2]=b;c[o>>2]=e;c[m>>2]=f;c[p>>2]=g;a:do if((c[o>>2]|0)!=(c[m>>2]|0)){b:do switch(d[(c[l>>2]|0)+76+(d[c[o>>2]>>0]|0)>>0]|0){case 29:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;break a}case 24:case 22:{c[o>>2]=(c[o>>2]|0)+1;break}case 5:{if(((c[m>>2]|0)-(c[o>>2]|0)|0)<2){c[n>>2]=-2;break a}e=(gc[c[(c[l>>2]|0)+344>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(e){c[o>>2]=b+2;break b}else{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}}case 6:{if(((c[m>>2]|0)-(c[o>>2]|0)|0)<3){c[n>>2]=-2;break a}e=(gc[c[(c[l>>2]|0)+348>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(e){c[o>>2]=b+3;break b}else{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}}case 7:{if(((c[m>>2]|0)-(c[o>>2]|0)|0)<4){c[n>>2]=-2;break a}e=(gc[c[(c[l>>2]|0)+352>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(e){c[o>>2]=b+4;break b}else{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}}case 16:{k=(c[o>>2]|0)+1|0;c[o>>2]=k;if((k|0)==(c[m>>2]|0)){c[n>>2]=-1;break a}switch(d[(c[l>>2]|0)+76+(d[c[o>>2]>>0]|0)>>0]|0){case 27:{c[n>>2]=m0(c[l>>2]|0,(c[o>>2]|0)+1|0,c[m>>2]|0,c[p>>2]|0)|0;break a}case 20:{c[n>>2]=n0(c[l>>2]|0,(c[o>>2]|0)+1|0,c[m>>2]|0,c[p>>2]|0)|0;break a}default:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;break a}}}case 15:{c[n>>2]=o0(c[l>>2]|0,(c[o>>2]|0)+1|0,c[m>>2]|0,c[p>>2]|0)|0;break a}case 17:{c[n>>2]=p0(c[l>>2]|0,(c[o>>2]|0)+1|0,c[m>>2]|0,c[p>>2]|0)|0;break a}default:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;break a}}while(0);c[h>>2]=0;c:while(1){if((c[o>>2]|0)==(c[m>>2]|0)){k=104;break}switch(d[(c[l>>2]|0)+76+(d[c[o>>2]>>0]|0)>>0]|0){case 29:{k=33;break c}case 10:case 9:case 21:{k=73;break c}case 11:{k=97;break c}case 17:break c;case 27:case 26:case 25:case 24:case 22:{c[o>>2]=(c[o>>2]|0)+1;continue c}case 5:{if(((c[m>>2]|0)-(c[o>>2]|0)|0)<2){k=36;break c}e=(gc[c[(c[l>>2]|0)+332>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(!e){k=38;break c}c[o>>2]=b+2;continue c}case 6:{if(((c[m>>2]|0)-(c[o>>2]|0)|0)<3){k=41;break c}e=(gc[c[(c[l>>2]|0)+336>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(!e){k=43;break c}c[o>>2]=b+3;continue c}case 7:{if(((c[m>>2]|0)-(c[o>>2]|0)|0)<4){k=46;break c}e=(gc[c[(c[l>>2]|0)+340>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(!e){k=48;break c}c[o>>2]=b+4;continue c}case 23:{if(c[h>>2]|0){k=51;break c}c[h>>2]=1;c[o>>2]=(c[o>>2]|0)+1;if((c[o>>2]|0)==(c[m>>2]|0)){k=53;break c}switch(d[(c[l>>2]|0)+76+(d[c[o>>2]>>0]|0)>>0]|0){case 29:{k=55;break c}case 24:case 22:{c[o>>2]=(c[o>>2]|0)+1;continue c}case 5:{if(((c[m>>2]|0)-(c[o>>2]|0)|0)<2){k=58;break c}e=(gc[c[(c[l>>2]|0)+344>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(!e){k=60;break c}c[o>>2]=b+2;continue c}case 6:{if(((c[m>>2]|0)-(c[o>>2]|0)|0)<3){k=63;break c}e=(gc[c[(c[l>>2]|0)+348>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(!e){k=65;break c}c[o>>2]=b+3;continue c}case 7:{if(((c[m>>2]|0)-(c[o>>2]|0)|0)<4){k=68;break c}e=(gc[c[(c[l>>2]|0)+352>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(!e){k=70;break c}c[o>>2]=b+4;continue c}default:{k=72;break c}}}default:{k=103;break c}}}d:switch(k|0){case 33:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;break a}case 36:{c[n>>2]=-2;break a}case 38:{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}case 41:{c[n>>2]=-2;break a}case 43:{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}case 46:{c[n>>2]=-2;break a}case 48:{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}case 51:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;break a}case 53:{c[n>>2]=-1;break a}case 55:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;break a}case 58:{c[n>>2]=-2;break a}case 60:{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}case 63:{c[n>>2]=-2;break a}case 65:{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}case 68:{c[n>>2]=-2;break a}case 70:{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}case 72:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;break a}case 73:{c[o>>2]=(c[o>>2]|0)+1;e:while(1){if((c[o>>2]|0)==(c[m>>2]|0)){k=96;break}switch(d[(c[l>>2]|0)+76+(d[c[o>>2]>>0]|0)>>0]|0){case 11:{k=97;break d}case 17:break d;case 29:{k=76;break e}case 24:case 22:{k=77;break e}case 5:{k=78;break e}case 6:{k=83;break e}case 7:{k=88;break e}case 10:case 9:case 21:break;default:{k=94;break e}}c[o>>2]=(c[o>>2]|0)+1}do if((k|0)==76){c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;break a}else if((k|0)==77)c[o>>2]=(c[o>>2]|0)+1;else if((k|0)==78){if(((c[m>>2]|0)-(c[o>>2]|0)|0)<2){c[n>>2]=-2;break a}k=(gc[c[(c[l>>2]|0)+344>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(k){c[o>>2]=b+2;break}else{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}}else if((k|0)==83){if(((c[m>>2]|0)-(c[o>>2]|0)|0)<3){c[n>>2]=-2;break a}k=(gc[c[(c[l>>2]|0)+348>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(k){c[o>>2]=b+3;break}else{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}}else if((k|0)==88){if(((c[m>>2]|0)-(c[o>>2]|0)|0)<4){c[n>>2]=-2;break a}k=(gc[c[(c[l>>2]|0)+352>>2]&127](c[l>>2]|0,c[o>>2]|0)|0)!=0;b=c[o>>2]|0;if(k){c[o>>2]=b+4;break}else{c[c[p>>2]>>2]=b;c[n>>2]=0;break a}}else if((k|0)==94){c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;break a}else if((k|0)==96){c[n>>2]=-1;break a}while(0);c[n>>2]=q0(c[l>>2]|0,c[o>>2]|0,c[m>>2]|0,c[p>>2]|0)|0;break a}case 103:{c[c[p>>2]>>2]=c[o>>2];c[n>>2]=0;break a}case 104:{c[n>>2]=-1;break a}}if((k|0)==97){c[c[p>>2]>>2]=(c[o>>2]|0)+1;c[n>>2]=2;break}c[o>>2]=(c[o>>2]|0)+1;if((c[o>>2]|0)==(c[m>>2]|0)){c[n>>2]=-1;break}b=c[o>>2]|0;if((a[c[o>>2]>>0]|0)==62){c[c[p>>2]>>2]=b+1;c[n>>2]=4;break}else{c[c[p>>2]>>2]=b;c[n>>2]=0;break}}else c[n>>2]=-1;while(0);i=q;return c[n>>2]|0}function m0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();l=p+16|0;h=p+12|0;m=p+8|0;k=p+4|0;n=p;c[h>>2]=b;c[m>>2]=e;c[k>>2]=f;c[n>>2]=g;a:do if((c[m>>2]|0)!=(c[k>>2]|0)){b=c[m>>2]|0;if((a[c[m>>2]>>0]|0)!=45){c[c[n>>2]>>2]=b;c[l>>2]=0;break}c[m>>2]=b+1;b:while(1){if((c[m>>2]|0)==(c[k>>2]|0)){o=32;break a}switch(d[(c[h>>2]|0)+76+(d[c[m>>2]>>0]|0)>>0]|0){case 8:case 1:case 0:{o=22;break b}case 5:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<2){o=8;break b}o=(gc[c[(c[h>>2]|0)+356>>2]&127](c[h>>2]|0,c[m>>2]|0)|0)!=0;b=c[m>>2]|0;if(o){o=10;break b}c[m>>2]=b+2;continue b}case 6:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<3){o=13;break b}o=(gc[c[(c[h>>2]|0)+360>>2]&127](c[h>>2]|0,c[m>>2]|0)|0)!=0;b=c[m>>2]|0;if(o){o=15;break b}c[m>>2]=b+3;continue b}case 7:{if(((c[k>>2]|0)-(c[m>>2]|0)|0)<4){o=18;break b}o=(gc[c[(c[h>>2]|0)+364>>2]&127](c[h>>2]|0,c[m>>2]|0)|0)!=0;b=c[m>>2]|0;if(o){o=20;break b}c[m>>2]=b+4;continue b}case 27:{o=(c[m>>2]|0)+1|0;c[m>>2]=o;if((o|0)==(c[k>>2]|0)){o=24;break b}if((a[c[m>>2]>>0]|0)==45){o=26;break b}else continue b}default:{c[m>>2]=(c[m>>2]|0)+1;continue b}}}if((o|0)==8){c[l>>2]=-2;break}else if((o|0)==10){c[c[n>>2]>>2]=b;c[l>>2]=0;break}else if((o|0)==13){c[l>>2]=-2;break}else if((o|0)==15){c[c[n>>2]>>2]=b;c[l>>2]=0;break}else if((o|0)==18){c[l>>2]=-2;break}else if((o|0)==20){c[c[n>>2]>>2]=b;c[l>>2]=0;break}else if((o|0)==22){c[c[n>>2]>>2]=c[m>>2];c[l>>2]=0;break}else if((o|0)==24){c[l>>2]=-1;break}else if((o|0)==26){h=(c[m>>2]|0)+1|0;c[m>>2]=h;if((h|0)==(c[k>>2]|0)){c[l>>2]=-1;break}b=c[m>>2]|0;if((a[c[m>>2]>>0]|0)==62){c[c[n>>2]>>2]=b+1;c[l>>2]=13;break}else{c[c[n>>2]>>2]=b;c[l>>2]=0;break}}}else o=32;while(0);if((o|0)==32)c[l>>2]=-1;i=p;return c[l>>2]|0}function n0(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();h=m+20|0;k=m+12|0;n=m+8|0;l=m+4|0;g=m;c[m+16>>2]=b;c[k>>2]=d;c[n>>2]=e;c[l>>2]=f;if(((c[n>>2]|0)-(c[k>>2]|0)|0)<6){c[h>>2]=-1;n=c[h>>2]|0;i=m;return n|0}c[g>>2]=0;while(1){b=c[k>>2]|0;if((c[g>>2]|0)>=6){e=8;break}if((a[b>>0]|0)!=(a[182189+(c[g>>2]|0)>>0]|0)){e=6;break}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((e|0)==6){c[c[l>>2]>>2]=c[k>>2];c[h>>2]=0;n=c[h>>2]|0;i=m;return n|0}else if((e|0)==8){c[c[l>>2]>>2]=b;c[h>>2]=8;n=c[h>>2]|0;i=m;return n|0}return 0}function o0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;if((i|0)>=(j|0))ba();m=r+24|0;l=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;h=r;c[l>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[h>>2]=c[n>>2];a:do if((c[n>>2]|0)==(c[o>>2]|0))c[m>>2]=-1;else{b:do switch(d[(c[l>>2]|0)+76+(d[c[n>>2]>>0]|0)>>0]|0){case 29:{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}case 24:case 22:{c[n>>2]=(c[n>>2]|0)+1;break}case 5:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){c[m>>2]=-2;break a}e=(gc[c[(c[l>>2]|0)+344>>2]&127](c[l>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(e){c[n>>2]=b+2;break b}else{c[c[p>>2]>>2]=b;c[m>>2]=0;break a}}case 6:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){c[m>>2]=-2;break a}e=(gc[c[(c[l>>2]|0)+348>>2]&127](c[l>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(e){c[n>>2]=b+3;break b}else{c[c[p>>2]>>2]=b;c[m>>2]=0;break a}}case 7:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){c[m>>2]=-2;break a}e=(gc[c[(c[l>>2]|0)+352>>2]&127](c[l>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(e){c[n>>2]=b+4;break b}else{c[c[p>>2]>>2]=b;c[m>>2]=0;break a}}default:{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}}while(0);c:while(1){if((c[n>>2]|0)==(c[o>>2]|0)){k=75;break}switch(d[(c[l>>2]|0)+76+(d[c[n>>2]>>0]|0)>>0]|0){case 29:{k=24;break c}case 10:case 9:case 21:{k=41;break c}case 15:{k=68;break c}case 27:case 26:case 25:case 24:case 22:{c[n>>2]=(c[n>>2]|0)+1;continue c}case 5:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){k=27;break c}e=(gc[c[(c[l>>2]|0)+332>>2]&127](c[l>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(!e){k=29;break c}c[n>>2]=b+2;continue c}case 6:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){k=32;break c}e=(gc[c[(c[l>>2]|0)+336>>2]&127](c[l>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(!e){k=34;break c}c[n>>2]=b+3;continue c}case 7:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){k=37;break c}e=(gc[c[(c[l>>2]|0)+340>>2]&127](c[l>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(!e){k=39;break c}c[n>>2]=b+4;continue c}default:break c}}switch(k|0){case 24:{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}case 27:{c[m>>2]=-2;break a}case 29:{c[c[p>>2]>>2]=b;c[m>>2]=0;break a}case 32:{c[m>>2]=-2;break a}case 34:{c[c[p>>2]>>2]=b;c[m>>2]=0;break a}case 37:{c[m>>2]=-2;break a}case 39:{c[c[p>>2]>>2]=b;c[m>>2]=0;break a}case 41:{k=(r0(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0,q)|0)!=0;b=c[n>>2]|0;if(!k){c[c[p>>2]>>2]=b;c[m>>2]=0;break a}c[n>>2]=b+1;d:while(1){if((c[n>>2]|0)==(c[o>>2]|0)){k=67;break}switch(d[(c[l>>2]|0)+76+(d[c[n>>2]>>0]|0)>>0]|0){case 8:case 1:case 0:{k=61;break d}case 5:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){k=47;break d}k=(gc[c[(c[l>>2]|0)+356>>2]&127](c[l>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(k){k=49;break d}c[n>>2]=b+2;continue d}case 6:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){k=52;break d}k=(gc[c[(c[l>>2]|0)+360>>2]&127](c[l>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(k){k=54;break d}c[n>>2]=b+3;continue d}case 7:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){k=57;break d}k=(gc[c[(c[l>>2]|0)+364>>2]&127](c[l>>2]|0,c[n>>2]|0)|0)!=0;b=c[n>>2]|0;if(k){k=59;break d}c[n>>2]=b+4;continue d}case 15:{c[n>>2]=(c[n>>2]|0)+1;if((c[n>>2]|0)==(c[o>>2]|0)){k=63;break d}if((a[c[n>>2]>>0]|0)==62){k=65;break d}else continue d}default:{c[n>>2]=(c[n>>2]|0)+1;continue d}}}switch(k|0){case 47:{c[m>>2]=-2;break a}case 49:{c[c[p>>2]>>2]=b;c[m>>2]=0;break a}case 52:{c[m>>2]=-2;break a}case 54:{c[c[p>>2]>>2]=b;c[m>>2]=0;break a}case 57:{c[m>>2]=-2;break a}case 59:{c[c[p>>2]>>2]=b;c[m>>2]=0;break a}case 61:{c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0;break a}case 63:{c[m>>2]=-1;break a}case 65:{c[c[p>>2]>>2]=(c[n>>2]|0)+1;c[m>>2]=c[q>>2];break a}case 67:{c[m>>2]=-1;break a}}break}case 68:{l=(r0(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0,q)|0)!=0;b=c[n>>2]|0;if(!l){c[c[p>>2]>>2]=b;c[m>>2]=0;break a}c[n>>2]=b+1;if((c[n>>2]|0)==(c[o>>2]|0)){c[m>>2]=-1;break a}if((a[c[n>>2]>>0]|0)==62){c[c[p>>2]>>2]=(c[n>>2]|0)+1;c[m>>2]=c[q>>2];break a}break}case 75:{c[m>>2]=-1;break a}}c[c[p>>2]>>2]=c[n>>2];c[m>>2]=0}while(0);i=r;return c[m>>2]|0}function p0(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();g=n+16|0;h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;a:do if((c[k>>2]|0)==(c[l>>2]|0))c[g>>2]=-1;else{b:do switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0|0){case 29:{c[c[m>>2]>>2]=c[k>>2];c[g>>2]=0;break a}case 24:case 22:{c[k>>2]=(c[k>>2]|0)+1;break}case 5:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<2){c[g>>2]=-2;break a}b=(gc[c[(c[h>>2]|0)+344>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;a=c[k>>2]|0;if(b){c[k>>2]=a+2;break b}else{c[c[m>>2]>>2]=a;c[g>>2]=0;break a}}case 6:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<3){c[g>>2]=-2;break a}b=(gc[c[(c[h>>2]|0)+348>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;a=c[k>>2]|0;if(b){c[k>>2]=a+3;break b}else{c[c[m>>2]>>2]=a;c[g>>2]=0;break a}}case 7:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<4){c[g>>2]=-2;break a}b=(gc[c[(c[h>>2]|0)+352>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;a=c[k>>2]|0;if(b){c[k>>2]=a+4;break b}else{c[c[m>>2]>>2]=a;c[g>>2]=0;break a}}default:{c[c[m>>2]>>2]=c[k>>2];c[g>>2]=0;break a}}while(0);c:while(1){if((c[k>>2]|0)==(c[l>>2]|0)){b=51;break}switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0|0){case 29:{b=24;break c}case 10:case 9:case 21:{b=41;break c}case 11:{b=49;break c}case 27:case 26:case 25:case 24:case 22:{c[k>>2]=(c[k>>2]|0)+1;continue c}case 5:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<2){b=27;break c}b=(gc[c[(c[h>>2]|0)+332>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;a=c[k>>2]|0;if(!b){b=29;break c}c[k>>2]=a+2;continue c}case 6:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<3){b=32;break c}b=(gc[c[(c[h>>2]|0)+336>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;a=c[k>>2]|0;if(!b){b=34;break c}c[k>>2]=a+3;continue c}case 7:{if(((c[l>>2]|0)-(c[k>>2]|0)|0)<4){b=37;break c}b=(gc[c[(c[h>>2]|0)+340>>2]&127](c[h>>2]|0,c[k>>2]|0)|0)!=0;a=c[k>>2]|0;if(!b){b=39;break c}c[k>>2]=a+4;continue c}case 23:{c[k>>2]=(c[k>>2]|0)+1;continue c}default:{b=50;break c}}}switch(b|0){case 24:{c[c[m>>2]>>2]=c[k>>2];c[g>>2]=0;break a}case 27:{c[g>>2]=-2;break a}case 29:{c[c[m>>2]>>2]=a;c[g>>2]=0;break a}case 32:{c[g>>2]=-2;break a}case 34:{c[c[m>>2]>>2]=a;c[g>>2]=0;break a}case 37:{c[g>>2]=-2;break a}case 39:{c[c[m>>2]>>2]=a;c[g>>2]=0;break a}case 41:{c[k>>2]=(c[k>>2]|0)+1;d:while(1){if((c[k>>2]|0)==(c[l>>2]|0)){b=47;break}switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0|0){case 11:{b=44;break d}case 10:case 9:case 21:break;default:{b=45;break d}}c[k>>2]=(c[k>>2]|0)+1}if((b|0)==44){c[c[m>>2]>>2]=(c[k>>2]|0)+1;c[g>>2]=5;break a}else if((b|0)==45){c[c[m>>2]>>2]=c[k>>2];c[g>>2]=0;break a}else if((b|0)==47){c[g>>2]=-1;break a}break}case 49:{c[c[m>>2]>>2]=(c[k>>2]|0)+1;c[g>>2]=5;break a}case 50:{c[c[m>>2]>>2]=c[k>>2];c[g>>2]=0;break a}case 51:{c[g>>2]=-1;break a}}}while(0);i=n;return c[g>>2]|0}function q0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;if((i|0)>=(j|0))ba();q=t+36|0;h=t+32|0;r=t+28|0;k=t+24|0;s=t+20|0;l=t+16|0;n=t+12|0;m=t+8|0;o=t+4|0;p=t;c[h>>2]=b;c[r>>2]=e;c[k>>2]=f;c[s>>2]=g;c[l>>2]=0;a:while(1){if((c[r>>2]|0)==(c[k>>2]|0)){e=114;break}b:do switch(d[(c[h>>2]|0)+76+(d[c[r>>2]>>0]|0)>>0]|0){case 29:{e=4;break a}case 27:case 26:case 25:case 24:case 22:{c[r>>2]=(c[r>>2]|0)+1;continue a}case 5:{if(((c[k>>2]|0)-(c[r>>2]|0)|0)<2){e=7;break a}e=(gc[c[(c[h>>2]|0)+332>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(!e){e=9;break a}c[r>>2]=b+2;continue a}case 6:{if(((c[k>>2]|0)-(c[r>>2]|0)|0)<3){e=12;break a}e=(gc[c[(c[h>>2]|0)+336>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(!e){e=14;break a}c[r>>2]=b+3;continue a}case 7:{if(((c[k>>2]|0)-(c[r>>2]|0)|0)<4){e=17;break a}e=(gc[c[(c[h>>2]|0)+340>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(!e){e=19;break a}c[r>>2]=b+4;continue a}case 23:{if(c[l>>2]|0){e=22;break a}c[l>>2]=1;c[r>>2]=(c[r>>2]|0)+1;if((c[r>>2]|0)==(c[k>>2]|0)){e=24;break a}switch(d[(c[h>>2]|0)+76+(d[c[r>>2]>>0]|0)>>0]|0){case 29:{e=26;break a}case 24:case 22:{c[r>>2]=(c[r>>2]|0)+1;continue a}case 5:{if(((c[k>>2]|0)-(c[r>>2]|0)|0)<2){e=29;break a}e=(gc[c[(c[h>>2]|0)+344>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(!e){e=31;break a}c[r>>2]=b+2;continue a}case 6:{if(((c[k>>2]|0)-(c[r>>2]|0)|0)<3){e=34;break a}e=(gc[c[(c[h>>2]|0)+348>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(!e){e=36;break a}c[r>>2]=b+3;continue a}case 7:{if(((c[k>>2]|0)-(c[r>>2]|0)|0)<4){e=39;break a}e=(gc[c[(c[h>>2]|0)+352>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(!e){e=41;break a}c[r>>2]=b+4;continue a}default:{e=43;break a}}}case 10:case 9:case 21:while(1){c[r>>2]=(c[r>>2]|0)+1;if((c[r>>2]|0)==(c[k>>2]|0)){e=45;break a}c[n>>2]=d[(c[h>>2]|0)+76+(d[c[r>>2]>>0]|0)>>0];if((c[n>>2]|0)==14)break b;switch(c[n>>2]|0){case 9:case 10:case 21:break;default:{e=48;break a}}}case 14:break;default:{e=113;break a}}while(0);c[l>>2]=0;while(1){c[r>>2]=(c[r>>2]|0)+1;if((c[r>>2]|0)==(c[k>>2]|0)){e=51;break a}c[m>>2]=d[(c[h>>2]|0)+76+(d[c[r>>2]>>0]|0)>>0];if((c[m>>2]|0)==12|(c[m>>2]|0)==13)break;switch(c[m>>2]|0){case 9:case 10:case 21:break;default:{e=54;break a}}}c[r>>2]=(c[r>>2]|0)+1;c:while(1){if((c[r>>2]|0)==(c[k>>2]|0)){e=57;break a}c[o>>2]=d[(c[h>>2]|0)+76+(d[c[r>>2]>>0]|0)>>0];if((c[o>>2]|0)==(c[m>>2]|0))break;switch(c[o>>2]|0){case 8:case 1:case 0:{e=75;break a}case 2:{e=80;break a}case 5:{if(((c[k>>2]|0)-(c[r>>2]|0)|0)<2){e=61;break a}e=(gc[c[(c[h>>2]|0)+356>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(e){e=63;break a}c[r>>2]=b+2;continue c}case 6:{if(((c[k>>2]|0)-(c[r>>2]|0)|0)<3){e=66;break a}e=(gc[c[(c[h>>2]|0)+360>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(e){e=68;break a}c[r>>2]=b+3;continue c}case 7:{if(((c[k>>2]|0)-(c[r>>2]|0)|0)<4){e=71;break a}e=(gc[c[(c[h>>2]|0)+364>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(e){e=73;break a}c[r>>2]=b+4;continue c}case 3:{c[p>>2]=h0(c[h>>2]|0,(c[r>>2]|0)+1|0,c[k>>2]|0,r)|0;if((c[p>>2]|0)<=0){e=77;break a}else continue c}default:{c[r>>2]=(c[r>>2]|0)+1;continue c}}}c[r>>2]=(c[r>>2]|0)+1;if((c[r>>2]|0)==(c[k>>2]|0)){e=83;break}switch(d[(c[h>>2]|0)+76+(d[c[r>>2]>>0]|0)>>0]|0){case 11:{e=106;break a}case 17:{e=107;break a}case 10:case 9:case 21:break;default:{e=85;break a}}d:while(1){c[r>>2]=(c[r>>2]|0)+1;if((c[r>>2]|0)==(c[k>>2]|0)){e=87;break a}switch(d[(c[h>>2]|0)+76+(d[c[r>>2]>>0]|0)>>0]|0){case 29:{e=89;break a}case 11:{e=106;break a}case 17:{e=107;break a}case 10:case 9:case 21:break;case 24:case 22:{e=90;break d}case 5:{e=91;break d}case 6:{e=96;break d}case 7:{e=101;break d}default:{e=112;break a}}}if((e|0)==90){c[r>>2]=(c[r>>2]|0)+1;continue}else if((e|0)==91){if(((c[k>>2]|0)-(c[r>>2]|0)|0)<2){e=92;break}e=(gc[c[(c[h>>2]|0)+344>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(!e){e=94;break}c[r>>2]=b+2;continue}else if((e|0)==96){if(((c[k>>2]|0)-(c[r>>2]|0)|0)<3){e=97;break}e=(gc[c[(c[h>>2]|0)+348>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(!e){e=99;break}c[r>>2]=b+3;continue}else if((e|0)==101){if(((c[k>>2]|0)-(c[r>>2]|0)|0)<4){e=102;break}e=(gc[c[(c[h>>2]|0)+352>>2]&127](c[h>>2]|0,c[r>>2]|0)|0)!=0;b=c[r>>2]|0;if(!e){e=104;break}c[r>>2]=b+4;continue}}switch(e|0){case 4:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 7:{c[q>>2]=-2;break}case 9:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 12:{c[q>>2]=-2;break}case 14:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 17:{c[q>>2]=-2;break}case 19:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 22:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 24:{c[q>>2]=-1;break}case 26:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 29:{c[q>>2]=-2;break}case 31:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 34:{c[q>>2]=-2;break}case 36:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 39:{c[q>>2]=-2;break}case 41:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 43:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 45:{c[q>>2]=-1;break}case 48:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 51:{c[q>>2]=-1;break}case 54:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 57:{c[q>>2]=-1;break}case 61:{c[q>>2]=-2;break}case 63:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 66:{c[q>>2]=-2;break}case 68:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 71:{c[q>>2]=-2;break}case 73:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 75:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 77:{if(!(c[p>>2]|0))c[c[s>>2]>>2]=c[r>>2];c[q>>2]=c[p>>2];break}case 80:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 83:{c[q>>2]=-1;break}case 85:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 87:{c[q>>2]=-1;break}case 89:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 92:{c[q>>2]=-2;break}case 94:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 97:{c[q>>2]=-2;break}case 99:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 102:{c[q>>2]=-2;break}case 104:{c[c[s>>2]>>2]=b;c[q>>2]=0;break}case 106:{c[c[s>>2]>>2]=(c[r>>2]|0)+1;c[q>>2]=1;break}case 107:{c[r>>2]=(c[r>>2]|0)+1;if((c[r>>2]|0)==(c[k>>2]|0)){c[q>>2]=-1;break}b=c[r>>2]|0;if((a[c[r>>2]>>0]|0)==62){c[c[s>>2]>>2]=b+1;c[q>>2]=3;break}else{c[c[s>>2]>>2]=b;c[q>>2]=0;break}}case 112:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 113:{c[c[s>>2]>>2]=c[r>>2];c[q>>2]=0;break}case 114:{c[q>>2]=-1;break}}i=t;return c[q>>2]|0}function r0(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;if((i|0)>=(j|0))ba();g=m+20|0;h=m+12|0;n=m+8|0;k=m+4|0;l=m;c[m+16>>2]=b;c[h>>2]=d;c[n>>2]=e;c[k>>2]=f;c[l>>2]=0;c[c[k>>2]>>2]=11;a:do if(((c[n>>2]|0)-(c[h>>2]|0)|0)==3){switch(a[c[h>>2]>>0]|0){case 120:break;case 88:{c[l>>2]=1;break}default:{c[g>>2]=1;break a}}c[h>>2]=(c[h>>2]|0)+1;switch(a[c[h>>2]>>0]|0){case 109:break;case 77:{c[l>>2]=1;break}default:{c[g>>2]=1;break a}}c[h>>2]=(c[h>>2]|0)+1;switch(a[c[h>>2]>>0]|0){case 108:break;case 76:{c[l>>2]=1;break}default:{c[g>>2]=1;break a}}if(c[l>>2]|0){c[g>>2]=0;break}else{c[c[k>>2]>>2]=12;c[g>>2]=1;break}}else c[g>>2]=1;while(0);i=m;return c[g>>2]|0}function s0(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();l=q+24|0;h=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[h>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a:while(1){if((c[n>>2]|0)==(c[o>>2]|0)){b=27;break}c[k>>2]=d[(c[m>>2]|0)+76+(d[c[n>>2]>>0]|0)>>0];switch(c[k>>2]|0){case 8:case 1:case 0:{b=19;break a}case 5:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<2){b=5;break a}e=(gc[c[(c[m>>2]|0)+356>>2]&127](c[m>>2]|0,c[n>>2]|0)|0)!=0;f=c[n>>2]|0;if(e){b=7;break a}c[n>>2]=f+2;continue a}case 6:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<3){b=10;break a}e=(gc[c[(c[m>>2]|0)+360>>2]&127](c[m>>2]|0,c[n>>2]|0)|0)!=0;f=c[n>>2]|0;if(e){b=12;break a}c[n>>2]=f+3;continue a}case 7:{if(((c[o>>2]|0)-(c[n>>2]|0)|0)<4){b=15;break a}e=(gc[c[(c[m>>2]|0)+364>>2]&127](c[m>>2]|0,c[n>>2]|0)|0)!=0;f=c[n>>2]|0;if(e){b=17;break a}c[n>>2]=f+4;continue a}case 13:case 12:{c[n>>2]=(c[n>>2]|0)+1;if((c[k>>2]|0)!=(c[h>>2]|0))continue a;else{b=21;break a}}default:{c[n>>2]=(c[n>>2]|0)+1;continue a}}}b:do if((b|0)==5)c[l>>2]=-2;else if((b|0)==7){c[c[p>>2]>>2]=f;c[l>>2]=0}else if((b|0)==10)c[l>>2]=-2;else if((b|0)==12){c[c[p>>2]>>2]=f;c[l>>2]=0}else if((b|0)==15)c[l>>2]=-2;else if((b|0)==17){c[c[p>>2]>>2]=f;c[l>>2]=0}else if((b|0)==19){c[c[p>>2]>>2]=c[n>>2];c[l>>2]=0}else if((b|0)==21){if((c[n>>2]|0)==(c[o>>2]|0)){c[l>>2]=-27;break}c[c[p>>2]>>2]=c[n>>2];switch(d[(c[m>>2]|0)+76+(d[c[n>>2]>>0]|0)>>0]|0|0){case 20:case 30:case 11:case 10:case 9:case 21:{c[l>>2]=27;break b}default:{c[l>>2]=0;break b}}}else if((b|0)==27)c[l>>2]=-1;while(0);i=q;return c[l>>2]|0}function t0(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+16|0;h=o+12|0;k=o+8|0;l=o+4|0;m=o;c[h>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;a:do if((c[k>>2]|0)==(c[l>>2]|0))c[g>>2]=-1;else switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0|0){case 27:{c[g>>2]=m0(c[h>>2]|0,(c[k>>2]|0)+1|0,c[l>>2]|0,c[m>>2]|0)|0;break a}case 20:{c[c[m>>2]>>2]=(c[k>>2]|0)+1;c[g>>2]=33;break a}case 24:case 22:{c[k>>2]=(c[k>>2]|0)+1;b:while(1){if((c[k>>2]|0)==(c[l>>2]|0)){n=17;break}switch(d[(c[h>>2]|0)+76+(d[c[k>>2]>>0]|0)>>0]|0|0){case 30:{n=10;break b}case 10:case 9:case 21:break b;case 24:case 22:break;default:{n=16;break b}}c[k>>2]=(c[k>>2]|0)+1}c:do if((n|0)==10){if(((c[k>>2]|0)+1|0)==(c[l>>2]|0)){c[g>>2]=-1;break a}switch(d[(c[h>>2]|0)+76+(d[(c[k>>2]|0)+1>>0]|0)>>0]|0|0){case 30:case 10:case 9:case 21:break;default:break c}c[c[m>>2]>>2]=c[k>>2];c[g>>2]=0;break a}else if((n|0)==16){c[c[m>>2]>>2]=c[k>>2];c[g>>2]=0;break a}else if((n|0)==17){c[g>>2]=-1;break a}while(0);c[c[m>>2]>>2]=c[k>>2];c[g>>2]=16;break a}default:{c[c[m>>2]>>2]=c[k>>2];c[g>>2]=0;break a}}while(0);i=o;return c[g>>2]|0}function u0(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();k=n+16|0;g=n+12|0;l=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[l>>2]=b;c[h>>2]=e;c[m>>2]=f;a:do if((c[l>>2]|0)==(c[h>>2]|0))c[k>>2]=-1;else{b:do switch(d[(c[g>>2]|0)+76+(d[c[l>>2]>>0]|0)>>0]|0|0){case 29:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 24:case 22:{c[l>>2]=(c[l>>2]|0)+1;break}case 5:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<2){c[k>>2]=-2;break a}b=(gc[c[(c[g>>2]|0)+344>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(b){c[l>>2]=e+2;break b}else{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}}case 6:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<3){c[k>>2]=-2;break a}b=(gc[c[(c[g>>2]|0)+348>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(b){c[l>>2]=e+3;break b}else{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}}case 7:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<4){c[k>>2]=-2;break a}b=(gc[c[(c[g>>2]|0)+352>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(b){c[l>>2]=e+4;break b}else{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}}default:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}}while(0);c:while(1){if((c[l>>2]|0)==(c[h>>2]|0)){a=43;break}switch(d[(c[g>>2]|0)+76+(d[c[l>>2]>>0]|0)>>0]|0|0){case 29:{a=24;break c}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{a=41;break c}case 27:case 26:case 25:case 24:case 22:{c[l>>2]=(c[l>>2]|0)+1;continue c}case 5:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<2){a=27;break c}b=(gc[c[(c[g>>2]|0)+332>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(!b){a=29;break c}c[l>>2]=e+2;continue c}case 6:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<3){a=32;break c}b=(gc[c[(c[g>>2]|0)+336>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(!b){a=34;break c}c[l>>2]=e+3;continue c}case 7:{if(((c[h>>2]|0)-(c[l>>2]|0)|0)<4){a=37;break c}b=(gc[c[(c[g>>2]|0)+340>>2]&127](c[g>>2]|0,c[l>>2]|0)|0)!=0;e=c[l>>2]|0;if(!b){a=39;break c}c[l>>2]=e+4;continue c}default:{a=42;break c}}}switch(a|0){case 24:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 27:{c[k>>2]=-2;break a}case 29:{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}case 32:{c[k>>2]=-2;break a}case 34:{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}case 37:{c[k>>2]=-2;break a}case 39:{c[c[m>>2]>>2]=e;c[k>>2]=0;break a}case 41:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=20;break a}case 42:{c[c[m>>2]>>2]=c[l>>2];c[k>>2]=0;break a}case 43:{c[k>>2]=-20;break a}}}while(0);i=n;return c[k>>2]|0}function v0(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;if((i|0)>=(j|0))ba();h=n+12|0;k=n+8|0;l=n+4|0;m=n;c[n+16>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;while(1){if((c[c[h>>2]>>2]|0)==(c[k>>2]|0)){h=5;break}if((c[c[l>>2]>>2]|0)==(c[m>>2]|0)){h=5;break}d=c[h>>2]|0;g=c[d>>2]|0;c[d>>2]=g+1;g=a[g>>0]|0;d=c[l>>2]|0;f=c[d>>2]|0;c[d>>2]=f+1;a[f>>0]=g}if((h|0)==5){i=n;return}}function w0(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[o+16>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;while(1){if((c[c[k>>2]>>2]|0)==(c[l>>2]|0)){k=5;break}if((c[c[m>>2]>>2]|0)==(c[n>>2]|0)){k=5;break}e=c[k>>2]|0;h=c[e>>2]|0;c[e>>2]=h+1;h=d[h>>0]|0;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+2;b[g>>1]=h}if((k|0)==5){i=o;return}}function x0(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();k=p+12|0;l=p+8|0;m=p+4|0;n=p;o=p+20|0;c[p+16>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;while(1){if((c[c[k>>2]>>2]|0)==(c[l>>2]|0)){k=8;break}a[o>>0]=a[c[c[k>>2]>>2]>>0]|0;if((d[o>>0]|0)&128){if(((c[n>>2]|0)-(c[c[m>>2]>>2]|0)|0)<2){k=8;break}e=((d[o>>0]|0)>>6|192)&255;g=c[m>>2]|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h>>0]=e;h=((d[o>>0]|0)&63|128)&255;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h;g=c[k>>2]|0;c[g>>2]=(c[g>>2]|0)+1;continue}else{if((c[c[m>>2]>>2]|0)==(c[n>>2]|0)){k=8;break}e=c[k>>2]|0;h=c[e>>2]|0;c[e>>2]=h+1;h=a[h>>0]|0;e=c[m>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=h;continue}}if((k|0)==8){i=p;return}}function y0(b,e,f,g,h,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;u=i;i=i+48|0;if((i|0)>=(j|0))ba();l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;t=u+4|0;s=u;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=k;if((c[p>>2]|0)==(c[q>>2]|0)){c[l>>2]=-4;t=c[l>>2]|0;i=u;return t|0}c[t>>2]=c[(c[n>>2]|0)+76>>2];a:do if(((c[p>>2]|0)+1|0)==(c[q>>2]|0)){if(((a[(c[n>>2]|0)+73>>0]|0)+-3|0)>>>0<3){c[l>>2]=-1;t=c[l>>2]|0;i=u;return t|0}switch(d[c[p>>2]>>0]|0){case 239:case 255:case 254:{if((c[o>>2]|0)==1?(a[(c[n>>2]|0)+73>>0]|0)==0:0)break a;break}case 60:case 0:break;default:break a}c[l>>2]=-1;t=c[l>>2]|0;i=u;return t|0}else{e=d[c[p>>2]>>0]<<8|d[(c[p>>2]|0)+1>>0];b:do if((e|0)<65279){if((e|0)<61371){switch(e|0){case 15360:break;default:break b}if((a[(c[n>>2]|0)+73>>0]|0)==4){if((c[o>>2]|0)==1)break a}else if((c[o>>2]|0)==1?(a[(c[n>>2]|0)+73>>0]|0)==3:0)break a;c[c[t>>2]>>2]=c[(c[m>>2]|0)+20>>2];c[l>>2]=kc[c[(c[c[t>>2]>>2]|0)+(c[o>>2]<<2)>>2]&127](c[c[t>>2]>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;t=c[l>>2]|0;i=u;return t|0}switch(e|0){case 61371:break;default:break b}if((c[o>>2]|0)==1?(c[s>>2]=a[(c[n>>2]|0)+73>>0],(c[s>>2]|0)==0|(c[s>>2]|0)==4|(c[s>>2]|0)==5|(c[s>>2]|0)==3):0)break a;if(((c[p>>2]|0)+2|0)==(c[q>>2]|0)){c[l>>2]=-1;t=c[l>>2]|0;i=u;return t|0}if((d[(c[p>>2]|0)+2>>0]|0)!=191)break a;c[c[r>>2]>>2]=(c[p>>2]|0)+3;c[c[t>>2]>>2]=c[(c[m>>2]|0)+8>>2];c[l>>2]=14;t=c[l>>2]|0;i=u;return t|0}else switch(e|0){case 65279:{if((c[o>>2]|0)==1?(a[(c[n>>2]|0)+73>>0]|0)==0:0)break a;c[c[r>>2]>>2]=(c[p>>2]|0)+2;c[c[t>>2]>>2]=c[(c[m>>2]|0)+16>>2];c[l>>2]=14;t=c[l>>2]|0;i=u;return t|0}case 65534:{if((c[o>>2]|0)==1?(a[(c[n>>2]|0)+73>>0]|0)==0:0)break a;c[c[r>>2]>>2]=(c[p>>2]|0)+2;c[c[t>>2]>>2]=c[(c[m>>2]|0)+20>>2];c[l>>2]=14;t=c[l>>2]|0;i=u;return t|0}default:break b}while(0);if(a[c[p>>2]>>0]|0){if((c[o>>2]|0)==1?1:(a[(c[p>>2]|0)+1>>0]|0)!=0)break;c[c[t>>2]>>2]=c[(c[m>>2]|0)+20>>2];c[l>>2]=kc[c[(c[c[t>>2]>>2]|0)+(c[o>>2]<<2)>>2]&127](c[c[t>>2]>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;t=c[l>>2]|0;i=u;return t|0}if((c[o>>2]|0)==1?(a[(c[n>>2]|0)+73>>0]|0)==5:0)break;c[c[t>>2]>>2]=c[(c[m>>2]|0)+16>>2];c[l>>2]=kc[c[(c[c[t>>2]>>2]|0)+(c[o>>2]<<2)>>2]&127](c[c[t>>2]>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;t=c[l>>2]|0;i=u;return t|0}while(0);c[c[t>>2]>>2]=c[(c[m>>2]|0)+(a[(c[n>>2]|0)+73>>0]<<2)>>2];c[l>>2]=kc[c[(c[c[t>>2]>>2]|0)+(c[o>>2]<<2)>>2]&127](c[c[t>>2]>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;t=c[l>>2]|0;i=u;return t|0}function z0(b,d,e,f,g,h,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;v=i;i=i+48|0;if((i|0)>=(j|0))ba();l=v+32|0;m=v+28|0;n=v+24|0;o=v+20|0;p=v+16|0;q=v+12|0;r=v+8|0;s=v+4|0;t=v;u=v+36|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=k;if((c[n>>2]|0)==(c[o>>2]|0)){c[c[p>>2]>>2]=0;c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}if(!(B0(A0(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)|0)){c[c[s>>2]>>2]=c[n>>2];c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}do c[n>>2]=(c[n>>2]|0)+(c[(c[m>>2]|0)+68>>2]|0);while((B0(A0(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)|0)!=0);if((c[n>>2]|0)==(c[o>>2]|0)){c[c[p>>2]>>2]=0;c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}c[c[p>>2]>>2]=c[n>>2];while(1){c[t>>2]=A0(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[t>>2]|0)==-1){b=10;break}if((c[t>>2]|0)==61){b=12;break}if(B0(c[t>>2]|0)|0){b=14;break}c[n>>2]=(c[n>>2]|0)+(c[(c[m>>2]|0)+68>>2]|0)}if((b|0)==10){c[c[s>>2]>>2]=c[n>>2];c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}else if((b|0)==12)c[c[q>>2]>>2]=c[n>>2];else if((b|0)==14){c[c[q>>2]>>2]=c[n>>2];do{c[n>>2]=(c[n>>2]|0)+(c[(c[m>>2]|0)+68>>2]|0);q=A0(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[t>>2]=q}while((B0(q)|0)!=0);if((c[t>>2]|0)!=61){c[c[s>>2]>>2]=c[n>>2];c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}}if((c[n>>2]|0)==(c[c[p>>2]>>2]|0)){c[c[s>>2]>>2]=c[n>>2];c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}c[n>>2]=(c[n>>2]|0)+(c[(c[m>>2]|0)+68>>2]|0);c[t>>2]=A0(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;while(1){if(!(B0(c[t>>2]|0)|0))break;c[n>>2]=(c[n>>2]|0)+(c[(c[m>>2]|0)+68>>2]|0);c[t>>2]=A0(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0}if((c[t>>2]|0)!=34&(c[t>>2]|0)!=39){c[c[s>>2]>>2]=c[n>>2];c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}a[u>>0]=c[t>>2];c[n>>2]=(c[n>>2]|0)+(c[(c[m>>2]|0)+68>>2]|0);c[c[r>>2]>>2]=c[n>>2];while(1){c[t>>2]=A0(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[t>>2]|0)==(a[u>>0]|0)){b=33;break}if((!(97<=(c[t>>2]|0)&(c[t>>2]|0)<=122)?!(65<=(c[t>>2]|0)&(c[t>>2]|0)<=90):0)?(48<=(c[t>>2]|0)&(c[t>>2]|0)<=57^1)&(c[t>>2]|0)!=46&(c[t>>2]|0)!=45&(c[t>>2]|0)!=95:0){b=31;break}c[n>>2]=(c[n>>2]|0)+(c[(c[m>>2]|0)+68>>2]|0)}if((b|0)==31){c[c[s>>2]>>2]=c[n>>2];c[l>>2]=0;u=c[l>>2]|0;i=v;return u|0}else if((b|0)==33){c[c[s>>2]>>2]=(c[n>>2]|0)+(c[(c[m>>2]|0)+68>>2]|0);c[l>>2]=1;u=c[l>>2]|0;i=v;return u|0}return 0}function A0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;if((i|0)>=(j|0))ba();f=h+16|0;n=h+12|0;m=h+8|0;l=h+4|0;g=h+20|0;k=h;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=g;Ub[c[(c[n>>2]|0)+60>>2]&31](c[n>>2]|0,m,c[l>>2]|0,k,(c[k>>2]|0)+1|0);if((c[k>>2]|0)==(g|0)){c[f>>2]=-1;n=c[f>>2]|0;i=h;return n|0}else{c[f>>2]=a[g>>0];n=c[f>>2]|0;i=h;return n|0}return 0}function B0(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();b=d+4|0;e=d;c[e>>2]=a;switch(c[e>>2]|0){case 9:case 10:case 13:case 32:{c[b>>2]=1;break}default:c[b>>2]=0}i=d;return c[b>>2]|0}function C0(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=a;c[c[d>>2]>>2]=4;c[(c[d>>2]|0)+16>>2]=1;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;i=b;return}function D0(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,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+20|0;h=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 15:{c[c[h>>2]>>2]=5;c[g>>2]=0;break}case 12:{c[c[h>>2]>>2]=5;c[g>>2]=1;break}case 11:{c[c[h>>2]>>2]=5;c[g>>2]=55;break}case 13:{c[c[h>>2]>>2]=5;c[g>>2]=56;break}case 14:{c[g>>2]=0;break}case 16:{if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,(c[l>>2]|0)+(c[(c[n>>2]|0)+68>>2]<<1)|0,c[m>>2]|0,182405)|0){c[c[h>>2]>>2]=6;c[g>>2]=3}else o=10;break}case 29:{c[c[h>>2]>>2]=7;c[g>>2]=2;break}default:o=10}if((o|0)==10)c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;i=p;return c[g>>2]|0}function E0(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,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+20|0;h=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 33:{c[c[h>>2]>>2]=8;c[g>>2]=0;break}case 34:{if(!(c[(c[h>>2]|0)+12>>2]|0))o=9;else{b=(c[h>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)-1;c[g>>2]=0}break}case 15:{c[g>>2]=0;break}case 26:{o=9;break}case -4:{if(c[(c[h>>2]|0)+12>>2]|0)o=9;else c[g>>2]=0;break}default:c[g>>2]=G0(c[h>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0}if((o|0)==9)c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;i=p;return c[g>>2]|0}function F0(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,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+20|0;h=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}case 18:{o=3;break}default:{}}if((o|0)==3){if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182390)|0){c[c[h>>2]>>2]=9;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182398)|0){c[c[h>>2]>>2]=10;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}}c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;o=c[g>>2]|0;i=p;return o|0}function G0(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,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+20|0;h=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;a:do switch(c[k>>2]|0){case 15:{c[g>>2]=0;break}case 16:{if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,(c[l>>2]|0)+(c[(c[n>>2]|0)+68>>2]<<1)|0,c[m>>2]|0,182250)|0){c[c[h>>2]>>2]=11;c[g>>2]=11;break a}if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,(c[l>>2]|0)+(c[(c[n>>2]|0)+68>>2]<<1)|0,c[m>>2]|0,182257)|0){c[c[h>>2]>>2]=12;c[g>>2]=33;break a}if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,(c[l>>2]|0)+(c[(c[n>>2]|0)+68>>2]<<1)|0,c[m>>2]|0,182265)|0){c[c[h>>2]>>2]=13;c[g>>2]=39;break a}if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,(c[l>>2]|0)+(c[(c[n>>2]|0)+68>>2]<<1)|0,c[m>>2]|0,182273)|0){c[c[h>>2]>>2]=14;c[g>>2]=17}else o=16;break}case 11:{c[g>>2]=55;break}case 13:{c[g>>2]=56;break}case 28:{c[g>>2]=60;break}case 26:{c[c[h>>2]>>2]=15;c[g>>2]=3;break}case -4:{c[g>>2]=0;break}default:o=16}while(0);if((o|0)==16)c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;i=p;return c[g>>2]|0}function H0(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();d=f+8|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==28?(c[(c[e>>2]|0)+16>>2]|0)==0:0){c[d>>2]=59;g=c[d>>2]|0;i=f;return g|0}else{c[c[e>>2]>>2]=7;c[d>>2]=-1;g=c[d>>2]|0;i=f;return g|0}return 0}function I0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();c[g+16>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;c[g+4>>2]=e;c[g>>2]=f;i=g;return 0}function J0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=11;break}case 22:{c[c[h>>2]>>2]=16;c[g>>2]=11;break}case 18:{c[c[h>>2]>>2]=17;c[g>>2]=9;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function K0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=33;break}case 41:case 18:{c[c[h>>2]>>2]=18;c[g>>2]=34;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function L0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=39;break}case 41:case 18:{c[c[h>>2]>>2]=19;c[g>>2]=40;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function M0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=17;break}case 18:{c[c[h>>2]>>2]=20;c[g>>2]=18;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function N0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=3;break}case 17:{c[c[h>>2]>>2]=21;c[g>>2]=8;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function O0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=0;break}case 11:{c[g>>2]=55;break}case 13:{c[g>>2]=56;break}case 29:{c[c[h>>2]>>2]=7;c[g>>2]=2;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function P0(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,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+20|0;h=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=17;o=c[g>>2]|0;i=p;return o|0}case 18:{o=3;break}default:{}}if((o|0)==3){if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182282)|0){c[c[h>>2]>>2]=22;c[g>>2]=17;o=c[g>>2]|0;i=p;return o|0}if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182289)|0){c[c[h>>2]>>2]=23;c[g>>2]=17;o=c[g>>2]|0;i=p;return o|0}}c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;o=c[g>>2]|0;i=p;return o|0}function Q0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=17;break}case 27:{c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=17;c[g>>2]=19;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function R0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=17;break}case 27:{c[c[h>>2]>>2]=25;c[g>>2]=21;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function S0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=17;break}case 27:{c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=17;c[g>>2]=19;break}case 17:{c[c[h>>2]>>2]=(c[(c[h>>2]|0)+16>>2]|0)!=0?26:27;c[g>>2]=20;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function T0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=c[(c[h>>2]|0)+8>>2];b=c[g>>2]|0;i=l;return b|0}case 17:{c[c[h>>2]>>2]=(c[(c[h>>2]|0)+16>>2]|0)!=0?26:27;c[g>>2]=c[(c[h>>2]|0)+8>>2];b=c[g>>2]|0;i=l;return b|0}default:{c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;b=c[g>>2]|0;i=l;return b|0}}return 0}function U0(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,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=39;b=c[g>>2]|0;i=o;return b|0}case 18:{if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182296)|0){c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=39;c[g>>2]=42;b=c[g>>2]|0;i=o;return b|0}if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182302)|0){c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=39;c[g>>2]=41;b=c[g>>2]|0;i=o;return b|0}break}case 23:{c[c[h>>2]>>2]=28;c[(c[h>>2]|0)+4>>2]=1;c[g>>2]=44;b=c[g>>2]|0;i=o;return b|0}default:{}}c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;b=c[g>>2]|0;i=o;return b|0}function V0(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,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+20|0;h=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=39;break}case 20:{if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,(c[l>>2]|0)+(c[(c[n>>2]|0)+68>>2]|0)|0,c[m>>2]|0,182306)|0){c[c[h>>2]>>2]=29;c[g>>2]=43}else o=10;break}case 23:{c[(c[h>>2]|0)+4>>2]=2;c[c[h>>2]>>2]=30;c[g>>2]=44;break}case 41:case 18:{c[c[h>>2]>>2]=31;c[g>>2]=51;break}case 30:{c[c[h>>2]>>2]=31;c[g>>2]=53;break}case 31:{c[c[h>>2]>>2]=31;c[g>>2]=52;break}case 32:{c[c[h>>2]>>2]=31;c[g>>2]=54;break}default:o=10}if((o|0)==10)c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;i=p;return c[g>>2]|0}function W0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=39;break}case 24:{c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=39;c[g>>2]=45;break}case 36:{c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=39;c[g>>2]=46;break}case 21:{c[c[h>>2]>>2]=32;c[g>>2]=39;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function X0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=39;break}case 23:{b=(c[h>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=44;break}case 41:case 18:{c[c[h>>2]>>2]=31;c[g>>2]=51;break}case 30:{c[c[h>>2]>>2]=31;c[g>>2]=53;break}case 31:{c[c[h>>2]>>2]=31;c[g>>2]=52;break}case 32:{c[c[h>>2]>>2]=31;c[g>>2]=54;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=39;break}case 24:{b=(c[h>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)-1;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=39}c[g>>2]=45;break}case 36:{b=(c[h>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)-1;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=39}c[g>>2]=46;break}case 35:{b=(c[h>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)-1;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=39}c[g>>2]=47;break}case 37:{b=(c[h>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)-1;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=39}c[g>>2]=48;break}case 38:{c[c[h>>2]>>2]=30;c[g>>2]=50;break}case 21:{c[c[h>>2]>>2]=30;c[g>>2]=49;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function Z0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=39;break}case 41:case 18:{c[c[h>>2]>>2]=33;c[g>>2]=51;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function _0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=39;break}case 36:{c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=39;c[g>>2]=46;break}case 21:{c[c[h>>2]>>2]=32;c[g>>2]=39;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function $0(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=33;break}case 17:{c[c[h>>2]>>2]=(c[(c[h>>2]|0)+16>>2]|0)!=0?26:27;c[g>>2]=33;break}case 41:case 18:{c[c[h>>2]>>2]=34;c[g>>2]=22;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function a1(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;if((i|0)>=(j|0))ba();g=q+24|0;h=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=33;p=c[g>>2]|0;i=q;return p|0}case 18:{c[o>>2]=0;while(1){a=c[(c[n>>2]|0)+28>>2]|0;d=c[n>>2]|0;e=c[l>>2]|0;f=c[m>>2]|0;if((c[o>>2]|0)>=8)break;if(kc[a&127](d,e,f,c[98688+(c[o>>2]<<2)>>2]|0)|0){p=6;break}c[o>>2]=(c[o>>2]|0)+1}if((p|0)==6){c[c[h>>2]>>2]=35;c[g>>2]=23+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}if(kc[a&127](d,e,f,182273)|0){c[c[h>>2]>>2]=36;c[g>>2]=33;p=c[g>>2]|0;i=q;return p|0}break}case 23:{c[c[h>>2]>>2]=37;c[g>>2]=33;p=c[g>>2]|0;i=q;return p|0}default:{}}c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;p=c[g>>2]|0;i=q;return p|0}function b1(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,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=33;b=c[g>>2]|0;i=o;return b|0}case 20:{if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,(c[l>>2]|0)+(c[(c[n>>2]|0)+68>>2]|0)|0,c[m>>2]|0,182313)|0){c[c[h>>2]>>2]=18;c[g>>2]=35;b=c[g>>2]|0;i=o;return b|0}if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,(c[l>>2]|0)+(c[(c[n>>2]|0)+68>>2]|0)|0,c[m>>2]|0,182321)|0){c[c[h>>2]>>2]=18;c[g>>2]=36;b=c[g>>2]|0;i=o;return b|0}if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,(c[l>>2]|0)+(c[(c[n>>2]|0)+68>>2]|0)|0,c[m>>2]|0,182330)|0){c[c[h>>2]>>2]=38;c[g>>2]=33;b=c[g>>2]|0;i=o;return b|0}break}case 27:{c[c[h>>2]>>2]=18;c[g>>2]=37;b=c[g>>2]|0;i=o;return b|0}default:{}}c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;b=c[g>>2]|0;i=o;return b|0}function c1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=33;break}case 23:{c[c[h>>2]>>2]=39;c[g>>2]=33;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function d1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=33;break}case 41:case 18:case 19:{c[c[h>>2]>>2]=40;c[g>>2]=31;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function e1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=33;break}case 24:{c[c[h>>2]>>2]=35;c[g>>2]=33;break}case 21:{c[c[h>>2]>>2]=37;c[g>>2]=33;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function f1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=33;break}case 18:{c[c[h>>2]>>2]=41;c[g>>2]=32;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function g1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=33;break}case 24:{c[c[h>>2]>>2]=35;c[g>>2]=33;break}case 21:{c[c[h>>2]>>2]=39;c[g>>2]=33;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function h1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=33;break}case 27:{c[c[h>>2]>>2]=18;c[g>>2]=38;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function i1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=11;break}case 18:{c[c[h>>2]>>2]=42;c[g>>2]=10;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function j1(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,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=11;b=c[g>>2]|0;i=o;return b|0}case 18:{if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182282)|0){c[c[h>>2]>>2]=43;c[g>>2]=11;b=c[g>>2]|0;i=o;return b|0}if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182289)|0){c[c[h>>2]>>2]=44;c[g>>2]=11;b=c[g>>2]|0;i=o;return b|0}break}case 27:{c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=11;c[g>>2]=12;b=c[g>>2]|0;i=o;return b|0}default:{}}c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;b=c[g>>2]|0;i=o;return b|0}function k1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=11;break}case 27:{c[c[h>>2]>>2]=45;c[g>>2]=13;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function l1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=11;break}case 27:{c[c[h>>2]>>2]=43;c[g>>2]=14;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function m1(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,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=11;b=c[g>>2]|0;i=o;return b|0}case 17:{c[c[h>>2]>>2]=(c[(c[h>>2]|0)+16>>2]|0)!=0?26:27;c[g>>2]=15;b=c[g>>2]|0;i=o;return b|0}case 18:{if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182384)|0){c[c[h>>2]>>2]=46;c[g>>2]=11;b=c[g>>2]|0;i=o;return b|0}break}default:{}}c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;b=c[g>>2]|0;i=o;return b|0}function n1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=11;break}case 18:{c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=11;c[g>>2]=16;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function o1(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,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;if((i|0)>=(j|0))ba();g=o+20|0;h=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=11;b=c[g>>2]|0;i=o;return b|0}case 18:{if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182282)|0){c[c[h>>2]>>2]=47;c[g>>2]=11;b=c[g>>2]|0;i=o;return b|0}if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182289)|0){c[c[h>>2]>>2]=48;c[g>>2]=11;b=c[g>>2]|0;i=o;return b|0}break}case 27:{c[c[h>>2]>>2]=24;c[(c[h>>2]|0)+8>>2]=11;c[g>>2]=12;b=c[g>>2]|0;i=o;return b|0}default:{}}c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;b=c[g>>2]|0;i=o;return b|0}function p1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=11;break}case 27:{c[c[h>>2]>>2]=49;c[g>>2]=13;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function q1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=11;break}case 27:{c[c[h>>2]>>2]=47;c[g>>2]=14;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function r1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=11;b=c[g>>2]|0;i=l;return b|0}case 17:{c[c[h>>2]>>2]=(c[(c[h>>2]|0)+16>>2]|0)!=0?26:27;c[g>>2]=15;b=c[g>>2]|0;i=l;return b|0}default:{c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;b=c[g>>2]|0;i=l;return b|0}}return 0}function s1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=0;b=c[g>>2]|0;i=l;return b|0}case 25:{c[c[h>>2]>>2]=27;b=(c[h>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=0;b=c[g>>2]|0;i=l;return b|0}default:{c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;b=c[g>>2]|0;i=l;return b|0}}return 0}function t1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=0;break}case 25:{c[c[h>>2]>>2]=27;c[g>>2]=58;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function u1(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,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+20|0;h=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=0;break}case 11:{c[g>>2]=55;break}case 13:{c[g>>2]=56;break}case 14:{c[g>>2]=0;break}case 16:{if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,(c[l>>2]|0)+(c[(c[n>>2]|0)+68>>2]<<1)|0,c[m>>2]|0,182405)|0){c[c[h>>2]>>2]=6;c[g>>2]=3}else o=9;break}case 29:{c[c[h>>2]>>2]=7;c[g>>2]=2;break}default:o=9}if((o|0)==9)c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;i=p;return c[g>>2]|0}function v1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=3;break}case 41:case 18:{c[c[h>>2]>>2]=50;c[g>>2]=4;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function w1(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,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;if((i|0)>=(j|0))ba();g=p+20|0;h=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;a:do switch(c[k>>2]|0){case 15:{c[g>>2]=3;break}case 25:{c[c[h>>2]>>2]=26;c[g>>2]=7;break}case 17:{c[c[h>>2]>>2]=21;c[g>>2]=8;break}case 18:{if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182282)|0){c[c[h>>2]>>2]=51;c[g>>2]=3;break a}if(kc[c[(c[n>>2]|0)+28>>2]&127](c[n>>2]|0,c[l>>2]|0,c[m>>2]|0,182289)|0){c[c[h>>2]>>2]=52;c[g>>2]=3}else o=9;break}default:o=9}while(0);if((o|0)==9)c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0;i=p;return c[g>>2]|0}function x1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=3;break}case 27:{c[c[h>>2]>>2]=53;c[g>>2]=5;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function y1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=3;break}case 27:{c[c[h>>2]>>2]=51;c[g>>2]=6;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function z1(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();g=l+20|0;h=l+16|0;k=l+12|0;c[h>>2]=a;c[k>>2]=b;c[l+8>>2]=d;c[l+4>>2]=e;c[l>>2]=f;switch(c[k>>2]|0){case 15:{c[g>>2]=3;break}case 25:{c[c[h>>2]>>2]=26;c[g>>2]=7;break}case 17:{c[c[h>>2]>>2]=21;c[g>>2]=8;break}default:c[g>>2]=H0(c[h>>2]|0,c[k>>2]|0)|0}i=l;return c[g>>2]|0}function A1(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,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;do if(a>>>0<245){s=a>>>0<11?16:a+11&-8;a=s>>>3;m=c[24746]|0;j=m>>>a;if(j&3){e=(j&1^1)+a|0;b=e<<1;d=99024+(b<<2)|0;b=99024+(b+2<<2)|0;f=c[b>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)==(h|0))c[24746]=m&~(1<>>0>=(c[24750]|0)>>>0?(l=h+12|0,(c[l>>2]|0)==(f|0)):0){c[l>>2]=d;c[b>>2]=h;break}$a()}while(0);U=e<<3;c[f+4>>2]=U|3;U=f+(U|4)|0;c[U>>2]=c[U>>2]|1;break}b=c[24748]|0;if(s>>>0>b>>>0){if(j){f=2<>>12&16;f=f>>>g;e=f>>>5&8;f=f>>>e;d=f>>>2&4;f=f>>>d;h=f>>>1&2;f=f>>>h;i=f>>>1&1;i=(e|g|d|h|i)+(f>>>i)|0;f=i<<1;h=99024+(f<<2)|0;f=99024+(f+2<<2)|0;d=c[f>>2]|0;g=d+8|0;e=c[g>>2]|0;do if((h|0)==(e|0)){c[24746]=m&~(1<>>0>=(c[24750]|0)>>>0?(k=e+12|0,(c[k>>2]|0)==(d|0)):0){c[k>>2]=h;c[f>>2]=e;n=c[24748]|0;break}$a()}while(0);U=i<<3;b=U-s|0;c[d+4>>2]=s|3;j=d+s|0;c[d+(s|4)>>2]=b|1;c[d+U>>2]=b;if(n){d=c[24751]|0;e=n>>>3;h=e<<1;i=99024+(h<<2)|0;f=c[24746]|0;e=1<>2]|0;if(h>>>0<(c[24750]|0)>>>0)$a();else{p=f;q=h}}else{c[24746]=f|e;p=99024+(h+2<<2)|0;q=i}c[p>>2]=d;c[q+12>>2]=d;c[d+8>>2]=q;c[d+12>>2]=i}c[24748]=b;c[24751]=j;break}a=c[24747]|0;if(a){f=(a&0-a)+-1|0;T=f>>>12&16;f=f>>>T;S=f>>>5&8;f=f>>>S;U=f>>>2&4;f=f>>>U;h=f>>>1&2;f=f>>>h;j=f>>>1&1;j=c[99288+((S|T|U|h|j)+(f>>>j)<<2)>>2]|0;f=(c[j+4>>2]&-8)-s|0;h=j;while(1){i=c[h+16>>2]|0;if(!i){i=c[h+20>>2]|0;if(!i){b=f;break}}h=(c[i+4>>2]&-8)-s|0;U=h>>>0>>0;f=U?h:f;h=i;j=U?i:j}a=c[24750]|0;if(j>>>0>=a>>>0?(v=j+s|0,j>>>0>>0):0){e=c[j+24>>2]|0;i=c[j+12>>2]|0;do if((i|0)==(j|0)){h=j+20|0;i=c[h>>2]|0;if(!i){h=j+16|0;i=c[h>>2]|0;if(!i){t=0;break}}while(1){g=i+20|0;f=c[g>>2]|0;if(f){i=f;h=g;continue}g=i+16|0;f=c[g>>2]|0;if(!f)break;else{i=f;h=g}}if(h>>>0>>0)$a();else{c[h>>2]=0;t=i;break}}else{h=c[j+8>>2]|0;if((h>>>0>=a>>>0?(d=h+12|0,(c[d>>2]|0)==(j|0)):0)?(o=i+8|0,(c[o>>2]|0)==(j|0)):0){c[d>>2]=i;c[o>>2]=h;t=i;break}$a()}while(0);do if(e){h=c[j+28>>2]|0;g=99288+(h<<2)|0;if((j|0)==(c[g>>2]|0)){c[g>>2]=t;if(!t){c[24747]=c[24747]&~(1<>>0<(c[24750]|0)>>>0)$a();h=e+16|0;if((c[h>>2]|0)==(j|0))c[h>>2]=t;else c[e+20>>2]=t;if(!t)break}g=c[24750]|0;if(t>>>0>>0)$a();c[t+24>>2]=e;h=c[j+16>>2]|0;do if(h)if(h>>>0>>0)$a();else{c[t+16>>2]=h;c[h+24>>2]=t;break}while(0);h=c[j+20>>2]|0;if(h)if(h>>>0<(c[24750]|0)>>>0)$a();else{c[t+20>>2]=h;c[h+24>>2]=t;break}}while(0);if(b>>>0<16){U=b+s|0;c[j+4>>2]=U|3;U=j+(U+4)|0;c[U>>2]=c[U>>2]|1}else{c[j+4>>2]=s|3;c[j+(s|4)>>2]=b|1;c[j+(b+s)>>2]=b;e=c[24748]|0;if(e){d=c[24751]|0;f=e>>>3;h=f<<1;i=99024+(h<<2)|0;g=c[24746]|0;f=1<>2]|0;if(g>>>0<(c[24750]|0)>>>0)$a();else{u=h;w=g}}else{c[24746]=g|f;u=99024+(h+2<<2)|0;w=i}c[u>>2]=d;c[w+12>>2]=d;c[d+8>>2]=w;c[d+12>>2]=i}c[24748]=b;c[24751]=v}g=j+8|0;break}$a()}else V=154}else V=154}else if(a>>>0<=4294967231){a=a+11|0;w=a&-8;m=c[24747]|0;if(m){j=0-w|0;a=a>>>8;if(a)if(w>>>0>16777215)l=31;else{v=(a+1048320|0)>>>16&8;V=a<>>16&4;V=V<>>16&2;l=14-(u|v|l)+(V<>>15)|0;l=w>>>(l+7|0)&1|l<<1}else l=0;a=c[99288+(l<<2)>>2]|0;a:do if(!a){i=0;a=0;V=86}else{d=j;i=0;b=w<<((l|0)==31?0:25-(l>>>1)|0);k=a;a=0;while(1){e=c[k+4>>2]&-8;j=e-w|0;if(j>>>0>>0)if((e|0)==(w|0)){e=k;a=k;V=90;break a}else a=k;else j=d;V=c[k+20>>2]|0;k=c[k+16+(b>>>31<<2)>>2]|0;i=(V|0)==0|(V|0)==(k|0)?i:V;if(!k){V=86;break}else{d=j;b=b<<1}}}while(0);if((V|0)==86){if((i|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>t;q=a>>>5&8;a=a>>>q;u=a>>>2&4;a=a>>>u;v=a>>>1&2;a=a>>>v;i=a>>>1&1;i=c[99288+((q|t|u|v|i)+(a>>>i)<<2)>>2]|0;a=0}if(!i){q=j;p=a}else{e=i;V=90}}if((V|0)==90)while(1){V=0;v=(c[e+4>>2]&-8)-w|0;i=v>>>0>>0;j=i?v:j;a=i?e:a;i=c[e+16>>2]|0;if(i){e=i;V=90;continue}e=c[e+20>>2]|0;if(!e){q=j;p=a;break}else V=90}if((p|0)!=0?q>>>0<((c[24748]|0)-w|0)>>>0:0){a=c[24750]|0;if(p>>>0>=a>>>0?(H=p+w|0,p>>>0>>0):0){j=c[p+24>>2]|0;i=c[p+12>>2]|0;do if((i|0)==(p|0)){h=p+20|0;i=c[h>>2]|0;if(!i){h=p+16|0;i=c[h>>2]|0;if(!i){y=0;break}}while(1){g=i+20|0;f=c[g>>2]|0;if(f){i=f;h=g;continue}g=i+16|0;f=c[g>>2]|0;if(!f)break;else{i=f;h=g}}if(h>>>0>>0)$a();else{c[h>>2]=0;y=i;break}}else{h=c[p+8>>2]|0;if((h>>>0>=a>>>0?(r=h+12|0,(c[r>>2]|0)==(p|0)):0)?(s=i+8|0,(c[s>>2]|0)==(p|0)):0){c[r>>2]=i;c[s>>2]=h;y=i;break}$a()}while(0);do if(j){i=c[p+28>>2]|0;h=99288+(i<<2)|0;if((p|0)==(c[h>>2]|0)){c[h>>2]=y;if(!y){c[24747]=c[24747]&~(1<>>0<(c[24750]|0)>>>0)$a();h=j+16|0;if((c[h>>2]|0)==(p|0))c[h>>2]=y;else c[j+20>>2]=y;if(!y)break}i=c[24750]|0;if(y>>>0>>0)$a();c[y+24>>2]=j;h=c[p+16>>2]|0;do if(h)if(h>>>0>>0)$a();else{c[y+16>>2]=h;c[h+24>>2]=y;break}while(0);h=c[p+20>>2]|0;if(h)if(h>>>0<(c[24750]|0)>>>0)$a();else{c[y+20>>2]=h;c[h+24>>2]=y;break}}while(0);b:do if(q>>>0>=16){c[p+4>>2]=w|3;c[p+(w|4)>>2]=q|1;c[p+(q+w)>>2]=q;i=q>>>3;if(q>>>0<256){g=i<<1;e=99024+(g<<2)|0;f=c[24746]|0;h=1<>2]|0;if(g>>>0<(c[24750]|0)>>>0)$a();else{z=h;A=g}}else{c[24746]=f|h;z=99024+(g+2<<2)|0;A=e}c[z>>2]=H;c[A+12>>2]=H;c[p+(w+8)>>2]=A;c[p+(w+12)>>2]=e;break}d=q>>>8;if(d)if(q>>>0>16777215)i=31;else{T=(d+1048320|0)>>>16&8;U=d<>>16&4;U=U<>>16&2;i=14-(S|T|i)+(U<>>15)|0;i=q>>>(i+7|0)&1|i<<1}else i=0;h=99288+(i<<2)|0;c[p+(w+28)>>2]=i;c[p+(w+20)>>2]=0;c[p+(w+16)>>2]=0;g=c[24747]|0;f=1<>2]=H;c[p+(w+24)>>2]=h;c[p+(w+12)>>2]=H;c[p+(w+8)>>2]=H;break}d=c[h>>2]|0;c:do if((c[d+4>>2]&-8|0)!=(q|0)){i=q<<((i|0)==31?0:25-(i>>>1)|0);while(1){b=d+16+(i>>>31<<2)|0;h=c[b>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(q|0)){C=h;break c}else{i=i<<1;d=h}}if(b>>>0<(c[24750]|0)>>>0)$a();else{c[b>>2]=H;c[p+(w+24)>>2]=d;c[p+(w+12)>>2]=H;c[p+(w+8)>>2]=H;break b}}else C=d;while(0);d=C+8|0;b=c[d>>2]|0;U=c[24750]|0;if(b>>>0>=U>>>0&C>>>0>=U>>>0){c[b+12>>2]=H;c[d>>2]=H;c[p+(w+8)>>2]=b;c[p+(w+12)>>2]=C;c[p+(w+24)>>2]=0;break}else $a()}else{U=q+w|0;c[p+4>>2]=U|3;U=p+(U+4)|0;c[U>>2]=c[U>>2]|1}while(0);g=p+8|0;break}$a()}else{s=w;V=154}}else{s=w;V=154}}else{s=-1;V=154}while(0);d:do if((V|0)==154){a=c[24748]|0;if(a>>>0>=s>>>0){b=a-s|0;d=c[24751]|0;if(b>>>0>15){c[24751]=d+s;c[24748]=b;c[d+(s+4)>>2]=b|1;c[d+a>>2]=b;c[d+4>>2]=s|3}else{c[24748]=0;c[24751]=0;c[d+4>>2]=a|3;V=d+(a+4)|0;c[V>>2]=c[V>>2]|1}g=d+8|0;break}a=c[24749]|0;if(a>>>0>s>>>0){V=a-s|0;c[24749]=V;g=c[24752]|0;c[24752]=g+s;c[g+(s+4)>>2]=V|1;c[g+4>>2]=s|3;g=g+8|0;break}if(!(c[24864]|0))s4();m=s+48|0;d=c[24866]|0;l=s+47|0;e=d+l|0;d=0-d|0;k=e&d;if(k>>>0>s>>>0){a=c[24856]|0;if((a|0)!=0?(C=c[24854]|0,H=C+k|0,H>>>0<=C>>>0|H>>>0>a>>>0):0){g=0;break}e:do if(!(c[24857]&4)){a=c[24752]|0;f:do if(a){i=99432;while(1){j=c[i>>2]|0;if(j>>>0<=a>>>0?(x=i+4|0,(j+(c[x>>2]|0)|0)>>>0>a>>>0):0){g=i;a=x;break}i=c[i+8>>2]|0;if(!i){V=172;break f}}j=e-(c[24749]|0)&d;if(j>>>0<2147483647){i=lb(j|0)|0;H=(i|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=H?j:0;if(H){if((i|0)!=(-1|0)){A=i;t=a;V=192;break e}}else V=182}else a=0}else V=172;while(0);do if((V|0)==172){g=lb(0)|0;if((g|0)!=(-1|0)){a=g;j=c[24865]|0;i=j+-1|0;if(!(i&a))j=k;else j=k-a+(i+a&0-j)|0;a=c[24854]|0;i=a+j|0;if(j>>>0>s>>>0&j>>>0<2147483647){H=c[24856]|0;if((H|0)!=0?i>>>0<=a>>>0|i>>>0>H>>>0:0){a=0;break}i=lb(j|0)|0;V=(i|0)==(g|0);a=V?j:0;if(V){A=g;t=a;V=192;break e}else V=182}else a=0}else a=0}while(0);g:do if((V|0)==182){g=0-j|0;do if(m>>>0>j>>>0&(j>>>0<2147483647&(i|0)!=(-1|0))?(B=c[24866]|0,B=l-j+B&0-B,B>>>0<2147483647):0)if((lb(B|0)|0)==(-1|0)){lb(g|0)|0;break g}else{j=B+j|0;break}while(0);if((i|0)!=(-1|0)){A=i;t=j;V=192;break e}}while(0);c[24857]=c[24857]|4;V=189}else{a=0;V=189}while(0);if((((V|0)==189?k>>>0<2147483647:0)?(D=lb(k|0)|0,E=lb(0)|0,D>>>0>>0&((D|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(F=E-D|0,G=F>>>0>(s+40|0)>>>0,G):0){A=D;t=G?F:a;V=192}if((V|0)==192){j=(c[24854]|0)+t|0;c[24854]=j;if(j>>>0>(c[24855]|0)>>>0)c[24855]=j;q=c[24752]|0;h:do if(q){g=99432;do{a=c[g>>2]|0;j=g+4|0;i=c[j>>2]|0;if((A|0)==(a+i|0)){I=a;J=j;K=i;L=g;V=202;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((V|0)==202?(c[L+12>>2]&8|0)==0:0)?q>>>0>>0&q>>>0>=I>>>0:0){c[J>>2]=K+t;V=(c[24749]|0)+t|0;U=q+8|0;U=(U&7|0)==0?0:0-U&7;T=V-U|0;c[24752]=q+U;c[24749]=T;c[q+(U+4)>>2]=T|1;c[q+(V+4)>>2]=40;c[24753]=c[24868];break}j=c[24750]|0;if(A>>>0>>0){c[24750]=A;j=A}i=A+t|0;a=99432;while(1){if((c[a>>2]|0)==(i|0)){g=a;i=a;V=210;break}a=c[a+8>>2]|0;if(!a){i=99432;break}}if((V|0)==210)if(!(c[i+12>>2]&8)){c[g>>2]=A;o=i+4|0;c[o>>2]=(c[o>>2]|0)+t;o=A+8|0;o=(o&7|0)==0?0:0-o&7;l=A+(t+8)|0;l=(l&7|0)==0?0:0-l&7;i=A+(l+t)|0;p=o+s|0;n=A+p|0;a=i-(A+o)-s|0;c[A+(o+4)>>2]=s|3;i:do if((i|0)!=(q|0)){if((i|0)==(c[24751]|0)){V=(c[24748]|0)+a|0;c[24748]=V;c[24751]=n;c[A+(p+4)>>2]=V|1;c[A+(V+p)>>2]=V;break}b=t+4|0;h=c[A+(b+l)>>2]|0;if((h&3|0)==1){k=h&-8;e=h>>>3;j:do if(h>>>0>=256){d=c[A+((l|24)+t)>>2]|0;g=c[A+(t+12+l)>>2]|0;k:do if((g|0)==(i|0)){f=l|16;g=A+(b+f)|0;h=c[g>>2]|0;if(!h){g=A+(f+t)|0;h=c[g>>2]|0;if(!h){R=0;break}}while(1){f=h+20|0;e=c[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=c[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0>>0)$a();else{c[g>>2]=0;R=h;break}}else{f=c[A+((l|8)+t)>>2]|0;do if(f>>>0>=j>>>0){j=f+12|0;if((c[j>>2]|0)!=(i|0))break;h=g+8|0;if((c[h>>2]|0)!=(i|0))break;c[j>>2]=g;c[h>>2]=f;R=g;break k}while(0);$a()}while(0);if(!d)break;j=c[A+(t+28+l)>>2]|0;h=99288+(j<<2)|0;do if((i|0)!=(c[h>>2]|0)){if(d>>>0<(c[24750]|0)>>>0)$a();h=d+16|0;if((c[h>>2]|0)==(i|0))c[h>>2]=R;else c[d+20>>2]=R;if(!R)break j}else{c[h>>2]=R;if(R)break;c[24747]=c[24747]&~(1<>>0>>0)$a();c[R+24>>2]=d;i=l|16;h=c[A+(i+t)>>2]|0;do if(h)if(h>>>0>>0)$a();else{c[R+16>>2]=h;c[h+24>>2]=R;break}while(0);i=c[A+(b+i)>>2]|0;if(!i)break;if(i>>>0<(c[24750]|0)>>>0)$a();else{c[R+20>>2]=i;c[i+24>>2]=R;break}}else{h=c[A+((l|8)+t)>>2]|0;g=c[A+(t+12+l)>>2]|0;f=99024+(e<<1<<2)|0;do if((h|0)!=(f|0)){if(h>>>0>=j>>>0?(c[h+12>>2]|0)==(i|0):0)break;$a()}while(0);if((g|0)==(h|0)){c[24746]=c[24746]&~(1<>>0>=j>>>0?(N=g+8|0,(c[N>>2]|0)==(i|0)):0){M=N;break}$a()}while(0);c[h+12>>2]=g;c[M>>2]=h}while(0);i=A+((k|l)+t)|0;a=k+a|0}i=i+4|0;c[i>>2]=c[i>>2]&-2;c[A+(p+4)>>2]=a|1;c[A+(a+p)>>2]=a;i=a>>>3;if(a>>>0<256){g=i<<1;e=99024+(g<<2)|0;f=c[24746]|0;h=1<>2]|0;if(g>>>0>=(c[24750]|0)>>>0){S=h;T=g;break}$a()}while(0);c[S>>2]=n;c[T+12>>2]=n;c[A+(p+8)>>2]=T;c[A+(p+12)>>2]=e;break}d=a>>>8;do if(!d)i=0;else{if(a>>>0>16777215){i=31;break}T=(d+1048320|0)>>>16&8;V=d<>>16&4;V=V<>>16&2;i=14-(S|T|i)+(V<>>15)|0;i=a>>>(i+7|0)&1|i<<1}while(0);h=99288+(i<<2)|0;c[A+(p+28)>>2]=i;c[A+(p+20)>>2]=0;c[A+(p+16)>>2]=0;g=c[24747]|0;f=1<>2]=n;c[A+(p+24)>>2]=h;c[A+(p+12)>>2]=n;c[A+(p+8)>>2]=n;break}d=c[h>>2]|0;l:do if((c[d+4>>2]&-8|0)!=(a|0)){i=a<<((i|0)==31?0:25-(i>>>1)|0);while(1){b=d+16+(i>>>31<<2)|0;h=c[b>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(a|0)){U=h;break l}else{i=i<<1;d=h}}if(b>>>0<(c[24750]|0)>>>0)$a();else{c[b>>2]=n;c[A+(p+24)>>2]=d;c[A+(p+12)>>2]=n;c[A+(p+8)>>2]=n;break i}}else U=d;while(0);d=U+8|0;b=c[d>>2]|0;V=c[24750]|0;if(b>>>0>=V>>>0&U>>>0>=V>>>0){c[b+12>>2]=n;c[d>>2]=n;c[A+(p+8)>>2]=b;c[A+(p+12)>>2]=U;c[A+(p+24)>>2]=0;break}else $a()}else{V=(c[24749]|0)+a|0;c[24749]=V;c[24752]=n;c[A+(p+4)>>2]=V|1}while(0);g=A+(o|8)|0;break d}else i=99432;while(1){g=c[i>>2]|0;if(g>>>0<=q>>>0?(h=c[i+4>>2]|0,f=g+h|0,f>>>0>q>>>0):0)break;i=c[i+8>>2]|0}i=g+(h+-39)|0;i=g+(h+-47+((i&7|0)==0?0:0-i&7))|0;j=q+16|0;i=i>>>0>>0?q:i;h=i+8|0;g=A+8|0;g=(g&7|0)==0?0:0-g&7;V=t+-40-g|0;c[24752]=A+g;c[24749]=V;c[A+(g+4)>>2]=V|1;c[A+(t+-36)>>2]=40;c[24753]=c[24868];g=i+4|0;c[g>>2]=27;c[h>>2]=c[24858];c[h+4>>2]=c[24859];c[h+8>>2]=c[24860];c[h+12>>2]=c[24861];c[24858]=A;c[24859]=t;c[24861]=0;c[24860]=h;h=i+28|0;c[h>>2]=7;if((i+32|0)>>>0>>0)do{V=h;h=h+4|0;c[h>>2]=7}while((V+8|0)>>>0>>0);if((i|0)!=(q|0)){a=i-q|0;c[g>>2]=c[g>>2]&-2;c[q+4>>2]=a|1;c[i>>2]=a;f=a>>>3;if(a>>>0<256){h=f<<1;i=99024+(h<<2)|0;g=c[24746]|0;e=1<>2]|0;if(b>>>0<(c[24750]|0)>>>0)$a();else{O=d;P=b}}else{c[24746]=g|e;O=99024+(h+2<<2)|0;P=i}c[O>>2]=q;c[P+12>>2]=q;c[q+8>>2]=P;c[q+12>>2]=i;break}d=a>>>8;if(d)if(a>>>0>16777215)h=31;else{U=(d+1048320|0)>>>16&8;V=d<>>16&4;V=V<>>16&2;h=14-(T|U|h)+(V<>>15)|0;h=a>>>(h+7|0)&1|h<<1}else h=0;e=99288+(h<<2)|0;c[q+28>>2]=h;c[q+20>>2]=0;c[j>>2]=0;d=c[24747]|0;b=1<>2]=q;c[q+24>>2]=e;c[q+12>>2]=q;c[q+8>>2]=q;break}d=c[e>>2]|0;m:do if((c[d+4>>2]&-8|0)!=(a|0)){h=a<<((h|0)==31?0:25-(h>>>1)|0);while(1){b=d+16+(h>>>31<<2)|0;e=c[b>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(a|0)){Q=e;break m}else{h=h<<1;d=e}}if(b>>>0<(c[24750]|0)>>>0)$a();else{c[b>>2]=q;c[q+24>>2]=d;c[q+12>>2]=q;c[q+8>>2]=q;break h}}else Q=d;while(0);d=Q+8|0;b=c[d>>2]|0;V=c[24750]|0;if(b>>>0>=V>>>0&Q>>>0>=V>>>0){c[b+12>>2]=q;c[d>>2]=q;c[q+8>>2]=b;c[q+12>>2]=Q;c[q+24>>2]=0;break}else $a()}}else{V=c[24750]|0;if((V|0)==0|A>>>0>>0)c[24750]=A;c[24858]=A;c[24859]=t;c[24861]=0;c[24755]=c[24864];c[24754]=-1;d=0;do{V=d<<1;U=99024+(V<<2)|0;c[99024+(V+3<<2)>>2]=U;c[99024+(V+2<<2)>>2]=U;d=d+1|0}while((d|0)!=32);V=A+8|0;V=(V&7|0)==0?0:0-V&7;U=t+-40-V|0;c[24752]=A+V;c[24749]=U;c[A+(V+4)>>2]=U|1;c[A+(t+-36)>>2]=40;c[24753]=c[24868]}while(0);b=c[24749]|0;if(b>>>0>s>>>0){V=b-s|0;c[24749]=V;g=c[24752]|0;c[24752]=g+s;c[g+(s+4)>>2]=V|1;c[g+4>>2]=s|3;g=g+8|0;break}}c[(c2()|0)>>2]=12;g=0}else g=0}while(0);return g|0}function B1(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;a:do if(a){f=a+-8|0;k=c[24750]|0;b:do if(f>>>0>=k>>>0?(e=c[a+-4>>2]|0,d=e&3,(d|0)!=1):0){v=e&-8;w=a+(v+-8)|0;do if(!(e&1)){f=c[f>>2]|0;if(!d)break a;l=-8-f|0;n=a+l|0;o=f+v|0;if(n>>>0>>0)break b;if((n|0)==(c[24751]|0)){g=a+(v+-4)|0;f=c[g>>2]|0;if((f&3|0)!=3){B=n;g=o;break}c[24748]=o;c[g>>2]=f&-2;c[a+(l+4)>>2]=o|1;c[w>>2]=o;break a}d=f>>>3;if(f>>>0<256){e=c[a+(l+8)>>2]|0;g=c[a+(l+12)>>2]|0;f=99024+(d<<1<<2)|0;do if((e|0)!=(f|0)){if(e>>>0>=k>>>0?(c[e+12>>2]|0)==(n|0):0)break;$a()}while(0);if((g|0)==(e|0)){c[24746]=c[24746]&~(1<>>0>=k>>>0?(h=g+8|0,(c[h>>2]|0)==(n|0)):0){b=h;break}$a()}while(0);c[e+12>>2]=g;c[b>>2]=e;B=n;g=o;break}h=c[a+(l+24)>>2]|0;f=c[a+(l+12)>>2]|0;do if((f|0)==(n|0)){e=a+(l+20)|0;f=c[e>>2]|0;if(!f){e=a+(l+16)|0;f=c[e>>2]|0;if(!f){m=0;break}}while(1){d=f+20|0;b=c[d>>2]|0;if(b){f=b;e=d;continue}d=f+16|0;b=c[d>>2]|0;if(!b)break;else{f=b;e=d}}if(e>>>0>>0)$a();else{c[e>>2]=0;m=f;break}}else{e=c[a+(l+8)>>2]|0;if((e>>>0>=k>>>0?(i=e+12|0,(c[i>>2]|0)==(n|0)):0)?(j=f+8|0,(c[j>>2]|0)==(n|0)):0){c[i>>2]=f;c[j>>2]=e;m=f;break}$a()}while(0);if(h){f=c[a+(l+28)>>2]|0;e=99288+(f<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=m;if(!m){c[24747]=c[24747]&~(1<>>0<(c[24750]|0)>>>0)$a();f=h+16|0;if((c[f>>2]|0)==(n|0))c[f>>2]=m;else c[h+20>>2]=m;if(!m){B=n;g=o;break}}e=c[24750]|0;if(m>>>0>>0)$a();c[m+24>>2]=h;f=c[a+(l+16)>>2]|0;do if(f)if(f>>>0>>0)$a();else{c[m+16>>2]=f;c[f+24>>2]=m;break}while(0);f=c[a+(l+20)>>2]|0;if(f)if(f>>>0<(c[24750]|0)>>>0)$a();else{c[m+20>>2]=f;c[f+24>>2]=m;B=n;g=o;break}else{B=n;g=o}}else{B=n;g=o}}else{B=f;g=v}while(0);if(B>>>0>>0?(p=a+(v+-4)|0,q=c[p>>2]|0,(q&1|0)!=0):0){if(!(q&2)){if((w|0)==(c[24752]|0)){A=(c[24749]|0)+g|0;c[24749]=A;c[24752]=B;c[B+4>>2]=A|1;if((B|0)!=(c[24751]|0))break a;c[24751]=0;c[24748]=0;break a}if((w|0)==(c[24751]|0)){A=(c[24748]|0)+g|0;c[24748]=A;c[24751]=B;c[B+4>>2]=A|1;c[B+A>>2]=A;break a}j=(q&-8)+g|0;d=q>>>3;do if(q>>>0>=256){b=c[a+(v+16)>>2]|0;g=c[a+(v|4)>>2]|0;do if((g|0)==(w|0)){f=a+(v+12)|0;g=c[f>>2]|0;if(!g){f=a+(v+8)|0;g=c[f>>2]|0;if(!g){x=0;break}}while(1){e=g+20|0;d=c[e>>2]|0;if(d){g=d;f=e;continue}e=g+16|0;d=c[e>>2]|0;if(!d)break;else{g=d;f=e}}if(f>>>0<(c[24750]|0)>>>0)$a();else{c[f>>2]=0;x=g;break}}else{f=c[a+v>>2]|0;if((f>>>0>=(c[24750]|0)>>>0?(t=f+12|0,(c[t>>2]|0)==(w|0)):0)?(u=g+8|0,(c[u>>2]|0)==(w|0)):0){c[t>>2]=g;c[u>>2]=f;x=g;break}$a()}while(0);if(b){g=c[a+(v+20)>>2]|0;f=99288+(g<<2)|0;if((w|0)==(c[f>>2]|0)){c[f>>2]=x;if(!x){c[24747]=c[24747]&~(1<>>0<(c[24750]|0)>>>0)$a();g=b+16|0;if((c[g>>2]|0)==(w|0))c[g>>2]=x;else c[b+20>>2]=x;if(!x)break}g=c[24750]|0;if(x>>>0>>0)$a();c[x+24>>2]=b;f=c[a+(v+8)>>2]|0;do if(f)if(f>>>0>>0)$a();else{c[x+16>>2]=f;c[f+24>>2]=x;break}while(0);d=c[a+(v+12)>>2]|0;if(d)if(d>>>0<(c[24750]|0)>>>0)$a();else{c[x+20>>2]=d;c[d+24>>2]=x;break}}}else{e=c[a+v>>2]|0;g=c[a+(v|4)>>2]|0;f=99024+(d<<1<<2)|0;do if((e|0)!=(f|0)){if(e>>>0>=(c[24750]|0)>>>0?(c[e+12>>2]|0)==(w|0):0)break;$a()}while(0);if((g|0)==(e|0)){c[24746]=c[24746]&~(1<>>0>=(c[24750]|0)>>>0?(s=g+8|0,(c[s>>2]|0)==(w|0)):0){r=s;break}$a()}while(0);c[e+12>>2]=g;c[r>>2]=e}while(0);c[B+4>>2]=j|1;c[B+j>>2]=j;if((B|0)==(c[24751]|0)){c[24748]=j;break a}else g=j}else{c[p>>2]=q&-2;c[B+4>>2]=g|1;c[B+g>>2]=g}f=g>>>3;if(g>>>0<256){e=f<<1;g=99024+(e<<2)|0;b=c[24746]|0;d=1<>2]|0;if(b>>>0<(c[24750]|0)>>>0)$a();else{y=d;z=b}}else{c[24746]=b|d;y=99024+(e+2<<2)|0;z=g}c[y>>2]=B;c[z+12>>2]=B;c[B+8>>2]=z;c[B+12>>2]=g;break a}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{y=(b+1048320|0)>>>16&8;z=b<>>16&4;z=z<>>16&2;f=14-(a|y|f)+(z<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;d=99288+(f<<2)|0;c[B+28>>2]=f;c[B+20>>2]=0;c[B+16>>2]=0;b=c[24747]|0;e=1<>2]|0;d:do if((c[d+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){b=d+16+(f>>>31<<2)|0;e=c[b>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){A=e;break d}else{f=f<<1;d=e}}if(b>>>0<(c[24750]|0)>>>0)$a();else{c[b>>2]=B;c[B+24>>2]=d;c[B+12>>2]=B;c[B+8>>2]=B;break c}}else A=d;while(0);b=A+8|0;d=c[b>>2]|0;z=c[24750]|0;if(d>>>0>=z>>>0&A>>>0>=z>>>0){c[d+12>>2]=B;c[b>>2]=B;c[B+8>>2]=d;c[B+12>>2]=A;c[B+24>>2]=0;break}else $a()}else{c[24747]=b|e;c[d>>2]=B;c[B+24>>2]=d;c[B+12>>2]=B;c[B+8>>2]=B}while(0);B=(c[24754]|0)+-1|0;c[24754]=B;if(!B)b=99440;else break a;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[24754]=-1;break a}}while(0);$a()}while(0);return}function C1(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=A1(d)|0;if((b|0)!=0?(c[b+-4>>2]&3|0)!=0:0)p5(b|0,0,d|0)|0;return b|0}function D1(a,b){a=a|0;b=b|0;var d=0,e=0;do if(a){if(b>>>0>4294967231){c[(c2()|0)>>2]=12;d=0;break}d=t4(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){d=d+8|0;break}d=A1(b)|0;if(!d)d=0;else{e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;n5(d|0,a|0,(e>>>0>>0?e:b)|0)|0;B1(a)}}else d=A1(b)|0;while(0);return d|0}function E1(a){a=a|0;return ((a+-48|0)>>>0<10|(F1(a)|0)!=0)&1|0}function F1(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function G1(a){a=a|0;return a>>>0<128|0}function H1(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function I1(a){a=a|0;return (a+-48|0)>>>0<10|0}function J1(a){a=a|0;return (a+-97|0)>>>0<26|0}function K1(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function L1(a){a=a|0;return (a+-65|0)>>>0<26|0}function M1(a){a=a|0;if(!(S1(a)|0))a=(N1(a)|0)!=0;else a=1;return a&1|0}function N1(a){a=a|0;if(a>>>0<131072)a=(d[182413+((d[182413+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function O1(a){a=a|0;return H1(a)|0}function P1(a){a=a|0;if((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33))a=1;else a=(a+-65529|0)>>>0<3;return a&1|0}function Q1(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{b=M1(a)|0;break}case 2:{b=N1(a)|0;break}case 3:{b=O1(a)|0;break}case 4:{b=P1(a)|0;break}case 5:{b=S1(a)|0;break}case 6:{b=T1(a)|0;break}case 7:{b=U1(a)|0;break}case 8:{b=V1(a)|0;break}case 9:{b=W1(a)|0;break}case 10:{b=X1(a)|0;break}case 11:{b=Y1(a)|0;break}case 12:{b=Z1(a)|0;break}default:b=0}while(0);return b|0}function R1(b){b=b|0;var c=0,d=0,e=0,f=0;d=a[b>>0]|0;e=97;c=1;f=185389;while(1){if(d<<24>>24==e<<24>>24?(a4(b,f)|0)==0:0)break;f=f+6|0;e=a[f>>0]|0;if(!(e<<24>>24)){c=0;break}else c=c+1|0}return c|0}function S1(a){a=a|0;return (a+-48|0)>>>0<10|0}function T1(a){a=a|0;if(!(X1(a)|0))a=(V1(a)|0)!=0;else a=0;return a&1|0}function U1(a){a=a|0;return ((a|0)==223|(a2(a)|0)!=(a|0))&1|0}function V1(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return ((a+-65532|0)>>>0>1048579|(a&65534|0)==65534)&1^1|0;else a=(a+1&127)>>>0>32&1;return a|0}function W1(a){a=a|0;if(a>>>0<131072)a=(d[185462+((d[185462+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function X1(a){a=a|0;if(!a)a=0;else a=(o4(99480,a)|0)!=0;return a&1|0}function Y1(a){a=a|0;return (b2(a)|0)!=(a|0)|0}function Z1(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6;return a&1|0}function _1(a){a=a|0;var b=0;b=(L1(a)|0)==0;return (b?a:a|32)|0}function $1(a){a=a|0;var b=0;b=(J1(a)|0)==0;return (b?a:a&95)|0}function a2(a){a=a|0;return v4(a,0)|0}function b2(a){a=a|0;return v4(a,1)|0}function c2(){var a=0;if(!(c[24680]|0))a=99568;else a=c[(wb()|0)+60>>2]|0;return a|0}function d2(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[188630+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=188718;e=5;break}}if((e|0)==2)if(!c)b=188718;else{b=188718;e=5}if((e|0)==5)while(1){while(1){e=b+1|0;if(!(a[b>>0]|0)){b=e;break}else b=e}c=c+-1|0;if(!c)break;else e=5}return b|0}function e2(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0,q=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0.0,P=0.0;M=i;i=i+512|0;if((i|0)>=(j|0))ba();I=M;switch(e|0){case 0:{L=24;K=-149;H=4;break}case 1:{L=53;K=-1074;H=4;break}case 2:{L=53;K=-1074;H=4;break}default:g=0.0}a:do if((H|0)==4){E=b+4|0;D=b+100|0;do{k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0}else k=i2(b)|0}while((K1(k)|0)!=0);b:do switch(k|0){case 43:case 45:{e=1-(((k|0)==45&1)<<1)|0;k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0;J=e;break b}else{k=i2(b)|0;J=e;break b}}default:J=1}while(0);h=0;do{if((k|32|0)!=(a[190522+h>>0]|0))break;do if(h>>>0<7){k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0;break}else{k=i2(b)|0;break}}while(0);h=h+1|0}while(h>>>0<8);c:do switch(h|0){case 8:break;case 3:{H=23;break}default:{u=(f|0)!=0;if(u&h>>>0>3)if((h|0)==8)break c;else{H=23;break c}d:do if(!h){h=0;do{if((k|32|0)!=(a[193460+h>>0]|0))break d;do if(h>>>0<2){k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0;break}else{k=i2(b)|0;break}}while(0);h=h+1|0}while(h>>>0<3)}while(0);switch(h|0){case 3:{h=c[E>>2]|0;if(h>>>0<(c[D>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=i2(b)|0;if((h|0)==40)h=1;else{if(!(c[D>>2]|0)){g=r;break a}c[E>>2]=(c[E>>2]|0)+-1;g=r;break a}while(1){e=c[E>>2]|0;if(e>>>0<(c[D>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=i2(b)|0;if(!((e+-48|0)>>>0<10|(e+-65|0)>>>0<26)?!((e|0)==95|(e+-97|0)>>>0<26):0)break;h=h+1|0}if((e|0)==41){g=r;break a}e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(!u){c[(c2()|0)>>2]=22;h2(b,0);g=0.0;break a}if(!h){g=r;break a}while(1){h=h+-1|0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(!h){g=r;break a}}}case 0:{do if((k|0)==48){k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0}else k=i2(b)|0;if((k|32|0)!=120){if(!(c[D>>2]|0)){k=48;break}c[E>>2]=(c[E>>2]|0)+-1;k=48;break}k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0;o=0}else{k=i2(b)|0;o=0}e:while(1){switch(k|0){case 46:{H=74;break e}case 48:break;default:{x=0;A=0;m=0;e=0;q=0;y=0;t=1.0;h=0;l=0.0;break e}}k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0;o=1;continue}else{k=i2(b)|0;o=1;continue}}if((H|0)==74){k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0}else k=i2(b)|0;if((k|0)==48){m=0;e=0;do{k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0}else k=i2(b)|0;m=j5(m|0,e|0,-1,-1)|0;e=C}while((k|0)==48);x=0;A=0;o=1;q=1;y=0;t=1.0;h=0;l=0.0}else{x=0;A=0;m=0;e=0;q=1;y=0;t=1.0;h=0;l=0.0}}while(1){p=k+-48|0;u=k|32;if(p>>>0>=10){v=(k|0)==46;if(!(v|(u+-97|0)>>>0<6)){v=A;p=x;break}if(v)if(!q){m=A;e=x;k=A;q=1;p=y;n=t}else{v=A;p=x;k=46;break}else H=86}else H=86;if((H|0)==86){H=0;u=(k|0)>57?u+-87|0:p;do if(!((x|0)<0|(x|0)==0&A>>>0<8)){if((x|0)<0|(x|0)==0&A>>>0<14){t=t*.0625;p=y;n=t;l=l+t*+(u|0);break}if((y|0)!=0|(u|0)==0){p=y;n=t}else{p=1;n=t;l=l+t*.5}}else{p=y;n=t;h=u+(h<<4)|0}while(0);k=j5(A|0,x|0,1,0)|0;x=C;o=1}u=c[E>>2]|0;if(u>>>0<(c[D>>2]|0)>>>0){c[E>>2]=u+1;A=k;k=d[u>>0]|0;y=p;t=n;continue}else{A=k;k=i2(b)|0;y=p;t=n;continue}}if(!o){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(B=c[E>>2]|0,c[E>>2]=B+-1,(q|0)!=0):0)c[E>>2]=B+-2}else h2(b,0);g=+(J|0)*0.0;break a}u=(q|0)==0;q=u?v:m;u=u?p:e;if((p|0)<0|(p|0)==0&v>>>0<8){o=v;m=p;do{h=h<<4;o=j5(o|0,m|0,1,0)|0;m=C}while((m|0)<0|(m|0)==0&o>>>0<8)}if((k|32|0)==112){e=w4(b,f)|0;k=C;if((e|0)==0&(k|0)==-2147483648){if(!f){h2(b,0);g=0.0;break a}if(!(c[D>>2]|0)){e=0;k=0}else{c[E>>2]=(c[E>>2]|0)+-1;e=0;k=0}}}else if(!(c[D>>2]|0)){e=0;k=0}else{c[E>>2]=(c[E>>2]|0)+-1;e=0;k=0}F=q5(q|0,u|0,2)|0;F=j5(F|0,C|0,-32,-1)|0;e=j5(F|0,C|0,e|0,k|0)|0;k=C;if(!h){g=+(J|0)*0.0;break a}if((k|0)>0|(k|0)==0&e>>>0>(0-K|0)>>>0){c[(c2()|0)>>2]=34;g=+(J|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}F=K+-106|0;b=((F|0)<0)<<31>>31;if((k|0)<(b|0)|(k|0)==(b|0)&e>>>0>>0){c[(c2()|0)>>2]=34;g=+(J|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((h|0)>-1){do{b=!(l>=.5);F=b&1|h<<1;h=F^1;l=l+(b?l:l+-1.0);e=j5(e|0,k|0,-1,-1)|0;k=C}while((F|0)>-1);m=h;n=l}else{m=h;n=l}h=i5(32,0,K|0,((K|0)<0)<<31>>31|0)|0;h=j5(e|0,k|0,h|0,C|0)|0;K=C;if(0>(K|0)|0==(K|0)&L>>>0>h>>>0)if((h|0)<0){k=0;H=127}else H=125;else{h=L;H=125}if((H|0)==125)if((h|0)<53){k=h;H=127}else{l=+(J|0);g=0.0}if((H|0)==127){g=+(J|0);h=k;l=g;g=+r2(+z2(1.0,84-k|0),g)}L=(m&1|0)==0&(n!=0.0&(h|0)<32);g=l*(L?0.0:n)+(g+l*+(((L&1)+m|0)>>>0))-g;if(!(g!=0.0))c[(c2()|0)>>2]=34;g=+A2(g,e);break a}while(0);F=K+L|0;G=0-F|0;m=0;f:while(1){switch(k|0){case 46:{H=138;break f}case 48:break;default:{e=0;w=0;v=0;break f}}k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0;m=1;continue}else{k=i2(b)|0;m=1;continue}}if((H|0)==138){k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0}else k=i2(b)|0;if((k|0)==48){e=0;k=0;while(1){e=j5(e|0,k|0,-1,-1)|0;m=C;k=c[E>>2]|0;if(k>>>0<(c[D>>2]|0)>>>0){c[E>>2]=k+1;k=d[k>>0]|0}else k=i2(b)|0;if((k|0)==48)k=m;else{w=m;m=1;v=1;break}}}else{e=0;w=0;v=1}}c[I>>2]=0;p=k+-48|0;q=(k|0)==46;g:do if(q|p>>>0<10){B=I+496|0;u=0;z=0;o=m;h=0;m=0;A=0;h:while(1){do if(q)if(!v){e=u;w=z;v=1;y=A}else{k=w;p=z;q=A;break h}else{x=j5(u|0,z|0,1,0)|0;q=C;y=(k|0)!=48;if((m|0)>=125){if(!y){u=x;z=q;y=A;break}c[B>>2]=c[B>>2]|1;u=x;z=q;y=A;break}u=I+(m<<2)|0;if(h)p=k+-48+((c[u>>2]|0)*10|0)|0;c[u>>2]=p;h=h+1|0;p=(h|0)==9;u=x;z=q;o=1;h=p?0:h;m=(p&1)+m|0;y=y?x:A}while(0);q=c[E>>2]|0;if(q>>>0<(c[D>>2]|0)>>>0){c[E>>2]=q+1;k=d[q>>0]|0}else k=i2(b)|0;p=k+-48|0;q=(k|0)==46;if(!(q|p>>>0<10)){p=z;q=y;H=161;break g}else A=y}o=(o|0)!=0;H=169}else{u=0;p=0;o=m;h=0;m=0;q=0;H=161}while(0);do if((H|0)==161){x=(v|0)==0;e=x?u:e;x=x?p:w;o=(o|0)!=0;if(!((k|32|0)==101&o))if((k|0)>-1){k=x;H=169;break}else{k=x;H=171;break}o=w4(b,f)|0;k=C;if((o|0)==0&(k|0)==-2147483648){if(!f){h2(b,0);g=0.0;break}if(!(c[D>>2]|0)){o=0;k=0}else{c[E>>2]=(c[E>>2]|0)+-1;o=0;k=0}}e=j5(o|0,k|0,e|0,x|0)|0;o=C;H=173}while(0);if((H|0)==169)if(c[D>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(o){o=k;H=173}else H=172}else H=171;if((H|0)==171)if(o){o=k;H=173}else H=172;do if((H|0)==172){c[(c2()|0)>>2]=22;h2(b,0);g=0.0}else if((H|0)==173){k=c[I>>2]|0;if(!k){g=+(J|0)*0.0;break}if(((p|0)<0|(p|0)==0&u>>>0<10)&((e|0)==(u|0)&(o|0)==(p|0))?L>>>0>30|(k>>>L|0)==0:0){g=+(J|0)*+(k>>>0);break}b=(K|0)/-2|0;E=((b|0)<0)<<31>>31;if((o|0)>(E|0)|(o|0)==(E|0)&e>>>0>b>>>0){c[(c2()|0)>>2]=34;g=+(J|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=K+-106|0;E=((b|0)<0)<<31>>31;if((o|0)<(E|0)|(o|0)==(E|0)&e>>>0>>0){c[(c2()|0)>>2]=34;g=+(J|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(h){if((h|0)<9){o=I+(m<<2)|0;k=c[o>>2]|0;do{k=k*10|0;h=h+1|0}while((h|0)!=9);c[o>>2]=k}m=m+1|0}if((q|0)<9?(q|0)<=(e|0)&(e|0)<18:0){if((e|0)==9){g=+(J|0)*+((c[I>>2]|0)>>>0);break}if((e|0)<9){g=+(J|0)*+((c[I>>2]|0)>>>0)/+(c[99572+(8-e<<2)>>2]|0);break}b=L+27+(_(e,-3)|0)|0;k=c[I>>2]|0;if((b|0)>30|(k>>>b|0)==0){g=+(J|0)*+(k>>>0)*+(c[99572+(e+-10<<2)>>2]|0);break}}k=(e|0)%9|0;if(!k){k=0;h=0}else{u=(e|0)>-1?k:k+9|0;p=c[99572+(8-u<<2)>>2]|0;if(m){o=1e9/(p|0)|0;k=0;h=0;q=0;do{D=I+(q<<2)|0;E=c[D>>2]|0;b=((E>>>0)/(p>>>0)|0)+h|0;c[D>>2]=b;h=_((E>>>0)%(p>>>0)|0,o)|0;b=(q|0)==(k|0)&(b|0)==0;q=q+1|0;e=b?e+-9|0:e;k=b?q&127:k}while((q|0)!=(m|0));if(h){c[I+(m<<2)>>2]=h;m=m+1|0}}else{k=0;m=0}h=0;e=9-u+e|0}i:while(1){w=(e|0)<18;v=(e|0)==18;x=I+(k<<2)|0;do{if(!w){if(!v)break i;if((c[x>>2]|0)>>>0>=9007199){e=18;break i}}o=0;p=m+127|0;while(1){u=p&127;q=I+(u<<2)|0;p=q5(c[q>>2]|0,0,29)|0;p=j5(p|0,C|0,o|0,0)|0;o=C;if(o>>>0>0|(o|0)==0&p>>>0>1e9){b=x5(p|0,o|0,1e9,0)|0;p=y5(p|0,o|0,1e9,0)|0;o=b}else o=0;c[q>>2]=p;b=(u|0)==(k|0);m=(u|0)!=(m+127&127|0)|b?m:(p|0)==0?u:m;if(b)break;else p=u+-1|0}h=h+-29|0}while((o|0)==0);k=k+127&127;if((k|0)==(m|0)){b=m+127&127;m=I+((m+126&127)<<2)|0;c[m>>2]=c[m>>2]|c[I+(b<<2)>>2];m=b}c[I+(k<<2)>>2]=o;e=e+9|0}j:while(1){B=m+1&127;z=I+((m+127&127)<<2)|0;while(1){v=(e|0)==18;y=(e|0)>27?9:1;u=v^1;while(1){o=k&127;q=(o|0)==(m|0);do if(!q){p=c[I+(o<<2)>>2]|0;if(p>>>0<9007199){H=219;break}if(p>>>0>9007199)break;p=k+1&127;if((p|0)==(m|0)){H=219;break}p=c[I+(p<<2)>>2]|0;if(p>>>0<254740991){H=219;break}if(!(p>>>0>254740991|u))break j}else H=219;while(0);if((H|0)==219?(H=0,v):0){H=220;break j}h=h+y|0;if((k|0)==(m|0))k=m;else{p=k;break}}q=(1<>>y;k=p;o=0;u=p;do{D=I+(u<<2)|0;E=c[D>>2]|0;b=(E>>>y)+o|0;c[D>>2]=b;o=_(E&q,v)|0;b=(u|0)==(k|0)&(b|0)==0;u=u+1&127;e=b?e+-9|0:e;k=b?u:k}while((u|0)!=(m|0));if(!o)continue;if((B|0)!=(k|0))break;c[z>>2]=c[z>>2]|1}c[I+(m<<2)>>2]=o;m=B}if((H|0)==220)if(q){c[I+(B+-1<<2)>>2]=0;o=m;m=B}l=+((c[I+(o<<2)>>2]|0)>>>0);e=k+1&127;if((e|0)==(m|0)){m=k+2&127;c[I+(m+-1<<2)>>2]=0}t=+(J|0);n=t*(l*1.0e9+ +((c[I+(e<<2)>>2]|0)>>>0));v=h+53|0;p=v-K|0;u=(p|0)<(L|0);e=u&1;q=u?((p|0)<0?0:p):L;if((q|0)<53){P=+r2(+z2(1.0,105-q|0),n);O=+t2(n,+z2(1.0,53-q|0));g=P;l=O;n=P+(n-O)}else{g=0.0;l=0.0}o=k+2&127;do if((o|0)!=(m|0)){o=c[I+(o<<2)>>2]|0;do if(o>>>0>=5e8){if(o>>>0>5e8){l=t*.75+l;break}if((k+3&127|0)==(m|0)){l=t*.5+l;break}else{l=t*.75+l;break}}else{if((o|0)==0?(k+3&127|0)==(m|0):0)break;l=t*.25+l}while(0);if((53-q|0)<=1)break;if(+t2(l,1.0)!=0.0)break;l=l+1.0}while(0);g=n+l-g;do if((v&2147483647|0)>(-2-F|0)){if(+N(+g)>=9007199254740992.0){e=u&(q|0)==(p|0)?0:e;h=h+1|0;g=g*.5}if((h+50|0)<=(G|0)?!(l!=0.0&(e|0)!=0):0)break;c[(c2()|0)>>2]=34}while(0);g=+A2(g,h)}while(0);break a}default:{if(c[D>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(c2()|0)>>2]=22;h2(b,0);g=0.0;break a}}}}while(0);if((H|0)==23){e=(c[D>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&h>>>0>3)do{if(!e)c[E>>2]=(c[E>>2]|0)+-1;h=h+-1|0}while(h>>>0>3)}g=+(J|0)*s}while(0);i=M;return +g}function f2(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;a:do if(e>>>0>36){c[(c2()|0)>>2]=22;h=0;g=0}else{s=b+4|0;r=b+100|0;do{i=c[s>>2]|0;if(i>>>0<(c[r>>2]|0)>>>0){c[s>>2]=i+1;i=d[i>>0]|0}else i=i2(b)|0}while((K1(i)|0)!=0);b:do switch(i|0){case 43:case 45:{k=((i|0)==45)<<31>>31;i=c[s>>2]|0;if(i>>>0<(c[r>>2]|0)>>>0){c[s>>2]=i+1;i=d[i>>0]|0;q=k;break b}else{i=i2(b)|0;q=k;break b}}default:q=0}while(0);l=(e|0)==0;do if((e&-17|0)==0&(i|0)==48){k=c[s>>2]|0;if(k>>>0<(c[r>>2]|0)>>>0){c[s>>2]=k+1;i=d[k>>0]|0}else i=i2(b)|0;if((i|32|0)!=120)if(l){e=8;p=46;break}else{p=32;break}i=c[s>>2]|0;if(i>>>0<(c[r>>2]|0)>>>0){c[s>>2]=i+1;i=d[i>>0]|0}else i=i2(b)|0;if((d[190531+(i+1)>>0]|0)>15){h=(c[r>>2]|0)==0;if(!h)c[s>>2]=(c[s>>2]|0)+-1;if(!f){h2(b,0);h=0;g=0;break a}if(h){h=0;g=0;break a}c[s>>2]=(c[s>>2]|0)+-1;h=0;g=0;break a}else{e=16;p=46}}else{e=l?10:e;if((d[190531+(i+1)>>0]|0)>>>0>>0)p=32;else{if(c[r>>2]|0)c[s>>2]=(c[s>>2]|0)+-1;h2(b,0);c[(c2()|0)>>2]=22;h=0;g=0;break a}}while(0);if((p|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){k=e;e=0;do{e=(e*10|0)+k|0;i=c[s>>2]|0;if(i>>>0<(c[r>>2]|0)>>>0){c[s>>2]=i+1;i=d[i>>0]|0}else i=i2(b)|0;k=i+-48|0}while(k>>>0<10&e>>>0<429496729);k=0}else{e=0;k=0}l=i+-48|0;if(l>>>0<10){while(1){j=w5(e|0,k|0,10,0)|0;m=C;n=((l|0)<0)<<31>>31;o=~n;if(m>>>0>o>>>0|(m|0)==(o|0)&j>>>0>~l>>>0){f=l;l=e;break}e=j5(j|0,m|0,l|0,n|0)|0;k=C;i=c[s>>2]|0;if(i>>>0<(c[r>>2]|0)>>>0){c[s>>2]=i+1;i=d[i>>0]|0}else i=i2(b)|0;l=i+-48|0;if(!(l>>>0<10&(k>>>0<429496729|(k|0)==429496729&e>>>0<2576980378))){f=l;l=e;break}}if(f>>>0>9){e=l;i=q}else{e=10;p=72}}else i=q}else p=46;c:do if((p|0)==46){if(!(e+-1&e)){p=a[190788+((e*23|0)>>>5&7)>>0]|0;k=a[190531+(i+1)>>0]|0;j=k&255;if(j>>>0>>0){k=0;while(1){l=j|k<>2]|0;if(k>>>0<(c[r>>2]|0)>>>0){c[s>>2]=k+1;i=d[k>>0]|0}else i=i2(b)|0;k=a[190531+(i+1)>>0]|0;j=k&255;if(!(l>>>0<134217728&j>>>0>>0))break;else k=l}j=0}else{j=0;l=0}f=l5(-1,-1,p|0)|0;n=C;if((k&255)>>>0>=e>>>0|(j>>>0>n>>>0|(j|0)==(n|0)&l>>>0>f>>>0)){k=j;p=72;break}while(1){l=q5(l|0,j|0,p|0)|0;j=C;l=k&255|l;k=c[s>>2]|0;if(k>>>0<(c[r>>2]|0)>>>0){c[s>>2]=k+1;i=d[k>>0]|0}else i=i2(b)|0;k=a[190531+(i+1)>>0]|0;if((k&255)>>>0>=e>>>0|(j>>>0>n>>>0|(j|0)==(n|0)&l>>>0>f>>>0)){k=j;p=72;break c}}}j=a[190531+(i+1)>>0]|0;k=j&255;if(k>>>0>>0){i=0;while(1){l=k+(_(i,e)|0)|0;i=c[s>>2]|0;if(i>>>0<(c[r>>2]|0)>>>0){c[s>>2]=i+1;i=d[i>>0]|0}else i=i2(b)|0;j=a[190531+(i+1)>>0]|0;k=j&255;if(!(l>>>0<119304647&k>>>0>>0))break;else i=l}k=0}else{l=0;k=0}if((j&255)>>>0>>0){o=x5(-1,-1,e|0,0)|0;p=C;while(1){if(k>>>0>p>>>0|(k|0)==(p|0)&l>>>0>o>>>0){p=72;break c}m=w5(l|0,k|0,e|0,0)|0;f=C;n=j&255;if(f>>>0>4294967295|(f|0)==-1&m>>>0>~n>>>0){p=72;break c}l=j5(n|0,0,m|0,f|0)|0;f=C;k=c[s>>2]|0;if(k>>>0<(c[r>>2]|0)>>>0){c[s>>2]=k+1;i=d[k>>0]|0}else i=i2(b)|0;j=a[190531+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){k=f;p=72;break}else k=f}}else p=72}while(0);if((p|0)==72)if((d[190531+(i+1)>>0]|0)>>>0>>0){do{i=c[s>>2]|0;if(i>>>0<(c[r>>2]|0)>>>0){c[s>>2]=i+1;i=d[i>>0]|0}else i=i2(b)|0}while((d[190531+(i+1)>>0]|0)>>>0>>0);c[(c2()|0)>>2]=34;k=h;e=g;i=(g&1|0)==0&0==0?q:0}else{e=l;i=q}if(c[r>>2]|0)c[s>>2]=(c[s>>2]|0)+-1;if(!(k>>>0>>0|(k|0)==(h|0)&e>>>0>>0)){if(!((g&1|0)!=0|0!=0|(i|0)!=0)){c[(c2()|0)>>2]=34;g=j5(g|0,h|0,-1,-1)|0;h=C;break}if(k>>>0>h>>>0|(k|0)==(h|0)&e>>>0>g>>>0){c[(c2()|0)>>2]=34;break}}g=((i|0)<0)<<31>>31;g=i5(e^i|0,k^g|0,i|0,g|0)|0;h=C}while(0);C=h;return g|0}function g2(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[190797+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;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 h2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function i2(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=h3(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function j2(a){a=a|0;if(a>>>0>4294963200){c[(c2()|0)>>2]=0-a;a=-1}return a|0}function k2(a,b){a=a|0;b=b|0;return 190812}function l2(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0.0;c=a*a;d=c*c;e=c*.5;f=1.0-e;return +(f+(1.0-f-e+(c*(c*(c*(c*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+d*d*(c*(2.087572321298175e-09-c*1.1359647557788195e-11)+-2.7557314351390663e-07))-a*b)))}function m2(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;if((i|0)>=(j|0))ba();m=s+16|0;o=s;h[k>>3]=a;d=c[k>>2]|0;l=c[k+4>>2]|0;p=l5(d|0,l|0,63)|0;r=l&2147483647;do if(r>>>0<1074752123)if((l&1048575|0)!=598523){d=(p|0)!=0;if(r>>>0<1073928573)if(d){g=a+1.5707963267341256;a=g+6.077100506506192e-11;h[b>>3]=a;h[b+8>>3]=g-a+6.077100506506192e-11;d=-1;break}else{g=a+-1.5707963267341256;a=g+-6.077100506506192e-11;h[b>>3]=a;h[b+8>>3]=g-a+-6.077100506506192e-11;d=1;break}else if(d){g=a+3.1415926534682512;a=g+1.2154201013012384e-10;h[b>>3]=a;h[b+8>>3]=g-a+1.2154201013012384e-10;d=-2;break}else{g=a+-3.1415926534682512;a=g+-1.2154201013012384e-10;h[b>>3]=a;h[b+8>>3]=g-a+-1.2154201013012384e-10;d=2;break}}else q=21;else{if(r>>>0>=1075594812){if(r>>>0<1094263291){q=21;break}if(r>>>0>2146435071){a=a-a;h[b+8>>3]=a;h[b>>3]=a;d=0;break}c[k>>2]=d;c[k+4>>2]=l&1048575|1096810496;a=+h[k>>3];g=+(~~a|0);h[m>>3]=g;g=(a-g)*16777216.0;a=+(~~g|0);h[m+8>>3]=a;a=(g-a)*16777216.0;h[m+16>>3]=a;if(a==0.0){d=1;while(1)if(+h[m+(d<<3)>>3]==0.0)d=d+-1|0;else break}else d=2;d=n2(m,o,(r>>>20)+-1046|0,d+1|0,1)|0;f=+h[o>>3];e=+h[o+8>>3];if(!p){h[b>>3]=f;h[b+8>>3]=e;break}else{h[b>>3]=-f;h[b+8>>3]=-e;d=0-d|0;break}}if(r>>>0<1075183037){if((r|0)==1074977148){q=21;break}if(!p){g=a+-4.712388980202377;a=g+-1.8231301519518578e-10;h[b>>3]=a;h[b+8>>3]=g-a+-1.8231301519518578e-10;d=3;break}else{g=a+4.712388980202377;a=g+1.8231301519518578e-10;h[b>>3]=a;h[b+8>>3]=g-a+1.8231301519518578e-10;d=-3;break}}else{if((r|0)==1075388923){q=21;break}if(!p){g=a+-6.2831853069365025;a=g+-2.430840202602477e-10;h[b>>3]=a;h[b+8>>3]=g-a+-2.430840202602477e-10;d=4;break}else{g=a+6.2831853069365025;a=g+2.430840202602477e-10;h[b>>3]=a;h[b+8>>3]=g-a+2.430840202602477e-10;d=-4;break}}}while(0);if((q|0)==21){n=a*.6366197723675814+6755399441055744.0+-6755399441055744.0;d=~~n;a=a-n*1.5707963267341256;e=n*6.077100506506192e-11;f=a-e;h[b>>3]=f;h[k>>3]=f;q=l5(c[k>>2]|0,c[k+4>>2]|0,52)|0;l=r>>>20;if((l-(q&2047)|0)>16){e=n*6.077100506303966e-11;g=a-e;e=n*2.0222662487959506e-21-(a-g-e);f=g-e;h[b>>3]=f;h[k>>3]=f;q=l5(c[k>>2]|0,c[k+4>>2]|0,52)|0;if((l-(q&2047)|0)>49){e=n*2.0222662487111665e-21;a=g-e;e=n*8.4784276603689e-32-(g-a-e);f=a-e;h[b>>3]=f;g=a}}else g=a;h[b+8>>3]=g-f-e}i=s;return d|0}function n2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,k=0.0,l=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,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+560|0;if((i|0)>=(j|0))ba();C=F+480|0;z=F+320|0;E=F+160|0;D=F;B=c[99604+(f<<2)>>2]|0;p=e+-1|0;y=(d+-3|0)/24|0;y=(y|0)<0?0:y;o=(y*24|0)+24|0;n=d-o|0;if((B+p|0)>=0){s=B+e|0;r=0;q=y-p|0;while(1){if((q|0)<0)l=0.0;else l=+(c[99620+(q<<2)>>2]|0);h[z+(r<<3)>>3]=l;r=r+1|0;if((r|0)==(s|0))break;else q=q+1|0}}q=(e|0)<1;t=0;while(1){if(q)l=0.0;else{s=t+p|0;l=0.0;r=0;do{l=l+ +h[a+(r<<3)>>3]*+h[z+(s-r<<3)>>3];r=r+1|0}while((r|0)!=(e|0))}h[D+(t<<3)>>3]=l;if((t|0)<(B|0))t=t+1|0;else break}p=(n|0)>0;v=24-n|0;w=23-n|0;x=(e|0)<1;u=(o|0)==(d|0);m=B;a:while(1){l=+h[D+(m<<3)>>3];r=(m|0)>0;if(r){t=0;s=m;while(1){k=+(~~(l*5.9604644775390625e-08)|0);c[C+(t<<2)>>2]=~~(l-k*16777216.0);q=s;s=s+-1|0;l=k+ +h[D+(s<<3)>>3];if((q|0)<=1)break;else t=t+1|0}}l=+z2(l,n);l=l-+M(+(l*.125))*8.0;o=~~l;l=l-+(o|0);do if(!p)if(!u)if(!(l>=.5)){d=0;break}else{d=2;A=20;break}else{d=c[C+(m+-1<<2)>>2]>>23;A=19;break}else{t=C+(m+-1<<2)|0;d=c[t>>2]|0;A=d>>v;d=d-(A<>2]=d;d=d>>w;o=A+o|0;A=19}while(0);if((A|0)==19){A=0;if((d|0)>0)A=20}if((A|0)==20){A=0;o=o+1|0;if(r){t=0;q=0;do{s=C+(q<<2)|0;r=c[s>>2]|0;if(!t)if(!r)t=0;else{c[s>>2]=16777216-r;t=1}else c[s>>2]=16777215-r;q=q+1|0}while((q|0)!=(m|0))}else t=0;b:do if(p)switch(n|0){case 1:{s=C+(m+-1<<2)|0;c[s>>2]=c[s>>2]&8388607;break b}case 2:{s=C+(m+-1<<2)|0;c[s>>2]=c[s>>2]&4194303;break b}default:break b}while(0);if((d|0)==2){l=1.0-l;if(!t)d=2;else{d=2;l=l-+z2(1.0,n)}}}if(!(l==0.0)){A=44;break}if((m|0)>(B|0)){t=m;s=0;do{t=t+-1|0;s=c[C+(t<<2)>>2]|s}while((t|0)>(B|0));if(s){A=37;break}else s=1}else s=1;while(1)if(!(c[C+(B-s<<2)>>2]|0))s=s+1|0;else break;q=s+m|0;if((s|0)<=0){m=q;continue}while(1){r=m+1|0;t=m+e|0;h[z+(t<<3)>>3]=+(c[99620+(r+y<<2)>>2]|0);if(x)l=0.0;else{l=0.0;s=0;do{l=l+ +h[a+(s<<3)>>3]*+h[z+(t-s<<3)>>3];s=s+1|0}while((s|0)!=(e|0))}h[D+(r<<3)>>3]=l;if((r|0)<(q|0))m=r;else{m=q;continue a}}}do if((A|0)==37){do{n=n+-24|0;m=m+-1|0}while((c[C+(m<<2)>>2]|0)==0);u=m}else if((A|0)==44){l=+z2(l,0-n|0);if(!(l>=16777216.0)){c[C+(m<<2)>>2]=~~l;u=m;break}else{A=~~(l*5.9604644775390625e-08);c[C+(m<<2)>>2]=~~(l-+(A|0)*16777216.0);u=m+1|0;c[C+(u<<2)>>2]=A;n=n+24|0;break}}while(0);t=(u|0)>-1;if(t){l=+z2(1.0,n);n=u;while(1){h[D+(n<<3)>>3]=l*+(c[C+(n<<2)>>2]|0);if((n|0)>0){l=l*5.9604644775390625e-08;n=n+-1|0}else break}if(t){p=~B;r=u;s=-1;while(1){n=0-(s>>>0>p>>>0?s:p)|0;q=u-r|0;l=0.0;m=0;do{l=l+ +h[44064+(m<<3)>>3]*+h[D+(m+r<<3)>>3];m=m+1|0}while((m|0)!=(n|0));h[E+(q<<3)>>3]=l;if((r|0)>0){r=r+-1|0;s=s+-1|0}else break}}}c:do switch(f|0){case 0:{if(t){g=0.0;m=u;while(1){g=g+ +h[E+(m<<3)>>3];if((m|0)>0)m=m+-1|0;else break}}else g=0.0;h[b>>3]=(d|0)==0?g:-g;break}case 2:case 1:{if(t){k=0.0;n=u;while(1){k=k+ +h[E+(n<<3)>>3];if((n|0)>0)n=n+-1|0;else break}}else k=0.0;n=(d|0)==0;h[b>>3]=n?k:-k;g=+h[E>>3]-k;if((u|0)>=1){m=1;while(1){g=g+ +h[E+(m<<3)>>3];if((m|0)==(u|0))break;else m=m+1|0}}h[b+8>>3]=n?g:-g;break}case 3:{if((u|0)>0){k=+h[E+(u<<3)>>3];m=u;do{D=m;m=m+-1|0;f=E+(m<<3)|0;l=+h[f>>3];g=k;k=l+k;h[E+(D<<3)>>3]=g+(l-k);h[f>>3]=k}while((D|0)>1);m=(u|0)>1;if(m){l=+h[E+(u<<3)>>3];n=u;do{f=n;n=n+-1|0;D=E+(n<<3)|0;k=+h[D>>3];g=l;l=k+l;h[E+(f<<3)>>3]=g+(k-l);h[D>>3]=l}while((n|0)>1);if(m){g=0.0;m=u;do{g=g+ +h[E+(m<<3)>>3];m=m+-1|0}while((m|0)>1)}else g=0.0}else g=0.0}else g=0.0;l=+h[E>>3];k=+h[E+8>>3];if(!d){h[b>>3]=l;h[b+8>>3]=k;h[b+16>>3]=g;break c}else{h[b>>3]=-l;h[b+8>>3]=-k;h[b+16>>3]=-g;break c}}default:{}}while(0);i=F;return o&7|0}function o2(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0;d=a*a;e=d*(d*d)*(d*1.58969099521155e-10+-2.5050760253406863e-08)+(d*(d*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);f=d*a;if(!c)d=f*(d*e+-.16666666666666632)+a;else d=a-(f*.16666666666666632+(d*(b*.5-f*e)-b));return +d}function p2(a){a=+a;var b=0,d=0,e=0.0,f=0.0;h[k>>3]=a;b=c[k+4>>2]|0;d=b&2147483647;do if(d>>>0>2146435071)a=a+a;else{if(d>>>0<1048576){h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;d=b&2147483647;if(!d)break;d=((d>>>0)/3|0)+696219795|0}else d=((d>>>0)/3|0)+715094163|0;c[k>>2]=0;c[k+4>>2]=d|b&-2147483648;f=+h[k>>3];e=f/a*(f*f);h[k>>3]=f*(e*(e*e)*(e*.14599619288661245+-.758397934778766)+(e*(e*1.6214297201053545+-1.8849797954337717)+1.87595182427177));b=j5(c[k>>2]|0,c[k+4>>2]|0,-2147483648,0)|0;d=C;c[k>>2]=b&-1073741824;c[k+4>>2]=d;e=+h[k>>3];a=a/(e*e);a=e+(a-e)/(a+(e+e))*e}while(0);return +a}function q2(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return +(+h[k>>3])}function r2(a,b){a=+a;b=+b;return +(+q2(a,b))}function s2(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;l=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;d=l5(l|0,m|0,52)|0;d=d&2047;g=l5(n|0,o|0,52)|0;g=g&2047;p=m&-2147483648;e=q5(n|0,o|0,1)|0;j=C;a:do if(!((e|0)==0&(j|0)==0)?(i=o&2147483647,!(i>>>0>2146435072|(i|0)==2146435072&n>>>0>0|(d|0)==2047)):0){i=q5(l|0,m|0,1)|0;f=C;if(!(f>>>0>j>>>0|(f|0)==(j|0)&i>>>0>e>>>0))return +((i|0)==(e|0)&(f|0)==(j|0)?a*0.0:a);if(!d){f=q5(l|0,m|0,12)|0;e=C;if((e|0)>-1|(e|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=q5(f|0,e|0,1)|0;e=C}while((e|0)>-1|(e|0)==-1&f>>>0>4294967295)}else d=0;l=q5(l|0,m|0,1-d|0)|0;j=C}else j=m&1048575|1048576;if(!g){f=q5(n|0,o|0,12)|0;e=C;if((e|0)>-1|(e|0)==-1&f>>>0>4294967295){g=0;do{g=g+-1|0;f=q5(f|0,e|0,1)|0;e=C}while((e|0)>-1|(e|0)==-1&f>>>0>4294967295)}else g=0;n=q5(n|0,o|0,1-g|0)|0;o=C}else o=o&1048575|1048576;e=i5(l|0,j|0,n|0,o|0)|0;f=C;i=(f|0)>-1|(f|0)==-1&e>>>0>4294967295;b:do if((d|0)>(g|0)){while(1){if(i){if((l|0)==(n|0)&(j|0)==(o|0))break}else{e=l;f=j}l=q5(e|0,f|0,1)|0;j=C;d=d+-1|0;e=i5(l|0,j|0,n|0,o|0)|0;f=C;i=(f|0)>-1|(f|0)==-1&e>>>0>4294967295;if((d|0)<=(g|0))break b}b=a*0.0;break a}while(0);if(i){if((l|0)==(n|0)&(j|0)==(o|0)){b=a*0.0;break}}else{f=j;e=l}if(f>>>0<1048576|(f|0)==1048576&e>>>0<0)do{e=q5(e|0,f|0,1)|0;f=C;d=d+-1|0}while(f>>>0<1048576|(f|0)==1048576&e>>>0<0);if((d|0)>0){o=j5(e|0,f|0,0,-1048576)|0;n=C;e=q5(d|0,0,52)|0;d=n|C;e=o|e}else{e=l5(e|0,f|0,1-d|0)|0;d=C}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function t2(a,b){a=+a;b=+b;return +(+s2(a,b))}function u2(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=l5(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+u2(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+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function v2(a,b){a=+a;b=b|0;return +(+u2(a,b))}function w2(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0;h[k>>3]=a;m=c[k>>2]|0;g=c[k+4>>2]|0;h[k>>3]=b;e=c[k>>2]|0;g=g&2147483647;f=c[k+4>>2]&2147483647;i=g>>>0>>0|(g|0)==(f|0)&m>>>0>>0;l=i?e:m;j=i?f:g;e=i?m:e;f=i?g:f;g=l5(l|0,j|0,52)|0;i=l5(e|0,f|0,52)|0;c[k>>2]=l;c[k+4>>2]=j;a=+h[k>>3];c[k>>2]=e;c[k+4>>2]=f;b=+h[k>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+b;break}if(g>>>0<=1533)if(i>>>0<573){a=a*5260135901548373507240989.0e186;b=b*5260135901548373507240989.0e186;d=1.90109156629516e-211}else d=1.0;else{a=a*1.90109156629516e-211;b=b*1.90109156629516e-211;d=5260135901548373507240989.0e186}o=a*134217729.0;o=o+(a-o);n=a-o;a=a*a;q=b*134217729.0;q=q+(b-q);p=b-q;b=b*b;a=d*+O(+(a+(b+(p*p+(q*q-b+q*2.0*p)+(n*n+(o*o-a+o*2.0*n))))))}}else a=b;while(0);return +a}function x2(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function y2(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;l=+h[k>>3]+-1.0;a=l*(l*.5);m=l/(l+2.0);i=m*m;j=i*i;h[k>>3]=l-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=m*(a+(j*(j*(j*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(j*(j*(j*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(l-g-a);l=g*1.4426950407214463;j=+(d+(f>>>20)|0);i=j+l;a=i+(l+(j-i)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function z2(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=q5(d+1023|0,0,52)|0;b=C;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function A2(a,b){a=+a;b=b|0;return +(+z2(a,b))}function B2(a,b,d){a=+a;b=b|0;d=d|0;var e=0.0,f=0,g=0,l=0,m=0;l=i;i=i+16|0;if((i|0)>=(j|0))ba();g=l;h[k>>3]=a;f=c[k+4>>2]&2147483647;a:do if(f>>>0<1072243196)if(f>>>0<1044816030){h[b>>3]=a;h[d>>3]=1.0;break}else{h[b>>3]=+o2(a,0.0,0);h[d>>3]=+l2(a,0.0);break}else{if(f>>>0>2146435071){a=a-a;h[d>>3]=a;h[b>>3]=a;break}f=m2(a,g)|0;m=g+8|0;a=+o2(+h[g>>3],+h[m>>3],1);e=+l2(+h[g>>3],+h[m>>3]);switch(f&3|0){case 0:{h[b>>3]=a;h[d>>3]=e;break a}case 1:{h[b>>3]=e;h[d>>3]=-a;break a}case 2:{h[b>>3]=-a;h[d>>3]=-e;break a}default:{h[b>>3]=-e;h[d>>3]=a;break a}}}while(0);i=l;return}function C2(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,k=0,l=0;l=i;i=i+32|0;if((i|0)>=(j|0))ba();h=l;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(c2()|0)>>2]=12;f=-1;break}k=(e&16|0)!=0;if(k)W4(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=j2(mb(192,h|0)|0)|0;if(k)X4()}else{c[(c2()|0)>>2]=22;f=-1}while(0);i=l;return f|0}function D2(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;W4(-1);c[e>>2]=a;c[e+4>>2]=b;a=j2(tb(91,e|0)|0)|0;X4();i=d;return a|0}function E2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;if((i|0)>=(j|0))ba();h=n;l=(f|0)==0?99884:f;g=c[l>>2]|0;a:do if(!d)if(!g)g=0;else m=15;else{k=(b|0)==0?h:b;if(!e)g=-2;else{if(!g){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[k>>2]=g;g=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){m=15;break}g=c[98764+(f<<2)>>2]|0;f=e+-1|0;if(f){h=d+1|0;m=9}}else{f=e;h=d;m=9}b:do if((m|0)==9){b=a[h>>0]|0;d=(b&255)>>>3;if((d+-16|d+(g>>26))>>>0>7){m=15;break a}while(1){h=h+1|0;g=(b&255)+-128|g<<6;f=f+-1|0;if((g|0)>=0)break;if(!f)break b;b=a[h>>0]|0;if((b&-64)<<24>>24!=-128){m=15;break a}}c[l>>2]=0;c[k>>2]=g;g=e-f|0;break a}while(0);c[l>>2]=g;g=-2}}while(0);if((m|0)==15){c[l>>2]=0;c[(c2()|0)>>2]=84;g=-1}i=n;return g|0}function F2(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function G2(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,k=0;k=i;i=i+16|0;if((i|0)>=(j|0))ba();g=k;a:do if(!e)b=0;else{do if(f){h=(b|0)==0?g:b;g=a[e>>0]|0;b=g&255;if(g<<24>>24>-1){c[h>>2]=b;b=g<<24>>24!=0&1;break a}g=b+-194|0;if(g>>>0<=50){b=e+1|0;g=c[98764+(g<<2)>>2]|0;if(f>>>0<4?(g&-2147483648>>>((f*6|0)+-6|0)|0)!=0:0)break;b=d[b>>0]|0;f=b>>>3;if((f+-16|f+(g>>26))>>>0<=7){b=b+-128|g<<6;if((b|0)>=0){c[h>>2]=b;b=2;break a}g=d[e+2>>0]|0;if((g&192|0)==128){g=g+-128|b<<6;if((g|0)>=0){c[h>>2]=g;b=3;break a}b=d[e+3>>0]|0;if((b&192|0)==128){c[h>>2]=b+-128|g<<6;b=4;break a}}}}}while(0);c[(c2()|0)>>2]=84;b=-1}while(0);i=k;return b|0}function H2(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;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[(c2()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function I2(a,b){a=a|0;b=b|0;if(!a)a=0;else a=H2(a,b,0)|0;return a|0}function J2(a,c){a=a|0;c=c|0;var d=0,f=0,g=0;g=a+2|0;f=a+4|0;d=w5((e[c+2>>1]|0)<<16|(e[c>>1]|0)|0,e[c+4>>1]|0|0,(e[g>>1]|0)<<16|(e[a>>1]|0)|0,e[f>>1]|0|0)|0;c=j5(d|0,C|0,e[c+6>>1]|0|0,0)|0;d=C;b[a>>1]=c;a=l5(c|0,d|0,16)|0;b[g>>1]=a;b[f>>1]=d;C=d&65535;return c|0}function K2(){var a=0,b=0;b=J2(104016,104022)|0;b=q5(b|0,C|0,4)|0;a=C|1072693248;c[k>>2]=b;c[k+4>>2]=a;return +(+h[k>>3]+-1.0)}function L2(a){a=a|0;var b=0;b=44128;c[b>>2]=a+-1;c[b+4>>2]=0;return}function M2(){var a=0,b=0,d=0;b=44128;b=w5(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=j5(b|0,C|0,1,0)|0;a=C;d=44128;c[d>>2]=b;c[d+4>>2]=a;a=l5(b|0,a|0,33)|0;return a|0}function N2(a){a=a|0;b[52015]=b[52008]|0;b[52016]=b[52009]|0;b[52017]=b[52010]|0;b[52008]=b[a>>1]|0;b[52009]=b[a+2>>1]|0;b[52010]=b[a+4>>1]|0;return 104030}function O2(a){a=a|0;var c=0,d=0;c=i;i=i+16|0;if((i|0)>=(j|0))ba();d=c;b[d>>1]=13070;b[d+2>>1]=a;b[d+4>>1]=a>>>16;N2(d)|0;i=c;return}function P2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=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;L=i;i=i+80|0;if((i|0)>=(j|0))ba();D=L+68|0;C=L+64|0;E=L+60|0;B=L+56|0;y=L+52|0;w=L+48|0;x=L+44|0;r=L;I=A1(20)|0;a:do if(!I)e=12;else{K=A1(2048)|0;J=I+16|0;c[J>>2]=K;if(!K){B1(I);e=12;break}c[I>>2]=512;c[I+4>>2]=10240;c[I+8>>2]=128;A=I+12|0;c[A>>2]=0;K=S2(0,0)|0;if(!K){B1(c[J>>2]|0);B1(I);e=12;break}h=r;g=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));c[r>>2]=K;c[r+4>>2]=I;c[r+12>>2]=b;c[r+36>>2]=d;l=r+28|0;c[l>>2]=-1;e=x4(r)|0;b:do if(!e){n=r+20|0;b=c[n>>2]|0;k=b+-1|0;c[a>>2]=k;z=c[r+8>>2]|0;l=c[l>>2]|0;if((l|0)>-1?(c[r+32>>2]|0)!=0:0){b=0;e=2;g=0;f=0;break}if((l|0)<=(k|0)){f=C1(1,68)|0;if(f){G=l>>>31;c[f+60>>2]=G^1;c[f+64>>2]=c[r+32>>2];c[f+28>>2]=b;if((d&8|0)==0|(G|0)!=1){e=y4(0,I,z,f)|0;if(e){b=0;g=0;break}b=c[f+40>>2]|0;if((b|0)>0){l=(b<<2)+4|0;k=A1(l)|0;if(!k){b=0;e=12;g=0;break}c[f+32>>2]=k;p5(k|0,-1,l|0)|0;l=k}else l=0;G=C1(b<<1|1,4)|0;c[f+36>>2]=G;if(!G){b=0;e=12;g=0;break}k=C1(c[n>>2]|0,12)|0;if(!k){b=0;e=12;g=0;break}c[f+16>>2]=k;e=y4(K,I,z,f)|0;if(!e)v=l;else{b=0;g=0;break}}else v=0;G=r+24|0;u=c[A>>2]|0;c[E>>2]=0;c[B>>2]=0;c[C>>2]=z;c[D>>2]=c[C>>2];e=z4(I,D)|0;c:do if(!e){c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(!e){k=c[A>>2]|0;d:do if((k|0)>(u|0)){l=0;m=0;t=0;while(1){s=k+-1|0;c[A>>2]=s;n=c[J>>2]|0;s=c[n+(s<<2)>>2]|0;g=k+-2|0;c[A>>2]=g;g=c[n+(g<<2)>>2]|0;e:do switch(s|0){case 0:{switch(c[g>>2]|0){case 0:{n=c[g+4>>2]|0;s=c[n>>2]|0;if(!((s|0)>-1|(s|0)==-4)){n=t;break e}s=n+8|0;n=(c[s>>2]|0)+l|0;c[s>>2]=n;if((n|0)<=(c[B>>2]|0)){n=t;break e}c[B>>2]=n;n=t;break e}case 3:{n=c[g+4>>2]|0;c[C>>2]=c[n+4>>2];c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e){n=t;break d}c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e){n=t;break d}c[C>>2]=c[n>>2];c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e){n=t;break d}c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;break}case 1:{n=c[g+4>>2]|0;c[C>>2]=c[n+4>>2];c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e){n=t;break d}c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e){n=t;break d}c[C>>2]=c[n>>2];c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e){n=t;break d}c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;break}case 2:{n=c[g+4>>2]|0;c[C>>2]=l;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e){n=t;break d}c[C>>2]=g;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e){n=t;break d}c[C>>2]=1;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e){n=t;break d}c[C>>2]=c[n>>2];c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e){n=t;break d}c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e){n=t;break d}if(!((c[n+4>>2]|0)<=1?(c[n+8>>2]|0)<=1:0)){c[E>>2]=0;l=0}m=m+1|0;n=t;break e}default:{n=t;break e}}if(!e)n=t;else{n=t;break d}break}case 1:{b=g+4|0;s=c[b>>2]|0;h=k+-3|0;c[A>>2]=h;h=c[n+(h<<2)>>2]|0;c[E>>2]=h;r=s+4|0;n=c[r>>2]|0;if((n|0)<=1)if((c[s+8>>2]|0)>1){c[y>>2]=0;if((n|0)>0){q=s;F=50}else{r=n;q=s;l=h;n=0;F=56}}else l=h;else{c[y>>2]=0;q=s;F=50}f:do if((F|0)==50){F=0;e=A4(K,I,c[q>>2]|0,(n|0)>1?1:2,E,v,w,B)|0;if(!e){k=1;l=h;n=0}else break c;while(1){o=c[w>>2]|0;if(!n)n=o;else n=B4(K,n,o)|0;if(!n){e=12;break c}o=c[r>>2]|0;if((k|0)>=(o|0)){r=o;F=56;break f}l=c[E>>2]|0;k=k+1|0;e=A4(K,I,c[q>>2]|0,(k|0)<(o|0)?1:2,E,v,w,B)|0;if(e)break c}}while(0);if((F|0)==56){F=0;p=s+8|0;o=c[p>>2]|0;do if((o|0)==-1){l=c[E>>2]|0;e=A4(K,I,c[q>>2]|0,0,E,0,y,B)|0;if(e)break c;k=C4(K,c[y>>2]|0,0,-1,0)|0;c[y>>2]=k;if(!k){e=12;break c}}else{if((r|0)<(o|0))k=0;else{k=0;break}do{l=c[E>>2]|0;e=A4(K,I,c[q>>2]|0,0,E,0,x,B)|0;if(e)break c;if(!k){o=c[x>>2]|0;c[y>>2]=o}else{o=B4(K,c[x>>2]|0,k)|0;c[y>>2]=o}if(!o){e=12;break c}k=D4(K,0,20)|0;if(!k){e=12;break c}s=c[k+4>>2]|0;c[s>>2]=-1;c[s+4>>2]=-1;c[s+8>>2]=-1;k=E4(K,k,o)|0;c[y>>2]=k;r=r+1|0;if(!k){e=12;break c}}while((r|0)<(c[p>>2]|0))}while(0);c[E>>2]=l;do if(!n){n=k;F=71}else{if(!k)break;n=B4(K,n,k)|0;F=71}while(0);if((F|0)==71){F=0;if(!n){e=12;break c}}c[b>>2]=c[n+4>>2];c[g>>2]=c[n>>2]}m=m+-1|0;n=l-h+t|0;if(!m){c[E>>2]=n;l=n;m=0}break}default:n=t}while(0);k=c[A>>2]|0;if((k|0)<=(u|0)){e=0;break d}else t=n}}else{n=0;e=0}while(0);y=(c[G>>2]|0)+n|0;x=c[B>>2]|0;c[G>>2]=(x|0)>(y|0)?x:y}}while(0);if(!e){b=c[G>>2]|0;c[G>>2]=b+1;h=D4(K,0,20)|0;if((h|0)!=0?(H=c[h+4>>2]|0,c[H>>2]=0,c[H+4>>2]=0,c[H+8>>2]=b,H=B4(K,z,h)|0,(H|0)!=0):0){r=c[A>>2]|0;c[C>>2]=H;c[D>>2]=c[C>>2];e=z4(I,D)|0;g:do if(!e){c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(!e){b=c[A>>2]|0;h:do if((b|0)>(r|0)){i:while(1){z=b+-1|0;c[A>>2]=z;y=c[J>>2]|0;z=c[y+(z<<2)>>2]|0;s=b+-2|0;c[A>>2]=s;s=c[y+(s<<2)>>2]|0;j:do switch(z|0){case 0:switch(c[s>>2]|0){case 0:{l=c[s+4>>2]|0;k=c[l>>2]|0;if((k|0)==-4){c[s+8>>2]=0;b=l+8|0;z=F4(K,c[b>>2]|0,0,1114111,0,0,-1)|0;c[s+24>>2]=z;if(!z){e=12;break g}z=F4(K,c[b>>2]|0,0,1114111,0,0,c[l+4>>2]|0)|0;c[s+28>>2]=z;if(!z){e=12;break g}else break j}b=s+8|0;if((k|0)<0){c[b>>2]=1;z=G4(K)|0;c[s+24>>2]=z;if(!z){e=12;break g}z=G4(K)|0;c[s+28>>2]=z;if(!z){e=12;break g}else break j}else{c[b>>2]=0;b=l+8|0;h=l+4|0;z=F4(K,c[b>>2]|0,k,c[h>>2]|0,0,0,-1)|0;c[s+24>>2]=z;if(!z){e=12;break g}z=F4(K,c[b>>2]|0,c[l>>2]|0,c[h>>2]|0,c[l+12>>2]|0,c[l+16>>2]|0,-1)|0;c[s+28>>2]=z;if(!z){e=12;break g}else break j}}case 3:{c[C>>2]=s;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;c[C>>2]=1;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;b=s+4|0;c[C>>2]=c[(c[b>>2]|0)+4>>2];c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;c[C>>2]=c[c[b>>2]>>2];c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(!e)break j;else break g}case 1:{c[C>>2]=s;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;c[C>>2]=2;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;b=s+4|0;c[C>>2]=c[(c[b>>2]|0)+4>>2];c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;c[C>>2]=c[c[b>>2]>>2];c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(!e)break j;else break g}case 2:{c[C>>2]=s;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;c[C>>2]=3;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;c[C>>2]=c[c[s+4>>2]>>2];c[D>>2]=c[C>>2];e=z4(I,D)|0;if(e)break g;c[C>>2]=0;c[D>>2]=c[C>>2];e=z4(I,D)|0;if(!e)break j;else break g}default:break j}case 1:{k=c[s+4>>2]|0;b=c[k>>2]|0;h=k+4|0;g=c[h>>2]|0;if(!(c[b+8>>2]|0))e=(c[g+8>>2]|0)!=0;else e=1;c[s+8>>2]=e&1;z=H4(K,c[b+24>>2]|0,c[g+24>>2]|0,0,0)|0;c[s+24>>2]=z;if(!z){e=12;break g}z=H4(K,c[(c[k>>2]|0)+28>>2]|0,c[(c[h>>2]|0)+28>>2]|0,0,0)|0;c[s+28>>2]=z;if(!z){e=12;break g}break}case 3:{z=c[s+4>>2]|0;b=c[z>>2]|0;do if(!(c[z+4>>2]|0))F=116;else{if(c[b+8>>2]|0){F=116;break}c[s+8>>2]=0}while(0);if((F|0)==116){F=0;c[s+8>>2]=1}c[s+24>>2]=c[b+24>>2];c[s+28>>2]=c[b+28>>2];break}case 2:{n=c[s+4>>2]|0;b=c[n>>2]|0;h=b+8|0;if(!(c[h>>2]|0))g=0;else g=(c[(c[n+4>>2]|0)+8>>2]|0)!=0;c[s+8>>2]=g&1;if(c[h>>2]|0){e=I4(I,b,0,0,E)|0;if(e)break g;g=A1((c[E>>2]<<2)+4|0)|0;if(!g){e=12;break g}c[g>>2]=-1;c[B>>2]=0;e=I4(I,c[n>>2]|0,g,B,0)|0;if(e){F=125;break i}b=n+4|0;z=s+24|0;c[z>>2]=H4(K,c[(c[b>>2]|0)+24>>2]|0,c[(c[n>>2]|0)+24>>2]|0,g,c[B>>2]|0)|0;B1(g);if(!(c[z>>2]|0)){e=12;break g}}else{c[s+24>>2]=c[b+24>>2];b=n+4|0}h=c[b>>2]|0;if(!(c[h+8>>2]|0)){c[s+28>>2]=c[h+28>>2];break j}e=I4(I,h,0,0,E)|0;if(e)break g;g=A1((c[E>>2]<<2)+4|0)|0;if(!g){e=12;break g}c[g>>2]=-1;c[B>>2]=0;e=I4(I,c[b>>2]|0,g,B,0)|0;if(e){F=132;break i}z=s+28|0;c[z>>2]=H4(K,c[(c[n>>2]|0)+28>>2]|0,c[(c[b>>2]|0)+28>>2]|0,g,c[B>>2]|0)|0;B1(g);if(!(c[z>>2]|0)){e=12;break g}break}default:{}}while(0);b=c[A>>2]|0;if((b|0)<=(r|0))break h}if((F|0)==125){B1(g);break g}else if((F|0)==132){B1(g);break g}}while(0);e=c[G>>2]|0;g=e<<2;s=A1(g)|0;if(!s){b=s;e=12;g=0;break b}g=A1(g)|0;if(!g){b=s;e=12;break b}if((e|0)>0)p5(s|0,0,((e|0)>1?e<<2:4)|0)|0;J4(H,0,s,0)|0;h=c[G>>2]|0;if((h|0)>0){e=0;b=0;do{c[g+(b<<2)>>2]=e;F=s+(b<<2)|0;e=e+1+(c[F>>2]|0)|0;c[F>>2]=0;b=b+1|0}while((b|0)<(h|0));r=e}else r=0;p=C1(r+1|0,32)|0;if(!p){b=s;e=12;break b}c[f>>2]=p;q=f+4|0;c[q>>2]=r;e=J4(H,p,s,g)|0;if(e){b=s;break b}c[f+20>>2]=0;e=H+24|0;b=0;h=c[e>>2]|0;while(1){b=b+1|0;if((c[h>>2]|0)>-1)h=h+32|0;else break}o=C1(b,32)|0;if(!o){b=s;e=12;break b}c[f+8>>2]=o;h=c[e>>2]|0;b=c[h>>2]|0;if((b|0)>-1){e=b;b=0;do{c[o+(b<<5)+8>>2]=p+(c[g+(e<<2)>>2]<<5);c[o+(b<<5)+12>>2]=e;m=o+(b<<5)+16|0;c[m>>2]=0;n=h+12|0;k=c[n>>2]|0;if(k){l=0;while(1){e=l+1|0;if((c[k+(l<<2)>>2]|0)>-1)l=e;else break}e=e<<2;k=A1(e)|0;c[m>>2]=k;if(!k){b=s;e=12;break b}n5(k|0,c[n>>2]|0,e|0)|0}c[o+(b<<5)+20>>2]=c[h+16>>2];b=b+1|0;h=h+32|0;e=c[h>>2]|0}while((e|0)>-1)}else b=0;c[o+(b<<5)+8>>2]=0;c[q>>2]=r;c[f+12>>2]=p+(c[g+(c[c[H+28>>2]>>2]<<2)>>2]<<5);c[f+52>>2]=c[G>>2];c[f+56>>2]=d;T2(K);B1(c[J>>2]|0);B1(I);B1(s);B1(g);c[a+4>>2]=f;e=0;break a}}while(0);b=0;g=0}else{b=0;e=12;g=0}}else{b=0;g=0}}else{b=0;e=12;g=0}}else{b=0;e=6;g=0;f=0}}else{b=0;g=0;f=0}while(0);T2(K);B1(c[J>>2]|0);B1(I);if(b)B1(b);if(g)B1(g);c[a+4>>2]=f;Q2(a)}while(0);i=L;return e|0}function Q2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=c[a+4>>2]|0;if(h){e=h+4|0;a=c[h>>2]|0;if(c[e>>2]|0){d=0;do{if(c[a+(d<<5)+8>>2]|0){b=c[a+(d<<5)+16>>2]|0;if(b){B1(b);a=c[h>>2]|0}b=c[a+(d<<5)+28>>2]|0;if(b){B1(b);a=c[h>>2]|0}}d=d+1|0}while(d>>>0<(c[e>>2]|0)>>>0)}if(a)B1(a);d=h+8|0;a=c[d>>2]|0;if(a){if(c[a+8>>2]|0){while(1){b=c[a+16>>2]|0;if(b)B1(b);if(!(c[a+40>>2]|0))break;else a=a+32|0}a=c[d>>2]|0}B1(a)}f=h+16|0;a=c[f>>2]|0;if(a){g=h+28|0;d=c[g>>2]|0;if(d){e=0;while(1){b=c[a+(e*12|0)+8>>2]|0;if(b){B1(b);d=c[g>>2]|0}b=e+1|0;if(b>>>0>=d>>>0)break;a=c[f>>2]|0;e=b}a=c[f>>2]|0}B1(a)}a=c[h+32>>2]|0;if(a)B1(a);a=c[h+20>>2]|0;if(a)B1(a);a=c[h+36>>2]|0;if(a)B1(a);B1(h)}return}function R2(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,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;Y=i;i=i+16|0;if((i|0)>=(j|0))ba();S=Y;W=c[a+4>>2]|0;X=W+56|0;V=(c[X>>2]&8|0)==0?d:0;P=W+40|0;a=c[P>>2]|0;if((a|0)>0&(V|0)!=0){a=A1(a<<2)|0;if(!a)d=12;else{U=a;T=3}}else{U=0;T=3}if((T|0)==3){if(!(c[W+60>>2]|0)){c[S>>2]=0;k=f&1;Q=f&2;l=c[X>>2]&4;if(!U)P=0;else P=c[P>>2]|0;O=P<<2;d=c[W+52>>2]|0;g=d<<3;f=g+8|0;h=O+12+g+(f+(_(O,d)|0)<<1)|0;R=A1(h)|0;if(!R){d=12;a=0}else{p5(R|0,0,h|0)|0;h=R+O&3;h=((h|0)==0?0:4-h|0)+O|0;r=R+h|0;h=h+f|0;s=R+h&3;h=((s|0)==0?0:4-s|0)+h|0;s=R+h|0;h=h+f|0;N=R+h&3;h=((N|0)==0?0:4-N|0)+h|0;N=R+h|0;h=h+g|0;f=R+h&3;if((d|0)>0){g=P<<3;a=0;h=R+(((f|0)==0?0:4-f|0)+h)|0;while(1){c[s+(a<<3)+4>>2]=h;c[r+(a<<3)+4>>2]=h+O;a=a+1|0;if((a|0)==(d|0)){h=0;break}else h=h+g|0}do{c[N+(h<<3)>>2]=-1;h=h+1|0}while((h|0)!=(d|0))}h=G2(S,b,4)|0;if((h|0)<1)if((h|0)<0){a=0;d=1}else{h=1;T=198}else T=198;a:do if((T|0)==198){M=W+8|0;L=(l|0)!=0;E=(k|0)!=0;F=(P|0)>0;G=W+12|0;H=W+44|0;I=W+32|0;J=W+36|0;K=(P|0)==0;D=F^1;d=-1;m=0;g=0;l=h;k=0;A=r;q=r;z=b+h|0;C=R;while(1){if((d|0)<0){o=c[M>>2]|0;p=o+8|0;b:do if(!(c[p>>2]|0))k=q;else{x=(g|0)!=0;w=(k|0)==95;v=(g|0)==0;t=L&(k|0)==10;u=(E|(g|0)>0)^1;y=q;while(1){c:while(1){h=o+12|0;if((c[N+(c[h>>2]<<3)>>2]|0)>=(g|0)){r=y;break}n=o+20|0;r=c[n>>2]|0;if(!r){f=o;T=233;break}d:do if(t|((r&1|0)==0|u)){if((r&2|0)!=0?(B=c[S>>2]|0,!((B|Q|0)==0|L&(B|0)==10)):0)break;do if(r&16){if(w)break d;if(M1(k)|0)break d;r=c[S>>2]|0;if((r|0)==95)break;if(!(M1(r)|0))break d}while(0);r=c[n>>2]|0;if(r&32){if(w){q=c[S>>2]|0;if((q|0)==95)break}else{B=(M1(k)|0)==0;q=c[S>>2]|0;if(B|(q|0)==95)break}if(M1(q)|0)break;r=c[n>>2]|0}q=c[S>>2]|0;do if((q|0)!=0&(x&(r&64|0)!=0)){if(w)r=1;else{r=(M1(k)|0)!=0;q=c[S>>2]|0}if((q|0)==95)if(r)break d;else break;else if(r^(M1(q)|0)!=0)break;else break d}while(0);if(!(c[n>>2]&128)){f=o;T=233;break c}q=c[S>>2]|0;if(v|(q|0)==0)break;if(w)r=1;else{r=(M1(k)|0)!=0;q=c[S>>2]|0}if((q|0)==95)if(r){f=o;T=233;break c}else break;else if(r^(M1(q)|0)!=0)break;else{f=o;T=233;break c}}while(0);p=o+40|0;if(!(c[p>>2]|0)){k=y;break b}else o=o+32|0}if((T|0)==233){T=0;c[y>>2]=c[p>>2];if(F)p5(c[y+4>>2]|0,-1,O|0)|0;q=c[f+16>>2]|0;do if(q){r=c[q>>2]|0;if((r|0)<=-1)break;p=y+4|0;do{if((r|0)<(P|0))c[(c[p>>2]|0)+(r<<2)>>2]=g;q=q+4|0;r=c[q>>2]|0}while((r|0)>-1)}while(0);q=(c[y>>2]|0)!=(c[G>>2]|0);if(q|D){p=y+4|0;d=q?d:g;m=q?m:1}else{p=y+4|0;o=c[p>>2]|0;n=0;do{c[U+(n<<2)>>2]=c[o+(n<<2)>>2];n=n+1|0}while((n|0)!=(P|0));d=g;m=1}r=c[h>>2]|0;c[N+(r<<3)>>2]=g;c[N+(r<<3)+4>>2]=p;r=y+8|0;o=f}p=o+40|0;if(!(c[p>>2]|0)){k=r;break}else{y=r;o=o+32|0}}}while(0);c[k>>2]=0;k=c[S>>2]|0;if(!k)break}else{if(K)break;k=c[S>>2]|0;if(!((q|0)!=(A|0)&(k|0)!=0))break}b=g+l|0;l=G2(S,z,4)|0;if((l|0)<1)if((l|0)<0){a=0;d=1;break a}else l=1;B=z+l|0;if((m|0)!=0&(c[H>>2]|0)!=0){if(!(c[A>>2]|0))h=s;else{q=c[J>>2]|0;f=c[q>>2]|0;g=(f|0)>-1;a=A;h=s;do{r=a+4|0;e:do if(g){n=f;m=0;do{p=c[q+((m|1)<<2)>>2]|0;if((n|0)>=(P|0))break e;o=c[r>>2]|0;if((c[o+(p<<2)>>2]|0)==(c[U+(p<<2)>>2]|0)?(c[o+(n<<2)>>2]|0)<(c[U+(n<<2)>>2]|0):0)break e;m=m+2|0;n=c[q+(m<<2)>>2]|0}while((n|0)>-1);p=r;T=262}else{p=r;o=c[r>>2]|0;T=262}while(0);if((T|0)==262){T=0;c[h>>2]=c[a>>2];y=h+4|0;z=c[y>>2]|0;c[y>>2]=o;c[p>>2]=z;h=h+8|0}a=a+8|0}while((c[a>>2]|0)!=0)}c[h>>2]=0;m=0;a=s;f=A}else{a=A;f=s}o=c[a>>2]|0;if(!o){q=f;p=C}else{w=(b|0)!=0;v=(k|0)==95;u=(b|0)==0;h=L&(k|0)==10;t=(E|(b|0)>0)^1;z=a;q=f;p=C;do{r=o+8|0;if(c[r>>2]|0){x=z+4|0;y=p;while(1){f:do if((c[o>>2]|0)>>>0>k>>>0)p=y;else{if((c[o+4>>2]|0)>>>0>>0){p=y;break}n=o+20|0;s=c[n>>2]|0;do if(s){if(!(h|((s&1|0)==0|t))){p=y;break f}if((s&2|0)!=0?(C=c[S>>2]|0,!((C|Q|0)==0|L&(C|0)==10)):0){p=y;break f}do if(s&16){if(v){p=y;break f}if(M1(k)|0){p=y;break f}s=c[S>>2]|0;if((s|0)==95)break;if(!(M1(s)|0)){p=y;break f}}while(0);s=c[n>>2]|0;if(s&32){if(v){p=c[S>>2]|0;if((p|0)==95){p=y;break f}}else{C=(M1(k)|0)==0;p=c[S>>2]|0;if(C|(p|0)==95){p=y;break f}}if(M1(p)|0){p=y;break f}s=c[n>>2]|0}p=c[S>>2]|0;do if((p|0)!=0&(w&(s&64|0)!=0)){if(v)s=1;else{s=(M1(k)|0)!=0;p=c[S>>2]|0}if((p|0)==95)if(s){p=y;break f}else break;else if(s^(M1(p)|0)!=0)break;else{p=y;break f}}while(0);do if(c[n>>2]&128){s=c[S>>2]|0;if(u|(s|0)==0){p=y;break f}if(v)p=1;else{p=(M1(k)|0)!=0;s=c[S>>2]|0}if((s|0)==95)if(p)break;else{p=y;break f}else if(p^(M1(s)|0)!=0){p=y;break f}else break}while(0);s=c[n>>2]|0;do if(s&4){if(c[X>>2]&2)break;if(!(Q1(k,c[o+24>>2]|0)|0)){p=y;break f}s=c[n>>2]|0}while(0);do if(s&4){if(!(c[X>>2]&2))break;C=b2(k)|0;s=o+24|0;if(Q1(C,c[s>>2]|0)|0)break;C=a2(k)|0;if(!(Q1(C,c[s>>2]|0)|0)){p=y;break f}}while(0);if(!(c[n>>2]&8))break;if(M4(c[o+28>>2]|0,k,c[X>>2]&2)|0){p=y;break f}}while(0);if(F){s=c[x>>2]|0;p=0;do{c[y+(p<<2)>>2]=c[s+(p<<2)>>2];p=p+1|0}while((p|0)!=(P|0))}p=c[o+16>>2]|0;do if(p){s=c[p>>2]|0;if((s|0)<=-1)break;do{if((s|0)<(P|0))c[y+(s<<2)>>2]=b;p=p+4|0;s=c[p>>2]|0}while((s|0)>-1)}while(0);s=c[o+12>>2]|0;p=N+(s<<3)|0;if((c[p>>2]|0)>=(b|0)){s=c[N+(s<<3)+4>>2]|0;n=c[s>>2]|0;if(!(K4(P,c[I>>2]|0,y,n)|0)){p=y;break}c[s>>2]=y;if((c[r>>2]|0)!=(c[G>>2]|0)){p=n;break}if(F)p=0;else{d=b;m=1;p=n;break}while(1){c[U+(p<<2)>>2]=c[y+(p<<2)>>2];p=p+1|0;if((p|0)==(P|0)){d=b;m=1;p=n;break f}}}C=c[r>>2]|0;c[q>>2]=C;A=q+4|0;r=c[A>>2]|0;c[A>>2]=y;c[p>>2]=b;c[N+(s<<3)+4>>2]=A;do if((C|0)==(c[G>>2]|0)){if((d|0)==-1)if(F)p=0;else{d=b;m=1;break}else{if(!F)break;if((c[y>>2]|0)>(c[U>>2]|0))break;else p=0}do{c[U+(p<<2)>>2]=c[y+(p<<2)>>2];p=p+1|0}while((p|0)!=(P|0));d=b;m=1}while(0);q=q+8|0;p=r}while(0);r=o+40|0;if(!(c[r>>2]|0))break;else{y=p;o=o+32|0}}}z=z+8|0;o=c[z>>2]|0}while((o|0)!=0)}c[q>>2]=0;g=b;s=a;A=f;z=B;C=p}a=d;d=d>>>31}while(0);B1(R)}}else{c[S>>2]=0;d=f&1;Q=f&2;a=c[X>>2]&4;R=S2(0,0)|0;g:do if(R){m=U2(R,0,0,0,32)|0;if(!m){T2(R);d=12;a=0;break}c[m+24>>2]=0;c[m+28>>2]=0;k=c[P>>2]|0;if(k){g=A1(k<<2)|0;if(!g){a=0;h=0;d=12;f=0}else T=9}else{g=0;T=9}h:do if((T|0)==9){f=c[W+28>>2]|0;if(f){h=A1(f<<3)|0;if(!h){a=0;d=12;f=0;break}}else h=0;N=W+52|0;f=c[N>>2]|0;if(f){f=A1(f<<2)|0;if(!f){a=0;d=12;break}}else f=0;J=W+8|0;I=W+12|0;H=(U|0)==0;G=(U|0)!=0;F=W+32|0;K=(a|0)!=0;L=(d|0)!=0;y=0;d=-1;a=1;n=-1;o=b;i:while(1){if((k|0)>0){l=0;do{c[g+(l<<2)>>2]=-1;if(!H){c[U+(l<<2)>>2]=-1;k=c[P>>2]|0}l=l+1|0}while((l|0)<(k|0))}k=c[N>>2]|0;if((k|0)>0)p5(f|0,0,((k|0)>1?k<<2:4)|0)|0;M=a+n|0;a=G2(S,o,4)|0;if((a|0)<1)if((a|0)<0){a=0;d=1;break h}else a=1;o=o+a|0;C=c[S>>2]|0;p=c[J>>2]|0;n=p+8|0;if(c[n>>2]|0){t=(M|0)!=0;u=(y|0)==95;v=(M|0)==0;x=K&(y|0)==10;w=(L|(M|0)>0)^1;l=0;q=m;r=0;k=p;while(1){s=k+20|0;p=c[s>>2]|0;j:do if(p){if(!(x|((p&1|0)==0|w))){m=q;break}if((p&2|0)!=0?(O=c[S>>2]|0,!((O|Q|0)==0|K&(O|0)==10)):0){m=q;break}do if(p&16){if(u){m=q;break j}if(M1(y)|0){m=q;break j}p=c[S>>2]|0;if((p|0)==95)break;if(!(M1(p)|0)){m=q;break j}}while(0);p=c[s>>2]|0;if(p&32){if(u){p=c[S>>2]|0;if((p|0)==95){m=q;break}}else{O=(M1(y)|0)==0;p=c[S>>2]|0;if(O|(p|0)==95){m=q;break}}if(M1(p)|0){m=q;break}p=c[s>>2]|0}m=c[S>>2]|0;do if((m|0)!=0&(t&(p&64|0)!=0)){if(u)p=1;else{p=(M1(y)|0)!=0;m=c[S>>2]|0}if((m|0)==95)if(p){m=q;break j}else break;else if(p^(M1(m)|0)!=0)break;else{m=q;break j}}while(0);if(!(c[s>>2]&128)){T=52;break}p=c[S>>2]|0;if(v|(p|0)==0){m=q;break}if(u)m=1;else{m=(M1(y)|0)!=0;p=c[S>>2]|0}if((p|0)==95)if(m){T=52;break}else{m=q;break}else if(m^(M1(p)|0)!=0){m=q;break}else{T=52;break}}else T=52;while(0);do if((T|0)==52){T=0;if(!r){l=c[k+16>>2]|0;m=q;r=c[n>>2]|0;break}p=q+28|0;m=c[p>>2]|0;if(!m){m=U2(R,0,0,0,32)|0;if(!m){T=56;break i}c[m+24>>2]=q;c[m+28>>2]=0;O=U2(R,0,0,0,c[P>>2]<<2)|0;c[m+20>>2]=O;if(!O){T=63;break i}c[p>>2]=m}c[m>>2]=M;c[m+4>>2]=o;c[m+8>>2]=c[n>>2];c[m+12>>2]=c[k+12>>2];c[m+16>>2]=c[S>>2];if((c[P>>2]|0)>0){p=c[m+20>>2]|0;n=0;do{c[p+(n<<2)>>2]=c[g+(n<<2)>>2];n=n+1|0}while((n|0)<(c[P>>2]|0))}n=c[k+16>>2]|0;if(!n)break;p=c[n>>2]|0;if((p|0)<=-1)break;q=c[m+20>>2]|0;do{n=n+4|0;c[q+(p<<2)>>2]=M;p=c[n>>2]|0}while((p|0)>-1)}while(0);n=k+40|0;if(!(c[n>>2]|0)){n=r;break}else{q=m;k=k+32|0}}if(l){k=c[l>>2]|0;if((k|0)>-1)do{c[g+(k<<2)>>2]=M;l=l+4|0;k=c[l>>2]|0}while((k|0)>-1)}else l=0;if(!n)T=173;else{B=d;d=M;k=o}}else{l=0;T=173}k:while(1){if((T|0)==173){T=0;q=c[m+24>>2]|0;if(!q)break;r=c[m+8>>2]|0;if(c[r+20>>2]&256)c[f+(c[m+12>>2]<<2)>>2]=0;p=c[m>>2]|0;s=c[m+4>>2]|0;c[S>>2]=c[m+16>>2];k=c[P>>2]|0;if((k|0)<=0){B=d;d=p;m=q;n=r;k=s;continue}n=c[m+20>>2]|0;m=0;while(1){c[g+(m<<2)>>2]=c[n+(m<<2)>>2];m=m+1|0;if((m|0)==(k|0)){B=d;d=p;m=q;n=r;k=s;continue k}}}if((n|0)!=(c[I>>2]|0)){s=n;r=k;while(1){q=s+8|0;do if(!(c[q>>2]|0))T=97;else{if(!(c[s+20>>2]&256)){T=97;break}n=c[s+24>>2]|0;L4(n+1|0,h,c[X>>2]&-9,W,g,d);k=c[h+(n<<3)>>2]|0;n=c[h+(n<<3)+4>>2]|0;p=n-k|0;if(g4(b+k|0,r+-1|0,p)|0){d=B;T=173;continue k}O=(n|0)==(k|0);k=O&1;n=f+(c[s+12>>2]<<2)|0;if(O?(c[n>>2]|0)!=0:0){d=B;T=173;continue k}c[n>>2]=k;k=p+-1|0;d=k+d|0;p=c[S>>2]|0;n=G2(S,r+k|0,4)|0;if((n|0)<1)if((n|0)<0){a=0;d=1;break h}else n=1;k=n+k|0}while(0);do if((T|0)==97){T=0;p=c[S>>2]|0;if(!p){d=B;T=173;continue k}n=G2(S,r,4)|0;if((n|0)>=1){k=n;break}if((n|0)<0){a=0;d=1;break h}else{k=1;n=1}}while(0);z=r+k|0;d=d+a|0;if(!(c[q>>2]|0)){d=B;a=n;T=173;continue k}v=(d|0)!=0;u=(p|0)==95;t=(d|0)==0;y=K&(p|0)==10;a=(L|(d|0)>0)^1;k=q;w=0;x=s;while(1){l:do if((c[x>>2]|0)>>>0>p>>>0)s=w;else{if((c[x+4>>2]|0)>>>0

>>0){s=w;break}s=x+20|0;q=c[s>>2]|0;do if(q){if(!(y|((q&1|0)==0|a))){s=w;break l}if((q&2|0)!=0?(O=c[S>>2]|0,!((O|Q|0)==0|K&(O|0)==10)):0){s=w;break l}do if(q&16){if(u){s=w;break l}if(M1(p)|0){s=w;break l}q=c[S>>2]|0;if((q|0)==95)break;if(!(M1(q)|0)){s=w;break l}}while(0);q=c[s>>2]|0;if(q&32){if(u){q=c[S>>2]|0;if((q|0)==95){s=w;break l}}else{O=(M1(p)|0)==0;q=c[S>>2]|0;if(O|(q|0)==95){s=w;break l}}if(M1(q)|0){s=w;break l}q=c[s>>2]|0}r=c[S>>2]|0;do if((r|0)!=0&(v&(q&64|0)!=0)){if(u)q=1;else{q=(M1(p)|0)!=0;r=c[S>>2]|0}if((r|0)==95)if(q){s=w;break l}else break;else if(q^(M1(r)|0)!=0)break;else{s=w;break l}}while(0);do if(c[s>>2]&128){q=c[S>>2]|0;if(t|(q|0)==0){s=w;break l}if(u)r=1;else{r=(M1(p)|0)!=0;q=c[S>>2]|0}if((q|0)==95)if(r)break;else{s=w;break l}else if(r^(M1(q)|0)!=0){s=w;break l}else break}while(0);q=c[s>>2]|0;do if(q&4){if(c[X>>2]&2)break;if(!(Q1(p,c[x+24>>2]|0)|0)){s=w;break l}q=c[s>>2]|0}while(0);do if(q&4){if(!(c[X>>2]&2))break;O=b2(p)|0;q=x+24|0;if(Q1(O,c[q>>2]|0)|0)break;O=a2(p)|0;if(!(Q1(O,c[q>>2]|0)|0)){s=w;break l}}while(0);if(!(c[s>>2]&8))break;if(M4(c[x+28>>2]|0,p,c[X>>2]&2)|0){s=w;break l}}while(0);if(!w){s=c[k>>2]|0;l=c[x+16>>2]|0;break}r=m+28|0;q=c[r>>2]|0;if(!q){q=U2(R,0,0,0,32)|0;if(!q){T=146;break i}c[q+24>>2]=m;c[q+28>>2]=0;O=U2(R,0,0,0,c[P>>2]<<2)|0;c[q+20>>2]=O;if(!O){T=153;break i}c[r>>2]=q;m=q}else m=q;c[m>>2]=d;c[m+4>>2]=z;c[m+8>>2]=c[k>>2];c[m+12>>2]=c[x+12>>2];c[m+16>>2]=c[S>>2];if((c[P>>2]|0)>0){k=c[m+20>>2]|0;q=0;do{c[k+(q<<2)>>2]=c[g+(q<<2)>>2];q=q+1|0}while((q|0)<(c[P>>2]|0))}r=c[x+16>>2]|0;if(!r){s=w;break}q=c[r>>2]|0;if((q|0)<=-1){s=w;break}s=c[m+20>>2]|0;do{c[s+(q<<2)>>2]=d;r=r+4|0;q=c[r>>2]|0}while((q|0)>-1);s=w}while(0);k=x+40|0;if(!(c[k>>2]|0))break;else{w=s;x=x+32|0}}if(!s){d=B;a=n;T=173;continue k}do if(!l)l=0;else{k=c[l>>2]|0;if((k|0)<=-1)break;do{l=l+4|0;c[g+(k<<2)>>2]=d;k=c[l>>2]|0}while((k|0)>-1)}while(0);if((s|0)==(c[I>>2]|0)){a=n;break}else{a=n;r=z}}}if((B|0)>=(d|0)){if(!(G&(B|0)==(d|0))){d=B;T=173;continue}if(!(K4(c[P>>2]|0,c[F>>2]|0,g,U)|0)){d=B;T=173;continue}}if(H){T=173;continue}if((c[P>>2]|0)>0)k=0;else{T=173;continue}while(1){c[U+(k<<2)>>2]=c[g+(k<<2)>>2];k=k+1|0;if((k|0)>=(c[P>>2]|0)){T=173;continue k}}}if((d|0)>-1|(c[S>>2]|0)==0){T=181;break}c[S>>2]=C;k=c[P>>2]|0;y=C;n=M}if((T|0)==56){T2(R);if(g)B1(g);if(h)B1(h);if(!f){d=12;a=0;break g}B1(f);d=12;a=0;break g}else if((T|0)==63){T2(R);if(g)B1(g);if(h)B1(h);if(!f){d=12;a=0;break g}B1(f);d=12;a=0;break g}else if((T|0)==146){T2(R);if(g)B1(g);if(h)B1(h);if(!f){d=12;a=0;break g}B1(f);d=12;a=0;break g}else if((T|0)==153){T2(R);if(g)B1(g);if(h)B1(h);if(!f){d=12;a=0;break g}B1(f);d=12;a=0;break g}else if((T|0)==181){a=d;d=d>>>31;break}}while(0);T2(R);if(g)B1(g);if(h)B1(h);if(f)B1(f)}else{d=12;a=0}while(0)}if(!d)L4(V,e,c[X>>2]|0,W,U,a);if(U)B1(U)}i=Y;return d|0}function S2(a,b){a=a|0;b=b|0;if(!a)b=C1(1,24)|0;else{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[b+20>>2]=0}return b|0}function T2(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b)do{B1(c[b>>2]|0);d=b;b=c[b+4>>2]|0;B1(d)}while((b|0)!=0);B1(a);return}function U2(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;h=a+16|0;a:do if(!(c[h>>2]|0)){j=a+12|0;g=c[j>>2]|0;do if(g>>>0>>0){if(b)if(!d){c[h>>2]=1;d=0;break a}else{i=a+8|0;c[i>>2]=d;c[j>>2]=1024;g=1024;break}g=f<<3;g=g>>>0>1024?g:1024;i=A1(8)|0;if(!i){c[h>>2]=1;d=0;break a}d=A1(g)|0;c[i>>2]=d;if(!d){B1(i);c[h>>2]=1;d=0;break a}c[i+4>>2]=0;b=a+4|0;h=c[b>>2]|0;if(h)c[h+4>>2]=i;if(!(c[a>>2]|0))c[a>>2]=i;c[b>>2]=i;i=a+8|0;c[i>>2]=d;c[j>>2]=g}else{d=a+8|0;i=d;d=c[d>>2]|0}while(0);b=d+f&3;b=((b|0)==0?0:4-b|0)+f|0;c[i>>2]=d+b;c[j>>2]=g-b;if(e)p5(d|0,0,b|0)|0}else d=0;while(0);return d|0}function V2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;if((i|0)>=(j|0))ba();g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=nb(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(rb(221,f|0)|0)>=0):0){g2(e,a);c[g>>2]=e;c[g+4>>2]=b;d=j2(ob(195,g|0)|0)|0}else d=j2(d)|0;i=h;return d|0}function W2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+112|0;if((i|0)>=(j|0))ba();o=p+40|0;m=p+24|0;l=p+16|0;g=p;n=p+52|0;f=a[d>>0]|0;if(T3(190820,f<<24>>24,4)|0){e=A1(1144)|0;if(!e)e=0;else{h=e;k=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));if(!(_3(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(_3(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;rb(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[l>>2]=b;c[l+4>>2]=3;d=rb(221,l|0)|0;if(!(d&1024)){c[m>>2]=b;c[m+4>>2]=4;c[m+8>>2]=d|1024;rb(221,m|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[o>>2]=b,c[o+4>>2]=21505,c[o+8>>2]=n,(Bb(54,o|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=23;c[e+36>>2]=21;c[e+40>>2]=22;c[e+12>>2]=17;if(!(c[24681]|0))c[e+76>>2]=-1;Ib(98748);d=c[24686]|0;c[e+56>>2]=d;if(d)c[d+52>>2]=e;c[24686]=e;Cb(98748)}}else{c[(c2()|0)>>2]=22;e=0}i=p;return e|0}function X2(b){b=b|0;var c=0,d=0,e=0;d=(_3(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(_3(b,120)|0)==0;d=e?d:d|128;b=(_3(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 Y2(a){a=a|0;return 0}function Z2(a){a=a|0;return}function _2(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0;n=i;i=i+16|0;if((i|0)>=(j|0))ba();m=n;l=e&255;a[m>>0]=l;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(g3(b)|0)){h=c[g>>2]|0;k=4}else f=-1;else k=4;do if((k|0)==4){g=b+20|0;k=c[g>>2]|0;if(k>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[g>>2]=k+1;a[k>>0]=l;break}if(($b[c[b+36>>2]&63](b,m,1)|0)==1)f=d[m>>0]|0;else f=-1}while(0);i=n;return f|0}function $2(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;if((i|0)>=(j|0))ba();d=b;c[d>>2]=c[a+60>>2];a=j2(Jb(6,d|0)|0)|0;i=b;return a|0}function a3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;if((i|0)>=(j|0))ba();f=o+16|0;g=o;h=o+32|0;c[h>>2]=d;k=h+4|0;n=b+48|0;l=c[n>>2]|0;c[k>>2]=e-((l|0)!=0&1);m=b+44|0;c[h+8>>2]=c[m>>2];c[h+12>>2]=l;if(!(c[24680]|0)){c[f>>2]=c[b+60>>2];c[f+4>>2]=h;c[f+8>>2]=2;l=j2(Rb(145,f|0)|0)|0}else{Kb(110,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=h;c[g+8>>2]=2;l=j2(Rb(145,g|0)|0)|0;Va(0)}if((l|0)>=1){h=c[k>>2]|0;if(l>>>0>h>>>0){g=c[m>>2]|0;f=b+4|0;c[f>>2]=g;c[b+8>>2]=g+(l-h);if(c[n>>2]|0){c[f>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0}}else e=l}else{c[b>>2]=c[b>>2]|l&48^16;c[b+8>>2]=0;c[b+4>>2]=0;e=l}i=o;return e|0}function b3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;if((i|0)>=(j|0))ba();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((j2(Pb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function c3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;if((i|0)>=(j|0))ba();o=r+16|0;n=r;e=r+32|0;p=a+28|0;f=c[p>>2]|0;c[e>>2]=f;q=a+20|0;f=(c[q>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;l=a+60|0;m=a+44|0;b=2;f=f+d|0;while(1){if(!(c[24680]|0)){c[o>>2]=c[l>>2];c[o+4>>2]=e;c[o+8>>2]=b;h=j2(Sb(146,o|0)|0)|0}else{Kb(111,a|0);c[n>>2]=c[l>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=j2(Sb(146,n|0)|0)|0;Va(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[p>>2]=(c[p>>2]|0)+h;k=g;b=2}else k=g;else{k=c[m>>2]|0;c[p>>2]=k;c[q>>2]=k;k=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=k-h}if((f|0)==6){o=c[m>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);a=o;c[p>>2]=a;c[q>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[p>>2]=0;c[q>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=r;return d|0}function d3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;if((i|0)>=(j|0))ba();f=g;c[b+36>>2]=21;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Bb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=c3(b,d,e)|0;i=g;return f|0}function e3(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=T3(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;n5(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 f3(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+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)$b[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function g3(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;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function h3(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();b=e;if((c[a+8>>2]|0)==0?(f3(a)|0)!=0:0)b=-1;else if(($b[c[a+32>>2]&63](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function i3(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){Ib(98748);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[24686]|0)==(a|0))c[24686]=b;Cb(98748)}b=k3(a)|0;b=Zb[c[a+12>>2]&63](a)|0|b;d=c[a+92>>2]|0;if(d)B1(d);if(!e)B1(a);return b|0}function j3(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Y2(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function k3(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=P4(a)|0;break}d=(Y2(a)|0)==0;b=P4(a)|0;if(!d)Z2(a)}else{if(!(c[24745]|0))b=0;else b=k3(c[24745]|0)|0;Ib(98748);a=c[24686]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Y2(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=P4(a)|0|b;if(d)Z2(a);a=c[a+56>>2]|0}while((a|0)!=0);Cb(98748)}while(0);return b|0}function l3(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Y2(a)|0)!=0:0){e=a+4|0;b=c[e>>2]|0;if(b>>>0<(c[a+8>>2]|0)>>>0){c[e>>2]=b+1;b=d[b>>0]|0}else b=h3(a)|0}else f=3;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=h3(a)|0;break}}while(0);return b|0}function m3(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;if((c[f+76>>2]|0)>-1)o=Y2(f)|0;else o=0;g=e+-1|0;if((e|0)<2){p=f+74|0;n=a[p>>0]|0;a[p>>0]=n+255|n;if(o)Z2(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){m=f+4|0;n=f+8|0;e=b;while(1){h=c[m>>2]|0;q=h;j=(c[n>>2]|0)-q|0;i=T3(h,10,j)|0;r=(i|0)==0;i=r?j:1-q+i|0;q=i>>>0>>0;i=q?i:g;n5(e|0,h|0,i|0)|0;h=c[m>>2]|0;j=h+i|0;c[m>>2]=j;l=e+i|0;k=g-i|0;if(!(r&q)){e=l;p=18;break a}if(j>>>0<(c[n>>2]|0)>>>0){i=i+1|0;c[m>>2]=h+i;h=d[j>>0]|0}else{g=h3(f)|0;if((g|0)<0){e=l;break}i=i+1|0;h=g}g=k+-1|0;e=e+i|0;a[l>>0]=h;if(!((g|0)!=0&(h&255|0)!=10)){p=18;break a}}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)p=18;else b=0}else{e=b;p=18}while(0);if((p|0)==18)if(!b)b=0;else a[e>>0]=0;if(o)Z2(f)}return b|0}function n3(a){a=a|0;(c[a+76>>2]|0)>-1?(Y2(a)|0)!=0:0;return c[a+60>>2]|0}function o3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();f=g+16|0;e=g;if(T3(190820,a[d>>0]|0,4)|0){h=X2(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;b=j2(Fb(5,e|0)|0)|0;if((b|0)>=0){e=W2(b,d)|0;if(!e){c[f>>2]=b;Jb(6,f|0)|0;e=0}}else e=0}else{c[(c2()|0)>>2]=22;e=0}i=g;return e|0}function p3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[f>>2]=d;d=H3(a,b,f)|0;i=e;return d|0}function q3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((c[d+76>>2]|0)>=0?(Y2(d)|0)!=0:0){if((a[d+75>>0]|0)!=(b|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=b;e=b&255}else e=_2(d,b)|0;Z2(d)}else i=3;do if((i|0)==3){if((a[d+75>>0]|0)!=(b|0)?(h=d+20|0,e=c[h>>2]|0,e>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=e+1;a[e>>0]=b;e=b&255;break}e=_2(d,b)|0}while(0);return e|0}function r3(a,b){a=a|0;b=b|0;return (A3(a,e4(a)|0,1,b)|0)+-1|0}function s3(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;j=_(e,d)|0;if((c[f+76>>2]|0)>-1)k=Y2(f)|0;else k=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;n5(b|0,h|0,i|0)|0;c[g>>2]=h+i;b=b+i|0;i=j-i|0}else i=j;a:do if(!i)l=13;else{g=f+32|0;h=i;while(1){if(f3(f)|0){e=h;break}i=$b[c[g>>2]&63](f,b,h)|0;if((i+1|0)>>>0<2){e=h;break}if((h|0)==(i|0)){l=13;break a}else{b=b+i|0;h=h-i|0}}if(k)Z2(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Z2(f);return e|0}function t3(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;f=a+20|0;e=a+28|0;if((c[f>>2]|0)>>>0>(c[e>>2]|0)>>>0?($b[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[e>>2]=0;c[f>>2]=0;if(($b[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 u3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Y2(a)|0)==0;b=t3(a,b,d)|0;if(!e)Z2(a)}else b=t3(a,b,d)|0;return b|0}function v3(a,b,c){a=a|0;b=b|0;c=c|0;return u3(a,b,c)|0}function w3(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=$b[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 x3(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Y2(a)|0)==0;a=w3(a)|0}else a=w3(a)|0;return a|0}function y3(a){a=a|0;return x3(a)|0}function z3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(g3(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=$b[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if(($b[c[e+36>>2]&63](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);n5(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function A3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Y2(e)|0)==0;a=z3(a,f,e)|0;if(!g)Z2(e)}else a=z3(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function B3(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=b;b=H3(c[24744]|0,a,e)|0;i=d;return b|0}function C3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;if((i|0)>=(j|0))ba();g=f;c[g>>2]=e;e=J3(a,b,d,g)|0;i=f;return e|0}function D3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[f>>2]=d;d=K3(a,b,f)|0;i=e;return d|0}function E3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;if((i|0)>=(j|0))ba();f=e;c[f>>2]=d;d=L3(a,b,f)|0;i=e;return d|0}function F3(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,k=0;k=i;i=i+48|0;if((i|0)>=(j|0))ba();g=k+16|0;f=k;d=k+20|0;e=0;while(1){a=G3(d)|0;if(!a){a=0;break}c[f>>2]=a;c[f+4>>2]=32962;c[f+8>>2]=384;b=j2(Fb(5,f|0)|0)|0;e=e+1|0;if((b|0)>-1){h=5;break}if((e|0)>=100){a=0;break}}if((h|0)==5){h=W2(b,190824)|0;c[g>>2]=a;Eb(10,g|0)|0;a=h}i=k;return a|0}function G3(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+64|0;if((i|0)>=(j|0))ba();g=m+32|0;k=m+24|0;h=m+8|0;e=m;l=m+48|0;f=m+40|0;c[l>>2]=(a|0)==0?190827:a;c[e>>2]=190847;c[e+4>>2]=7;if(!(Ab(33,e|0)|0)){b=f+4|0;d=l;e=0;while(1){c[h>>2]=0;c[h+4>>2]=f;c[h+8>>2]=0;_a(265,h|0)|0;a=c[l>>2]|0;n=c[b>>2]^d^a;o=c[24972]|0;c[24972]=o+1;c[k>>2]=o;c[k+4>>2]=n;C3(a,20,190852,k)|0;c[g>>2]=c[l>>2];c[g+4>>2]=0;if(Ab(33,g|0)|0){a=e;break}a=e+1|0;if((e|0)<100)e=a;else break}a=(a|0)>99?0:c[l>>2]|0}else a=0;i=m;return a|0}function H3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+224|0;if((i|0)>=(j|0))ba();p=t+80|0;s=t+96|0;r=t;q=t+136|0;f=s;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[p>>2]=c[e>>2];if((Q4(0,d,p,r,s)|0)<0)f=-1;else{if((c[b+76>>2]|0)>-1)n=Y2(b)|0;else n=0;e=c[b>>2]|0;o=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;g=b+48|0;if(!(c[g>>2]|0)){f=b+44|0;h=c[f>>2]|0;c[f>>2]=q;k=b+28|0;c[k>>2]=q;l=b+20|0;c[l>>2]=q;c[g>>2]=80;m=b+16|0;c[m>>2]=q+80;e=Q4(b,d,p,r,s)|0;if(h){$b[c[b+36>>2]&63](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[f>>2]=h;c[g>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Q4(b,d,p,r,s)|0;f=c[b>>2]|0;c[b>>2]=f|o;if(n)Z2(b);f=(f&32|0)==0?e:-1}i=t;return f|0}function I3(e,f,k){e=e|0;f=f|0;k=k|0;var l=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,z=0,A=0,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;Q=i;i=i+304|0;if((i|0)>=(j|0))ba();I=Q+16|0;K=Q+8|0;J=Q+33|0;L=Q;z=Q+32|0;if((c[e+76>>2]|0)>-1)P=Y2(e)|0;else P=0;n=a[f>>0]|0;a:do if(n<<24>>24){M=e+4|0;N=e+100|0;H=e+108|0;A=e+8|0;B=J+10|0;D=J+33|0;E=K+4|0;F=J+46|0;G=J+94|0;l=0;o=f;u=0;f=0;m=0;b:while(1){c:do if(!(K1(n&255)|0)){p=(a[o>>0]|0)==37;d:do if(p){r=o+1|0;n=a[r>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{y=0;n=o+2|0;break}default:{p=(n&255)+-48|0;if(p>>>0<10?(a[o+2>>0]|0)==36:0){c[I>>2]=c[k>>2];while(1){y=(c[I>>2]|0)+(4-1)&~(4-1);n=c[y>>2]|0;c[I>>2]=y+4;if(p>>>0>1)p=p+-1|0;else break}y=n;n=o+3|0;break e}n=(c[k>>2]|0)+(4-1)&~(4-1);y=c[n>>2]|0;c[k>>2]=n+4;n=r}}while(0);p=a[n>>0]|0;o=p&255;if((o+-48|0)>>>0<10){p=0;while(1){s=(p*10|0)+-48+o|0;n=n+1|0;p=a[n>>0]|0;o=p&255;if((o+-48|0)>>>0>=10){r=n;break}else p=s}}else{r=n;s=0}if(p<<24>>24==109){r=r+1|0;p=a[r>>0]|0;n=(y|0)!=0&1;f=0;m=0}else n=0;o=r+1|0;switch(p&255|0){case 104:{x=(a[o>>0]|0)==104;o=x?r+2|0:o;r=x?-2:-1;break}case 108:{x=(a[o>>0]|0)==108;o=x?r+2|0:o;r=x?3:1;break}case 106:{r=3;break}case 116:case 122:{r=1;break}case 76:{r=2;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:{o=r;r=0;break}default:{O=152;break b}}t=d[o>>0]|0;v=(t&47|0)==3;t=v?t|32:t;v=v?1:r;switch(t|0){case 99:{x=u;s=(s|0)<1?1:s;break}case 91:{x=u;break}case 110:{if(!y){s=u;break c}switch(v|0){case -2:{a[y>>0]=u;s=u;break c}case -1:{b[y>>1]=u;s=u;break c}case 0:{c[y>>2]=u;s=u;break c}case 1:{c[y>>2]=u;s=u;break c}case 3:{s=y;c[s>>2]=u;c[s+4>>2]=((u|0)<0)<<31>>31;s=u;break c}default:{s=u;break c}}}default:{h2(e,0);do{r=c[M>>2]|0;if(r>>>0<(c[N>>2]|0)>>>0){c[M>>2]=r+1;r=d[r>>0]|0}else r=i2(e)|0}while((K1(r)|0)!=0);r=c[M>>2]|0;if(c[N>>2]|0){r=r+-1|0;c[M>>2]=r}x=(c[H>>2]|0)+u+r-(c[A>>2]|0)|0}}h2(e,s);r=c[M>>2]|0;p=c[N>>2]|0;if(r>>>0

>>0)c[M>>2]=r+1;else{if((i2(e)|0)<0){O=152;break b}p=c[N>>2]|0}if(p)c[M>>2]=(c[M>>2]|0)+-1;f:do switch(t|0){case 91:case 99:case 115:{w=(t|0)==99;g:do if((t&239|0)==99){p5(J|0,-1,257)|0;a[J>>0]=0;if((t|0)==115){a[D>>0]=0;a[B>>0]=0;a[B+1>>0]=0;a[B+2>>0]=0;a[B+3>>0]=0;a[B+4>>0]=0}}else{R=o+1|0;u=(a[R>>0]|0)==94;r=u&1;t=u?R:o;o=u?o+2|0:R;p5(J|0,u&1|0,257)|0;a[J>>0]=0;switch(a[o>>0]|0){case 45:{u=(r^1)&255;a[F>>0]=u;o=t+2|0;break}case 93:{u=(r^1)&255;a[G>>0]=u;o=t+2|0;break}default:u=(r^1)&255}while(1){r=a[o>>0]|0;h:do switch(r<<24>>24){case 0:{O=152;break b}case 93:break g;case 45:{t=o+1|0;r=a[t>>0]|0;switch(r<<24>>24){case 93:case 0:{r=45;break h}default:{}}o=a[o+-1>>0]|0;if((o&255)<(r&255)){o=o&255;do{o=o+1|0;a[J+o>>0]=u;r=a[t>>0]|0}while((o|0)<(r&255|0));o=t}else o=t;break}default:{}}while(0);a[J+((r&255)+1)>>0]=u;o=o+1|0}}while(0);t=w?s+1|0:31;u=(v|0)==1;v=(n|0)!=0;i:do if(u){if(v){m=A1(t<<2)|0;if(!m){f=0;O=152;break b}}else m=y;c[K>>2]=0;c[E>>2]=0;r=0;j:while(1){f=(m|0)==0;do{k:while(1){p=c[M>>2]|0;if(p>>>0<(c[N>>2]|0)>>>0){c[M>>2]=p+1;p=d[p>>0]|0}else p=i2(e)|0;if(!(a[J+(p+1)>>0]|0))break j;a[z>>0]=p;switch(E2(L,z,1,K)|0){case -1:{f=0;O=152;break b}case -2:break;default:break k}}if(!f){c[m+(r<<2)>>2]=c[L>>2];r=r+1|0}}while(!(v&(r|0)==(t|0)));r=t<<1|1;p=D1(m,r<<2)|0;if(!p){f=0;O=152;break b}R=t;t=r;m=p;r=R}if(!(F2(K)|0)){f=0;O=152;break b}else f=0}else{if(v){f=A1(t)|0;if(!f){f=0;m=0;O=152;break b}else r=0;while(1){do{p=c[M>>2]|0;if(p>>>0<(c[N>>2]|0)>>>0){c[M>>2]=p+1;p=d[p>>0]|0}else p=i2(e)|0;if(!(a[J+(p+1)>>0]|0)){m=0;break i}a[f+r>>0]=p;r=r+1|0}while((r|0)!=(t|0));r=t<<1|1;p=D1(f,r)|0;if(!p){m=0;O=152;break b}else{R=t;t=r;f=p;r=R}}}if(!y)while(1){r=c[M>>2]|0;if(r>>>0

>>0){c[M>>2]=r+1;p=d[r>>0]|0}else p=i2(e)|0;if(!(a[J+(p+1)>>0]|0)){r=0;f=0;m=0;break i}p=c[N>>2]|0}else{f=0;while(1){r=c[M>>2]|0;if(r>>>0

>>0){c[M>>2]=r+1;r=d[r>>0]|0}else r=i2(e)|0;if(!(a[J+(r+1)>>0]|0)){r=f;f=y;m=0;break i}a[y+f>>0]=r;p=c[N>>2]|0;f=f+1|0}}}while(0);p=c[M>>2]|0;if(c[N>>2]|0){p=p+-1|0;c[M>>2]=p}p=p-(c[A>>2]|0)+(c[H>>2]|0)|0;if(!p)break b;if(!((p|0)==(s|0)|w^1))break b;do if(v)if(u){c[y>>2]=m;break}else{c[y>>2]=f;break}while(0);if(!w){if(m)c[m+(r<<2)>>2]=0;if(!f){f=0;break f}a[f+r>>0]=0}break}case 120:case 88:case 112:{r=16;O=134;break}case 111:{r=8;O=134;break}case 117:case 100:{r=10;O=134;break}case 105:{r=0;O=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{q=+e2(e,v,0);if((c[H>>2]|0)==((c[A>>2]|0)-(c[M>>2]|0)|0))break b;if(y)switch(v|0){case 0:{g[y>>2]=q;break f}case 1:{h[y>>3]=q;break f}case 2:{h[y>>3]=q;break f}default:break f}break}default:{}}while(0);l:do if((O|0)==134){O=0;p=f2(e,r,0,-1,-1)|0;if((c[H>>2]|0)==((c[A>>2]|0)-(c[M>>2]|0)|0))break b;if((y|0)!=0&(t|0)==112){c[y>>2]=p;break}if(y)switch(v|0){case -2:{a[y>>0]=p;break l}case -1:{b[y>>1]=p;break l}case 0:{c[y>>2]=p;break l}case 1:{c[y>>2]=p;break l}case 3:{R=y;c[R>>2]=p;c[R+4>>2]=C;break l}default:break l}}while(0);l=((y|0)!=0&1)+l|0;s=(c[H>>2]|0)+x+(c[M>>2]|0)-(c[A>>2]|0)|0;break c}while(0);o=o+(p&1)|0;h2(e,0);n=c[M>>2]|0;if(n>>>0<(c[N>>2]|0)>>>0){c[M>>2]=n+1;n=d[n>>0]|0}else n=i2(e)|0;if((n|0)!=(d[o>>0]|0)){O=21;break b}s=u+1|0}else{while(1){n=o+1|0;if(!(K1(d[n>>0]|0)|0))break;else o=n}h2(e,0);do{n=c[M>>2]|0;if(n>>>0<(c[N>>2]|0)>>>0){c[M>>2]=n+1;n=d[n>>0]|0}else n=i2(e)|0}while((K1(n)|0)!=0);n=c[M>>2]|0;if(c[N>>2]|0){n=n+-1|0;c[M>>2]=n}s=(c[H>>2]|0)+u+n-(c[A>>2]|0)|0}while(0);o=o+1|0;n=a[o>>0]|0;if(!(n<<24>>24))break a;else u=s}if((O|0)==21){if(c[N>>2]|0)c[M>>2]=(c[M>>2]|0)+-1;if((l|0)!=0|(n|0)>-1)break;else{l=0;O=153}}else if((O|0)==152)if(!l){l=n;O=153}if((O|0)==153){n=l;l=-1}if(n){B1(f);B1(m)}}else l=0;while(0);if(P)Z2(e);i=Q;return l|0}function J3(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+128|0;if((i|0)>=(j|0))ba();g=o+112|0;n=o;h=n;k=99892;l=h+112|0;do{c[h>>2]=c[k>>2];h=h+4|0;k=k+4|0}while((h|0)<(l|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;m=4}else{c[(c2()|0)>>2]=75;d=-1}else{g=b;m=4}if((m|0)==4){m=-2-g|0;m=d>>>0>m>>>0?m:d;c[n+48>>2]=m;b=n+20|0;c[b>>2]=g;c[n+44>>2]=g;d=g+m|0;g=n+16|0;c[g>>2]=d;c[n+28>>2]=d;d=H3(n,e,f)|0;if(m){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=o;return d|0}function K3(a,b,c){a=a|0;b=b|0;c=c|0;return J3(a,2147483647,b,c)|0}function L3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;if((i|0)>=(j|0))ba();e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=45;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=I3(e,b,d)|0;i=g;return h|0}function M3(a){a=a|0;return +(+Q3(a,0))}function N3(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(K1(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;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 ((e|0)!=0?b:0-b|0)|0}function O3(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;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(_(g,d)|0)|0;f=gc[e&127](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function P3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+208|0;if((i|0)>=(j|0))ba();p=s+8|0;q=s;f=_(d,b)|0;o=q;c[o>>2]=1;c[o+4>>2]=0;if(f){k=f-d|0;c[p+4>>2]=d;c[p>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[p+(h<<2)>>2]=b;if(b>>>0>>0){o=g;g=b;h=h+1|0;b=o}else break}o=0-d|0;b=a+k|0;n=q+4|0;if((k|0)>0){l=b;k=1;h=1;while(1){do if((k&3|0)==3){S4(a,d,e,h,p);m=c[n>>2]|0;g=m<<30|(c[q>>2]|0)>>>2;c[q>>2]=g;c[n>>2]=m>>>2;h=h+2|0}else{g=h+-1|0;if((c[p+(g<<2)>>2]|0)>>>0<(l-a|0)>>>0)S4(a,d,e,h,p);else T4(a,d,e,q,h,0,p);if((h|0)==1){g=c[q>>2]|0;c[n>>2]=g>>>31|c[n>>2]<<1;g=g<<1;c[q>>2]=g;h=0;break}if(g>>>0>31){f=c[q>>2]|0;c[n>>2]=f;c[q>>2]=0;g=h+-33|0;h=f;f=0}else{h=c[n>>2]|0;f=c[q>>2]|0}c[n>>2]=f>>>(32-g|0)|h<>2]=g;h=1}while(0);k=g|1;c[q>>2]=k;g=a+d|0;if(g>>>0>=b>>>0)break;else a=g}}else{g=a;h=1}T4(g,d,e,q,h,0,p);m=q+4|0;b=c[q>>2]|0;if(!((h|0)==1&(b|0)==1&(c[m>>2]|0)==0))do{if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){k=f;f=0;do{f=f+1|0;k=k>>>1}while((k&1|0)==0);if(!f)r=24}else r=24;if((r|0)==24){r=0;l=c[n>>2]|0;if(!l){f=64;r=30;break}if(!(l&1)){f=l;k=0}else{k=0;a=l;f=0;break}while(1){a=k+1|0;f=f>>>1;if(f&1){f=a;break}else k=a}if(!f){k=0;a=l;f=0;break}else f=k+33|0}if(f>>>0>31)r=30;else{k=f;a=c[n>>2]|0}}else{f=32;r=30}while(0);if((r|0)==30){r=0;b=c[n>>2]|0;c[q>>2]=b;c[n>>2]=0;k=f+-32|0;a=0}c[q>>2]=a<<32-k|b>>>k;c[n>>2]=a>>>k;g=g+o|0;h=f+h|0}else{k=b>>>30;a=k|c[n>>2]<<2;l=h+-2|0;c[q>>2]=(b<<1&2147483646|k<<31)^3;c[n>>2]=a>>>1;T4(g+(0-((c[p+(l<<2)>>2]|0)+d))|0,d,e,q,h+-1|0,1,p);h=c[q>>2]|0;c[n>>2]=h>>>31|c[n>>2]<<1;c[q>>2]=h<<1|1;g=g+o|0;T4(g,d,e,q,l,1,p);h=l}b=c[q>>2]|0}while(!((h|0)==1&(b|0)==1&(c[m>>2]|0)==0))}i=s;return}function Q3(a,b){a=a|0;b=b|0;return +(+U4(a,b,1))}function R3(a,b,c){a=a|0;b=b|0;c=c|0;a=V4(a,b,c,-1,0)|0;return a|0}function S3(a,b,c){a=a|0;b=b|0;c=c|0;a=V4(a,b,c,-2147483648,0)|0;return a|0}function T3(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){i=6;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);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=_(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)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}}}}while(0);return ((e|0)!=0?b:0)|0}function U3(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{f=d;e=b;while(1){d=a[e>>0]|0;b=a[c>>0]|0;if(d<<24>>24!=b<<24>>24)break;f=f+-1|0;if(!f){b=0;break a}else{e=e+1|0;c=c+1|0}}b=(d&255)-(b&255)|0}while(0);return b|0}function V3(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function W3(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function X3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){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;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}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);p5(b|0,0,e|0)|0;return b|0}function Y3(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;e=a[b>>0]|0;a:do if(!(e<<24>>24))e=0;else{g=e;f=e&255;while(1){e=a[c>>0]|0;if(!(e<<24>>24)){e=g;break a}if(g<<24>>24!=e<<24>>24?(g=_1(f)|0,(g|0)!=(_1(d[c>>0]|0)|0)):0)break;b=b+1|0;c=c+1|0;e=a[b>>0]|0;if(!(e<<24>>24)){e=0;break a}else{g=e;f=e&255}}e=a[b>>0]|0}while(0);g=_1(e&255)|0;return g-(_1(d[c>>0]|0)|0)|0}function Z3(a,b){a=a|0;b=b|0;b4(a+(e4(a)|0)|0,b)|0;return a|0}function _3(b,c){b=b|0;c=c|0;b=$3(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function $3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(e4(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=_(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)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==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 a4(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function b4(a,b){a=a|0;b=b|0;W3(a,b)|0;return a|0}function c4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();f=g;e=a[d>>0]|0;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{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}else d=($3(b,e<<24>>24)|0)-b|0;i=g;return d|0}function d4(a){a=a|0;var b=0,c=0;c=(e4(a)|0)+1|0;b=A1(c)|0;if(!b)b=0;else n5(b|0,a|0,c|0)|0;return b|0}function e4(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 f4(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else{h=f;g=f&255;while(1){e=e+-1|0;f=a[c>>0]|0;if(!((e|0)!=0&f<<24>>24!=0)){f=h;break a}if(h<<24>>24!=f<<24>>24?(h=_1(g)|0,(h|0)!=(_1(d[c>>0]|0)|0)):0)break;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break a}else{h=f;g=f&255}}f=a[b>>0]|0}while(0);h=_1(f&255)|0;c=h-(_1(d[c>>0]|0)|0)|0}return c|0}function g4(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function h4(a,b,c){a=a|0;b=b|0;c=c|0;X3(a,b,c)|0;return a|0}function i4(b,c){b=b|0;c=c|0;b=b+(c4(b,c)|0)|0;return ((a[b>>0]|0)!=0?b:0)|0}function j4(a,b){a=a|0;b=b|0;return V3(a,b,(e4(a)|0)+1|0)|0}function k4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;if((i|0)>=(j|0))ba();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);i=g;return d|0}function l4(b,e){b=b|0;e=e|0;var f=0,g=0,h=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=i;i=i+1056|0;if((i|0)>=(j|0))ba();w=y+1024|0;x=y;h=a[e>>0]|0;do if(h<<24>>24){v=_3(b,h<<24>>24)|0;if(v){g=a[e+1>>0]|0;if(g<<24>>24){f=v+1|0;p=a[f>>0]|0;if(p<<24>>24){k=a[e+2>>0]|0;if(!(k<<24>>24)){l=g&255|(h&255)<<8;b=p;k=v;g=d[v>>0]<<8|p&255;while(1){h=g&65535;if((h|0)==(l|0)){f=k;break}b=f+1|0;g=a[b>>0]|0;if(!(g<<24>>24)){b=0;break}else{k=f;f=b;b=g;g=g&255|h<<8}}b=b<<24>>24!=0?f:0;break}f=v+2|0;o=a[f>>0]|0;if(o<<24>>24){l=a[e+3>>0]|0;if(!(l<<24>>24)){k=(g&255)<<16|(h&255)<<24|(k&255)<<8;b=(o&255)<<8|(p&255)<<16|d[v>>0]<<24;if((b|0)==(k|0))b=o;else{g=b;do{f=f+1|0;b=a[f>>0]|0;g=(b&255|g)<<8}while(!(b<<24>>24==0|(g|0)==(k|0)))}b=b<<24>>24!=0?f+-2|0:0;break}f=v+3|0;b=a[f>>0]|0;if(b<<24>>24){if(!(a[e+4>>0]|0)){l=(g&255)<<16|(h&255)<<24|(k&255)<<8|l&255;g=(o&255)<<8|(p&255)<<16|b&255|d[v>>0]<<24;if((g|0)!=(l|0))do{f=f+1|0;b=a[f>>0]|0;g=b&255|g<<8}while(!(b<<24>>24==0|(g|0)==(l|0)));b=b<<24>>24!=0?f+-3|0:0;break};c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[w+24>>2]=0;c[w+28>>2]=0;k=0;while(1){if(!(a[v+k>>0]|0)){b=0;break}g=w+(((h&255)>>>5&255)<<2)|0;c[g>>2]=c[g>>2]|1<<(h&31);g=k+1|0;c[x+((h&255)<<2)>>2]=g;h=a[e+g>>0]|0;if(!(h<<24>>24)){u=k;n=23;break}else k=g}a:do if((n|0)==23){b:do if(g>>>0>1){h=1;p=-1;k=0;c:while(1){m=1;while(1){d:while(1){f=1;while(1){b=a[e+(f+p)>>0]|0;l=a[e+h>>0]|0;if(b<<24>>24!=l<<24>>24){n=h;h=b;break d}if((f|0)==(m|0))break;f=f+1|0;h=f+k|0;if(h>>>0>=g>>>0){k=p;t=m;break c}}k=k+m|0;h=k+1|0;if(h>>>0>=g>>>0){k=p;t=m;break c}}m=n-p|0;if((h&255)<=(l&255))break;k=n+1|0;if(k>>>0>>0){h=k;k=n}else{k=p;t=m;break c}}h=k+2|0;if(h>>>0>=g>>>0){t=1;break}else{p=k;k=k+1|0}}l=1;f=-1;h=0;while(1){b=h;h=1;while(1){e:while(1){m=1;while(1){n=a[e+(m+f)>>0]|0;o=a[e+l>>0]|0;if(n<<24>>24!=o<<24>>24){p=l;m=n;l=o;break e}if((m|0)==(h|0))break;m=m+1|0;l=m+b|0;if(l>>>0>=g>>>0){l=t;break b}}b=b+h|0;l=b+1|0;if(l>>>0>=g>>>0){l=t;break b}}h=p-f|0;if((m&255)>=(l&255)){h=b;break}l=p+1|0;if(l>>>0>>0)b=p;else{l=t;break b}}l=h+2|0;if(l>>>0>=g>>>0){f=h;l=t;h=1;break}else{f=h;h=h+1|0}}}else{k=-1;f=-1;l=1;h=1}while(0);s=(f+1|0)>>>0>(k+1|0)>>>0;l=s?h:l;s=s?f:k;r=s+1|0;if(!(U3(e,e+l|0,r)|0))t=g-l|0;else{l=g-s+-1|0;t=0;l=(s>>>0>l>>>0?s:l)+1|0}h=g|63;f=(t|0)!=0;q=g-l|0;b=v;k=0;m=v;f:while(1){o=b;do if((m-o|0)>>>0>>0){n=T3(m,0,h)|0;if(n)if((n-o|0)>>>0>>0){b=0;break a}else{p=n;break}else{p=m+h|0;break}}else p=m;while(0);n=a[b+u>>0]|0;if(!(1<<(n&31)&c[w+(((n&255)>>>5&255)<<2)>>2])){b=b+g|0;k=0;m=p;continue}v=c[x+((n&255)<<2)>>2]|0;n=g-v|0;if((g|0)!=(v|0)){b=b+(f&(k|0)!=0&n>>>0>>0?q:n)|0;k=0;m=p;continue}m=r>>>0>k>>>0?r:k;o=a[e+m>>0]|0;g:do if(!(o<<24>>24))n=r;else{while(1){if(o<<24>>24!=(a[b+m>>0]|0))break;m=m+1|0;o=a[e+m>>0]|0;if(!(o<<24>>24)){n=r;break g}}b=b+(m-s)|0;k=0;m=p;continue f}while(0);do{if(n>>>0<=k>>>0)break a;n=n+-1|0}while((a[e+n>>0]|0)==(a[b+n>>0]|0));b=b+l|0;k=t;m=p}}while(0)}else b=0}else b=0}else b=0}else b=v}else b=0}while(0);i=y;return b|0}function m4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(!b){b=c[25001]|0;if(!b)b=0;else{g=b;f=3}}else{g=b;f=3}do if((f|0)==3){e=k4(g,d)|0;b=g+e|0;if(!(a[b>>0]|0)){c[25001]=0;b=0;break}e=(c4(b,d)|0)+e|0;f=g+e|0;c[25001]=f;if(!(a[f>>0]|0)){c[25001]=0;break}else{c[25001]=g+(e+1);a[f>>0]=0;break}}while(0);return b|0}function n4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!b){b=c[e>>2]|0;if(!b)b=0;else{h=b;g=3}}else{h=b;g=3}do if((g|0)==3){f=k4(h,d)|0;b=h+f|0;if(!(a[b>>0]|0)){c[e>>2]=0;b=0;break}f=(c4(b,d)|0)+f|0;g=h+f|0;c[e>>2]=g;if(!(a[g>>0]|0)){c[e>>2]=0;break}else{c[e>>2]=h+(f+1);a[g>>0]=0;break}}while(0);return b|0}function o4(a,b){a=a|0;b=b|0;var d=0;if(!b)a=a+((p4(a)|0)<<2)|0;else{d=a;while(1){a=c[d>>2]|0;if((a|0)==0|(a|0)==(b|0))break;else d=d+4|0}a=(a|0)!=0?d:0}return a|0}function p4(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function q4(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;if((i|0)>=(j|0))ba();e=d;c[e>>2]=a;c[e+4>>2]=b;a=j2(Ab(33,e|0)|0)|0;i=d;return a|0}function r4(){var a=0,b=0;a=i;i=i+16|0;if((i|0)>=(j|0))ba();b=cb(20,a|0)|0;i=a;return b|0}function s4(){var a=0;do if(!(c[24864]|0)){a=pb(30)|0;if(!(a+-1&a)){c[24866]=a;c[24865]=a;c[24867]=-1;c[24868]=-1;c[24869]=0;c[24857]=0;c[24864]=(Mb(0)|0)&-16^1431655768;break}else $a()}while(0);return}function t4(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;q=a+4|0;r=c[q>>2]|0;l=r&-8;m=a+l|0;k=c[24750]|0;g=r&3;if((g|0)!=1&a>>>0>=k>>>0&a>>>0>>0?(f=a+(l|4)|0,e=c[f>>2]|0,(e&1|0)!=0):0){do if(!g)if(b>>>0<256)a=0;else{if(l>>>0>=(b+4|0)>>>0?(l-b|0)>>>0<=c[24866]<<1>>>0:0)break;a=0}else{if(l>>>0>=b>>>0){e=l-b|0;if(e>>>0<=15)break;c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=e|3;c[f>>2]=c[f>>2]|1;u4(a+b|0,e);break}if((m|0)==(c[24752]|0)){e=(c[24749]|0)+l|0;if(e>>>0<=b>>>0){a=0;break}p=e-b|0;c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=p|1;c[24752]=a+b;c[24749]=p;break}if((m|0)==(c[24751]|0)){e=(c[24748]|0)+l|0;if(e>>>0>>0){a=0;break}d=e-b|0;if(d>>>0>15){c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[q>>2]=r&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[24748]=d;c[24751]=e;break}if((e&2|0)==0?(p=(e&-8)+l|0,p>>>0>=b>>>0):0){o=p-b|0;f=e>>>3;do if(e>>>0>=256){j=c[a+(l+24)>>2]|0;g=c[a+(l+12)>>2]|0;do if((g|0)==(m|0)){d=a+(l+20)|0;e=c[d>>2]|0;if(!e){d=a+(l+16)|0;e=c[d>>2]|0;if(!e){n=0;break}}while(1){f=e+20|0;g=c[f>>2]|0;if(g){e=g;d=f;continue}g=e+16|0;f=c[g>>2]|0;if(!f)break;else{e=f;d=g}}if(d>>>0>>0)$a();else{c[d>>2]=0;n=e;break}}else{e=c[a+(l+8)>>2]|0;if((e>>>0>=k>>>0?(d=e+12|0,(c[d>>2]|0)==(m|0)):0)?(i=g+8|0,(c[i>>2]|0)==(m|0)):0){c[d>>2]=g;c[i>>2]=e;n=g;break}$a()}while(0);if(j){e=c[a+(l+28)>>2]|0;d=99288+(e<<2)|0;if((m|0)==(c[d>>2]|0)){c[d>>2]=n;if(!n){c[24747]=c[24747]&~(1<>>0<(c[24750]|0)>>>0)$a();e=j+16|0;if((c[e>>2]|0)==(m|0))c[e>>2]=n;else c[j+20>>2]=n;if(!n)break}d=c[24750]|0;if(n>>>0>>0)$a();c[n+24>>2]=j;e=c[a+(l+16)>>2]|0;do if(e)if(e>>>0>>0)$a();else{c[n+16>>2]=e;c[e+24>>2]=n;break}while(0);e=c[a+(l+20)>>2]|0;if(e)if(e>>>0<(c[24750]|0)>>>0)$a();else{c[n+20>>2]=e;c[e+24>>2]=n;break}}}else{g=c[a+(l+8)>>2]|0;e=c[a+(l+12)>>2]|0;d=99024+(f<<1<<2)|0;do if((g|0)!=(d|0)){if(g>>>0>=k>>>0?(c[g+12>>2]|0)==(m|0):0)break;$a()}while(0);if((e|0)==(g|0)){c[24746]=c[24746]&~(1<>>0>=k>>>0?(j=e+8|0,(c[j>>2]|0)==(m|0)):0){h=j;break}$a()}while(0);c[g+12>>2]=e;c[h>>2]=g}while(0);if(o>>>0<16){c[q>>2]=p|r&1|2;b=a+(p|4)|0;c[b>>2]=c[b>>2]|1;break}else{c[q>>2]=r&1|b|2;c[a+(b+4)>>2]=o|3;r=a+(p|4)|0;c[r>>2]=c[r>>2]|1;u4(a+b|0,o);break}}else a=0}while(0);return a|0}$a();return 0}function u4(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;u=a+b|0;h=c[a+4>>2]|0;do if(!(h&1)){m=c[a>>2]|0;if(h&3){o=a+(0-m)|0;h=m+b|0;l=c[24750]|0;if(o>>>0>>0)$a();if((o|0)==(c[24751]|0)){f=a+(b+4)|0;g=c[f>>2]|0;if((g&3|0)!=3){p=54;break}c[24748]=h;c[f>>2]=g&-2;c[a+(4-m)>>2]=h|1;c[u>>2]=h;break}d=m>>>3;if(m>>>0<256){e=c[a+(8-m)>>2]|0;g=c[a+(12-m)>>2]|0;f=99024+(d<<1<<2)|0;do if((e|0)!=(f|0)){if(e>>>0>=l>>>0?(c[e+12>>2]|0)==(o|0):0)break;$a()}while(0);if((g|0)==(e|0)){c[24746]=c[24746]&~(1<>>0>=l>>>0?(j=g+8|0,(c[j>>2]|0)==(o|0)):0){i=j;break}$a()}while(0);c[e+12>>2]=g;c[i>>2]=e;p=54;break}j=c[a+(24-m)>>2]|0;g=c[a+(12-m)>>2]|0;do if((g|0)==(o|0)){e=16-m|0;f=a+(e+4)|0;g=c[f>>2]|0;if(!g){f=a+e|0;g=c[f>>2]|0;if(!g){n=0;break}}while(1){e=g+20|0;d=c[e>>2]|0;if(d){g=d;f=e;continue}e=g+16|0;d=c[e>>2]|0;if(!d)break;else{g=d;f=e}}if(f>>>0>>0)$a();else{c[f>>2]=0;n=g;break}}else{f=c[a+(8-m)>>2]|0;if((f>>>0>=l>>>0?(e=f+12|0,(c[e>>2]|0)==(o|0)):0)?(k=g+8|0,(c[k>>2]|0)==(o|0)):0){c[e>>2]=g;c[k>>2]=f;n=g;break}$a()}while(0);if(j){g=c[a+(28-m)>>2]|0;f=99288+(g<<2)|0;if((o|0)==(c[f>>2]|0)){c[f>>2]=n;if(!n){c[24747]=c[24747]&~(1<>>0<(c[24750]|0)>>>0)$a();g=j+16|0;if((c[g>>2]|0)==(o|0))c[g>>2]=n;else c[j+20>>2]=n;if(!n){p=54;break}}e=c[24750]|0;if(n>>>0>>0)$a();c[n+24>>2]=j;g=16-m|0;f=c[a+g>>2]|0;do if(f)if(f>>>0>>0)$a();else{c[n+16>>2]=f;c[f+24>>2]=n;break}while(0);g=c[a+(g+4)>>2]|0;if(g)if(g>>>0<(c[24750]|0)>>>0)$a();else{c[n+20>>2]=g;c[g+24>>2]=n;p=54;break}else p=54}else p=54}}else{o=a;h=b;p=54}while(0);a:do if((p|0)==54){j=c[24750]|0;if(u>>>0>>0)$a();g=a+(b+4)|0;f=c[g>>2]|0;if(!(f&2)){if((u|0)==(c[24752]|0)){y=(c[24749]|0)+h|0;c[24749]=y;c[24752]=o;c[o+4>>2]=y|1;if((o|0)!=(c[24751]|0))break;c[24751]=0;c[24748]=0;break}if((u|0)==(c[24751]|0)){y=(c[24748]|0)+h|0;c[24748]=y;c[24751]=o;c[o+4>>2]=y|1;c[o+y>>2]=y;break}i=(f&-8)+h|0;e=f>>>3;do if(f>>>0>=256){k=c[a+(b+24)>>2]|0;h=c[a+(b+12)>>2]|0;do if((h|0)==(u|0)){g=a+(b+20)|0;h=c[g>>2]|0;if(!h){g=a+(b+16)|0;h=c[g>>2]|0;if(!h){v=0;break}}while(1){f=h+20|0;e=c[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=c[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0>>0)$a();else{c[g>>2]=0;v=h;break}}else{g=c[a+(b+8)>>2]|0;if((g>>>0>=j>>>0?(s=g+12|0,(c[s>>2]|0)==(u|0)):0)?(t=h+8|0,(c[t>>2]|0)==(u|0)):0){c[s>>2]=h;c[t>>2]=g;v=h;break}$a()}while(0);if(k){h=c[a+(b+28)>>2]|0;g=99288+(h<<2)|0;if((u|0)==(c[g>>2]|0)){c[g>>2]=v;if(!v){c[24747]=c[24747]&~(1<>>0<(c[24750]|0)>>>0)$a();h=k+16|0;if((c[h>>2]|0)==(u|0))c[h>>2]=v;else c[k+20>>2]=v;if(!v)break}h=c[24750]|0;if(v>>>0>>0)$a();c[v+24>>2]=k;g=c[a+(b+16)>>2]|0;do if(g)if(g>>>0>>0)$a();else{c[v+16>>2]=g;c[g+24>>2]=v;break}while(0);e=c[a+(b+20)>>2]|0;if(e)if(e>>>0<(c[24750]|0)>>>0)$a();else{c[v+20>>2]=e;c[e+24>>2]=v;break}}}else{f=c[a+(b+8)>>2]|0;h=c[a+(b+12)>>2]|0;g=99024+(e<<1<<2)|0;do if((f|0)!=(g|0)){if(f>>>0>=j>>>0?(c[f+12>>2]|0)==(u|0):0)break;$a()}while(0);if((h|0)==(f|0)){c[24746]=c[24746]&~(1<>>0>=j>>>0?(r=h+8|0,(c[r>>2]|0)==(u|0)):0){q=r;break}$a()}while(0);c[f+12>>2]=h;c[q>>2]=f}while(0);c[o+4>>2]=i|1;c[o+i>>2]=i;if((o|0)==(c[24751]|0)){c[24748]=i;break}else h=i}else{c[g>>2]=f&-2;c[o+4>>2]=h|1;c[o+h>>2]=h}g=h>>>3;if(h>>>0<256){f=g<<1;h=99024+(f<<2)|0;d=c[24746]|0;e=1<>2]|0;if(d>>>0<(c[24750]|0)>>>0)$a();else{w=e;x=d}}else{c[24746]=d|e;w=99024+(f+2<<2)|0;x=h}c[w>>2]=o;c[x+12>>2]=o;c[o+8>>2]=x;c[o+12>>2]=h;break}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{w=(d+1048320|0)>>>16&8;x=d<>>16&4;x=x<>>16&2;g=14-(b|w|g)+(x<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;e=99288+(g<<2)|0;c[o+28>>2]=g;c[o+20>>2]=0;c[o+16>>2]=0;d=c[24747]|0;f=1<>2]=o;c[o+24>>2]=e;c[o+12>>2]=o;c[o+8>>2]=o;break}e=c[e>>2]|0;b:do if((c[e+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){d=e+16+(g>>>31<<2)|0;f=c[d>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){y=f;break b}else{g=g<<1;e=f}}if(d>>>0<(c[24750]|0)>>>0)$a();else{c[d>>2]=o;c[o+24>>2]=e;c[o+12>>2]=o;c[o+8>>2]=o;break a}}else y=e;while(0);d=y+8|0;e=c[d>>2]|0;x=c[24750]|0;if(e>>>0>=x>>>0&y>>>0>=x>>>0){c[e+12>>2]=o;c[d>>2]=o;c[o+8>>2]=e;c[o+12>>2]=y;c[o+24>>2]=0;break}else $a()}while(0);return}function v4(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=(f<<1)+-1|0;k=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(N1(c)|0)==0)))){h=(f|0)!=0;if(h&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(h^1)){if((c|0)>11557)switch(c|0){case 11559:case 11565:break;default:break a}c=c+-7264|0;break}else j=0;do{g=a[104528+(j<<2)+2>>0]|0;h=g<<24>>24;i=c-(e[104528+(j<<2)>>1]|0)|0;if((i-(h&k)|0)>>>0<(d[104528+(j<<2)+3>>0]|0)>>>0){m=13;break}j=j+1|0}while((j|0)!=61);if((m|0)==13)if(g<<24>>24==1){c=f+c-(i&1)|0;break}else{c=(_(h,l)|0)+c|0;break}i=1-f|0;g=b[104036+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0)){c=h;break}h=h+1|0;g=b[104036+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[104036+(c<<2)+(f<<1)>>1]|0;break a}while(0);if((c+-66600+(f*40|0)|0)>>>0<40)c=c+-40+(f*80|0)|0}while(0);return c|0}function w4(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;f=c[h>>2]|0;i=a+100|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=d[f>>0]|0}else f=i2(a)|0;switch(f|0){case 43:case 45:{e=(f|0)==45&1;f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=d[f>>0]|0}else f=i2(a)|0;if((b|0)!=0&(f+-48|0)>>>0>9?(c[i>>2]|0)!=0:0){c[h>>2]=(c[h>>2]|0)+-1;g=e}else g=e;break}default:g=0}if((f+-48|0)>>>0>9)if(!(c[i>>2]|0)){f=-2147483648;e=0}else{c[h>>2]=(c[h>>2]|0)+-1;f=-2147483648;e=0}else{e=0;do{e=f+-48+(e*10|0)|0;f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=d[f>>0]|0}else f=i2(a)|0}while((f+-48|0)>>>0<10&(e|0)<214748364);b=((e|0)<0)<<31>>31;if((f+-48|0)>>>0<10)do{b=w5(e|0,b|0,10,0)|0;e=C;f=j5(f|0,((f|0)<0)<<31>>31|0,-48,-1)|0;e=j5(f|0,C|0,b|0,e|0)|0;b=C;f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=d[f>>0]|0}else f=i2(a)|0}while((f+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&e>>>0<2061584302));if((f+-48|0)>>>0<10)do{f=c[h>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[h>>2]=f+1;f=d[f>>0]|0}else f=i2(a)|0}while((f+-48|0)>>>0<10);if(c[i>>2]|0)c[h>>2]=(c[h>>2]|0)+-1;i=(g|0)!=0;a=i5(0,0,e|0,b|0)|0;f=i?C:b;e=i?a:e}C=f;return e|0}function x4(b){b=b|0;var d=0,e=0,f=0,g=0,h=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;Z=i;i=i+432|0;if((i|0)>=(j|0))ba();R=Z+272|0;Q=Z+264|0;Y=Z+260|0;W=Z+320|0;S=Z+256|0;T=Z;X=Z+268|0;U=Z+416|0;V=Z+384|0;H=c[b+4>>2]|0;K=H+12|0;M=c[K>>2]|0;if(!(c[b+40>>2]|0)){J=b+20|0;c[Q>>2]=c[J>>2];c[R>>2]=c[Q>>2];z4(H,R)|0;c[Q>>2]=2;c[R>>2]=c[Q>>2];z4(H,R)|0;c[J>>2]=(c[J>>2]|0)+1}c[Q>>2]=0;c[R>>2]=c[Q>>2];d=z4(H,R)|0;I=b+12|0;J=b+16|0;c[J>>2]=c[I>>2];g=c[K>>2]|0;f=(d|0)==0;a:do if(!((d|0)!=0|f&(g|0)>(M|0)^1)){v=H+16|0;w=b+36|0;x=b+24|0;y=b+20|0;z=b+28|0;A=U+1|0;B=R+12|0;C=R+40|0;D=R+24|0;E=R+8|0;h=g;g=0;e=0;b:while(1){u=h+-1|0;c[K>>2]=u;f=c[v>>2]|0;c:do switch(c[f+(u<<2)>>2]|0){case 0:{if((c[w>>2]&1|0)!=0?(c[Q>>2]=7,c[R>>2]=c[Q>>2],N=z4(H,R)|0,(N|0)!=0):0){d=N;break c}c[Q>>2]=3;c[R>>2]=c[Q>>2];d=z4(H,R)|0;break}case 3:{c[Q>>2]=5;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(!d){c[Q>>2]=4;c[R>>2]=c[Q>>2];d=z4(H,R)|0}break}case 4:{c[Q>>2]=9;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(!d){c[Q>>2]=1;c[R>>2]=c[Q>>2];d=z4(H,R)|0}break}case 5:{h=c[I>>2]|0;f=a[h>>0]|0;if(f<<24>>24!=0?(O=c[w>>2]&1,P=(O|0)!=0,!(f<<24>>24==124&P)):0){do if(!((e|0)>0&(f<<24>>24==41&P))){if(f<<24>>24==92&(O|0)==0?(a[h+1>>0]|0)==41:0)break;c[Q>>2]=5;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(d)break c;c[Q>>2]=g;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(d)break c;c[Q>>2]=6;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(d)break c;c[Q>>2]=4;c[R>>2]=c[Q>>2];d=z4(H,R)|0;break c}while(0);d=(O|e|0)==0?8:0;e=e+-1|0;if(!O)c[I>>2]=h+2}else d=0;break}case 6:{u=h+-2|0;c[K>>2]=u;g=B4(c[b>>2]|0,c[f+(u<<2)>>2]|0,g)|0;if(!g){d=12;break a}d=0;break}case 7:{f=c[I>>2]|0;switch(a[f>>0]|0){case 124:break;case 41:{c[I>>2]=f+1;d=0;break c}default:{d=0;break c}}c[Q>>2]=7;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(!d){c[Q>>2]=g;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(!d){c[Q>>2]=8;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(!d){c[Q>>2]=3;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(!d){c[I>>2]=(c[I>>2]|0)+1;d=0}}}}break}case 8:{u=h+-2|0;c[K>>2]=u;g=E4(c[b>>2]|0,c[f+(u<<2)>>2]|0,g)|0;if(!g){d=12;break a}d=0;break}case 9:{h=c[I>>2]|0;f=a[h>>0]|0;switch(f<<24>>24|0){case 63:case 43:{if(!(c[w>>2]&1)){d=0;break c}else F=38;break}case 42:{F=38;break}case 92:{d=c[w>>2]|0;if(d&1){d=0;break c}f=h+1|0;if((a[f>>0]|0)!=123){d=0;break c}c[I>>2]=f;break}case 123:{d=c[w>>2]|0;if(!(d&1)){d=0;break c}else f=h;break}default:{d=0;break c}}if((F|0)==38){F=0;c[I>>2]=h+1;g=C4(c[b>>2]|0,g,f<<24>>24==43&1,f<<24>>24==63?1:-1,0)|0;if(!g){d=12;break a}c[Q>>2]=9;c[R>>2]=c[Q>>2];d=z4(H,R)|0;break c}t=f+1|0;c[I>>2]=t;h=a[t>>0]|0;if((h+-48&255)<10){f=h<<24>>24;if((f+-48|0)>>>0<10){m=f;l=-1;f=t}else{d=10;break a}while(1){l=((l|0)<0?-48:(l*10|0)+-48|0)+m|0;k=f+1|0;h=a[k>>0]|0;m=h<<24>>24;if((m+-48|0)>>>0>=10)break;else f=k}}else{k=t;l=-1}if(h<<24>>24==44){k=f+2|0;h=a[k>>0]|0;f=h<<24>>24;if((f+-48|0)>>>0<10){h=-1;while(1){m=((h|0)<0?-48:(h*10|0)+-48|0)+f|0;k=k+1|0;h=a[k>>0]|0;f=h<<24>>24;if((f+-48|0)>>>0>=10){F=50;break}else h=m}}else m=-1}else{m=l;F=50}if((F|0)==50){F=0;if((m|0)>-1?(l|0)>(m|0)|(m|0)>255:0){d=10;break a}}if(!(h<<24>>24)){d=9;break a}if((k|0)==(t|0)){d=10;break a}if(!(d&1)){if(h<<24>>24!=92){d=10;break a}if((a[k+1>>0]|0)!=125){d=10;break a}f=k+2|0}else{if(h<<24>>24!=125){d=10;break a}f=k+1|0}if(m|l){u=(m&l|0)<0;g=C4(c[b>>2]|0,g,u?1:l,u?1:m,0)|0;if(!g){d=12;break a}}else{g=D4(c[b>>2]|0,0,20)|0;if(!g){d=12;break a}u=c[g+4>>2]|0;c[u>>2]=-1;c[u+4>>2]=-1;c[u+8>>2]=-1}c[I>>2]=f;c[Q>>2]=9;c[R>>2]=c[Q>>2];d=z4(H,R)|0;break}case 1:{n=c[I>>2]|0;d:do switch(a[n>>0]|0){case 40:{if(!(c[w>>2]&1))g=n;else{f=n;F=67}break}case 91:{g=n+1|0;c[I>>2]=g;u=A1(128)|0;c[S>>2]=u;if(!u){F=72;break b}if((a[g>>0]|0)==94){g=n+2|0;c[I>>2]=g;u=1}else u=0;c[R>>2]=0;c[Q>>2]=32;f=0;e:while(1){switch(a[g>>0]|0){case 0:{d=7;break e}case 93:{if(g>>>0>(c[I>>2]|0)>>>0){F=79;break e}break}default:{}}d=G2(Y,g,-1)|0;if((d|0)<0){c[Y>>2]=-1;d=1}m=g+d|0;if((a[m>>0]|0)==45?(G=d+1|0,L=g+G|0,(a[L>>0]|0)!=93):0){l=c[Y>>2]|0;h=G2(Y,L,-1)|0;if((h|0)<0){c[Y>>2]=-1;m=-1;h=1}else m=c[Y>>2]|0;g=g+(h+G)|0;if(l>>>0>m>>>0){d=11;break}else{k=0;F=102}}else{f:do switch(a[g>>0]|0){case 91:{switch(a[g+1>>0]|0){case 61:case 46:{d=3;break e}case 58:break;default:{d=0;F=97;break f}}h=g+2|0;l=h;while(1){t=a[l>>0]|0;d=t<<24>>24==0;if(t<<24>>24!=58&(d^1))l=l+1|0;else break}if(d){k=0;d=4}else{d=l-g+-2|0;d=(d|0)>63?63:d;h4(W,h,d)|0;a[W+d>>0]=0;d=R1(W)|0;k=d;g=l+2|0;d=(d|0)==0?4:0}n=1114111;l=0;break}case 45:{if((a[g+1>>0]|0)==93){d=0;F=97}else{d=(c[I>>2]|0)==(g|0)?0:11;F=97}break}default:{d=0;F=97}}while(0);if((F|0)==97){F=0;l=c[Y>>2]|0;k=0;n=l;g=m}if(d)break;if(u&(k|0)!=0)if((f|0)>63){m=n;d=12}else{c[T+(f<<2)>>2]=k;f=f+1|0;m=n;d=0}else{m=n;F=102}}if((F|0)==102){F=0;d=f5(c[b>>2]|0,l,m,R,Q,S)|0;if(d)break;c[(c[(c[(c[S>>2]|0)+((c[R>>2]|0)+-1<<2)>>2]|0)+4>>2]|0)+12>>2]=k;d=0}if((d|k|0)!=0|(c[w>>2]&2|0)==0)if(!d)continue;else break;while(1){if(l>>>0>m>>>0)break;if(!(U1(l)|0)){k=l+1|0;if(!(Y1(l)|0))l=k;else{n=b2(l)|0;g:do if(!(Y1(k)|0)){h=n;l=k}else{h=n;while(1){if(k>>>0>m>>>0|(b2(k)|0)!=(h+1|0)){l=k;break g}l=k+1|0;h=b2(k)|0;if(!(Y1(l)|0))break;else k=l}}while(0);d=f5(c[b>>2]|0,n,h,R,Q,S)|0}}else{n=a2(l)|0;l=l+1|0;h:do if(!(U1(l)|0))k=n;else{k=n;do{if(l>>>0>m>>>0|(a2(l)|0)!=(k+1|0))break h;k=a2(l)|0;l=l+1|0}while((U1(l)|0)!=0)}while(0);d=f5(c[b>>2]|0,n,k,R,Q,S)|0}if(!d)d=0;else break e}if(d)break}if((F|0)==79){F=0;g=g+1|0;d=0}t=c[R>>2]|0;c[I>>2]=g;i:do if(!d){if(u)P3(c[S>>2]|0,t,4,111);if((t|0)>0){p=(f|0)>0;q=f<<2;r=q+4|0;o=c[S>>2]|0;d=0;m=0;s=0;g=0;while(1){l=c[(c[o+(s<<2)>>2]|0)+4>>2]|0;n=c[l>>2]|0;k=l+4|0;h=c[k>>2]|0;do if(u){if((n|0)<(d|0)){n=h+1|0;l=o;n=(n|0)>=(d|0)?n:d;d=0;break}if((n|0)>(m|0)){c[l>>2]=m;c[k>>2]=n+-1}else l=0;m=h+1|0;d=m;F=129}else F=129;while(0);do if((F|0)==129){F=0;if(l){c[l+8>>2]=c[x>>2];if(p){n=U2(c[b>>2]|0,0,0,0,r)|0;l=l+16|0;c[l>>2]=n;if(!n){d=12;break i}n5(n|0,T|0,q|0)|0;c[(c[l>>2]|0)+(f<<2)>>2]=0}else c[l+16>>2]=0;if(!g){g=c[S>>2]|0;l=g;n=d;g=c[g+(s<<2)>>2]|0;d=0;break}else{l=c[S>>2]|0;o=E4(c[b>>2]|0,g,c[l+(s<<2)>>2]|0)|0;n=d;g=o;d=(o|0)==0?12:0;break}}else{l=o;n=d;d=0}}while(0);s=s+1|0;if(!((s|0)<(t|0)&(d|0)==0)){n=g;break}else{o=l;d=n}}}else{m=0;n=0;d=0}if(u&(d|0)==0){h=c[x>>2]|0;g=D4(c[b>>2]|0,0,20)|0;if(g){l=c[g+4>>2]|0;c[l>>2]=m;c[l+4>>2]=1114111;c[l+8>>2]=h;if((f|0)>0){d=f<<2;k=U2(c[b>>2]|0,0,0,0,d+4|0)|0;h=l+16|0;c[h>>2]=k;if(!k){g=n;d=12;break}n5(k|0,T|0,d|0)|0;c[(c[h>>2]|0)+(f<<2)>>2]=0}else c[l+16>>2]=0;if(!n)d=0;else{d=E4(c[b>>2]|0,n,g)|0;g=d;d=(d|0)==0?12:0}}else{g=n;d=12}}else g=n}else g=0;while(0);B1(c[S>>2]|0);c[x>>2]=(c[x>>2]|0)+1;if(!d){d=0;break c}else break a}case 92:{f=n+1|0;h=a[f>>0]|0;do if(!(c[w>>2]&1))if(h<<24>>24!=40){f=n+1|0;g=a[f>>0]|0;if(g<<24>>24==41){F=210;break d}else{h=g;break}}else{c[I>>2]=f;F=67;break d}while(0);m=h<<24>>24==0;if(m){d=5;break a}else{g=100348;l=0}do{if((a[100344+(l<<3)>>0]|0)==h<<24>>24)break;l=l+1|0;g=100344+(l<<3)+4|0}while((l|0)!=12);k=c[g>>2]|0;if(k){g=R;f=b;d=g+40|0;do{c[g>>2]=c[f>>2];g=g+4|0;f=f+4|0}while((g|0)<(d|0));c[B>>2]=k;c[C>>2]=1;d=x4(R)|0;if(d){F=156;break b}c[I>>2]=(c[I>>2]|0)+2;c[x>>2]=c[D>>2];g=c[E>>2]|0;d=0;break c}if(m){d=5;break a}c[I>>2]=f;g=a[f>>0]|0;j:do switch(g|0){case 98:{g=D4(c[b>>2]|0,0,20)|0;if(!g)g=0;else{u=c[g+4>>2]|0;c[u>>2]=-2;c[u+4>>2]=64;c[u+8>>2]=-1}c[I>>2]=(c[I>>2]|0)+1;break}case 66:{g=D4(c[b>>2]|0,0,20)|0;if(!g)g=0;else{u=c[g+4>>2]|0;c[u>>2]=-2;c[u+4>>2]=128;c[u+8>>2]=-1}c[I>>2]=(c[I>>2]|0)+1;break}case 60:{g=D4(c[b>>2]|0,0,20)|0;if(!g)g=0;else{u=c[g+4>>2]|0;c[u>>2]=-2;c[u+4>>2]=16;c[u+8>>2]=-1}c[I>>2]=(c[I>>2]|0)+1;break}case 62:{g=D4(c[b>>2]|0,0,20)|0;if(!g)g=0;else{u=c[g+4>>2]|0;c[u>>2]=-2;c[u+4>>2]=32;c[u+8>>2]=-1}c[I>>2]=(c[I>>2]|0)+1;break}case 120:{g=n+2|0;c[I>>2]=g;g=a[g>>0]|0;if(g<<24>>24==123){g=n+3|0;c[I>>2]=g;d=0;k:while(1){f=a[g>>0]|0;switch(f<<24>>24){case 0:case 125:{f=d;break k}default:{}}if(!(Z1(f<<24>>24)|0)){d=9;break a}g=c[I>>2]|0;a[V+d>>0]=a[g>>0]|0;f=d+1|0;g=g+1|0;c[I>>2]=g;if(f>>>0>31)break;else d=f}c[I>>2]=g+1;a[V+f>>0]=0;f=S3(V,0,16)|0;d=c[x>>2]|0;g=D4(c[b>>2]|0,0,20)|0;if(!g)g=0;else{u=c[g+4>>2]|0;c[u>>2]=f;c[u+4>>2]=f;c[u+8>>2]=d}c[x>>2]=(c[x>>2]|0)+1;break j}else{a[U>>0]=0;a[U+1>>0]=0;a[U+2>>0]=0;u=(Z1(g<<24>>24)|0)==0;g=c[I>>2]|0;if(!u){a[U>>0]=a[g>>0]|0;g=g+1|0;c[I>>2]=g}if(Z1(a[g>>0]|0)|0){u=c[I>>2]|0;a[A>>0]=a[u>>0]|0;c[I>>2]=u+1}f=S3(U,0,16)|0;d=c[x>>2]|0;g=D4(c[b>>2]|0,0,20)|0;if(!g)g=0;else{u=c[g+4>>2]|0;c[u>>2]=f;c[u+4>>2]=f;c[u+8>>2]=d}c[x>>2]=(c[x>>2]|0)+1;break j}}default:{u=(S1(g)|0)==0;g=c[I>>2]|0;if(u)break d;f=(a[g>>0]|0)+-48|0;d=c[x>>2]|0;g=D4(c[b>>2]|0,0,20)|0;if(!g){d=12;break a}u=c[g+4>>2]|0;c[u>>2]=-4;c[u+4>>2]=f;c[u+8>>2]=d;c[x>>2]=(c[x>>2]|0)+1;d=c[z>>2]|0;c[z>>2]=(f|0)<(d|0)?d:f;c[I>>2]=(c[I>>2]|0)+1;d=0;break c}}while(0);if(!g){d=12;break a}else{d=0;break c}}case 46:{u=(c[w>>2]&4|0)==0;f=c[x>>2]|0;g=D4(c[b>>2]|0,0,20)|0;d=(g|0)==0;if(u){if(d){d=12;break a}u=c[g+4>>2]|0;c[u>>2]=0;c[u+4>>2]=1114111;c[u+8>>2]=f;f=(c[x>>2]|0)+1|0}else{if(d){d=12;break a}d=c[g+4>>2]|0;c[d>>2]=0;c[d+4>>2]=9;c[d+8>>2]=f;f=c[x>>2]|0;d=D4(c[b>>2]|0,0,20)|0;if(!d){d=12;break a}u=c[d+4>>2]|0;c[u>>2]=11;c[u+4>>2]=1114111;c[u+8>>2]=f+1;g=E4(c[b>>2]|0,g,d)|0;if(!g){d=12;break a}f=(c[x>>2]|0)+2|0}c[x>>2]=f;c[I>>2]=(c[I>>2]|0)+1;d=0;break c}case 94:{if(!(c[w>>2]&1)){if((n|0)!=(c[J>>2]|0)){g=n;break d}c[Q>>2]=5;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(d)break c}g=D4(c[b>>2]|0,0,20)|0;if(!g){d=12;break a}d=c[g+4>>2]|0;c[d>>2]=-2;c[d+4>>2]=1;c[d+8>>2]=-1;c[I>>2]=(c[I>>2]|0)+1;d=0;break c}case 36:{if((c[w>>2]&1|0)==0?(a[n+1>>0]|0)!=0:0){g=n;break d}g=D4(c[b>>2]|0,0,20)|0;if(!g){d=12;break a}d=c[g+4>>2]|0;c[d>>2]=-2;c[d+4>>2]=2;c[d+8>>2]=-1;c[I>>2]=(c[I>>2]|0)+1;d=0;break c}case 41:{if(!e)g=n;else F=209;break}case 63:case 43:case 123:case 124:case 42:{F=209;break}case 0:{F=210;break}default:g=n}while(0);if((F|0)==67){F=0;e=e+1|0;c[I>>2]=f+1;c[Q>>2]=c[y>>2];c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(d)break c;c[Q>>2]=2;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(d)break c;c[Q>>2]=0;c[R>>2]=c[Q>>2];d=z4(H,R)|0;if(d)break c;c[y>>2]=(c[y>>2]|0)+1;d=0;break c}else if((F|0)==209){F=0;if(!(c[w>>2]&1))g=n;else F=210}if((F|0)==210){F=0;g=D4(c[b>>2]|0,0,20)|0;if(!g){d=12;break a}d=c[g+4>>2]|0;c[d>>2]=-1;c[d+4>>2]=-1;c[d+8>>2]=-1;d=0;break c}g=G2(X,g,-1)|0;if((g|0)<0){c[X>>2]=-1;n=1}else n=g;do if(c[w>>2]&2){if((Y1(c[X>>2]|0)|0)==0?(U1(c[X>>2]|0)|0)==0:0){F=220;break}m=c[b>>2]|0;h=a2(c[X>>2]|0)|0;g=a2(c[X>>2]|0)|0;f=c[x>>2]|0;m=D4(m,0,20)|0;if(!m){d=12;break a}d=c[m+4>>2]|0;c[d>>2]=h;c[d+4>>2]=g;c[d+8>>2]=f;d=c[b>>2]|0;h=b2(c[X>>2]|0)|0;g=b2(c[X>>2]|0)|0;f=c[x>>2]|0;d=D4(d,0,20)|0;if(!d){d=12;break a}u=c[d+4>>2]|0;c[u>>2]=h;c[u+4>>2]=g;c[u+8>>2]=f;g=E4(c[b>>2]|0,m,d)|0;if(!g){d=12;break a}}else F=220;while(0);if((F|0)==220){F=0;f=c[X>>2]|0;d=c[x>>2]|0;g=D4(c[b>>2]|0,0,20)|0;if(!g){d=12;break a}u=c[g+4>>2]|0;c[u>>2]=f;c[u+4>>2]=f;c[u+8>>2]=d}c[x>>2]=(c[x>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+n;d=0;break}case 2:{h=h+-2|0;c[K>>2]=h;f=c[f+(h<<2)>>2]|0;h=g;if((c[h+12>>2]|0)>-1){g=D4(c[b>>2]|0,0,20)|0;if(!g){d=12;break a}u=c[g+4>>2]|0;c[u>>2]=-1;c[u+4>>2]=-1;c[u+8>>2]=-1;g=B4(c[b>>2]|0,g,h)|0;if(!g){d=12;break a}c[g+16>>2]=c[h+16>>2]}d=g;c[d+12>>2]=f;d=d+16|0;c[d>>2]=(c[d>>2]|0)+1;d=0;break}case 10:{d=h+-2|0;c[K>>2]=d;c[w>>2]=c[f+(d<<2)>>2];d=0;break}default:d=0}while(0);h=c[K>>2]|0;f=(d|0)==0;if((d|0)!=0|f&(h|0)>(M|0)^1){F=229;break a}}if((F|0)==72){d=12;break}else if((F|0)==156)break}else{g=0;e=0;F=229}while(0);if((F|0)==229){e=(e|0)>0;if(e|f^1)d=e?8:d;else c[b+8>>2]=g}i=Z;return d|0}function y4(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=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;I=i;i=i+16|0;if((i|0)>=(j|0))ba();E=I+4|0;D=I;B=d+12|0;C=c[B>>2]|0;F=(b|0)==0|(f|0)==0;if(!F){c[f+48>>2]=0;c[c[f+36>>2]>>2]=-1}l=c[f+28>>2]|0;G=A1((l<<3)+8|0)|0;do if(!G)g=12;else{c[G>>2]=-1;H=A1((l<<2)+4|0)|0;if(!H){B1(G);g=12;break}c[H>>2]=-1;k=0;while(1)if(k>>>0>l>>>0)break;else k=k+1|0;c[D>>2]=e;c[E>>2]=c[D>>2];z4(d,E)|0;c[D>>2]=0;c[E>>2]=c[D>>2];g=z4(d,E)|0;m=c[B>>2]|0;a:do if((g|0)!=0|(m|0)<=(C|0)){p=-1;h=0;o=0;m=G;n=0}else{x=d+16|0;y=f+32|0;z=f+36|0;A=f+16|0;v=0;p=-1;w=1;h=0;o=0;r=G;n=0;while(1){u=m+-1|0;c[B>>2]=u;q=c[x>>2]|0;b:do switch(c[q+(u<<2)>>2]|0){case 6:{k=m+-2|0;c[B>>2]=k;k=c[q+(k<<2)>>2]|0;m=0;do{l=r+(m<<2)|0;m=m+1|0}while((c[l>>2]|0)>-1);c[l>>2]=k<<1|1;c[r+(m<<2)>>2]=-1;m=0;while(1)if((c[H+(m<<2)>>2]|0)>-1)m=m+1|0;else break;c[H+(m+-1<<2)>>2]=-1;l=v;q=w;g=0;break}case 0:{t=m+-2|0;c[B>>2]=t;t=c[q+(t<<2)>>2]|0;u=t+12|0;k=c[u>>2]|0;if((k|0)>-1){m=0;do{l=r+(m<<2)|0;m=m+1|0}while((c[l>>2]|0)>-1);c[l>>2]=k<<1;c[r+(m<<2)>>2]=-1;if(!F){m=0;while(1)if((c[H+(m<<2)>>2]|0)>-1)m=m+1|0;else break;l=(c[A>>2]|0)+(k*12|0)+8|0;c[l>>2]=0;if((m|0)>0){e=A1((m<<2)+4|0)|0;if(!e){m=r;g=12;break a}c[l>>2]=e;m=c[H>>2]|0;if((m|0)>-1){l=m;m=e;k=0;do{c[m>>2]=l;k=k+1|0;l=c[H+(k<<2)>>2]|0;m=e+(k<<2)|0}while((l|0)>-1)}else m=e;c[m>>2]=-1}}c[D>>2]=c[u>>2];c[E>>2]=c[D>>2];g=z4(d,E)|0;if(g){m=r;break a}c[D>>2]=6;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(g){m=r;break a}}c:do switch(c[t>>2]|0){case 0:{s=c[c[t+4>>2]>>2]|0;if((s|0)>-1|(s|0)==-4?(c[r>>2]|0)>-1:0){if(F){c[t+20>>2]=1;m=p;g=0}else{g=c5(b,t,n)|0;c[(c[y>>2]|0)+(n<<2)>>2]=v;if((p|0)>-1){e=c[z>>2]|0;l=0;while(1){m=e+(l<<2)|0;k=l+1|0;if((c[m>>2]|0)>-1)l=k;else break}c[m>>2]=n;c[e+(k<<2)>>2]=p;c[e+(l+2<<2)>>2]=-1;m=-1;h=h+1|0}else m=p;d5(r,f,n)}c[r>>2]=-1;s=v;q=w+1|0;o=o+1|0;n=w}else{s=v;m=p;q=w;g=0}break}case 1:{l=c[t+4>>2]|0;q=c[l>>2]|0;l=c[l+4>>2]|0;c[D>>2]=t;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=5;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=l;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=0;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){m=q+20|0;c[D>>2]=(c[m>>2]|0)+w;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){if((c[m>>2]|0)>0){m=(c[l+20>>2]|0)>0;l=(m&1)+w|0;m=m?w:-1}else{l=w;m=-1}c[D>>2]=m;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=4;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=q;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=0;c[E>>2]=c[D>>2];s=v;m=p;q=l;g=z4(d,E)|0}else{s=v;m=p;q=l}}else{s=v;m=p;q=l}}else{s=v;m=p;q=l}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}break}case 2:{l=c[t+4>>2]|0;if(F){if((c[r>>2]|0)>-1)m=1;else m=(a[l+12>>0]&1)!=0;c[D>>2]=m&1;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(g){s=v;m=p;q=w;break c}}else{c[D>>2]=n;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(g){s=v;m=p;q=w;break c}c[D>>2]=a[l+12>>0]&1;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(g){s=v;m=p;q=w;break c}}c[D>>2]=t;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=1;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=c[l>>2];c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=0;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){if((c[r>>2]|0)<=-1?(a[l+12>>0]&1)==0:0){s=0;m=p;q=w;g=0;break c}if(F){m=p;g=0}else{g=c5(b,t,n)|0;c[(c[y>>2]|0)+(n<<2)>>2]=(a[l+12>>0]&1)==0?v:1;if((p|0)>-1){e=c[z>>2]|0;l=0;while(1){m=e+(l<<2)|0;k=l+1|0;if((c[m>>2]|0)>-1)l=k;else break}c[m>>2]=n;c[e+(k<<2)>>2]=p;c[e+(l+2<<2)>>2]=-1;m=-1;h=h+1|0}else m=p;d5(r,f,n)}c[r>>2]=-1;s=0;q=w+1|0;o=o+1|0;n=w}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}break}case 3:{q=c[t+4>>2]|0;l=c[q>>2]|0;q=c[q+4>>2]|0;m=(c[r>>2]|0)>-1;s=w+1|0;c[D>>2]=m?s:w;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=m?w:n;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=r;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=(c[r>>2]|0)>>>31^1;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=t;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=q;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=l;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=3;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=q;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=0;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(!g){c[D>>2]=2;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(g){s=v;m=p;q=w;break c}c[D>>2]=l;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(g){s=v;m=p;q=w;break c}c[D>>2]=0;c[E>>2]=c[D>>2];g=z4(d,E)|0;if(g){s=v;m=p;q=w;break c}if((c[r>>2]|0)>-1){if(F){m=p;g=0}else{g=c5(b,t,n)|0;c[(c[y>>2]|0)+(n<<2)>>2]=v;if((p|0)>-1){e=c[z>>2]|0;l=0;while(1){m=e+(l<<2)|0;k=l+1|0;if((c[m>>2]|0)>-1)l=k;else break}c[m>>2]=n;c[e+(k<<2)>>2]=p;c[e+(l+2<<2)>>2]=-1;m=-1;h=h+1|0}else m=p;d5(r,f,n)}c[r>>2]=-1;p=s;o=o+1|0;n=w}else{m=p;p=w;g=0}if((c[t+16>>2]|0)<=0){s=v;q=p;break c}s=v;q=p+2|0;n=p+1|0}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}}else{s=v;m=p;q=w}break}default:{s=v;m=p;q=w;g=0}}while(0);e=c[u>>2]|0;if((e|0)>-1){l=0;do{k=H+(l<<2)|0;l=l+1|0}while((c[k>>2]|0)>-1);c[k>>2]=e;c[H+(l<<2)>>2]=-1;l=s;p=m}else{l=s;p=m}break}case 1:{l=m+-2|0;c[B>>2]=l;l=c[q+(l<<2)>>2]|0;if(F){p=c[(c[c[l+4>>2]>>2]|0)+20>>2]|0;g=m+-3|0;c[B>>2]=g;c[l+20>>2]=(c[q+(g<<2)>>2]|0)+p;l=v;p=-1;q=w;g=0;break b}else{v=m+-3|0;c[B>>2]=v;v=c[q+(v<<2)>>2]|0;g=m+-4|0;c[B>>2]=g;v=(v|0)==0;l=v&1;p=v?p:c[q+(g<<2)>>2]|0;q=w;g=0;break b}}case 4:{w=m+-2|0;c[B>>2]=w;w=c[q+(w<<2)>>2]|0;g=m+-3|0;c[B>>2]=g;l=v;q=c[q+(g<<2)>>2]|0;g=0;n=(w|0)>-1?w:n;break}case 5:{m=m+-2|0;c[B>>2]=m;m=c[q+(m<<2)>>2]|0;if(F){l=c[m+4>>2]|0;c[m+20>>2]=(c[(c[l+4>>2]|0)+20>>2]|0)+(c[(c[l>>2]|0)+20>>2]|0);l=v;q=w;g=0}else{l=v;q=w;g=0}break}case 2:{m=r;while(1)if((c[m>>2]|0)>-1)m=m+4|0;else{l=v;q=w;r=m;g=0;break}break}case 3:{e=c[q+(m+-2<<2)>>2]|0;g=c[q+(m+-3<<2)>>2]|0;l=c[q+(m+-4<<2)>>2]|0;k=m+-5|0;c[B>>2]=k;if(F){u=c[l+4>>2]|0;v=c[l+16>>2]|0;c[l+20>>2]=(c[(c[u>>2]|0)+20>>2]|0)+(c[q+(k<<2)>>2]|0)+(c[(c[u+4>>2]|0)+20>>2]|0)+((v|0)>0?2:0);k=v}else k=c[l+16>>2]|0;r=c[q+(m+-6<<2)>>2]|0;l=m+-7|0;c[B>>2]=l;l=c[q+(l<<2)>>2]|0;m=m+-8|0;c[B>>2]=m;m=c[q+(m<<2)>>2]|0;if((k|0)>0){if(F)g=0;else{e5(b,e,l)|0;c[(c[y>>2]|0)+(l<<2)>>2]=1;g=e5(b,g,m)|0;c[(c[y>>2]|0)+(m<<2)>>2]=1}l=1;q=w;o=o+2|0}else{l=1;q=w;g=0}break}default:{l=v;q=w;g=0}}while(0);m=c[B>>2]|0;if((g|0)!=0|(m|0)<=(C|0)){m=r;break a}else{v=l;w=q}}}while(0);if(!F?(d5(m,f,n),(p|0)>-1):0){m=c[f+36>>2]|0;k=0;while(1){e=m+(k<<2)|0;l=k+1|0;if((c[e>>2]|0)>-1)k=l;else break}c[e>>2]=n;c[m+(l<<2)>>2]=p;c[m+(k+2<<2)>>2]=-1;h=h+1|0}c[f+48>>2]=o;c[f+40>>2]=o;c[f+44>>2]=h;B1(G);B1(H)}while(0);i=I;return g|0}function z4(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,k=0,l=0,m=0;m=i;i=i+16|0;if((i|0)>=(j|0))ba();l=m;d=a+12|0;e=c[d>>2]|0;h=c[a>>2]|0;if((e|0)>=(h|0)){d=c[a+4>>2]|0;if((h|0)<(d|0)?(f=(c[a+8>>2]|0)+h|0,f=(f|0)>(d|0)?d:f,g=a+16|0,k=D1(c[g>>2]|0,f<<2)|0,(k|0)!=0):0){c[a>>2]=f;c[g>>2]=k;c[l>>2]=c[b>>2];z4(a,l)|0;d=0}else d=12}else{c[(c[a+16>>2]|0)+(e<<2)>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)+1;d=0}i=m;return d|0}function A4(b,d,e,f,g,h,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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=i;i=i+16|0;if((i|0)>=(j|0))ba();y=z+4|0;x=z;v=d+12|0;w=c[v>>2]|0;c[x>>2]=e;c[y>>2]=c[x>>2];z4(d,y)|0;c[x>>2]=0;c[y>>2]=c[x>>2];e=z4(d,y)|0;a:do if(!e){t=d+16|0;u=(f&1|0)==0;s=(f&2|0)!=0;p=1;r=0;e=k;while(1){f=c[v>>2]|0;if((f|0)>(w|0))o=e;else{f=r;e=0;break a}b:while(1){e=c[t>>2]|0;c:while(1){q=f+-1|0;c[v>>2]=q;switch(c[e+(q<<2)>>2]|0){case 1:{m=7;break c}case 0:{f=f+-2|0;c[v>>2]=f;f=c[e+(f<<2)>>2]|0;switch(c[f>>2]|0){case 0:{q=o;m=10;break b}case 3:{e=o;m=21;break b}case 1:{e=o;m=28;break b}case 2:{m=35;break c}default:{}}break}default:{}}f=c[v>>2]|0;if((f|0)<=(w|0)){f=r;e=0;break a}}if((m|0)==7){q=f+-2|0;c[v>>2]=q;e=c[e+(q<<2)>>2]|0}else if((m|0)==35){f=c[f+4>>2]|0;c[x>>2]=c[f>>2];c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}c[x>>2]=0;c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}f=C4(b,c[f>>2]|0,c[f+4>>2]|0,c[f+8>>2]|0,a[f+12>>0]&1)|0;c[o>>2]=f;if(!f){f=r;e=12;break a}e=c[f+4>>2]|0}f=c[v>>2]|0;if((f|0)<=(w|0)){f=r;e=0;break a}else o=e}if((m|0)==10){o=c[f+4>>2]|0;m=c[o+8>>2]|0;f=c[o>>2]|0;k=c[o+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(u|(f|0)!=-3)if((f|0)==-3)if(s&(p|0)!=0){c[h+(k<<2)>>2]=1;p=0;n=-3;f=r}else{n=-3;f=r}else{n=f;f=r}else{k=-1;n=-1;f=r;m=-1}else{n=f;f=r+1|0;m=(c[g>>2]|0)+m|0}e=D4(b,0,20)|0;if(!e){c[q>>2]=0;e=12}else{r=e+4|0;A=c[r>>2]|0;c[A>>2]=n;c[A+4>>2]=k;c[A+8>>2]=m;c[q>>2]=e;e=c[r>>2]|0;c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];e=0}if((m|0)>(c[l>>2]|0)){c[l>>2]=m;n=p;k=q}else{n=p;k=q}}else if((m|0)==21){n=c[f+4>>2]|0;k=n+4|0;f=E4(b,c[n>>2]|0,c[k>>2]|0)|0;c[e>>2]=f;if(!f){f=r;e=12;break a}m=c[f+4>>2]|0;c[x>>2]=c[k>>2];c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}c[x>>2]=0;c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}c[x>>2]=m+4;c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}c[x>>2]=1;c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}c[x>>2]=c[n>>2];c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}c[x>>2]=0;c[y>>2]=c[x>>2];n=p;f=r;k=m;e=z4(d,y)|0}else if((m|0)==28){n=c[f+4>>2]|0;k=n+4|0;f=B4(b,c[n>>2]|0,c[k>>2]|0)|0;c[e>>2]=f;if(!f){f=r;e=12;break a}o=c[f+4>>2]|0;c[o>>2]=0;f=o+4|0;c[f>>2]=0;c[x>>2]=c[k>>2];c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}c[x>>2]=0;c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}c[x>>2]=f;c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}c[x>>2]=1;c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}c[x>>2]=c[n>>2];c[y>>2]=c[x>>2];e=z4(d,y)|0;if(e){f=r;break a}c[x>>2]=0;c[y>>2]=c[x>>2];n=p;f=r;k=o;e=z4(d,y)|0}if(!e){p=n;r=f;e=k}else break}}else f=0;while(0);c[g>>2]=(c[g>>2]|0)+f;i=z;return e|0}function B4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=D4(a,1,8)|0;if(!a)a=0;else{e=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0)}return a|0}function C4(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;b=D4(b,2,16)|0;if(!b)b=0;else{h=c[b+4>>2]|0;c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;e=h+12|0;a[e>>0]=a[e>>0]&-2|g&1;c[b+16>>2]=c[d+16>>2]}return b|0}function D4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=U2(a,0,0,1,32)|0;if((e|0)!=0?(d=U2(a,0,0,1,d)|0,c[e+4>>2]=d,(d|0)!=0):0){c[e>>2]=b;c[e+8>>2]=-1;c[e+12>>2]=-1}else e=0;return e|0}function E4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=D4(a,3,8)|0;if(!a)a=0;else{e=c[a+4>>2]|0;c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0)}return a|0}function F4(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;a=U2(a,0,0,1,64)|0;if(!a)a=0;else{c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+20>>2]=f;c[a+24>>2]=g;c[a+28>>2]=h;c[a+32>>2]=-1;c[a+36>>2]=-1;c[a+40>>2]=-1}return a|0}function G4(a){a=a|0;a=U2(a,0,0,1,32)|0;if(!a)a=0;else{c[a>>2]=-1;c[a+4>>2]=-1;c[a+8>>2]=-1}return a|0}function H4(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;o=(e|0)==0;if(o)i=0;else{i=0;while(1)if((c[e+(i<<2)>>2]|0)>-1)i=i+1|0;else break}h=0;while(1)if((c[b+(h<<5)>>2]|0)>-1)h=h+1|0;else break;g=0;while(1)if((c[d+(g<<5)>>2]|0)>-1)g=g+1|0;else break;g=U2(a,0,0,1,(g+h<<5)+32|0)|0;a:do if(!g)g=0;else{h=c[b>>2]|0;if((h|0)>-1){n=(i|0)>0;j=0;while(1){c[g+(j<<5)>>2]=h;c[g+(j<<5)+4>>2]=c[b+(j<<5)+4>>2];c[g+(j<<5)+8>>2]=c[b+(j<<5)+8>>2];c[g+(j<<5)+16>>2]=c[b+(j<<5)+16>>2]|f;c[g+(j<<5)+20>>2]=c[b+(j<<5)+20>>2];c[g+(j<<5)+24>>2]=c[b+(j<<5)+24>>2];c[g+(j<<5)+28>>2]=c[b+(j<<5)+28>>2];l=b+(j<<5)+12|0;h=c[l>>2]|0;k=(h|0)==0;if(o&k)c[g+(j<<5)+12>>2]=0;else{if(k)k=0;else{k=0;while(1)if((c[h+(k<<2)>>2]|0)>-1)k=k+1|0;else break}m=U2(a,0,0,0,(k+i<<2)+4|0)|0;if(!m){g=0;break a}if((k|0)>0){h=c[l>>2]|0;l=0;do{c[m+(l<<2)>>2]=c[h+(l<<2)>>2];l=l+1|0}while((l|0)!=(k|0))}else k=0;if(n){h=0;do{c[m+(h+k<<2)>>2]=c[e+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0));h=i}else h=0;c[m+(h+k<<2)>>2]=-1;c[g+(j<<5)+12>>2]=m}j=j+1|0;h=c[b+(j<<5)>>2]|0;if((h|0)<=-1){n=j;break}}}else n=0;i=c[d>>2]|0;h=g+(n<<5)|0;if((i|0)>-1){l=n;m=0;do{c[h>>2]=i;c[g+(l<<5)+4>>2]=c[d+(m<<5)+4>>2];c[g+(l<<5)+8>>2]=c[d+(m<<5)+8>>2];c[g+(l<<5)+16>>2]=c[d+(m<<5)+16>>2];c[g+(l<<5)+20>>2]=c[d+(m<<5)+20>>2];c[g+(l<<5)+24>>2]=c[d+(m<<5)+24>>2];c[g+(l<<5)+28>>2]=c[d+(m<<5)+28>>2];j=d+(m<<5)+12|0;h=c[j>>2]|0;if(!h)c[g+(l<<5)+12>>2]=0;else{i=0;while(1)if((c[h+(i<<2)>>2]|0)>-1)i=i+1|0;else break;k=U2(a,0,0,0,(i<<2)+4|0)|0;if(!k){g=0;break a}if((i|0)>0){h=c[j>>2]|0;j=0;do{c[k+(j<<2)>>2]=c[h+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}else i=0;c[k+(i<<2)>>2]=-1;c[g+(l<<5)+12>>2]=k}m=m+1|0;i=c[d+(m<<5)>>2]|0;l=m+n|0;h=g+(l<<5)|0}while((i|0)>-1)}c[h>>2]=-1}while(0);return g|0}function I4(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+16|0;if((i|0)>=(j|0))ba();t=v+4|0;u=v;q=a+12|0;r=c[q>>2]|0;s=(f|0)!=0;if(s)c[f>>2]=0;c[u>>2]=b;c[t>>2]=c[u>>2];b=z4(a,t)|0;a:do if(!b){m=a+16|0;n=(d|0)==0;o=(e|0)==0;b=c[q>>2]|0;if((b|0)>(r|0))while(1){b=b+-1|0;c[q>>2]=b;b=c[(c[m>>2]|0)+(b<<2)>>2]|0;b:do switch(c[b>>2]|0){case 0:{b=c[b+4>>2]|0;switch(c[b>>2]|0){case -3:break;case -2:{if(o)break b;c[e>>2]=c[e>>2]|c[b+4>>2];break b}default:break b}l=c[b+4>>2]|0;if((l|0)>-1){c:do if(!n){b=c[d>>2]|0;d:do if((b|0)>-1){k=d;h=0;while(1){if((b|0)==(l|0)){b=k;break}h=h+1|0;k=d+(h<<2)|0;b=c[k>>2]|0;if((b|0)<=-1){b=k;break d}}if((l|0)>=0)break c}else{b=d;h=0}while(0);c[b>>2]=l;c[d+(h+1<<2)>>2]=-1}while(0);if(s)c[f>>2]=(c[f>>2]|0)+1}break}case 3:{b=c[b+4>>2]|0;h=c[b>>2]|0;if(c[h+8>>2]|0){c[u>>2]=h;c[t>>2]=c[u>>2];g=z4(a,t)|0;p=6;break b}b=c[b+4>>2]|0;if(c[b+8>>2]|0){c[u>>2]=b;c[t>>2]=c[u>>2];g=z4(a,t)|0;p=6}break}case 1:{b=c[b+4>>2]|0;c[u>>2]=c[b>>2];c[t>>2]=c[u>>2];g=z4(a,t)|0;if(g)break a;c[u>>2]=c[b+4>>2];c[t>>2]=c[u>>2];g=z4(a,t)|0;p=6;break}case 2:{b=c[c[b+4>>2]>>2]|0;if(c[b+8>>2]|0){c[u>>2]=b;c[t>>2]=c[u>>2];g=z4(a,t)|0;p=6}break}default:{}}while(0);if((p|0)==6?(p=0,(g|0)!=0):0)break a;b=c[q>>2]|0;if((b|0)<=(r|0)){g=0;break a}}else g=0}else g=b;while(0);i=v;return g|0}function J4(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:while(1){switch(c[a>>2]|0){case 2:{a=c[a+4>>2]|0;if((c[a+8>>2]|0)==-1?(h=c[a>>2]|0,h=b5(c[h+28>>2]|0,c[h+24>>2]|0,b,d,e)|0,(h|0)!=0):0){a=h;break a}break}case 3:{f=c[a+4>>2]|0;a=J4(c[f>>2]|0,b,d,e)|0;if(a)break a;a=f+4|0;break}case 1:{f=c[a+4>>2]|0;g=f+4|0;a=b5(c[(c[f>>2]|0)+28>>2]|0,c[(c[g>>2]|0)+24>>2]|0,b,d,e)|0;if(a)break a;a=J4(c[f>>2]|0,b,d,e)|0;if(!a)a=g;else break a;break}default:{a=0;break a}}a=c[a>>2]|0}return a|0}function K4(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){h=0;while(1){f=c[d+(h<<2)>>2]|0;g=c[e+(h<<2)>>2]|0;if(!(c[b+(h<<2)>>2]|0)){if((f|0)<(g|0)){f=1;break a}if((f|0)>(g|0)){f=0;break a}}else{if((f|0)>(g|0)){f=1;break a}if((f|0)<(g|0)){f=0;break a}}h=h+1|0;if((h|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function L4(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;if((d&8|0)==0&(g|0)>-1){p=c[e+16>>2]|0;n=e+28|0;d=c[n>>2]|0;o=(a|0)!=0;if(o&(d|0)!=0){i=e+48|0;h=0;do{d=c[p+(h*12|0)>>2]|0;if((d|0)==(c[i>>2]|0))j=g;else j=c[f+(d<<2)>>2]|0;m=b+(h<<3)|0;c[m>>2]=j;e=c[p+(h*12|0)+4>>2]|0;if((e|0)==(c[i>>2]|0))k=g;else k=c[f+(e<<2)>>2]|0;l=b+(h<<3)+4|0;c[l>>2]=k;if((j|0)==-1|(k|0)==-1){c[l>>2]=-1;c[m>>2]=-1}h=h+1|0;d=c[n>>2]|0}while(h>>>0>>0&h>>>0>>0);m=d}else m=d;if(o&(m|0)!=0){d=0;do{h=b+(d<<3)+4|0;i=c[p+(d*12|0)+8>>2]|0;if((i|0)!=0?(q=c[i>>2]|0,(q|0)>-1):0){j=b+(d<<3)|0;k=q;e=c[j>>2]|0;l=0;do{if(!((e|0)>=(c[b+(k<<3)>>2]|0)?(c[h>>2]|0)<=(c[b+(k<<3)+4>>2]|0):0)){c[h>>2]=-1;c[j>>2]=-1;e=-1}l=l+1|0;k=c[i+(l<<2)>>2]|0}while((k|0)>-1)}d=d+1|0}while(d>>>0>>0&d>>>0>>0)}else d=0}else d=0;if(d>>>0>>0)do{c[b+(d<<3)>>2]=-1;c[b+(d<<3)+4>>2]=-1;d=d+1|0}while((d|0)!=(a|0));return}function M4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)e=0;else{f=(d|0)==0;d=a;while(1){if(f){if(Q1(b,e)|0){e=1;break a}}else{a=a2(b)|0;if(Q1(a,c[d>>2]|0)|0){e=1;break a}a=b2(b)|0;if(Q1(a,c[d>>2]|0)|0){e=1;break a}}d=d+4|0;e=c[d>>2]|0;if(!e){e=0;break}}}while(0);return e|0}function N4(a){a=a|0;if(!(c[a+68>>2]|0))Z2(a);return}function O4(a){a=a|0;if(!(c[a+68>>2]|0))Z2(a);return}function P4(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?($b[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)$b[c[a+40>>2]&63](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0} +function Q4(e,f,g,l,m){e=e|0;f=f|0;g=g|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,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,$=0,aa=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=i;i=i+624|0;if((i|0)>=(j|0))ba();fa=ka+24|0;ha=ka+16|0;ga=ka+588|0;$=ka+576|0;ea=ka;X=ka+536|0;ja=ka+8|0;ia=ka+528|0;O=(e|0)!=0;P=X+40|0;W=P;X=X+39|0;Y=ja+4|0;Z=$+12|0;$=$+11|0;aa=ga;ca=Z;da=ca-aa|0;Q=-2-aa|0;R=ca+2|0;S=fa+288|0;T=ga+9|0;U=T;V=ga+8|0;n=0;x=f;o=0;f=0;a:while(1){do if((n|0)>-1)if((o|0)>(2147483647-n|0)){c[(c2()|0)>>2]=75;n=-1;break}else{n=o+n|0;break}while(0);o=a[x>>0]|0;if(!(o<<24>>24)){N=245;break}else p=x;b:while(1){switch(o<<24>>24){case 37:{o=p;N=9;break b}case 0:{o=p;break b}default:{}}M=p+1|0;o=a[M>>0]|0;p=M}c:do if((N|0)==9)while(1){N=0;if((a[o+1>>0]|0)!=37)break c;p=p+1|0;o=o+2|0;if((a[o>>0]|0)==37)N=9;else break}while(0);D=p-x|0;if(O?(c[e>>2]&32|0)==0:0)z3(x,D,e)|0;if((p|0)!=(x|0)){x=o;o=D;continue}s=o+1|0;p=a[s>>0]|0;q=(p<<24>>24)+-48|0;if(q>>>0<10){M=(a[o+2>>0]|0)==36;s=M?o+3|0:s;p=a[s>>0]|0;E=M?q:-1;f=M?1:f}else E=-1;o=p<<24>>24;d:do if((o&-32|0)==32){q=0;while(1){if(!(1<>24)+-32|q;s=s+1|0;p=a[s>>0]|0;o=p<<24>>24;if((o&-32|0)!=32){v=q;break}}}else v=0;while(0);do if(p<<24>>24==42){o=s+1|0;q=(a[o>>0]|0)+-48|0;if(q>>>0<10?(a[s+2>>0]|0)==36:0){c[m+(q<<2)>>2]=10;f=1;p=s+3|0;s=c[l+((a[o>>0]|0)+-48<<3)>>2]|0}else{if(f){n=-1;break a}if(!O){A=v;p=o;f=0;M=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);s=c[f>>2]|0;c[g>>2]=f+4;f=0;p=o}if((s|0)<0){A=v|8192;M=0-s|0}else{A=v;M=s}}else{q=(p<<24>>24)+-48|0;if(q>>>0<10){p=s;s=0;do{s=(s*10|0)+q|0;p=p+1|0;q=(a[p>>0]|0)+-48|0}while(q>>>0<10);if((s|0)<0){n=-1;break a}else{A=v;M=s}}else{A=v;p=s;M=0}}while(0);e:do if((a[p>>0]|0)==46){q=p+1|0;s=a[q>>0]|0;if(s<<24>>24!=42){o=(s<<24>>24)+-48|0;if(o>>>0<10){p=q;s=0}else{p=q;B=0;break}while(1){s=(s*10|0)+o|0;p=p+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0>=10){B=s;break e}}}q=p+2|0;s=(a[q>>0]|0)+-48|0;if(s>>>0<10?(a[p+3>>0]|0)==36:0){c[m+(s<<2)>>2]=10;p=p+4|0;B=c[l+((a[q>>0]|0)+-48<<3)>>2]|0;break}if(f){n=-1;break a}if(O){p=(c[g>>2]|0)+(4-1)&~(4-1);B=c[p>>2]|0;c[g>>2]=p+4;p=q}else{p=q;B=0}}else B=-1;while(0);v=0;while(1){s=(a[p>>0]|0)+-65|0;if(s>>>0>57){n=-1;break a}t=p+1|0;s=a[192936+(v*58|0)+s>>0]|0;q=s&255;if((q+-1|0)>>>0<8){p=t;v=q}else{L=t;break}}if(!(s<<24>>24)){n=-1;break}t=(E|0)>-1;do if(s<<24>>24==19)if(t){n=-1;break a}else N=52;else{if(t){c[m+(E<<2)>>2]=q;I=l+(E<<3)|0;J=c[I+4>>2]|0;N=ea;c[N>>2]=c[I>>2];c[N+4>>2]=J;N=52;break}if(!O){n=0;break a}_4(ea,q,g)}while(0);if((N|0)==52?(N=0,!O):0){x=L;o=D;continue}G=a[p>>0]|0;G=(v|0)!=0&(G&15|0)==3?G&-33:G;q=A&-65537;K=(A&8192|0)==0?A:q;f:do switch(G|0){case 110:switch(v|0){case 0:{c[c[ea>>2]>>2]=n;x=L;o=D;continue a}case 1:{c[c[ea>>2]>>2]=n;x=L;o=D;continue a}case 2:{x=c[ea>>2]|0;c[x>>2]=n;c[x+4>>2]=((n|0)<0)<<31>>31;x=L;o=D;continue a}case 3:{b[c[ea>>2]>>1]=n;x=L;o=D;continue a}case 4:{a[c[ea>>2]>>0]=n;x=L;o=D;continue a}case 6:{c[c[ea>>2]>>2]=n;x=L;o=D;continue a}case 7:{x=c[ea>>2]|0;c[x>>2]=n;c[x+4>>2]=((n|0)<0)<<31>>31;x=L;o=D;continue a}default:{x=L;o=D;continue a}}case 112:{v=K|8;p=B>>>0>8?B:8;u=120;N=64;break}case 88:case 120:{v=K;p=B;u=G;N=64;break}case 111:{q=ea;p=c[q>>2]|0;q=c[q+4>>2]|0;if((p|0)==0&(q|0)==0)o=P;else{o=P;do{o=o+-1|0;a[o>>0]=p&7|48;p=l5(p|0,q|0,3)|0;q=C}while(!((p|0)==0&(q|0)==0))}if(!(K&8)){s=K;p=B;t=0;u=193416;N=77}else{p=W-o+1|0;s=K;p=(B|0)<(p|0)?p:B;t=0;u=193416;N=77}break}case 105:case 100:{o=ea;p=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){p=i5(0,0,p|0,o|0)|0;o=C;t=ea;c[t>>2]=p;c[t+4>>2]=o;t=1;q=193416;N=76;break f}if(!(K&2048)){q=K&1;t=q;q=(q|0)==0?193416:193418;N=76}else{t=1;q=193417;N=76}break}case 117:{o=ea;p=c[o>>2]|0;o=c[o+4>>2]|0;t=0;q=193416;N=76;break}case 99:{a[X>>0]=c[ea>>2];x=X;p=1;v=0;u=193416;s=P;break}case 109:{s=d2(c[(c2()|0)>>2]|0)|0;N=82;break}case 115:{s=c[ea>>2]|0;s=(s|0)!=0?s:193426;N=82;break}case 67:{c[ja>>2]=c[ea>>2];c[Y>>2]=0;c[ea>>2]=ja;o=-1;N=86;break}case 83:{if(!B){a5(e,32,M,0,K);p=0;N=98}else{o=B;N=86}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{r=+h[ea>>3];c[ha>>2]=0;h[k>>3]=r;if((c[k+4>>2]|0)>=0)if(!(K&2048)){J=K&1;I=J;J=(J|0)==0?193434:193439}else{I=1;J=193436}else{r=-r;I=1;J=193433}h[k>>3]=r;H=c[k+4>>2]&2146435072;do if(H>>>0<2146435072|(H|0)==2146435072&0<0){w=+v2(r,ha)*2.0;t=w!=0.0;if(t)c[ha>>2]=(c[ha>>2]|0)+-1;E=G|32;if((E|0)==97){z=G&32;y=(z|0)==0?J:J+9|0;o=I|2;s=12-B|0;do if(!(B>>>0>11|(s|0)==0)){r=8.0;do{s=s+-1|0;r=r*16.0}while((s|0)!=0);if((a[y>>0]|0)==45){r=-(r+(-w-r));break}else{r=w+r-r;break}}else r=w;while(0);s=c[ha>>2]|0;t=(s|0)<0?0-s|0:s;t=$4(t,((t|0)<0)<<31>>31,Z)|0;if((t|0)==(Z|0)){a[$>>0]=48;t=$}a[t+-1>>0]=(s>>31&2)+43;v=t+-2|0;a[v>>0]=G+15;q=(B|0)<1;u=(K&8|0)==0;s=ga;do{J=~~r;t=s+1|0;a[s>>0]=d[193400+J>>0]|z;r=(r-+(J|0))*16.0;do if((t-aa|0)==1){if(u&(q&r==0.0)){s=t;break}a[t>>0]=46;s=s+2|0}else s=t;while(0)}while(r!=0.0);p=(B|0)!=0&(Q+s|0)<(B|0)?R+B-v|0:da-v+s|0;t=p+o|0;a5(e,32,M,t,K);if(!(c[e>>2]&32))z3(y,o,e)|0;a5(e,48,M,t,K^65536);s=s-aa|0;if(!(c[e>>2]&32))z3(ga,s,e)|0;q=ca-v|0;a5(e,48,p-(s+q)|0,0,0);if(!(c[e>>2]&32))z3(v,q,e)|0;a5(e,32,M,t,K^8192);o=(t|0)<(M|0)?M:t;break}p=(B|0)<0?6:B;if(t){s=(c[ha>>2]|0)+-28|0;c[ha>>2]=s;r=w*268435456.0}else{r=w;s=c[ha>>2]|0}H=(s|0)<0?fa:S;F=H;t=H;do{D=~~r>>>0;c[t>>2]=D;t=t+4|0;r=(r-+(D>>>0))*1.0e9}while(r!=0.0);v=t;t=c[ha>>2]|0;if((t|0)>0){s=H;do{q=(t|0)>29?29:t;t=v+-4|0;do if(t>>>0>=s>>>0){u=0;do{D=q5(c[t>>2]|0,0,q|0)|0;D=j5(D|0,C|0,u|0,0)|0;u=C;B=y5(D|0,u|0,1e9,0)|0;c[t>>2]=B;u=x5(D|0,u|0,1e9,0)|0;t=t+-4|0}while(t>>>0>=s>>>0);if(!u)break;s=s+-4|0;c[s>>2]=u}while(0);t=v;while(1){if(t>>>0<=s>>>0){v=t;break}u=t+-4|0;if(!(c[u>>2]|0))t=u;else{v=t;break}}t=(c[ha>>2]|0)-q|0;c[ha>>2]=t}while((t|0)>0);u=s}else u=H;if((t|0)<0){z=((p+25|0)/9|0)+1|0;x=(E|0)==102;do{y=0-t|0;y=(y|0)>9?9:y;do if(u>>>0>>0){s=(1<>>y;t=0;o=u;do{D=c[o>>2]|0;c[o>>2]=(D>>>y)+t;t=_(D&s,q)|0;o=o+4|0}while(o>>>0>>0);u=(c[u>>2]|0)==0?u+4|0:u;if(!t)break;c[v>>2]=t;v=v+4|0}else u=(c[u>>2]|0)==0?u+4|0:u;while(0);t=x?H:u;v=(v-t>>2|0)>(z|0)?t+(z<<2)|0:v;t=(c[ha>>2]|0)+y|0;c[ha>>2]=t}while((t|0)<0);o=u}else o=u;do if(o>>>0>>0){u=(F-o>>2)*9|0;s=c[o>>2]|0;if(s>>>0<10)break;else t=10;do{t=t*10|0;u=u+1|0}while(s>>>0>=t>>>0)}else u=0;while(0);B=(E|0)==103;D=(p|0)!=0;t=p-((E|0)!=102?u:0)+((D&B)<<31>>31)|0;if((t|0)<(((v-F>>2)*9|0)+-9|0)){q=t+9216|0;z=(q|0)/9|0;t=H+(z+-1023<<2)|0;q=((q|0)%9|0)+1|0;if((q|0)<9){s=10;do{s=s*10|0;q=q+1|0}while((q|0)!=9)}else s=10;x=c[t>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(H+(z+-1022<<2)|0)==(v|0):0)s=o;else N=163;do if((N|0)==163){N=0;r=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;q=(s|0)/2|0;do if(y>>>0>>0)w=.5;else{if((y|0)==(q|0)?(H+(z+-1022<<2)|0)==(v|0):0){w=1.0;break}w=1.5}while(0);do if(I){if((a[J>>0]|0)!=45)break;r=-r;w=-w}while(0);q=x-y|0;c[t>>2]=q;if(!(r+w!=r)){s=o;break}E=q+s|0;c[t>>2]=E;if(E>>>0>999999999){u=o;while(1){s=t+-4|0;c[t>>2]=0;if(s>>>0>>0){u=u+-4|0;c[u>>2]=0}E=(c[s>>2]|0)+1|0;c[s>>2]=E;if(E>>>0>999999999)t=s;else{o=u;t=s;break}}}u=(F-o>>2)*9|0;q=c[o>>2]|0;if(q>>>0<10){s=o;break}else s=10;do{s=s*10|0;u=u+1|0}while(q>>>0>=s>>>0);s=o}while(0);E=t+4|0;o=s;v=v>>>0>E>>>0?E:v}z=0-u|0;while(1){if(v>>>0<=o>>>0){A=0;E=v;break}t=v+-4|0;if(!(c[t>>2]|0))v=t;else{A=1;E=v;break}}do if(B){t=(D&1^1)+p|0;if((t|0)>(u|0)&(u|0)>-5){q=G+-1|0;p=t+-1-u|0}else{q=G+-2|0;p=t+-1|0}v=K&8;if(v){y=v;break}do if(A){t=c[E+-4>>2]|0;if(!t){v=9;break}if(!((t>>>0)%10|0)){s=10;v=0}else{v=0;break}do{s=s*10|0;v=v+1|0}while(((t>>>0)%(s>>>0)|0|0)==0)}else v=9;while(0);t=((E-F>>2)*9|0)+-9|0;if((q|32|0)==102){y=t-v|0;y=(y|0)<0?0:y;p=(p|0)<(y|0)?p:y;y=0;break}else{y=t+u-v|0;y=(y|0)<0?0:y;p=(p|0)<(y|0)?p:y;y=0;break}}else{q=G;y=K&8}while(0);x=p|y;t=(x|0)!=0&1;s=(q|32|0)==102;if(s){v=(u|0)>0?u:0;z=0}else{v=(u|0)<0?z:u;v=$4(v,((v|0)<0)<<31>>31,Z)|0;if((ca-v|0)<2)do{v=v+-1|0;a[v>>0]=48}while((ca-v|0)<2);a[v+-1>>0]=(u>>31&2)+43;z=v+-2|0;a[z>>0]=q;v=ca-z|0}B=I+1+p+t+v|0;a5(e,32,M,B,K);if(!(c[e>>2]&32))z3(J,I,e)|0;a5(e,48,M,B,K^65536);do if(s){v=o>>>0>H>>>0?H:o;s=v;do{t=$4(c[s>>2]|0,0,T)|0;do if((s|0)==(v|0)){if((t|0)!=(T|0))break;a[V>>0]=48;t=V}else{if(t>>>0<=ga>>>0)break;do{t=t+-1|0;a[t>>0]=48}while(t>>>0>ga>>>0)}while(0);if(!(c[e>>2]&32))z3(t,U-t|0,e)|0;s=s+4|0}while(s>>>0<=H>>>0);do if(x){if(c[e>>2]&32)break;z3(193468,1,e)|0}while(0);if((p|0)>0&s>>>0>>0){q=p;t=s;while(1){s=$4(c[t>>2]|0,0,T)|0;if(s>>>0>ga>>>0)do{s=s+-1|0;a[s>>0]=48}while(s>>>0>ga>>>0);if(!(c[e>>2]&32))z3(s,(q|0)>9?9:q,e)|0;t=t+4|0;p=q+-9|0;if(!((q|0)>9&t>>>0>>0))break;else q=p}}a5(e,48,p+9|0,9,0)}else{q=A?E:o+4|0;if((p|0)>-1){u=(y|0)==0;v=o;do{t=$4(c[v>>2]|0,0,T)|0;if((t|0)==(T|0)){a[V>>0]=48;t=V}do if((v|0)==(o|0)){s=t+1|0;if(!(c[e>>2]&32))z3(t,1,e)|0;if(u&(p|0)<1){t=s;break}if(c[e>>2]&32){t=s;break}z3(193468,1,e)|0;t=s}else{if(t>>>0<=ga>>>0)break;do{t=t+-1|0;a[t>>0]=48}while(t>>>0>ga>>>0)}while(0);s=U-t|0;if(!(c[e>>2]&32))z3(t,(p|0)>(s|0)?s:p,e)|0;p=p-s|0;v=v+4|0}while(v>>>0>>0&(p|0)>-1)}a5(e,48,p+18|0,18,0);if(c[e>>2]&32)break;z3(z,ca-z|0,e)|0}while(0);a5(e,32,M,B,K^8192);o=(B|0)<(M|0)?M:B}else{o=(G&32|0)!=0;p=r!=r|0.0!=0.0;s=p?0:I;t=s+3|0;a5(e,32,M,t,q);q=c[e>>2]|0;if(!(q&32)){z3(J,s,e)|0;q=c[e>>2]|0}if(!(q&32))z3(p?(o?193460:193464):o?193452:193456,3,e)|0;a5(e,32,M,t,K^8192);o=(t|0)<(M|0)?M:t}while(0);x=L;continue a}default:{q=K;p=B;v=0;u=193416;s=P}}while(0);g:do if((N|0)==64){q=ea;s=c[q>>2]|0;q=c[q+4>>2]|0;t=u&32;if(!((s|0)==0&(q|0)==0)){o=P;do{o=o+-1|0;a[o>>0]=d[193400+(s&15)>>0]|t;s=l5(s|0,q|0,4)|0;q=C}while(!((s|0)==0&(q|0)==0));N=ea;if((v&8|0)==0|(c[N>>2]|0)==0&(c[N+4>>2]|0)==0){s=v;t=0;u=193416;N=77}else{s=v;t=2;u=193416+(u>>4)|0;N=77}}else{o=P;s=v;t=0;u=193416;N=77}}else if((N|0)==76){o=$4(p,o,P)|0;s=K;p=B;u=q;N=77}else if((N|0)==82){N=0;J=T3(s,0,B)|0;I=(J|0)==0;x=s;p=I?B:J-s|0;v=0;u=193416;s=I?s+B|0:J}else if((N|0)==86){N=0;q=0;p=0;t=c[ea>>2]|0;while(1){s=c[t>>2]|0;if(!s)break;p=I2(ia,s)|0;if((p|0)<0|p>>>0>(o-q|0)>>>0)break;q=p+q|0;if(o>>>0>q>>>0)t=t+4|0;else break}if((p|0)<0){n=-1;break a}a5(e,32,M,q,K);if(!q){p=0;N=98}else{o=0;s=c[ea>>2]|0;while(1){p=c[s>>2]|0;if(!p){p=q;N=98;break g}p=I2(ia,p)|0;o=p+o|0;if((o|0)>(q|0)){p=q;N=98;break g}if(!(c[e>>2]&32))z3(ia,p,e)|0;if(o>>>0>=q>>>0){p=q;N=98;break}else s=s+4|0}}}while(0);if((N|0)==98){N=0;a5(e,32,M,p,K^8192);x=L;o=(M|0)>(p|0)?M:p;continue}if((N|0)==77){N=0;q=(p|0)>-1?s&-65537:s;s=ea;s=(c[s>>2]|0)!=0|(c[s+4>>2]|0)!=0;if((p|0)!=0|s){v=(s&1^1)+(W-o)|0;x=o;p=(p|0)>(v|0)?p:v;v=t;s=P}else{x=P;p=0;v=t;s=P}}t=s-x|0;s=(p|0)<(t|0)?t:p;p=v+s|0;o=(M|0)<(p|0)?p:M;a5(e,32,o,p,q);if(!(c[e>>2]&32))z3(u,v,e)|0;a5(e,48,o,p,q^65536);a5(e,48,s,t,0);if(!(c[e>>2]&32))z3(x,t,e)|0;a5(e,32,o,p,q^8192);x=L}h:do if((N|0)==245)if(!e)if(f){n=1;while(1){f=c[m+(n<<2)>>2]|0;if(!f)break;_4(l+(n<<3)|0,f,g);n=n+1|0;if((n|0)>=10){n=1;break h}}if((n|0)<10)while(1){if(c[m+(n<<2)>>2]|0){n=-1;break h}n=n+1|0;if((n|0)>=10){n=1;break}}else n=1}else n=0;while(0);i=ka;return n|0}function R4(a,b,c){a=a|0;b=b|0;c=c|0;return e3(a,b,c)|0}function S4(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,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+240|0;if((i|0)>=(j|0))ba();p=q;c[p>>2]=a;a:do if((e|0)>1){o=0-b|0;g=e;h=a;k=a;l=1;while(1){m=h+o|0;n=g+-2|0;a=h+(0-((c[f+(n<<2)>>2]|0)+b))|0;if((gc[d&127](k,a)|0)>-1?(gc[d&127](k,m)|0)>-1:0){e=l;break a}e=l+1|0;h=p+(l<<2)|0;if((gc[d&127](a,m)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=m;a=m;g=n}if((g|0)<=1)break a;h=a;k=c[p>>2]|0;l=e}}else e=1;while(0);Y4(b,p,e);i=q;return}function T4(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 k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+240|0;if((i|0)>=(j|0))ba();q=s;m=c[e>>2]|0;l=c[e+4>>2]|0;c[q>>2]=a;p=0-b|0;a:do if((l|0)!=0|(m|0)!=1?(k=a+(0-(c[h+(f<<2)>>2]|0))|0,(gc[d&127](k,a)|0)>=1):0){g=(g|0)==0;n=m;o=l;m=1;while(1){if(g&(f|0)>1){g=c[h+(f+-2<<2)>>2]|0;if((gc[d&127](a+p|0,k)|0)>-1){k=a;g=f;e=m;r=20;break a}if((gc[d&127](a+(0-(g+b))|0,k)|0)>-1){k=a;g=f;e=m;r=20;break a}}e=m+1|0;c[q+(m<<2)>>2]=k;g=n+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)r=11}else r=11;if((r|0)==11){r=0;if(!o){g=64;r=16;break}if(!(o&1)){g=o;a=0}else{m=0;l=n;a=o;g=0;break}while(1){l=a+1|0;g=g>>>1;if(g&1){g=l;break}else a=l}if(!g){m=0;l=n;a=o;g=0;break}else g=a+33|0}if(g>>>0>31)r=16;else{m=g;l=n;a=o}}else{g=32;r=16}while(0);if((r|0)==16){r=0;m=g+-32|0;l=o;a=0}n=a<<32-m|l>>>m;o=a>>>m;g=g+f|0;if(!((o|0)!=0|(n|0)!=1)){r=20;break a}l=k+(0-(c[h+(g<<2)>>2]|0))|0;if((gc[d&127](l,c[q>>2]|0)|0)<1){f=g;g=0;r=19;break}else{a=k;f=g;g=1;k=l;m=e}}}else{k=a;e=1;r=19}while(0);if((r|0)==19?(g|0)==0:0){g=f;r=20}if((r|0)==20){Y4(b,q,e);S4(k,b,d,g,h)}i=s;return}function U4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,k=0;k=i;i=i+112|0;if((i|0)>=(j|0))ba();h=k;f=h;g=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;h2(h,0);e=+e2(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b)c[b>>2]=(d|0)!=0?a+d|0:a;i=k;return +e}function V4(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,k=0,l=0;l=i;i=i+112|0;if((i|0)>=(j|0))ba();k=l;c[k>>2]=0;g=k+4|0;c[g>>2]=a;c[k+44>>2]=a;h=k+8|0;c[h>>2]=(a|0)<0?-1:a+2147483647|0;c[k+76>>2]=-1;h2(k,0);e=f2(k,d,1,e,f)|0;if(b)c[b>>2]=a+((c[g>>2]|0)+(c[k+108>>2]|0)-(c[h>>2]|0));i=l;return e|0}function W4(a){a=a|0;return}function X4(){return}function Y4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,k=0;h=i;i=i+256|0;if((i|0)>=(j|0))ba();e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;n5(e|0,c[b>>2]|0,f|0)|0;e=0;do{k=b+(e<<2)|0;e=e+1|0;n5(c[k>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[k>>2]=(c[k>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Z4(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;n5(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function _4(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 $4(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){e=b;while(1){b=y5(e|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=b|48;b=x5(e|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&e>>>0>4294967295){e=b;c=C}else break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function a5(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,k=0;k=i;i=i+256|0;if((i|0)>=(j|0))ba();h=k;do if((d|0)>(e|0)&(f&73728|0)==0){g=d-e|0;p5(h|0,b|0,(g>>>0>256?256:g)|0)|0;f=c[a>>2]|0;b=(f&32|0)==0;if(g>>>0>255){d=d-e|0;do{if(b){z3(h,256,a)|0;f=c[a>>2]|0}g=g+-256|0;b=(f&32|0)==0}while(g>>>0>255);if(b)g=d&255;else break}else if(!b)break;z3(h,g,a)|0}while(0);i=k;return}function b5(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,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=c[a>>2]|0;h=(g|0)>-1;a:do if(!d)if(h){i=b+32|0;h=a;while(1){if((c[b>>2]|0)>-1?(z=e+(g<<2)|0,c[z>>2]=(c[z>>2]|0)+1,(c[i>>2]|0)>-1):0){g=i;do{z=e+(c[h>>2]<<2)|0;c[z>>2]=(c[z>>2]|0)+1;g=g+32|0}while((c[g>>2]|0)>-1)}a=a+32|0;g=c[a>>2]|0;if((g|0)>-1)h=a;else{g=0;break}}}else g=0;else if(h){w=a;t=a;while(1){i=c[b>>2]|0;b:do if((i|0)>-1){s=t+4|0;u=t+8|0;v=t+16|0;o=t+20|0;p=t+24|0;q=t+28|0;r=t+12|0;e=b;h=-1;while(1){while(1){if((i|0)!=(h|0)){n=i;break}e=e+32|0;i=c[e>>2]|0;if((i|0)<=-1)break b}h=d+(c[f+(c[w>>2]<<2)>>2]<<5)|0;while(1){i=h+8|0;if(!(c[i>>2]|0)){m=h;break}else h=h+32|0}c[m+40>>2]=0;c[m>>2]=c[s>>2];c[m+4>>2]=c[u>>2];c[i>>2]=d+(c[f+(n<<2)>>2]<<5);c[m+12>>2]=n;h=c[o>>2]|0;a=c[e+16>>2]|c[v>>2]|((h|0)!=0?4:0)|((c[p>>2]|0)!=0?8:0);g=m+20|0;c[g>>2]=a;i=c[q>>2]|0;if((i|0)>-1)c[g>>2]=a|256;else i=h;c[m+24>>2]=i;h=c[p>>2]|0;if(!h)c[m+28>>2]=0;else{a=0;while(1){i=a+1|0;if(!(c[h+(a<<2)>>2]|0))break;else a=i}g=A1(i<<2)|0;c[m+28>>2]=g;if(!g){g=12;break a}j=c[p>>2]|0;i=c[j>>2]|0;if(!i)i=g;else{h=i;i=g;a=0;do{c[i>>2]=h;a=a+1|0;h=c[j+(a<<2)>>2]|0;i=g+(a<<2)|0}while((h|0)!=0)}c[i>>2]=0}i=c[r>>2]|0;if(!i)h=0;else{h=0;while(1)if((c[i+(h<<2)>>2]|0)>-1)h=h+1|0;else break}k=e+12|0;i=c[k>>2]|0;if(!i)a=0;else{a=0;while(1)if((c[i+(a<<2)>>2]|0)>-1)a=a+1|0;else break}g=m+16|0;i=c[g>>2]|0;if(i)B1(i);c[g>>2]=0;i=a+h|0;if((i|0)>0){m=A1((i<<2)+4|0)|0;c[g>>2]=m;if(!m){g=12;break a}a=c[r>>2]|0;if((a|0)!=0?(y=c[a>>2]|0,(y|0)>-1):0){h=y;i=0;do{c[m+(i<<2)>>2]=h;i=i+1|0;h=c[a+(i<<2)>>2]|0}while((h|0)>-1);l=i}else l=0;h=c[k>>2]|0;if((h|0)!=0?(x=c[h>>2]|0,(x|0)>-1):0){a=(l|0)>0;g=x;k=0;i=l;do{c:do if(a){j=0;while(1){if((c[m+(j<<2)>>2]|0)==(g|0))break c;j=j+1|0;if((j|0)>=(l|0)){z=39;break}}}else z=39;while(0);if((z|0)==39){z=0;c[m+(i<<2)>>2]=g;i=i+1|0}k=k+1|0;g=c[h+(k<<2)>>2]|0}while((g|0)>-1)}else i=l;c[m+(i<<2)>>2]=-1}e=e+32|0;i=c[e>>2]|0;if((i|0)>-1)h=n;else break}}while(0);a=t+32|0;if((c[a>>2]|0)>-1){w=a;t=a}else{g=0;break}}}else g=0;while(0);return g|0}function c5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=U2(a,0,0,0,8)|0;do if(f){e=D4(a,0,20)|0;if(!e){c[f>>2]=0;e=12;break}g=c[e+4>>2]|0;c[g>>2]=-3;c[g+4>>2]=d;c[g+8>>2]=-1;c[f>>2]=e;e=U2(a,0,0,0,32)|0;c[f+4>>2]=e;if(e){g=b+4|0;c[e+4>>2]=c[g>>2];c[e>>2]=c[b>>2];c[e+8>>2]=-1;c[e+12>>2]=-1;c[e+24>>2]=0;c[e+28>>2]=0;c[e+20>>2]=0;c[g>>2]=f;c[b>>2]=1;e=0}else e=12}else e=12;while(0);return e|0}function d5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a>>2]|0;if((e|0)>-1){g=c[b+16>>2]|0;f=0;do{b=(e|0)/2|0;if(!(e&1))c[g+(b*12|0)>>2]=d;else c[g+(b*12|0)+4>>2]=d;f=f+1|0;e=c[a+(f<<2)>>2]|0}while((e|0)>-1)}c[a>>2]=-1;return}function e5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=U2(a,0,0,0,8)|0;do if(f){e=D4(a,0,20)|0;if(!e){c[f+4>>2]=0;e=12;break}g=c[e+4>>2]|0;c[g>>2]=-3;c[g+4>>2]=d;c[g+8>>2]=-1;c[f+4>>2]=e;e=U2(a,0,0,0,32)|0;c[f>>2]=e;if(e){g=b+4|0;c[e+4>>2]=c[g>>2];c[e>>2]=c[b>>2];c[e+8>>2]=-1;c[e+12>>2]=-1;c[e+24>>2]=0;c[e+28>>2]=0;c[e+20>>2]=0;c[g>>2]=f;c[b>>2]=1;e=0}else e=12}else e=12;while(0);return e|0}function f5(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;h=c[g>>2]|0;j=c[f>>2]|0;if((c[e>>2]|0)>=(j|0))if((j|0)<=1024?(c[f>>2]=j<<1,i=D1(h,j<<3)|0,(i|0)!=0):0){c[g>>2]=i;k=5}else h=12;else{i=h;k=5}if((k|0)==5){h=D4(a,0,20)|0;if(!h)h=0;else{k=c[h+4>>2]|0;c[k>>2]=b;c[k+4>>2]=d;c[k+8>>2]=-1}k=c[e>>2]|0;c[i+(k<<2)>>2]=h;c[e>>2]=k+1;h=(h|0)==0?12:0}return h|0}function g5(a,b){a=a|0;b=b|0;a=c[c[(c[a>>2]|0)+4>>2]>>2]|0;b=c[c[(c[b>>2]|0)+4>>2]>>2]|0;return ((a|0)<(b|0)?-1:(a|0)>(b|0)&1)|0}function h5(){}function i5(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 (C=d,a-c>>>0|0)|0}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function k5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;p=p+1|0;c[a>>2]=p;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=p;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;C=e;return d|0}f=f+1|0}e=e*2|0;d=D1(d|0,8*(e+1|0)|0)|0;d=k5(a|0,b|0,d|0,e|0)|0;C=e;return d|0}function l5(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function m5(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 n5(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return sb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function o5(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 n5(b,c,d)|0;return b|0}function p5(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function q5(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function s5(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function t5(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function u5(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=i5(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return i5((z5(h,g,i5(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function v5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=i5(h^a,g^b,h,g)|0;b=C;z5(a,b,i5(l^d,k^e,l,k)|0,C,j)|0;e=i5(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function w5(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=t5(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function x5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return z5(a,b,c,d,0)|0}function y5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;z5(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function z5(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;n=a;l=b;m=l;k=d;o=e;i=o;if(!m){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(n>>>0)%(k>>>0);c[f+4>>2]=0}o=0;f=(n>>>0)/(k>>>0)>>>0;return (C=o,f)|0}else{if(!g){o=0;f=0;return (C=o,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;o=0;f=0;return (C=o,f)|0}}j=(i|0)==0;do if(k){if(!j){h=(aa(i|0)|0)-(aa(m|0)|0)|0;if(h>>>0<=31){g=h+1|0;l=31-h|0;k=h-31>>31;i=g;j=n>>>(g>>>0)&k|m<>>(g>>>0)&k;g=0;h=n<>2]=a|0;c[f+4>>2]=l|b&0;o=0;f=0;return (C=o,f)|0}j=k-1|0;if(j&k){h=(aa(k|0)|0)+33-(aa(m|0)|0)|0;p=64-h|0;l=32-h|0;a=l>>31;b=h-32|0;k=b>>31;i=h;j=l-1>>31&m>>>(b>>>0)|(m<>>(h>>>0))&k;k=k&m>>>(h>>>0);g=n<>>(b>>>0))&a|n<>31;break}if(f){c[f>>2]=j&n;c[f+4>>2]=0}if((k|0)==1){f=l|b&0;p=a|0|0;return (C=f,p)|0}else{p=s5(k|0)|0;f=m>>>(p>>>0)|0;p=m<<32-p|n>>>(p>>>0)|0;return (C=f,p)|0}}else{if(j){if(f){c[f>>2]=(m>>>0)%(k>>>0);c[f+4>>2]=0}f=0;p=(m>>>0)/(k>>>0)>>>0;return (C=f,p)|0}if(!n){if(f){c[f>>2]=0;c[f+4>>2]=(m>>>0)%(i>>>0)}f=0;p=(m>>>0)/(i>>>0)>>>0;return (C=f,p)|0}j=i-1|0;if(!(j&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=j&m|b&0}f=0;p=m>>>((s5(i|0)|0)>>>0);return (C=f,p)|0}h=(aa(i|0)|0)-(aa(m|0)|0)|0;if(h>>>0<=30){k=h+1|0;h=31-h|0;i=k;j=m<>>(k>>>0);k=m>>>(k>>>0);g=0;h=n<>2]=a|0;c[f+4>>2]=l|b&0;f=0;p=0;return (C=f,p)|0}while(0);if(!i){l=h;i=0;h=0}else{m=d|0|0;l=o|e&0;b=j5(m|0,l|0,-1,-1)|0;a=C;d=h;h=0;do{n=d;d=g>>>31|d<<1;g=h|g<<1;n=j<<1|n>>>31|0;e=j>>>31|k<<1|0;i5(b,a,n,e)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;j=i5(n,e,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;k=C;i=i-1|0}while((i|0)!=0);l=d;i=0}d=0;if(f){c[f>>2]=j;c[f+4>>2]=k}f=(g|0)>>>31|(l|d)<<1|(d<<1|g>>>31)&0|i;p=(g<<1|0>>>31)&-2|h;return (C=f,p)|0}function A5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ub[a&31](b|0,c|0,d|0,e|0,f|0)}function B5(a,b){a=a|0;b=b|0;Vb[a&127](b|0)}function C5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return Wb[a&3](b|0,c|0,+d,+e)|0}function D5(a,b,c){a=a|0;b=b|0;c=c|0;Xb[a&31](b|0,c|0)}function E5(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;return Yb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function F5(a,b){a=a|0;b=b|0;return Zb[a&63](b|0)|0}function G5(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 _b[a&63](b|0,c|0,d|0,e|0,f|0)|0}function H5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return $b[a&63](b|0,c|0,d|0)|0}function I5(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;ac[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function J5(a,b){a=a|0;b=b|0;return +bc[a&1](b|0)}function K5(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 cc[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function L5(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return +dc[a&7](+b,+c,+d)}function M5(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;ec[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function N5(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;fc[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function O5(a,b,c){a=a|0;b=b|0;c=c|0;return gc[a&127](b|0,c|0)|0}function P5(a){a=a|0;return +hc[a&1]()}function Q5(a){a=a|0;return ic[a&7]()|0}function R5(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|0;jc[a&15](b|0,c|0,d|0,+e,+f,g|0)}function S5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return kc[a&127](b|0,c|0,d|0,e|0)|0}function T5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;lc[a&127](b|0,c|0,d|0)}function U5(a){a=a|0;mc[a&7]()}function V5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;nc[a&31](b|0,c|0,d|0,e|0)}function W5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(0)}function X5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(20)}function Y5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(21)}function Z5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(22)}function _5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(23)}function $5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(24)}function a6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(25)}function b6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(26)}function c6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(27)}function d6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(28)}function e6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(29)}function f6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(30)}function g6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;da(31)}function h6(a){a=a|0;ea(0)}function i6(a){a=a|0;ea(112)}function j6(a){a=a|0;ea(113)}function k6(a){a=a|0;ea(114)}function l6(a){a=a|0;ea(115)}function m6(a){a=a|0;ea(116)}function n6(a){a=a|0;ea(117)}function o6(a){a=a|0;ea(118)}function p6(a){a=a|0;ea(119)}function q6(a){a=a|0;ea(120)}function r6(a){a=a|0;ea(121)}function s6(a){a=a|0;ea(122)}function t6(a){a=a|0;ea(123)}function u6(a){a=a|0;ea(124)}function v6(a){a=a|0;ea(125)}function w6(a){a=a|0;ea(126)}function x6(a){a=a|0;ea(127)}function y6(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;fa(0);return 0}function z6(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;fa(3);return 0}function A6(a,b){a=a|0;b=b|0;ga(0)}function B6(a,b){a=a|0;b=b|0;ga(29)}function C6(a,b){a=a|0;b=b|0;ga(30)}function D6(a,b){a=a|0;b=b|0;ga(31)}function E6(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;ha(0);return 0}function F6(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;ha(3);return 0}function G6(a){a=a|0;ia(0);return 0}function H6(a){a=a|0;ia(35);return 0}function I6(a){a=a|0;ia(36);return 0}function J6(a){a=a|0;ia(37);return 0}function K6(a){a=a|0;ia(38);return 0}function L6(a){a=a|0;ia(39);return 0}function M6(a){a=a|0;ia(40);return 0}function N6(a){a=a|0;ia(41);return 0}function O6(a){a=a|0;ia(42);return 0}function P6(a){a=a|0;ia(43);return 0}function Q6(a){a=a|0;ia(44);return 0}function R6(a){a=a|0;ia(45);return 0}function S6(a){a=a|0;ia(46);return 0}function T6(a){a=a|0;ia(47);return 0}function U6(a){a=a|0;ia(48);return 0}function V6(a){a=a|0;ia(49);return 0}function W6(a){a=a|0;ia(50);return 0}function X6(a){a=a|0;ia(51);return 0}function Y6(a){a=a|0;ia(52);return 0}function Z6(a){a=a|0;ia(53);return 0}function _6(a){a=a|0;ia(54);return 0}function $6(a){a=a|0;ia(55);return 0}function a7(a){a=a|0;ia(56);return 0}function b7(a){a=a|0;ia(57);return 0}function c7(a){a=a|0;ia(58);return 0}function d7(a){a=a|0;ia(59);return 0}function e7(a){a=a|0;ia(60);return 0}function f7(a){a=a|0;ia(61);return 0}function g7(a){a=a|0;ia(62);return 0}function h7(a){a=a|0;ia(63);return 0}function i7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ja(0);return 0}function j7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ja(54);return 0}function k7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ja(55);return 0}function l7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ja(56);return 0}function m7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ja(57);return 0}function n7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ja(58);return 0}function o7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ja(59);return 0}function p7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ja(60);return 0}function q7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ja(61);return 0}function r7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ja(62);return 0}function s7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ja(63);return 0}function t7(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function u7(a,b,c){a=a|0;b=b|0;c=c|0;ka(46);return 0}function v7(a,b,c){a=a|0;b=b|0;c=c|0;ka(47);return 0}function w7(a,b,c){a=a|0;b=b|0;c=c|0;ka(48);return 0}function x7(a,b,c){a=a|0;b=b|0;c=c|0;ka(49);return 0}function y7(a,b,c){a=a|0;b=b|0;c=c|0;ka(50);return 0}function z7(a,b,c){a=a|0;b=b|0;c=c|0;ka(51);return 0}function A7(a,b,c){a=a|0;b=b|0;c=c|0;ka(52);return 0}function B7(a,b,c){a=a|0;b=b|0;c=c|0;ka(53);return 0}function C7(a,b,c){a=a|0;b=b|0;c=c|0;ka(54);return 0}function D7(a,b,c){a=a|0;b=b|0;c=c|0;ka(55);return 0}function E7(a,b,c){a=a|0;b=b|0;c=c|0;ka(56);return 0}function F7(a,b,c){a=a|0;b=b|0;c=c|0;ka(57);return 0}function G7(a,b,c){a=a|0;b=b|0;c=c|0;ka(58);return 0}function H7(a,b,c){a=a|0;b=b|0;c=c|0;ka(59);return 0}function I7(a,b,c){a=a|0;b=b|0;c=c|0;ka(60);return 0}function J7(a,b,c){a=a|0;b=b|0;c=c|0;ka(61);return 0}function K7(a,b,c){a=a|0;b=b|0;c=c|0;ka(62);return 0}function L7(a,b,c){a=a|0;b=b|0;c=c|0;ka(63);return 0}function M7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(0)}function N7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(9)}function O7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(10)}function P7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(11)}function Q7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(12)}function R7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(13)}function S7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(14)}function T7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;la(15)}function U7(a){a=a|0;ma(0);return 0.0}function V7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;na(0);return 0}function W7(a,b,c){a=+a;b=+b;c=+c;oa(0);return 0.0}function X7(a,b,c){a=+a;b=+b;c=+c;oa(5);return 0.0}function Y7(a,b,c){a=+a;b=+b;c=+c;oa(6);return 0.0}function Z7(a,b,c){a=+a;b=+b;c=+c;oa(7);return 0.0}function _7(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;pa(0)}function $7(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;qa(0)}function a8(a,b){a=a|0;b=b|0;ra(0);return 0}function b8(a,b){a=a|0;b=b|0;ra(112);return 0}function c8(a,b){a=a|0;b=b|0;ra(113);return 0}function d8(a,b){a=a|0;b=b|0;ra(114);return 0}function e8(a,b){a=a|0;b=b|0;ra(115);return 0}function f8(a,b){a=a|0;b=b|0;ra(116);return 0}function g8(a,b){a=a|0;b=b|0;ra(117);return 0}function h8(a,b){a=a|0;b=b|0;ra(118);return 0}function i8(a,b){a=a|0;b=b|0;ra(119);return 0}function j8(a,b){a=a|0;b=b|0;ra(120);return 0}function k8(a,b){a=a|0;b=b|0;ra(121);return 0}function l8(a,b){a=a|0;b=b|0;ra(122);return 0}function m8(a,b){a=a|0;b=b|0;ra(123);return 0}function n8(a,b){a=a|0;b=b|0;ra(124);return 0}function o8(a,b){a=a|0;b=b|0;ra(125);return 0}function p8(a,b){a=a|0;b=b|0;ra(126);return 0}function q8(a,b){a=a|0;b=b|0;ra(127);return 0}function r8(){sa(0);return 0.0}function s8(){ta(0);return 0}function t8(){ta(5);return 0}function u8(){ta(6);return 0}function v8(){ta(7);return 0}function w8(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;ua(0)}function x8(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;ua(9)}function y8(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;ua(10)}function z8(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;ua(11)}function A8(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;ua(12)}function B8(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;ua(13)}function C8(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;ua(14)}function D8(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;ua(15)}function E8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(0);return 0}function F8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(71);return 0}function G8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(72);return 0}function H8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(73);return 0}function I8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(74);return 0}function J8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(75);return 0}function K8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(76);return 0}function L8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(77);return 0}function M8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(78);return 0}function N8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(79);return 0}function O8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(80);return 0}function P8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(81);return 0}function Q8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(82);return 0}function R8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(83);return 0}function S8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(84);return 0}function T8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(85);return 0}function U8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(86);return 0}function V8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(87);return 0}function W8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(88);return 0}function X8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(89);return 0}function Y8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(90);return 0}function Z8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(91);return 0}function _8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(92);return 0}function $8(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(93);return 0}function a9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(94);return 0}function b9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(95);return 0}function c9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(96);return 0}function d9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(97);return 0}function e9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(98);return 0}function f9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(99);return 0}function g9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(100);return 0}function h9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(101);return 0}function i9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(102);return 0}function j9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(103);return 0}function k9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(104);return 0}function l9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(105);return 0}function m9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(106);return 0}function n9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(107);return 0}function o9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(108);return 0}function p9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(109);return 0}function q9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(110);return 0}function r9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(111);return 0}function s9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(112);return 0}function t9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(113);return 0}function u9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(114);return 0}function v9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(115);return 0}function w9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(116);return 0}function x9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(117);return 0}function y9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(118);return 0}function z9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(119);return 0}function A9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(120);return 0}function B9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(121);return 0}function C9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(122);return 0}function D9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(123);return 0}function E9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(124);return 0}function F9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(125);return 0}function G9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(126);return 0}function H9(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;va(127);return 0}function I9(a,b,c){a=a|0;b=b|0;c=c|0;wa(0)}function J9(a,b,c){a=a|0;b=b|0;c=c|0;wa(70)}function K9(a,b,c){a=a|0;b=b|0;c=c|0;wa(71)}function L9(a,b,c){a=a|0;b=b|0;c=c|0;wa(72)}function M9(a,b,c){a=a|0;b=b|0;c=c|0;wa(73)}function N9(a,b,c){a=a|0;b=b|0;c=c|0;wa(74)}function O9(a,b,c){a=a|0;b=b|0;c=c|0;wa(75)}function P9(a,b,c){a=a|0;b=b|0;c=c|0;wa(76)}function Q9(a,b,c){a=a|0;b=b|0;c=c|0;wa(77)}function R9(a,b,c){a=a|0;b=b|0;c=c|0;wa(78)}function S9(a,b,c){a=a|0;b=b|0;c=c|0;wa(79)}function T9(a,b,c){a=a|0;b=b|0;c=c|0;wa(80)}function U9(a,b,c){a=a|0;b=b|0;c=c|0;wa(81)}function V9(a,b,c){a=a|0;b=b|0;c=c|0;wa(82)}function W9(a,b,c){a=a|0;b=b|0;c=c|0;wa(83)}function X9(a,b,c){a=a|0;b=b|0;c=c|0;wa(84)}function Y9(a,b,c){a=a|0;b=b|0;c=c|0;wa(85)}function Z9(a,b,c){a=a|0;b=b|0;c=c|0;wa(86)}function _9(a,b,c){a=a|0;b=b|0;c=c|0;wa(87)}function $9(a,b,c){a=a|0;b=b|0;c=c|0;wa(88)}function aaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(89)}function baa(a,b,c){a=a|0;b=b|0;c=c|0;wa(90)}function caa(a,b,c){a=a|0;b=b|0;c=c|0;wa(91)}function daa(a,b,c){a=a|0;b=b|0;c=c|0;wa(92)}function eaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(93)}function faa(a,b,c){a=a|0;b=b|0;c=c|0;wa(94)}function gaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(95)}function haa(a,b,c){a=a|0;b=b|0;c=c|0;wa(96)}function iaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(97)}function jaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(98)}function kaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(99)}function laa(a,b,c){a=a|0;b=b|0;c=c|0;wa(100)}function maa(a,b,c){a=a|0;b=b|0;c=c|0;wa(101)}function naa(a,b,c){a=a|0;b=b|0;c=c|0;wa(102)}function oaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(103)}function paa(a,b,c){a=a|0;b=b|0;c=c|0;wa(104)}function qaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(105)}function raa(a,b,c){a=a|0;b=b|0;c=c|0;wa(106)}function saa(a,b,c){a=a|0;b=b|0;c=c|0;wa(107)}function taa(a,b,c){a=a|0;b=b|0;c=c|0;wa(108)}function uaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(109)}function vaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(110)}function waa(a,b,c){a=a|0;b=b|0;c=c|0;wa(111)}function xaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(112)}function yaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(113)}function zaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(114)}function Aaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(115)}function Baa(a,b,c){a=a|0;b=b|0;c=c|0;wa(116)}function Caa(a,b,c){a=a|0;b=b|0;c=c|0;wa(117)}function Daa(a,b,c){a=a|0;b=b|0;c=c|0;wa(118)}function Eaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(119)}function Faa(a,b,c){a=a|0;b=b|0;c=c|0;wa(120)}function Gaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(121)}function Haa(a,b,c){a=a|0;b=b|0;c=c|0;wa(122)}function Iaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(123)}function Jaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(124)}function Kaa(a,b,c){a=a|0;b=b|0;c=c|0;wa(125)}function Laa(a,b,c){a=a|0;b=b|0;c=c|0;wa(126)}function Maa(a,b,c){a=a|0;b=b|0;c=c|0;wa(127)}function Naa(){xa(0)}function Oaa(){xa(7)}function Paa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ya(0)}function Qaa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ya(30)}function Raa(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ya(31)} + +// EMSCRIPTEN_END_FUNCS +var Ub=[W5,rd,Fd,Md,ae,Ge,x0,w0,Z$,_$,v0,u$,v$,Q_,R_,ol,BG,YP,p_,q_,X5,Y5,Z5,_5,$5,a6,b6,c6,d6,e6,f6,g6];var Vb=[h6,Cc,Dc,Ec,Fc,Gc,Zc,_c,$c,ad,bd,cd,dd,pd,qd,td,ud,vd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Pd,Qd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,_d,$d,be,ne,oe,pe,qe,De,Ee,Fe,He,Te,Ue,Ve,Xe,Ye,Ze,_e,$e,af,bf,cf,df,mf,nf,of,pf,Mf,Lf,Pl,Ll,to,ko,xp,yp,In,Jn,qp,rp,Hl,Il,Nn,On,Xn,Yn,TB,zM,MM,BM,AM,cN,UL,VL,iS,nS,Gf,rl,ro,so,zo,B1,Jv,IA,DG,gI,zK,MU,WQ,jL,XU,IX,bY,cY,iY,N4,O4,i6,j6,k6,l6,m6,n6,o6,p6,q6,r6,s6,t6,u6,v6,w6,x6];var Wb=[y6,cu,du,z6];var Xb=[A6,fd,kd,Ld,he,we,Ne,kf,vf,nC,QM,mN,gN,bN,KM,LM,lS,pS,AL,zG,DK,OP,qA,LW,HX,eY,fY,jY,lY,B6,C6,D6];var Yb=[E6,j_,g_,F6];var Zb=[G6,Yg,rg,Rm,Sm,gC,kC,cQ,dQ,aS,bS,cS,dS,eS,fS,gS,hS,$2,AF,ml,pl,ym,rK,AB,pC,zB,xK,CK,BB,PP,qK,UP,VP,kY,A1,H6,I6,J6,K6,L6,M6,N6,O6,P6,Q6,R6,S6,T6,U6,V6,W6,X6,Y6,Z6,_6,$6,a7,b7,c7,d7,e7,f7,g7,h7];var _b=[i7,PB,PM,fN,D0,u1,v1,I0,F0,s1,t1,J0,K0,L0,M0,N0,i1,j1,$0,U0,P0,O0,Q0,R0,T0,S0,G0,E0,V0,W0,X0,Y0,Z0,_0,a1,b1,c1,d1,h1,f1,e1,g1,o1,k1,l1,m1,n1,p1,q1,r1,w1,x1,y1,z1,j7,k7,l7,m7,n7,o7,p7,q7,r7,s7];var $b=[t7,Im,Gv,Sz,Zz,dA,iA,QB,SB,eC,hC,vL,KP,JU,Q$,W$,l$,r$,H_,N_,Z4,c3,b3,a3,d3,pA,Fm,mv,ap,$s,Qx,Sx,Vx,kA,D3,uD,p3,jO,nL,aR,dY,i_,f_,v_,z_,R4,u7,v7,w7,x7,y7,z7,A7,B7,C7,D7,E7,F7,G7,H7,I7,J7,K7,L7];var ac=[M7,Kc,id,Jd,fe,ue,Le,hf,tf,N7,O7,P7,Q7,R7,S7,T7];var bc=[U7,vO];var cc=[V7,JX];var dc=[W7,kJ,lJ,mJ,nJ,X7,Y7,Z7];var ec=[_7,ZP];var fc=[$7];var gc=[a8,OB,fC,lC,nN,lN,eN,aN,OM,XW,YW,ZW,_W,$W,aX,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,S$,T$,V$,$$,a0,b0,c0,d0,e0,f0,g0,n$,o$,q$,J_,K_,M_,yF,hg,Xg,ji,ui,si,zk,xk,nl,ql,Io,Sp,Yq,qr,sr,ur,vr,Cr,Br,Ar,Ws,at,fv,Iw,rx,lE,mE,nE,AG,qC,tK,FG,gH,jH,kH,yH,r3,q3,mO,xP,OA,WU,cB,eB,QP,RR,xT,WW,gY,hY,D1,m_,n_,o_,g5,b8,c8,d8,e8,f8,g8,h8,i8,j8,k8,l8,m8,n8,o8,p8,q8];var hc=[r8,oO];var ic=[s8,Oq,AK,BK,iL,t8,u8,v8];var jc=[w8,AH,BH,CH,DH,EH,FH,GH,HH,x8,y8,z8,A8,B8,C8,D8];var kc=[E8,Km,Hr,Hv,Uz,$z,oB,BD,nB,GB,cC,bC,mC,yC,zC,xL,MP,EQ,CQ,cT,LU,eV,dV,K$,L$,M$,N$,O$,P$,R$,U$,Y$,f$,g$,h$,i$,j$,k$,m$,p$,t$,B_,C_,D_,E_,F_,G_,I_,L_,P_,_s,nA,yG,aD,CG,lO,fZ,ZZ,sZ,CZ,mZ,LZ,QZ,OZ,RZ,k_,d_,s_,t_,x_,y_,F8,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,e9,f9,g9,h9,i9,j9,k9,l9,m9,n9,o9,p9,q9,r9,s9,t9,u9,v9,w9,x9,y9,z9,A9,B9,C9,D9,E9,F9,G9,H9];var lc=[I9,Hc,Ic,Lc,ed,gd,jd,Gd,Hd,Kd,ce,de,ge,re,se,ve,Ie,Je,Me,ef,ff,jf,qf,rf,uf,ck,dk,ek,Jm,Tz,_z,_A,RB,UB,EC,ZC,CD,nG,GJ,yL,wL,aM,LP,GP,DQ,BQ,jS,kS,mS,oS,qS,KU,xW,wW,bB,kB,wC,iD,jD,wK,kO,lL,SP,WP,XP,yW,AW,BW,KW,MW,J9,K9,L9,M9,N9,O9,P9,Q9,R9,S9,T9,U9,V9,W9,X9,Y9,Z9,_9,$9,aaa,baa,caa,daa,eaa,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,Iaa,Jaa,Kaa,Laa,Maa];var mc=[Naa,nO,yK,EK,FK,GK,NU,Oaa];var nc=[Paa,Jc,hd,wd,Id,Sd,ee,te,Ke,We,gf,sf,Jf,If,Hf,Ff,Ef,Bf,yc,Df,Cf,NM,dN,X$,s$,O_,P3,RP,TP,u_,Qaa,Raa];return{_vizRenderFromString:xc,_i64Subtract:i5,_free:B1,_realloc:D1,_dtextract:bA,_memmove:o5,_saveSetjmp:k5,_memset:p5,_malloc:A1,_i64Add:j5,_memcpy:n5,_bitshift64Lshr:l5,_fflush:k3,_bitshift64Shl:q5,___errno_location:c2,_testSetjmp:m5,runPostSets:h5,stackAlloc:oc,stackSave:pc,stackRestore:qc,establishStackSpace:rc,setThrew:sc,setTempRet0:vc,getTempRet0:wc,dynCall_viiiii:A5,dynCall_vi:B5,dynCall_iiidd:C5,dynCall_vii:D5,dynCall_iiiiiiiiiii:E5,dynCall_ii:F5,dynCall_iiiiii:G5,dynCall_iiii:H5,dynCall_viiiiii:I5,dynCall_di:J5,dynCall_iiiiiii:K5,dynCall_dddd:L5,dynCall_viiiiiii:M5,dynCall_viiiiiiiii:N5,dynCall_iii:O5,dynCall_d:P5,dynCall_i:Q5,dynCall_viiiddi:R5,dynCall_iiiii:S5,dynCall_viii:T5,dynCall_v:U5,dynCall_viiii:V5}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var real__vizRenderFromString=asm["_vizRenderFromString"];asm["_vizRenderFromString"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__vizRenderFromString.apply(null,arguments)});var real__i64Subtract=asm["_i64Subtract"];asm["_i64Subtract"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Subtract.apply(null,arguments)});var real__free=asm["_free"];asm["_free"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__free.apply(null,arguments)});var real__realloc=asm["_realloc"];asm["_realloc"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__realloc.apply(null,arguments)});var real__dtextract=asm["_dtextract"];asm["_dtextract"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__dtextract.apply(null,arguments)});var real__memmove=asm["_memmove"];asm["_memmove"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__memmove.apply(null,arguments)});var real__saveSetjmp=asm["_saveSetjmp"];asm["_saveSetjmp"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__saveSetjmp.apply(null,arguments)});var real__testSetjmp=asm["_testSetjmp"];asm["_testSetjmp"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__testSetjmp.apply(null,arguments)});var real__malloc=asm["_malloc"];asm["_malloc"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__malloc.apply(null,arguments)});var real__i64Add=asm["_i64Add"];asm["_i64Add"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__i64Add.apply(null,arguments)});var real__bitshift64Lshr=asm["_bitshift64Lshr"];asm["_bitshift64Lshr"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Lshr.apply(null,arguments)});var real__fflush=asm["_fflush"];asm["_fflush"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__fflush.apply(null,arguments)});var real____errno_location=asm["___errno_location"];asm["___errno_location"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real____errno_location.apply(null,arguments)});var real__bitshift64Shl=asm["_bitshift64Shl"];asm["_bitshift64Shl"]=(function(){assert(runtimeInitialized,"you need to wait for the runtime to be ready (e.g. wait for main() to be called)");assert(!runtimeExited,"the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)");return real__bitshift64Shl.apply(null,arguments)});var _vizRenderFromString=Module["_vizRenderFromString"]=asm["_vizRenderFromString"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _realloc=Module["_realloc"]=asm["_realloc"];var _dtextract=Module["_dtextract"]=asm["_dtextract"];var _memmove=Module["_memmove"]=asm["_memmove"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _memset=Module["_memset"]=asm["_memset"];var _malloc=Module["_malloc"]=asm["_malloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _fflush=Module["_fflush"]=asm["_fflush"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiidd=Module["dynCall_iiidd"]=asm["dynCall_iiidd"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=asm["dynCall_iiiiiiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_dddd=Module["dynCall_dddd"]=asm["dynCall_dddd"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_d=Module["dynCall_d"]=asm["dynCall_d"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_viiiddi=Module["dynCall_viiiddi"]=asm["dynCall_viiiddi"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];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"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){Module.printErr("run() called, but dependencies remain, so not running");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(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}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"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){Module.printErr("exit("+status+") implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)");return}if(Module["noExitRuntime"]){Module.printErr("exit("+status+") called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)")}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=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}run() + + + + + + return Module; +}; + var graphviz; + + return function(src) { + var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; + var format = options.format === undefined ? "svg" : options.format; + var engine = options.engine === undefined ? "dot" : options.engine; + + if (typeof graphviz === "undefined") { + graphviz = Module(); + } + + var resultPointer = graphviz["ccall"]("vizRenderFromString", "number", ["string", "string", "string"], [src, format, engine]); + var resultString = graphviz["Pointer_stringify"](resultPointer); + graphviz["_free"](resultPointer); + + return resultString; + } +})(); diff --git a/inst/htmlwidgets/vivagraph.js b/inst/htmlwidgets/vivagraph.js new file mode 100755 index 0000000..58f7af0 --- /dev/null +++ b/inst/htmlwidgets/vivagraph.js @@ -0,0 +1,179 @@ +HTMLWidgets.widget({ + + name: 'vivagraph', + + type: 'output', + + initialize: function(el, width, height){ + + return { }; + + }, + + renderValue: function(el, x, instance){ + + // clean out our el in case we are in a dynamic (Shiny) situation + el.innerHTML = ""; + var positions = []; + +// try { + // much of this code copied / adapted from VivaGraphJS example 4 + // https://github.com/anvaka/VivaGraphJS/blob/master/demos/tutorial_svg/04%20-%20Listen%20To%20Mouse%20Events.html + + + // Step 2. We add nodes and edges to the graph: + if (!(x.network === null)){ + + // Step 1. create a graph variable + var graph = Viva.Graph.graph(), + layout = Viva.Graph.Layout[x.layout](graph); + + // for defined positions if provided + if (!(x.positions === null) && x.layout === "constant"){ + + x.positions.x.map( function(pos, inc){ + positions.push({ + x : +x.positions.x[inc], + y : +x.positions.y[inc] + }); + }); + + layout.placeNode(function(node){ + // node.id - points to its position but you can do your + // random logic here. E.g. read from specific node.data + // attributes. This callback is expected to return object + // {x : .. , y : .. } + return positions[x.network.nodes_df.id.indexOf(node.id)]; + }); + } + + //use HTMLWidgets.dataframeToD3 to get data as array of objects + HTMLWidgets.dataframeToD3(x.network.nodes_df).map(function(node){ + graph.addNode( + node.id, + node + ); + }); + + HTMLWidgets.dataframeToD3(x.network.edges_df).map(function(edge){ + graph.addLink( + edge.from, + edge.to, + edge + ); + }); + + // Step 3. Render the graph + + // for now only use svgGraphics View + // but eventually expand to webgl and possibly other ngraph views + var graphics = Viva.Graph.View.svgGraphics(), + nodeSize = 24, + // we use this method to highlight all realted links + // when user hovers mouse over a node: + highlightRelatedNodes = function(nodeId, isOn){ + // just enumerate all realted nodes and update link color: + graph.forEachLinkedNode(nodeId, function(node, link){ + var linkUI = graphics.getLinkUI(link.id); + if (linkUI){ + // linkUI is a UI object created by graphics below + linkUI.attr('stroke', isOn ? 'red' : 'gray'); + } + }); + }; + + // Since we are using SVG we can easily subscribe to any supported + // events (http://www.w3.org/TR/SVG/interact.html#SVGEvents ), + // including mouse events: + graphics.node(function(node){ + + var ui = Viva.Graph.svg('g'); + + var svgText = Viva.Graph.svg('text') + .attr('font-family', 'sans-serif') + .attr('font-size', '10px') + .attr('y', '-8px') + .attr('x', '-8px') + .text(node.id); + + var img = Viva.Graph.svg('circle') + .attr('r', 7) + .attr('stroke', 'gray') + .attr('stroke-width', '1px') + .attr('fill', 'purple'); + + ui.append(svgText); + ui.append(img); + + ui.onmouseover = function() { // mouse over + highlightRelatedNodes(node.id, true); + }; + + ui.onmouseout = function() { // mouse out + highlightRelatedNodes(node.id, false); + }; + + return ui; + }).placeNode( + function(nodeUI, pos){ + nodeUI.attr('transform', 'translate(' + (pos.x - 0) + + ',' + (pos.y - 0) + ')'); + } + ); + + graphics.link(function(link){ + return Viva.Graph.svg('path') + .attr('stroke', 'gray'); + }).placeLink(function(linkUI, fromPos, toPos) { + var data = 'M' + fromPos.x + ',' + fromPos.y + + 'L' + toPos.x + ',' + toPos.y; + linkUI.attr("d", data); + }); + + // Finally render the graph with our customized graphics object: + var renderer = Viva.Graph.View.renderer(graph, + { + container: el, + layout: layout, + graphics: graphics + } + ); + renderer.run(); + + // try to handle Chrome "bug" + // see issue https://github.com/anvaka/VivaGraphJS/issues/108 + // by explicitly setting svg height and width + el.getElementsByTagName("svg")[0].style.width="100%"; + el.getElementsByTagName("svg")[0].style.height="100%"; + + // set up a container for tasks to perform after completion + // one example would be add callbacks for event handling + // styling + if (!(typeof x.tasks === "undefined")){ + if ((typeof x.tasks.length === "undefined") || + (typeof x.tasks === "function")){ + // handle a function not enclosed in array + // should be able to remove once using jsonlite + x.tasks = [x.tasks]; + } + x.tasks.map(function(t){ + // for each tasks add it to the mermaid.tasks with el + t.call(el); + }); + } + } + /* } + + } catch(e) { + // write the error in el for debugging + var p = document.createElement("pre") + p.innerText = e; + el.appendChild(p); + } + */ + }, + + resize: function(el, width, height, instance){ + + } +}); diff --git a/inst/htmlwidgets/vivagraph.yaml b/inst/htmlwidgets/vivagraph.yaml new file mode 100755 index 0000000..a814cdb --- /dev/null +++ b/inst/htmlwidgets/vivagraph.yaml @@ -0,0 +1,5 @@ +dependencies: + - name: vivagraph + version: 0.7.12 + src: htmlwidgets/lib/VivaGraphJS/dist + script: vivagraph.min.js diff --git a/man/export_svg.Rd b/man/export_svg.Rd new file mode 100644 index 0000000..4cc67c5 --- /dev/null +++ b/man/export_svg.Rd @@ -0,0 +1,30 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/export_svg.R +\name{export_svg} +\alias{export_svg} +\title{Export grViz graph as SVG with \code{V8}} +\usage{ +export_svg(gv) +} +\arguments{ +\item{gv}{htmlwidget to render as SVG.} +} +\value{ +\code{string} of SVG XML text. +} +\description{ +Use viz.js with \code{V8} to get the diagram rendered as SVG +in R instead of the browser. +} +\examples{ +\dontrun{ + library(DiagrammeR) + svg <- export_svg(grViz('digraph{a->b; c->a; c->b; c->d;}')) + + # this can then be used with htmltools and can save significantly + # on size of output using svg rather than unrendered grViz + library(htmltools) + html_print(HTML(svg)) +} +} +